Les instruments mentaient
11 – 17 septembre 2026Chapitre 20 — Les instruments mentaient
Sources vérifiées :
git log brain + myeline 2026-09-11 → 09-17(203 commits) Commits clés :0758a6d(le CORE, un paquet) ·a406ecb(premier branchement) ·0d84e20(le sixième) ·ec78066·446f59d·bc71919(trois instruments) ·d60add7(la bascule va au bout) ·308bfc5(LATEST)11 → 17 septembre 2026
Le 11 septembre, le CORE sort du laboratoire.
À 6 h 40, il devient un paquet qu’on installe.
0758a6d (06:40) — core: le CORE devient un paquet installable — MY-13 tranche
Trois options avaient été instruites : un sous-module, un chemin ajouté à la main, un paquet. Tetardtek tranche pour le paquet. Le corps dit pourquoi en une phrase : « le brain DÉPEND du programme sans le contenir ». Un sous-module aurait remis le programme sous le chemin de la donnée — exactement ce que Myéline sépare.
Une heure plus tard, la première requête.
a406ecb (07:38) — scribe: premier branchement du CORE actif en production
Un identifiant invalide envoyé au moteur rend une erreur 422, avec le motif rédigé par le CORE. « C’est la première requête HTTP du brain jugée par le programme de Myéline. » Et la frontière tient : le CORE dit ce qui est permis, l’instance dit ce qu’elle range.
Six branchements dans la journée. Le dernier touche le fichier dont tout dépend — chaque script, chaque hook, le serveur, le MCP.
0d84e20 (16:31) — fix: db.py delegue au CORE — le sixieme et dernier branchement
« C’est pour ça qu’il a été gardé pour la fin, et fait avec Kevin devant l’écran. » Le fichier ne porte plus l’accès aux données : il le reçoit. Il ne garde que ce qui n’a de sens que pour cette machine — où vit sa base, comment la joindre.
Le soir du 11, le CORE juge et calcule pour de vrai. Puis trois jours de calme. Deux commits le 12. Rien le 13, rien le 14.
Le 15 septembre, à 23 h, le brain cherche une chose et en trouve trois. En onze minutes.
ec78066 (23:09) — scribe: MY-118 — close-stale fermait des sessions qu il n avait pas listees
Le script qui ferme les sessions oubliées avait deux requêtes : l’une pour lister, l’autre pour fermer. Une correction du 4 septembre avait été posée sur la première. Pas sur la seconde. Une session touchée cinq minutes plus tôt n’était pas listée — et était fermée quand même. « Éprouvé sur base jetable, pas déduit. »
Le brain cherche le même motif ailleurs. Son premier balayage n’en trouve qu’un — celui qu’il connaît déjà.
446f59d (23:15) — scribe: MY-119 — le lock disait « peers consultes » sans avoir joint personne
« Un instrument étroit qui rend “une seule occurrence” ne prouve pas que le motif est isolé : il prouve que ce qu’il cherche l’est. » Élargi, le balayage en trouve dix sur 19. Dont un verrou qui annonçait avoir consulté les autres machines, sans en avoir joint aucune.
Cinq minutes plus tard, le troisième.
bc71919 (23:20) — « scribe: MY-120 — un peer eteint s affichait online, la branche offline etait morte »
Une machine éteinte s’affichait online, claims_open: 0 — exactement comme une machine allumée sans session. La fonction qui interrogeait l’autre machine rendait une liste vide en cas d’échec, et une liste vide passait les deux conditions du test. La branche « hors ligne » n’avait jamais servi. Pas une fois.
Trois instruments, trois mensonges. La leçon, elle, avait déjà été écrite dans la fiche MY-119, avant le troisième, pour trois autres défauts de la même soirée — MY-117, MY-118 et MY-119 :
« Trois fois une bonne règle appliquée à un endroit et pas à son voisin immédiat. Le remède : quand on corrige un chemin, chercher son jumeau avant de fermer la fiche. »
Le troisième, d’ailleurs, a été trouvé comme ça : en appliquant au deuxième son propre remède.
Le 16, une porte qui trichait un peu.
La fermeture d’une session passait désormais par le moteur — à moitié. Elle écrivait par le moteur, mais lisait encore en local, et répondait « claim non trouvé » avant même de lui demander. Tetardtek le relève : « la logique veut qu’on continue la bascule proprement ».
d60add7 (18:16) — « bsi: close ne lit plus rien en local — la bascule va au bout »
Et le corps a la phrase du chapitre :
« Une porte qui juge sur sa propre lecture n’a pas délégué, elle a doublé. »
40 minutes plus tard, un autre silence se découvre. La durée de vie d’une session était une colonne de la base depuis toujours. Rien ne l’alimentait. 598 sessions sur 599 à 4 h, alors qu’une session de pilotage dure près de douze heures en moyenne (197480e). Désormais, c’est le type de session qui la fixe.
Le 17, un document d’état est pris en flagrant délit — une fois de plus.
4f61d9e (15:31) — scribe: handoff de cloture — 43 h, 72 commits, 20 PR fusionnees
Le handoff précédent annonçait « onze PR ouvertes ». Elles étaient toutes fusionnées. « Quatrième fois que le même motif se reproduit en 24 h. » Le document d’état ment — et l’écart se resserre : quatre jours, deux semaines, une demi-journée, quelques heures. Le même handoff recense aussi les six faux verdicts de mes propres outils.
Tetardtek propose de ne plus y écrire l’état : juste la carte, et des liens.
308bfc5 (16:26) — scribe: LATEST devient la carte des chantiers — 343 lignes a 51 — MY-122
La mesure déplace le problème. On croyait que ce fichier coûtait cher au démarrage. Il ne coûtait rien : aucun type de session ne le chargeait, alors qu’il affirmait en tête être « lu au boot ». Son vrai défaut était l’inverse. Personne ne le lisait, donc rien ne forçait sa tenue. 343 lignes deviennent 51 — une carte, qui dit où lire, et plus ce qu’elle ne sait pas.
Une semaine. Le CORE est en production, et en le branchant, le brain a découvert que ses instruments affirmaient des choses fausses depuis des mois — pas parce qu’ils étaient mal écrits, mais parce qu’une bonne règle s’arrêtait toujours à un pas de là où il fallait.
Décisions clés
- Le CORE est un paquet. Le brain dépend du programme sans le contenir.
- Le CORE juge, l’instance range. La frontière se lit dans chaque branchement.
- Le dernier branchement, devant l’écran. Ce dont tout dépend ne se bascule pas seul, la nuit.
- Chercher le jumeau. Quand on corrige un chemin, on cherche son voisin avant de fermer la fiche.
- Un instrument étroit ne prouve pas l’isolement. « Une seule occurrence » dit ce qu’on a cherché, pas ce qui existe.
- Déléguer jusqu’au bout. Une porte qui juge sur sa propre lecture a doublé, pas délégué.
- La carte, pas l’état. Un document que personne ne lit n’a aucune raison de rester vrai.