How treams-rs was built¶
AI coding agents wrote treams-rs in 16 working days. The port itself took 29 hours.
- 233 messages from the human, about 4,900 words
- 25 conversations
- about 920 helper agents
The chart of the work per day needs JavaScript. The table below has the same numbers.
One column per day; quiet days are compressed.
Show the days as a table
| Day | Phase | Hours with agents working | Messages from the human | Conversations |
|---|---|---|---|---|
| Day 1 | The port | 3.5 | 14 | 1 |
| Day 2 | The port | 20.3 | 10 | 2 |
| Day 3 | Beyond the port | 12.0 | 36 | 1 |
| Days 4–9 | 6 quiet days | – | – | – |
| Day 10 | Finishing the core | 3.1 | 16 | 2 |
| Day 11 | Finishing the core | 4.7 | 8 | 2 |
| Day 12 | 1 quiet day | – | – | – |
| Day 13 | Second opinions and proofs | 0.9 | 2 | 1 |
| Day 14 | 1 quiet day | – | – | – |
| Day 15 | Second opinions and proofs | 2.0 | 10 | 1 |
| Day 16 | Second opinions and proofs | 1.0 | 2 | 1 |
| Day 17 | Improve, then trim | 12.8 | 5 | 1 |
| Day 18 | Improve, then trim | 6.7 | 0 | 1 |
| Day 19 | Improve, then trim | 16.6 | 1 | 1 |
| Day 20 | Improve, then trim | 24.0 | 4 | 1 |
| Day 21 | Improve, then trim | 18.9 | 8 | 1 |
| Day 22 | Ready for other people | 24.0 | 14 | 3 |
| Day 23 | Ready for other people | 24.0 | 15 | 7 |
| Day 24 | Release | 22.9 | 78 | 14 |
| Day 25 | Release | 3.3 | 10 | 4 |
The port¶
Days 1–2
Codex first measured treams: about 22,700 lines of Python and Cython. Fifteen minutes in, the brief became a full rewrite in Rust, soon extended to strong tests and the best possible speed and memory use. One agent did the work alone. Asked about slowdowns, it reported one case running 12% slower than treams.
ok that's unacceptable. treams-rs must make no compromises on performance. fix that, and then finish the rewrite
Human, day 2 · In the conversation
The agent fixed the slowdown and had ported every treams feature on its list.
2 conversations · Codex app · gpt-6-astra, effort level high, then xhigh · no helper agents · 50 changes
Conversation · Messages · Changes on GitHub
Beyond the port¶
Day 3
The brief grew to include a browser version, GPU calculations, connections to JAX and PyTorch, reproductions of published results, and benchmark plots against treams, for speed and for accuracy:
we also need some convincing benchmark plots regarding accuracy to completely overwhelm any "oh but this ai slop this cant possibly be correct"
Human, day 3 · In the conversation
Checks against independent high-precision values showed treams-rs returning zero Mie coefficients for a large metallic sphere. A helper agent's fix reached treams-rs on day 10.
1 conversation · Codex app · gpt-6-astra, effort level ultra · 61 helper agents · 15 changes
Conversation · Messages · Changes on GitHub
Finishing the core¶
Days 10–11
Two helper agents on gpt-5.6-luna ran the long correctness and speed checks, on one condition:
make sure NOT to let the luna agent make any judgement calls though
Human, day 10 · In the conversation
On Linux, all 615 correctness cases passed, and treams-rs was faster than treams 0.4.5 in 664 timed comparisons, by a median 5.1× over 527 cases; four other cases stayed slower. After the Python interface was redesigned, fresh agents with only the installed package passed 118 of 120 attempts at ten test tasks, up from 110.
3 conversations · Codex in a terminal · gpt-6-astra, effort level medium, high and xhigh · 9 helper agents, 2 of them on gpt-5.6-luna, effort level medium · 10 changes
Conversation · Messages · Changes on GitHub
Second opinions and proofs¶
Days 13–16
Claude Code reviewed treams-rs and judged its numerical core and checks strong. In a second conversation it wrote models of six routines in Lean, a language for computer-checked proofs, and proved properties over exact arithmetic; one proof exposed a bug that could drop diffraction orders exactly on the cutoff.
ok so bottom line here? did you implement anything useful or was this just an experiment
Human, day 16 · In the conversation
The agent's answer: the bug fix was the clear gain; the rest mostly added confidence.
2 conversations · Claude Code · claude-opus-5-5, effort level xhigh · 1 helper agent · 4 changes
Conversation · Messages · Changes on GitHub
Improve, then trim¶
Days 17–21
The task was to improve treams-rs while keeping every feature and keeping results equal up to rounding. The agent later reported that the code had grown by about 30,000 lines, mostly tests and reference data.
ok that seems like too much. without regressing performance or correctness, cut the code and make it more maintainable
Human, day 21 · In the conversation
The cut made the code about 4,000 lines shorter; every numerical function gave identical results at the same speed.
1 conversation · Claude Code in the cloud · claude-opus-5-5, effort level xhigh with ultracode · about 240 helper agents, about 230 of them in 34 planned groups · part of the 8 changes condensed on day 24
Conversation · Messages · Changes on GitHub
Ready for other people¶
Days 22–23
On day 21 the goal became publishing treams-rs, with code that others can read and maintain. On day 22 the lead agent started two conversations, for the Python package and the documentation.
i also want us to better utilize other sessions. if we are constrained by hardware then just start new sessions and coordinate with them
Human, day 22 · In the conversation
Three more conversations in the cloud, started by hand on day 23, took on separate tasks; one rewrote a routine from published formulas so that the MIT license alone applies.
7 conversations, 6 of them new · Claude Code in the cloud and the Codex app · claude-opus-5-5, effort level xhigh, also with ultracode; gpt-6-astra, effort level xhigh · about 380 helper agents, about 370 of them in 72 planned groups · part of the 8 changes condensed on day 24
Conversation · Messages · Changes on GitHub
Release¶
Days 24–25
On day 24 the work in the cloud stopped on request; four conversations left written handoff notes. Codex, running locally, brought the remaining lines of work together, removed personal details and condensed the history of changes. A plain-language rule, first set for the documentation on day 22, was extended to all text:
also make sure all language is objective, concise, jargon-free (especially programming. physics is ok) approachable but not verbose. basically respect the readers’ time, no slop grenades
Human, day 24 · In the conversation
After final reviews, version 0.1.0 was published; version 0.1.1, with faster calculations, followed on day 25.
17 conversations, 11 of them new · Codex and Claude Code · claude-opus-5-5, effort level xhigh with ultracode; gpt-6-astra, effort level xhigh, ultra and max · about 230 helper agents, about 100 of them in 18 planned groups · 30 changes, 8 of them condensed from days 17–24
Conversation · Messages · Changes on GitHub
How the work was split¶
- Alone. One agent did the port. See it in a conversation
- With helper agents. An agent handed parts of the work to helper agents, some of which started their own. See it in a conversation
- Planned groups. Helper agents worked in stages from a written plan, often: make a change, look for faults, fix them. See it in a conversation
- Parallel conversations. One conversation started two others and briefed them in writing; they reported back through files in the repository. See it on the map
Models and effort levels¶
The effort level sets how long the model may reason before it answers.
| Tool | Model | Effort levels | Conversations | Phases |
|---|---|---|---|---|
| Codex | gpt-6-astra | medium, high, xhigh, ultra, max | 15 | The port; Beyond the port; Finishing the core; Ready for other people; Release |
| Claude Code | claude-opus-5-5 | xhigh, also with ultracode | 10 | Second opinions and proofs; Improve, then trim; Ready for other people; Release |
| Codex | gpt-5.6-luna | medium | – | Finishing the core (two helper agents) |
Ways of working¶
Running and judging kept apart. The helper agents that ran the long checks made no judgements; the lead agent judged the results. In the conversation
Faults looked for on purpose. Separate agents looked for faults in the work from day 3, and in most changes from day 17. In the conversation
Evidence a skeptic would accept. Results were checked against treams, high-precision values, physical laws, published results and proofs; slower or failed cases were reported, not dropped. In the conversation
Written handoffs. When work was paused or handed on, a written note of its state went with it. In the conversation
What is left out¶
Command output, file contents, the agents' reasoning and personal details are left out, as are six conversations that were not part of building treams-rs. About the records has the details.