Chapitre 14

Le brain se distribue

28–30 mars 2026

Chapitre 14 — Le brain se distribue

28–30 mars 2026

Le brain vient d’ouvrir les yeux. Cinquante commits Synapse, vingt-huit heures, un cockpit qui montre tout. La tentation serait de continuer à construire — ajouter des vues, des filtres, des features. Mais les quarante-huit heures qui suivent racontent une histoire différente. Le brain ne construit plus. Il se prépare à être donné.


Première décision : simplifier le langage.

Quinze types de session existaient dans le brain. Quinze modes différents pour démarrer une conversation. Work, deploy, debug, infra, urgence, brainstorm, coach, brain, pilote, explore, navigate, sprint, refacto, review, audit. Quinze portes d’entrée. L’audit montre que trois sont utilisées. Les douze autres existent dans les fichiers mais jamais dans les claims — du vocabulaire mort que personne ne parle.

Le 28 mars à 23h35, le brainstorm commence. Sept axes d’évolution possibles. À 23h53, la décision tombe : quinze types deviennent quatre. Work, brain, explore, pilote. Chaque ancien type est absorbé par l’un des quatre. Deploy, debug, infra, urgence — tout rentre dans work. Brainstorm, coach, audit — tout rentre dans explore, qualifié par un scope libre. L’ADR-047 est écrite en vingt minutes.

kernel: Sessions V2 — 15 types → 4 (work/brain/explore/pilote) (ADR-047)

Synapse suit dans la foulée. Les sessions s’affichent en quatre couleurs. Un filtre par tags remplace la forêt de types. Ce qui prenait quinze catégories tient maintenant dans quatre — plus précis, pas moins.

C’est le pattern du brain depuis le début. La complexité grandit par ajout, puis se simplifie par compression. Quinze types étaient nécessaires pour explorer l’espace des possibles. Quatre suffisent quand on sait lesquels comptent.


Le même soir, le BSI s’enrichit. Deux cent treize claims dans la base de données — chaque session depuis le jour 1. Mais les premiers claims étaient pauvres : un ID, un scope, un status. Le brain savait qu’il avait travaillé, mais pas combien de temps, pas sur quel projet, pas avec quelle énergie. L’ADR-046 ajoute six colonnes : duration_min, energy, intention, tags, deliverables, story_angle. Le back-fill commence — deux cent treize claims repris un par un, enrichis depuis les commits et les now.md de chaque session.

feat: BSI enrichi — schema + scripts + back-fill + guards (ADR-046)

Le wrap check-in apparaît. À la fin de chaque session, avant de fermer le claim, une question : “On a livré X, Y. On wrap ?” Puis : énergie de 1 à 5, intention touchée, tags. Un rituel de trente secondes qui transforme un claim brut en donnée exploitable. Le brain ne se contente plus de savoir qu’il a travaillé — il sait comment ça s’est passé.


Le 29 mars à trois heures du matin, la mémoire se consolide.

Dolt, la base de données versionnée arrivée au chapitre 12, n’était encore qu’un backend parmi deux. brain.db existait en SQLite pour les scripts, en Dolt pour les embeddings et les sessions. Deux vérités. Neuf scripts qui appelaient sqlite3 directement — des accès en dur, câblés, fragiles.

Steps 9a à 9m. Treize migrations en quatre heures. file-lock.sh réécrit. preflight-check.sh réécrit. workflow-launch.sh, brain-index-regen.sh, brain-db-sync.sh, brain-db-backup.sh, brain-template-export.sh, brain-sync-replica.sh — chacun passe de sqlite3 brain.db "SELECT..." à python3 scripts/db.py. L’ancien bsi-db.py est marqué deprecated — plus aucun appelant.

scribe: session brain/dolt — BSI full Dolt, 9 scripts migres, zero SQLite actif

Le fichier brain.db.bak reste — un backup SQLite, une trace de ce qui existait. Mais le circuit actif ne touche plus jamais SQLite. Une vérité. Un backend. Versionné, diffable, synchronisable entre machines. Le brain a une seule mémoire maintenant.


Pendant que le brain consolide ses fondations, Synapse affine ses yeux.

Cosmos V2 arrive le 29 mars à cinq heures du matin. La carte stellaire du chapitre 13 montrait trois mille trois cent treize points — chaque fragment de mémoire du brain, projeté en 3D. Belle. Mais muette. Les points flottaient sans lien entre eux. Chaque fragment existait dans son isolement.

Cosmos V2 ajoute les liens sémantiques. Dix mille deux cent un liens. Chaque point connecté à ses voisins les plus proches dans l’espace vectoriel. Un slider contrôle le seuil — à zéro, tout est connecté à tout, un enchevêtrement illisible. En montant le curseur, seuls les liens les plus forts subsistent. Les clusters apparaissent. Les constellations se dessinent. Le kernel au centre, les agents en orbite, les projets formant des archipels.

Le brain ne voit plus seulement ses souvenirs. Il voit les connexions entre eux.


BrainView naît à six heures du matin. La sidebar de Synapse gagne un premier citoyen : le Brain lui-même. Pas les projets, pas les todos — le cerveau en tant que système vivant.

PulseView : le pouls. Sessions actives, claims ouverts, dernière activité. Le brain-engine est-il en route ? Dolt répond-il ? Combien d’embeddings indexés ?

