Aller au contenu
Chapitre 24

Les paliers

29 – 30 septembre 2026

Chapitre 24 — Les paliers

Sources vérifiées : git log brain + brain-profil + myeline 2026-09-29 → 09-30, et les descriptions de leurs PR Commits clés : fe09dc7 (le laptop a sa branche) · f60e3e5b (la copie hors du poste) · e5502e4 (la liste et le mouvement) · 703a1842 (le compte brain refusé) · 42c5b03 (la première passe) · 49badc1f (le mutant obligatoire) · 62b7ef6b (la machinerie de mars) · 23afe7b8 (92 tests)

29 → 30 septembre 2026


Le chapitre précédent se fermait sur une liste. Le laptop, vrai satellite. L’historique à sauvegarder hors du poste. Et une phrase : il lui manque une maison.

Le 29 septembre au matin, la liste commence à se vider.


fe09dc7 — Merge pull request 'BRAIN-078 — le laptop écrit sur sa branche de la base du fixe' (#12) from adr/BRAIN-078-laptop-branche into main

Le laptop reçoit une branche de la base, à lui. Il y écrit ses sessions ; les embeddings, les tags, les autres branches lui sont refusés. Le tronc de la base ne reçoit son travail que par une fusion que Tetardtek décide.

Le script qui pose ces droits s’éprouve avant d’être appliqué — et sa première épreuve ment. Une suppression qui ne supprime rien passe sur le tronc : les règles de branche ne voient que ce qui change. L’épreuve prouvait un refus qui n’avait pas lieu.

d9b06afa — Merge pull request 'dolt-laptop.sh — la branche du laptop (BRAIN-078, point 1)' (#257) from feat/dolt-laptop into jour/20260929-b


Puis le mode hors du bureau. Le laptop part avec une photo de sa branche — 39 Mo, en moins d’une seconde — et revient avec ses commits, chacun signé de son nom.

462a78f5 — Merge pull request 'laptop-nomade.sh — le laptop part avec sa branche, et revient avec (BRAIN-078)' (#270) from feat/laptop-nomade into dev/myeline

La décision du matin disait que le laptop pousserait sa branche au retour. Mesuré : un clone superficiel ne pousse pas. C’est le fixe qui va chercher. L’ADR est corrigée le jour même, et la correction est datée dans son texte.

d1cda08 — Merge pull request 'BRAIN-078 corrigée — c'est le fixe qui va chercher' (#13) from adr/BRAIN-078-corrige into main


Dans la nuit, l’historique. Il était déjà sauvegardé sur le fixe — ce qui manquait, c’était une copie ailleurs. Elle part sur le laptop, et s’y restaure à l’identique : 6 732 commits, même tête.

f60e3e5b — Merge pull request 'MY-82 — la copie hors du poste, éprouvée sur le laptop' (#362) from scribe/MY-82-copie-laptop into nuit/20260930

Avant l’aube, elle part chaque jour.

Ce n’est pas encore une maison. Mais le brain survit désormais à la perte de la machine qui le porte.


Le même jour, une autre décision.

e5502e4 — Merge pull request 'BRAIN-079 (proposée) — la liste et le mouvement' (#14) from adr/BRAIN-079-scribes-paliers into main

La liste et le mouvement. Un scribe tient les tâches — une fiche par tâche, avec ses critères de fin. Un autre les fait avancer, par paliers : a, tenir le registre ; b, suivre ce qui avance sans Tetardtek ; c, lancer un agent qui travaille seul.

Le brain avait déjà travaillé seul, la nuit (chapitre 19). Cette fois, la question n’est pas de savoir s’il le peut. C’est de savoir où il s’arrête.


La réponse ne tient pas dans une consigne. Elle tient dans la forge.

Deux identités, jamais mélangées : celle de Tetardtek, pour les sessions faites ensemble ; celle d’un compte brain, pour l’autonomie, avec le seul droit d’écrire. En autonomie, aucun repli sur le jeton de Tetardtek — un jeton d’administrateur pourrait lever la protection censée borner l’agent.

c1530f81 — Merge pull request 'BRAIN-079 étape 6 — la forge en mode autonome (compte brain)' (#338) from brain/BRAIN-079-etape-6-forge-autonome into dev/myeline

Le tronc est protégé. Le soir même, l’épreuve :

703a1842 — Merge pull request 'MY-200 — l'étape 6 éprouvée (brain refusé sur main)' (#341) from scribe/MY-200-etape-6-preuve into dev/myeline

Sous le compte brain, écrire sur le tronc rend 403. Fusionner vers le tronc rend 405. Le tronc ne bouge pas.


Moins de quarante minutes plus tard, la première passe du palier c. Une fiche, un worker, une PR dans dev/autonome — et un juge, l’orchestrator, qui rejoue les preuves.

Premier passage : défavorable. Les trois critères de fin étaient verts. Mais une garantie qui existait déjà ne pouvait plus échouer — un mutant l’a montré. Le worker corrige. Second passage : favorable.

42c5b03 — Merge pull request 'Palier c — première passe : MY-210 (dev/autonome → main)' (#87) from dev/autonome into main

La passe est portée au tronc, et la fiche se ferme avec un robot dans son titre :

9f0ae53f — Merge pull request 'MY-210 close 🤖 — première passe du palier c' (#347) from scribe/MY-210-clos-autonome into dev/myeline

Trois minutes après, les corrections de Tetardtek — sur le défaut que trois critères verts auraient laissé passer :

49badc1f — Merge pull request 'Palier c — les corrections de la première passe (mutant, brief, MY-211)' (#348) from brain/BRAIN-079-corrections-premiere-passe into dev/myeline

Le mutant est obligatoire au jugement. Pour chaque garantie que la PR touche, le juge casse le code qu’elle protège — et elle doit tomber. Et une phrase qui pourrait servir de devise à la saison : le rapport du worker dit ce qu’il a tenté, pas ce qui est vrai.


Avant le matin, le palier c tourne de nouveau. Deux fiches, deux verdicts favorables dès le premier passage. Et dans l’une, un détail : le worker a trouvé seul un mutant qui survivait, et a ajouté la garantie qui le tue.

56ea855 — Merge pull request 'Palier c — la nuit du 30/09 : MY-211 et MY-209 (dev/autonome → main)' (#92) from dev/autonome into main


Au petit matin du 30, la vieille machinerie s’en va.

En mars, le brain avait rêvé son autonomie : un kernel-orchestrator, un superviseur, un hyperviseur, des sprints à plusieurs agents. Le kernel-orchestrator n’a jamais tourné. Tetardtek choisit de tout ranger — « toute la famille ».

62b7ef6b — Merge pull request '5b — la machinerie des sprints archivée' (#373) from kernel/5b-archiver-la-machinerie into dev/myeline

Huit agents archivés, huit scripts, les workflows. Le rêve de mars laisse la place à quelque chose de plus petit, et de vrai : une branche, un compte, un tronc qui dit non.

Le brain lui-même passe sous la règle. Sur son propre dépôt, le compte brain fusionne dans dev/autonome — et il est refusé sur le tronc.

67ce126f — Merge pull request 'Témoin — brain fusionne dans dev/autonome' (#388) from config/temoin-autonome into dev/autonome


Et au milieu de la journée, en ajoutant un test, une découverte.

23afe7b8 — Merge pull request '92 tests ne tournaient pas — définis après unittest.main()' (#393) from fix/tests-apres-le-main into dev/myeline

Dans le fichier des tests du moteur, l’appel qui les lance était au milieu du fichier. Depuis deux jours, chaque nouvelle classe s’ajoutait après lui. Lancé comme le doctor le lance, le fichier exécutait les tests avant d’avoir défini les nouveaux. 92 tests sur 376 ne tournaient pas. La sortie disait : « Ran 284 tests, OK ».

Le garde-fou qui l’empêchera désormais est la première classe du fichier, exprès : placée à la fin, elle serait elle-même définie trop tard — et ne tournerait jamais dans le seul cas qu’elle doit attraper.

La session se corrige aussi : elle avait écrit qu’un test était vert « parmi 284 ». Il ne tournait pas.

Chapitre 20, encore : les instruments mentaient. Un vert peut être le silence de ce qui n’a pas tourné.


c25587ef — Merge pull request 'v2.4.1 — l'autonomie par paliers, et la machinerie de mars rangée' (#419) from kernel/v2.4.1 into dev/myeline

La version 2.4.1 porte le nom de ces deux jours.


Au chapitre 19, le brain travaillait la nuit, et Tetardtek relisait le matin. Ce qui le bornait, c’était la confiance.

Désormais, c’est une frontière que la machine tient : le compte qui travaille seul ne peut pas atteindre le tronc. Il peut proposer, être jugé, être refusé. Le dernier geste reste humain.

Ce n’est pas moins d’autonomie. C’est une autonomie qu’on peut laisser tourner.