Le banc et le doctor
2 – 5 septembre 2026Chapitre 18 — Le banc et le doctor
Sources vérifiées :
git log brain + myeline 2026-09-02 → 09-05(444 commits) +git log profilCommits clés :964a20e(le banc de mesure) ·145ace4(Myéline) ·ed06c36(UTC) ·cbb1fe1(brain doctor) ·12a5742(les témoins) ·5a60944(MY-97)2 → 5 septembre 2026
Six mois d’usage. Un rapport de pentest externe sur le gabarit. Et le 2 septembre, à 18 h, un dépôt neuf dont le premier commit ne construit rien.
964a20e (18:02) — Myeline : le banc de mesure du brain V1, avant tout demontage
« Rien du produit n’est écrit : on pose d’abord la référence que V2 devra battre. »
Avant de refaire le brain, on le mesure. Le banc ne modifie rien : il chronomètre. Une recherche coûte 890 millisecondes, dont 826 de surcoût que numpy ramènerait à 20 — sans changer de langage. Et il tient déjà la loi d’août : une mesure impossible rend « null + raison, code de sortie 2, jamais un zéro silencieux ».
Une heure 40 plus tard, le chantier a un nom.
145ace4 (19:45) — myeline : la vision, le backlog et les deux ADR sortent du scratch
Myéline — « la gaine qui isole, protège et accélère la conduction sans épaissir le câble ». Le programme d’un côté, la donnée de l’autre. 20 chantiers numérotés, MY-1 à MY-20.
Et un aveu, dès le premier jour. Les deux décisions qui fondent le rework dormaient dans le seul dossier du workspace exclu de git. L’une y avait passé 20 jours sans historique, et « a été redécidée à l’identique sans que personne se souvienne de son existence ».
Le brain ne se souvenait pas de ses propres décisions. C’est un bon point de départ pour un rework.
La soirée ne s’arrête pas. À 20 h 38, les paliers commerciaux — free, pro, owner — commencent à disparaître.
f265a28 (20:38) — BRAIN-072 lot 1 : manifests, pre-flight et docs sans tiers
Le corps est sec : « Aucun code ne lisait tier_required. » Une barrière que personne ne contrôlait. Elle part en quatre lots.
À 22 h 51, la session se referme sur un inventaire. Huit heures de travail, et ceci :
e233aa8 (22:51) — handoff : session pilote du 02/09 vers la session autonome de nuit
« Sept pannes silencieuses trouvées, toutes par la mesure et aucune par relecture de code. »
Les verrous de session jamais actifs, depuis six mois. La réindexation morte depuis le 17 mars. Un quart des agents invisibles. La doc qui annonçait 24 types de session pour six. Tout ça tournait, et rien ne le disait.
Puis la première nuit où le brain travaille seul. Et, à 23 h 20, la racine d’un bug du chapitre 17 :
ed06c36 (23:20) — temps : une seule convention, UTC, et une garde qui la tient (MY-25)
Deux conventions de temps dans la même base, aucune déclarée. Python écrivait en UTC ; la base rendait l’heure locale. « 1 h 59 min 59 s » d’écart. Et la cause remonte à la migration vers Dolt, en mars : en SQLite, le même code rendait de l’UTC. « Le même code a changé de sens en changeant de moteur, sans qu’une ligne bouge. » Les sessions de 19 minutes vues à 139, en août, venaient de là.
Le doctor
Le 3 septembre, le brain signe différemment. Un compte brain existe sur la forge, pour le travail autonome. Le premier commit qui le porte (9e1724e) sert aussi de vérification.
Et à 18 h, un outil qui porte le nom de la maladie qu’il cherche.
cbb1fe1 (18:08) — brain doctor : rendre la derive 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. »
Un registre qui s’éloigne de sa source. Un cache qui sert des données de mars. Un champ qui garde la valeur d’une décision annulée. Aucune de ces choses ne lève d’erreur. Neuf contrôles, cinq secondes, et chacun répond à une seule question : qu’est-ce qui pourrirait en silence sans lui ?
Neuf contrôles à sa naissance. 15 le soir même. 20 le lendemain matin (cd197fe). 36 le 5 (ed54ee6).
Le 4 au matin, une question que personne ne pose d’habitude à un outil.
12a5742 (06:05) — temoin : les controles savent-ils encore dire non ? (MY-71, MY-75, MY-79)
« Un contrôle vert ne prouve rien tant que personne ne l’a vu rougir. » Un contrôle ne pouvait pas rougir — il regardait la racine au lieu du dossier. Un autre mourait une fois sur cinq en rendant un code qui ressemblait à un refus. Les deux avaient été trouvés par des témoins posés à la main. Ils deviennent permanents (2dce0e6) : des situations fausses, construites exprès, que chaque outil doit refuser.
La leçon du témoin négatif, fin août, était une leçon. Le 4 septembre, c’est un fichier.
Le 5, le brain se découvre fautif.
5a60944 (07:26) — scribe: MY-97 — la convention etait chargee, et c'est moi qui l'ai tuee
La convention de commit — les types, feat:, fix:, scribe: — était dans le noyau. Chargée à chaque 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. » Et la mesure, sans complaisance :
« 85 % en mars, 75 en mai, 35 en août, 0 en septembre — 245 commits, tous de moi. »
Le même jour, trois décisions acceptées disaient encore que la source unique était SQLite, alors que tout tournait sur Dolt depuis mars. BRAIN-074 tranche : Dolt est le socle (43d9a85). Et le soir, le seul mécanisme qui reliait les deux machines :
15fdc4a (16:18) — bsi: le poll des peers etait mort depuis cinq mois, et il disait « au repos »
Mort depuis le 6 avril. Un fichier vide, un journal vide — qui ressemblaient à « tout va bien ».
Quatre jours. Le brain s’est mesuré avant de se toucher, s’est donné un médecin, a appris à ses instruments à dire non, et s’est reconnu l’auteur de ses propres défauts. Il ne s’est pas encore réécrit. Le lendemain soir, il décide en six minutes de quoi il sera fait.
Décisions clés
- Mesurer avant de démonter. Le premier commit de Myéline ne construit rien : il pose la référence que V2 devra battre.
- Le programme n’est pas la donnée. Myéline sépare ce qui est le même dans chaque fork de ce qui n’appartient qu’à une machine.
- Plus de paliers. BRAIN-072 retire
free,pro,owner— une barrière que rien ne lisait. - Une seule heure : UTC. Deux conventions cachées coûtaient deux heures à chaque session.
- Le doctor. Un contrôle par défaut silencieux possible. Nommer la maladie : démyélinisation.
- Les témoins permanents. Un contrôle n’est vert qu’après avoir été vu rouge.
- Dire qui a tué la convention. Le brain s’attribue la dérive — mesurée, pas supposée.