Skip to content
Chapter 18

The bench and the doctor

September 2 – 5, 2026

Chapter 18 — The bench and the doctor

Verified sources: git log brain + myeline 2026-09-02 → 09-05 (444 commits) + git log profil Key commits: 964a20e (the measurement bench) · 145ace4 (Myéline) · ed06c36 (UTC) · cbb1fe1 (brain doctor) · 12a5742 (the controls) · 5a60944 (MY-97)

September 2 → 5, 2026


Six months of use. An external pentest report on the template. And on September 2, at 6 p.m., a new repository whose first commit builds nothing.

964a20e (18:02) — Myeline : le banc de mesure du brain V1, avant tout demontage (“Myeline: the measurement bench for brain V1, before any teardown”)

« Rien du produit n’est écrit : on pose d’abord la référence que V2 devra battre. » (“Nothing of the product is written: first we set the baseline V2 must beat.”)

Before rebuilding the brain, you measure it. The bench changes nothing: it times. A search costs 890 milliseconds, of which 826 are overhead that numpy would bring down to 20 — without changing language. And it already holds the August law: an impossible measurement returns « null + raison, code de sortie 2, jamais un zéro silencieux » (“null + reason, exit code 2, never a silent zero”).


An hour and 40 minutes later, the project has a name.

145ace4 (19:45) — myeline : la vision, le backlog et les deux ADR sortent du scratch (“myeline: vision, backlog and both ADRs leave scratch”)

Myéline — « la gaine qui isole, protège et accélère la conduction sans épaissir le câble » (“the sheath that insulates, protects and speeds conduction without thickening the cable”). The program on one side, the data on the other. 20 numbered projects, MY-1 to MY-20.

And a confession, on day one. The two decisions that found the rework had been sleeping in the only workspace folder excluded from git. One had spent 20 days there with no history, and « a été redécidée à l’identique sans que personne se souvienne de son existence » (“was re-decided identically without anyone remembering it existed”).

The brain didn’t remember its own decisions. It’s a good starting point for a rework.


The evening doesn’t stop. At 20:38, the commercial tiers — free, pro, owner — start to disappear.

f265a28 (20:38) — BRAIN-072 lot 1 : manifests, pre-flight et docs sans tiers (“BRAIN-072 batch 1: manifests, pre-flight, docs without tiers”)

The body is dry: « Aucun code ne lisait tier_required. » (“No code read tier_required.”) A barrier nobody checked. It goes in four batches.

At 22:51, the session closes on an inventory. Eight hours of work, and this:

e233aa8 (22:51) — handoff : session pilote du 02/09 vers la session autonome de nuit (“handoff: 09/02 pilote session to the autonomous night session”)

« Sept pannes silencieuses trouvées, toutes par la mesure et aucune par relecture de code. » — “Seven silent failures found, all by measurement and none by code review.”

Session locks never active, for six months. Reindexing dead since March 17. A quarter of the agents invisible. Docs announcing 24 session types for six. All of it ran, and nothing said so.

Then the first night the brain works alone. And, at 23:20, the root of a bug from chapter 17:

ed06c36 (23:20) — temps : une seule convention, UTC, et une garde qui la tient (MY-25) (“time: one convention, UTC, and a guard that holds it (MY-25)”)

Two time conventions in the same database, neither declared. Python wrote in UTC; the database returned local time. « 1 h 59 min 59 s » apart. And the cause goes back to the migration to Dolt, in March: in SQLite, the same code returned UTC. « Le même code a changé de sens en changeant de moteur, sans qu’une ligne bouge. » (“The same code changed meaning by changing engine, without a single line moving.”) The nineteen-minute sessions seen as 139, in August, came from there.


The doctor

On September 3, the brain signs differently. A brain account exists on the forge, for autonomous work. The first commit carrying it (9e1724e) also serves as a check.

And at 6 p.m., a tool named after the disease it looks for.

cbb1fe1 (18:08) — brain doctor : rendre la derive visible (MY-10) (“brain doctor: make drift visible (MY-10)”)

« Le mode de défaillance a un nom : démyélinisation. Le programme est édité hors de son overlay, rien ne casse, tout dégrade. » — “The failure mode has a name: demyelination. The program is edited outside its overlay, nothing breaks, everything degrades.”

A registry drifting away from its source. A cache serving data from March. A field keeping the value of a cancelled decision. None of it raises an error. Nine checks, five seconds, and each answers a single question: what would rot silently without it?

Nine checks at birth. 15 that same evening. 20 the next morning (cd197fe). 36 on the 5th (ed54ee6).


On the morning of the 4th, a question nobody usually asks a tool.

12a5742 (06:05) — temoin : les controles savent-ils encore dire non ? (MY-71, MY-75, MY-79) (“control: can the checks still say no? (MY-71, MY-75, MY-79)”)

« Un contrôle vert ne prouve rien tant que personne ne l’a vu rougir. » (“A green check proves nothing until someone’s seen it turn red.”) One check could not turn red — it looked at the root instead of the folder. Another died one time in five, returning a code that looked like a refusal. Both had been found by controls set up by hand. They become permanent (2dce0e6): false situations, built on purpose, that every tool must refuse.

The negative-control lesson, in late August, was a lesson. On September 4, it is a file.


On the 5th, the brain finds itself at fault.

5a60944 (07:26) — scribe: MY-97 — la convention etait chargee, et c'est moi qui l'ai tuee (“scribe: MY-97 — the convention was loaded, and I’m the one who killed it”)

The commit convention — the types, feat:, fix:, scribe: — was in the kernel. Loaded at every boot. « Ce n’est pas une règle qu’on ne m’a pas donnée : c’est une règle que j’ai lue et pas appliquée. » (“It’s not a rule I wasn’t given: it’s a rule I read and didn’t apply.”) And the measurement, without indulgence:

« 85 % en mars, 75 en mai, 35 en août, 0 en septembre — 245 commits, tous de moi. » — “85% in March, 75 in May, 35 in August, 0 in September — 245 commits, all mine.”

The same day, three accepted decisions still said the single source was SQLite, when everything had run on Dolt since March. BRAIN-074 settles it: Dolt is the foundation (43d9a85). And in the evening, the only mechanism linking the two machines:

15fdc4a (16:18) — bsi: le poll des peers etait mort depuis cinq mois, et il disait « au repos » (“bsi: the peer poll had been dead five months, and it said ‘at rest’”)

Dead since April 6. An empty file, an empty log — which looked like « tout va bien » (“all is well”).


Four days. The brain measured itself before touching itself, gave itself a doctor, taught its instruments to say no, and recognized itself as the author of its own defects. It hasn’t rewritten itself yet. The next evening, it decides in six minutes what it will be made of.


Key decisions

  • Measure before dismantling. Myéline’s first commit builds nothing: it sets the baseline V2 will have to beat.
  • The program is not the data. Myéline separates what is the same in every fork from what belongs to one machine only.
  • No more tiers. BRAIN-072 removes free, pro, owner — a barrier nothing read.
  • A single clock: UTC. Two hidden conventions cost two hours on every session.
  • The doctor. One check per possible silent defect. Naming the disease: demyelination.
  • Permanent controls. A check is green only after it has been seen red.
  • Say who killed the convention. The brain attributes the drift to itself — measured, not assumed.