Development with agents
How MediFlow is made.
MediFlow is designed and directed by Leonardo Pegollo. Most of the code is written by coding agents, Codex and Claude Code, working to his instructions. Intent, planning and choices are his, while agents write the code.
No decision is implicitly delegated. When Leonardo authorises a coordinating agent to merge during a work session, he sets written conditions: required checks must pass, no review comments may remain open, and local verification must be complete. Outside these conditions, the merge remains his.
01 · Responsibilities
Who does what.
| Stage | Who does it | Where to see it |
|---|---|---|
| Intent: which problem to solve, and for whom | Leonardo | Issues, PRODUCT.md ↗ |
| Planning and architecture: boundaries, data, security, contracts | Leonardo, with agents proposing alternatives | ADRs ↗, ARCHITECTURE.md ↗ |
| Writing code and tests | Coding agents | Co-Authored-By trailers, model and tool in PRs |
| Evidence required to accept a change | Leonardo sets it, agents and CI run it | Evidence and Not verified sections in PRs, CI workflows |
| Acceptance and merge | Leonardo | GitHub PR history |
| Releases and communication | Leonardo | Release notes ↗, website |
“Assisted” does not mean a person has read every line. It means a person decided what to build, how it should work and which evidence would make it acceptable.
Author’s principles and attribution
- Intent before code.
- Evidence of observable behaviour. Unverified work is declared.
- One problem per PR, with a recognisable purpose.
- Local first, without real patient data in the repository.
- Physicians must understand actions and consequences.
- Of two correct solutions, choose the simpler one.
Since 6 November 2026, commits written with agents name the model in Co-Authored-By, while PRs name the model and tool. Earlier commits do not always do this. Others’ ideas and code retain their sources and licenses. Automated tests and reviews do not replace Leonardo’s decisions or establish clinical validation.
02 · Development usage
The context processed by models.
Snapshot 2026-11-06
39,835,292,569recorded tokens
Context processed to develop MediFlow, including cache. Partial coverage in both recording environments.
Exact values by month and provider
| Month | OpenAI | Anthropic |
|---|---|---|
| 2026-02 | 392,724,553 | 0 |
| 2026-03 | 1,143,437,723 | 0 |
| 2026-04 | 1,300,702,147 | 0 |
| 2026-05 | 1,650,113,993 | 0 |
| 2026-06 | 327,263,594 | 0 |
| 2026-07 | 4,848,219,908 | 713,927,967 |
| 2026-08 | 10,701,770,867 | 15,445,581 |
| 2026-09 | 8,317,602,702 | 0 |
| 2026-10 | 4,706,851,250 | 2,435,537,918 |
| 2026-11 | 1,208,873,422 | 2,072,820,944 |
These records belong to verified MediFlow checkouts: other projects and uncertain attribution are excluded. A mixed conversation can include ancillary work. Records are not allocated to releases, PRs or commits.
Tokens do not measure spending, subscription quota, code produced or quality. Reused context can be counted repeatedly. The provider is inferred from the identifier: it does not verify endpoints, billing or the actual model behind an alias.
Sources, coverage and models
| Environment and source | Period | Token | Cache read, included |
|---|---|---|---|
| CodexCodex local token records + historical CodexBar 0.60.3 | 2026-02-02 → 2026-11-06Partial coverage | 34,535,287,187 | 33,279,168,239 |
| Claude CodeClaude Code local response records | 2026-07-02 → 2026-11-06Partial coverage | 5,300,005,382 | 5,193,631,015 |
Collection stopped on 27 September 2026 at 14:38:12 UTC. Sums reconcile but do not establish complete history. Days without records do not prove inactivity. Accounting exclusivity between delegating environments is not established: the total describes records, not billed consumption.
| Recorded model | Token |
|---|---|
gpt-5.6-sol | 12,211,328,660 |
gpt-6.1-sol | 4,855,747,622 |
gpt-5.6-luna | 4,619,511,014 |
claude-opus-5-5 | 4,486,046,993 |
gpt-6-astra | 3,717,615,402 |
gpt-5.6-terra | 2,795,376,702 |
gpt-5.5 | 2,633,091,591 |
gpt-5.4 | 2,216,054,201 |
claude-fable-5 | 682,998,672 |
gpt-6-sol | 537,845,199 |
gpt-5.3-codex | 364,611,684 |
gpt-daybreak-blue-latest | 218,213,893 |
gpt-6.1-terra | 212,047,937 |
gpt-6-luna | 126,448,014 |
gpt-5.2-codex | 78,566,024 |
claude-sonnet-5-5 | 21,384,143 |
claude-opus-4-8 | 21,305,602 |
claude-sonnet-5 | 18,485,147 |
gpt-5.2 | 10,892,125 |
claude-opus-5 | 6,584,127 |
claude-haiku-5-5 | 927,726 |
gpt-5.3-codex-spark | 210,091 |
Recorded effort: separate, partial series
2026-09-03 to 2026-11-06: 9,822,318,975 tokens in 67,091 Codex responses. 130 indexed files were missing. Do not add this series to the main history or use it to subdivide that history.
Effort is the reasoning level recorded in the response context, not actual work or quality. Levels from different models are not equivalent. “Not recorded” means missing data. No effort is reconstructed for Claude Code or other records.
| Provider | Model | Effort | Token |
|---|---|---|---|
| OpenAI | gpt-6-astra | ultra | 2,191,566,524 |
| OpenAI | gpt-6.1-sol | high | 1,301,952,626 |
| OpenAI | gpt-6.1-sol | xhigh | 1,129,553,499 |
| OpenAI | gpt-5.6-sol | ultra | 982,521,161 |
| OpenAI | gpt-6-astra | medium | 771,521,299 |
| OpenAI | gpt-5.6-sol | medium | 611,967,864 |
| OpenAI | gpt-6-sol | medium | 558,849,533 |
| OpenAI | gpt-6-astra | max | 484,405,483 |
| OpenAI | gpt-5.6-terra | medium | 436,645,403 |
| OpenAI | gpt-5.6-luna | max | 175,251,858 |
| OpenAI | gpt-6-astra | low | 175,076,068 |
| OpenAI | gpt-5.6-sol | xhigh | 162,693,375 |
| OpenAI | gpt-6-astra | xhigh | 143,338,807 |
| OpenAI | gpt-6-luna | medium | 136,135,783 |
| OpenAI | gpt-6.1-sol | max | 124,015,193 |
| Non determinato | chatgpt-web/pro | ultra | 106,373,221 |
| OpenAI | gpt-daybreak-blue-latest | xhigh | 90,476,076 |
| OpenAI | gpt-6.1-terra | xhigh | 79,001,283 |
| OpenAI | gpt-daybreak-blue-latest | high | 48,609,639 |
| OpenAI | gpt-5.6-luna | medium | 38,184,213 |
| OpenAI | gpt-6.1-sol | medium | 23,980,438 |
| OpenAI | gpt-6.1-terra | high | 18,897,014 |
| OpenAI | gpt-6-astra | high | 15,802,168 |
| OpenAI | codex-auto-review | low | 12,512,044 |
| Non determinato | unknown | Not recorded | 1,647,964 |
| OpenAI | gpt-5.6-sol | low | 1,340,439 |
Public JSON dataset ↗ · Method, tables and limits in the repository ↗
03 · Inside the code
A map to find your way.
Read what a structure does, explore its steps and compare descriptions with the source code and documented limits.
The path of data12 / 12
Hover to read. Click to enter.
Conceptual path: extraction → proposal → review → explicit write operation. A proposal alone does not record diagnoses or therapies. Availability and permissions depend on the individual workflow.
Keyboard: Tab through structures, Enter to go inside, ← or Esc to return. Arrow keys switch tabs. On a phone, use the index and steps.
Descriptions written by an agent (GPT-6.1 Sol). Approved by Leonardo Pegollo on 2026-11-06. Map data (JSON) ↗
04 · Credits
Credits and sources.
T3 Code inspired the agent-assisted development disclosure, the PR template and the practice of evaluating evidence. T3 Code ↗ · Canonical MediFlow credits ↗
The map’s visual grammar draws on “Rivers of Empire” by FleetingBits and System Atlas by Harshyt Goel. Isometric geometry and structures adapted from System Atlas (MIT). License and copyright ↗