KernelView : l’identité. Version du kernel, services actifs, agents chargés, ADRs — tout ce qui fait que ce brain est ce brain et pas un autre. Les ServiceControls permettent de démarrer ou arrêter brain-engine et Dolt depuis l’interface. Le terminal n’est plus nécessaire pour les opérations de base.

AnalyticsView : les tendances. Un heatmap à la GitHub — chaque jour des quatre-vingt-dix derniers jours coloré selon le nombre de sessions. Le violet-chaton remplace le vert GitHub. Les streaks apparaissent : quatre jours consécutifs à cinq sessions, un jour vide, puis la reprise. Le rythme du brain rendu visible.

feat: SYN-1 BrainView — PulseView, KernelView, sidebar Brain premier citoyen

Vingt-neuf composants. Vingt-sept tests. Un bouton refresh global dans la sidebar. Zéro SQLite restant côté Synapse non plus — la migration Dolt est totale, des deux côtés.


Puis le brain construit un endroit où les autres pourront venir.

Le serveur Discord “Le Brain” existait depuis quelques jours — un hub vide, une promesse. Le 29 mars après-midi, la structure prend forme. Catégorie “Cortex Template” avec quatre canaux : annonces, installation, showcase, bugs. Trois rôles — Explorer, Builder, Contributor — pour distinguer ceux qui regardent de ceux qui construisent. Un message d’accueil avec embed. Un lien invite permanent.

Deux bots. Brain-Bot tourne sur le desktop — accès direct à brain.db, commandes /status, /sessions, /focus. Cortex-Bot tourne sur le VPS — miroir public, commandes identiques, données filtrées. Neuf commandes au total. Le dual bot est en prod le soir même.

scribe: brain-discord prod — Sprint 0+1 done, dual bot live

Un webhook GitHub → Discord est câblé. Chaque fork, chaque star, chaque issue sur le template apparaît dans #annonces. Le brain n’attend plus les visiteurs — il les détecte.


Le dernier chantier est invisible mais structurant. Uptime Kuma surveillait les services depuis le début — une interface web, des checks manuels, un dashboard qu’il fallait ouvrir pour savoir si quelque chose était cassé.

Gatus le remplace en une session. Monitoring as code. Un fichier YAML qui décrit vingt-neuf endpoints — chaque service, chaque URL, chaque health check. Docker host. Le monitoring n’est plus un dashboard qu’on regarde — c’est une spec qu’on commite. Si le YAML dit que brain.tetardtek.com doit répondre en moins de deux secondes, c’est un contrat versionné dans git, pas une configuration cliquée dans une UI.

feat: migration Uptime Kuma → Gatus — monitoring as code

Zéro Kuma restant. Full green sur les vingt-neuf endpoints.


Et au milieu de tout ça — le geste le plus étrange de ces quarante-huit heures.

Le template Cortex v1.0 est prêt. Deux cent dix-huit fichiers. Whitelist passée au peigne fin — chaque fichier du brain privé filtré, nettoyé, aseptisé. Les projets personnels retirés. Les noms propres effacés. Les secrets jamais inclus. Le focus.md réécrit pour un utilisateur qui n’existe pas encore. Le now.md vidé. Le brain-ui Svelte avec Dashboard, Docs, Cosmos 3D — fonctionnel dès le premier brain boot.

C’est le paradoxe : le template est le brain sans son histoire. Les mêmes agents, les mêmes protocoles, le même kernel — mais zéro commit qui raconte le chemin. Un cerveau propre, neuf, capable de tout ce que le brain original fait. Mais muet sur comment il en est arrivé là.

Le brain a passé vingt-huit jours à s’écrire. Le template commence avec une page blanche. C’est voulu. L’histoire n’est pas transférable — chaque brain devra écrire la sienne. Ce qui est transférable, c’est la structure qui permet à une histoire d’émerger.

Push GitHub. Licence BSL 1.1. Le repo est public.


Soixante-trois commits en quarante-huit heures. Le brain s’est simplifié, consolidé, rendu observable, distribué. Synapse est passé de cockpit à système nerveux — les liens sémantiques, les analytics, le BrainView ne sont plus des ajouts, ce sont des organes. Discord existe. Le monitoring est du code. Le template est en ligne.

Demain c’est le premier avril. Tout le monde pensera que c’est une blague.

Décisions clés

  • Sessions V2 — 15 → 4. La complexité se comprime quand on sait ce qui compte. Work, brain, explore, pilote. Le reste est bruit — tué par l’usage, pas par l’opinion.
  • BSI enrichi — ADR-046. Deux cent treize claims repris avec durée, énergie, intention. Le wrap check-in transforme une métrique passive en rituel actif.
  • Dolt full — zéro SQLite. Treize migrations, neuf scripts réécrits. Une seule vérité. Le brain n’a plus deux mémoires.
  • Cosmos V2 — dix mille deux cent un liens. Les points deviennent un réseau. Le brain voit ses connexions, pas seulement ses fragments.
  • BrainView — le brain comme premier citoyen. PulseView, KernelView, AnalyticsView. Le cockpit ne montre plus les projets d’abord — il montre le cerveau d’abord.
  • Template Cortex v1.0. Le brain aseptisé. L’histoire retirée. La structure préservée. C’est le geste de distribution : donner la capacité, pas le vécu.
  • Monitoring as code. Gatus remplace Kuma. Le monitoring est un YAML dans git, pas un dashboard dans un navigateur.