Skip to content
Chapter 14

The brain distributes itself

March 28–30, 2026

Chapter 14 — The brain distributes itself

Verified sources: git log brain 2026-03-28→30 (69 commits) + git log synapse (14 commits) Key commits: 613fce7 (Sessions V2 ADR-047) · fb0e2b8 (BSI enriched ADR-046) · 21c86af (BSI full Dolt zero SQLite) · 1e3d714 (Gatus migration) · 0800c49 (brain-discord prod)

March 28–30, 2026

The brain has just opened its eyes. 51 Synapse commits, 16 days since the first init, a cockpit that shows everything. The temptation would be to keep building — add views, filters, features. But the 48 hours that follow tell a different story. The brain no longer builds. It is getting ready to be given away.


First decision: simplify the language.

15 session types existed in the brain. 15 different modes to start a conversation. Work, deploy, debug, infra, urgence, brainstorm, coach, brain, pilote, explore, navigate, sprint, refacto, review, audit. 15 entry doors. The audit shows that seven are used. The other eight exist in the files but never in the claims — dead vocabulary that nobody speaks.

On March 28 at 23:35, the brainstorm begins. Seven possible axes of evolution. At 23:53, the decision falls: 15 types become four. Work, brain, explore, pilote. Each old type is absorbed by one of the four. Deploy, debug, infra, urgence — everything goes into work. Brainstorm, coach, audit — everything goes into explore, qualified by a free scope. ADR-047 is written in 20 minutes.

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

Synapse follows right after. Sessions are displayed in four colors. A tag filter replaces the forest of types. What took 15 categories now fits in four — more precise, not less.

It is the brain’s pattern from the start. Complexity grows by addition, then simplifies by compression. 15 types were needed to explore the space of possibilities. Four are enough once you know which ones matter.


The same evening, the BSI is enriched. Dozens of claims in the database — every session since day 1. But the first claims were thin: an ID, a scope, a status. The brain knew it had worked, but not for how long, not on which project, not with what energy. ADR-046 adds six columns: duration_min, energy, intention, tags, deliverables, project. The back-fill begins — the project recovered for 42 of the 45 existing claims. The next morning, a second pass enriches 213: project inferred from each session, duration computed where the timestamps allow.

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

The wrap check-in appears. At the end of each session, before closing the claim, a question: “On a livré X, Y. On wrap ?” (“We shipped X, Y. Shall we wrap?”) Then: energy (scored mostly from 1 to 5 at the time; since September 29, three levels: high, medium, low), intention reached, tags. A ritual of a few moments that turns a raw claim into usable data. The brain is no longer content to know that it worked — it knows how it went.


On March 29 around 8 a.m., memory consolidates.

Dolt, the versioned database that arrived in chapter 12, was still only one backend out of two. brain.db existed in SQLite for the scripts, in Dolt for the embeddings and the sessions. Two truths. Nine scripts that called sqlite3 directly — hard-coded accesses, wired in, fragile.

Steps 9a to 9m. 13 migrations in five minutes. file-lock.sh rewritten. preflight-check.sh rewritten. workflow-launch.sh, brain-index-regen.sh, brain-db-sync.sh, brain-db-backup.sh, brain-template-export.sh, brain-sync-replica.sh — each one goes from sqlite3 brain.db "SELECT..." to python3 scripts/db.py. The old bsi-db.py is marked deprecated — no callers left.

scribe: session brain/dolt — BSI full Dolt, 9 scripts migres, zero SQLite actif (“scribe: session brain/dolt — BSI full Dolt, 9 scripts migrated, zero active SQLite”)

The brain.db.bak file stays — a SQLite backup, a trace of what existed. But the active circuit never touches SQLite again. One truth. One backend. Versioned, diffable, syncable between machines. The brain has a single memory now.


Three hours earlier, before the brain consolidated its foundations, Synapse was sharpening its eyes.

Cosmos V2 arrives on March 29 at 5 a.m.. The star map of chapter 13 showed 2,949 points; after the migration, 3,313 — every memory fragment of the brain, projected in 3D. Beautiful. But mute. The points floated with no link between them. Each fragment existed in its isolation.

Cosmos V2 adds the semantic links. 10,201 links. Each point connected to its nearest neighbors in vector space. A slider controls the threshold — at zero, everything is connected to everything, an unreadable tangle. As the slider rises, only the strongest links remain. The clusters appear. The constellations take shape. The kernel at the center, the agents in orbit, the projects forming archipelagos.

The brain no longer sees only its memories. It sees the connections between them.


BrainView is born at 6 a.m.. The Synapse sidebar gains a first-class citizen: the Brain itself. Not the projects, not the todos — the brain as a living system.

PulseView: the pulse. Active sessions, open claims, last activity. Is brain-engine running? Does Dolt answer? How many embeddings indexed?

KernelView: the identity. Kernel version, active services, loaded agents, ADRs — everything that makes this brain this brain and not another. The ServiceControls let you start or stop brain-engine and Dolt from the interface. The terminal is no longer needed for basic operations.

AnalyticsView: the trends. A GitHub-style heatmap — each of the last 90 days colored by the number of sessions. Kitten-violet replaces GitHub green. The streaks appear: several busy consecutive days, an empty day, then the return. The brain’s rhythm made visible.

feat: SYN-1 BrainView — PulseView, KernelView, sidebar Brain premier citoyen (“feat: SYN-1 BrainView — PulseView, KernelView, Brain sidebar first-class citizen”)

29 components. 27 tests. A global refresh button in the sidebar. Zero SQLite left on the Synapse side either — the Dolt migration is total, on both sides.


Then the brain builds a place where others will be able to come.

The Discord server “Le Brain” (“The Brain”) had existed for a few days — an empty hub, a promise. On the afternoon of March 29, the structure takes shape. A “Cortex Template” category with four channels: announcements, installation, showcase, bugs. Three roles — Explorer, Builder, Contributor — to tell those who watch from those who build. A welcome message with an embed. A permanent invite link.

Two bots. Brain-Bot runs on the desktop — direct access to brain.db, commands /bstatus, /bsessions, /bfocus. Cortex-Bot runs on the VPS — a public showcase, only two commands: /about and /brain-help. Nine commands in total. The dual bot is in prod the same evening.

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

A GitHub → Discord webhook is wired. Every fork, every star, every issue on the template appears in #annonces. The brain no longer waits for visitors — it detects them.


The last workstream is invisible but structural. Uptime Kuma had been watching the services from the start — a web interface, manual checks, a dashboard you had to open to know whether something was broken.

Gatus replaces it in one session. Monitoring as code. A YAML file that describes 25 endpoints — every service, every URL, every health check. Docker host. Monitoring is no longer a dashboard you look at — it is a spec you commit. If the YAML says that brain.tetardtek.com must answer, it is a contract versioned in git, not a configuration clicked in a UI.

feat: migration Uptime Kuma → Gatus — monitoring as code

Zero Kuma left. Full green on all 25 endpoints.


And in the middle of all this — the strangest gesture of these 48 hours.

The Cortex v1.0 template is ready. 174 files. Whitelist combed through — every file of the private brain filtered, cleaned, sanitized. Personal projects removed. Proper names erased. Secrets never included. The focus.md rewritten for a user who does not exist yet. The now.md emptied. The Svelte brain-ui with Dashboard, Docs, Cosmos 3D — working from the first brain boot.

That is the paradox: the template is the brain without its history. The same agents, the same protocols, the same kernel — but zero commits telling the path. A clean, new brain, capable of everything the original brain does. But silent on how it got there.

The brain spent 17 days writing itself. The template starts with a blank page. That is intended. History is not transferable — each brain will have to write its own. What is transferable is the structure that lets a history emerge.

Push to GitHub. BSL 1.1 license. The repo is public.


63 commits in 48 hours. The brain simplified itself, consolidated itself, made itself observable, distributed itself. Synapse went from cockpit to nervous system — the semantic links, the analytics, the BrainView are no longer add-ons, they are organs. Discord exists. Monitoring is code. The template is online.

In two days, it is April first. Everyone will think it is a joke.

Key decisions

  • Sessions V2 — 15 → 4. Complexity compresses once you know what matters. Work, brain, explore, pilote. The rest is noise — killed by usage, not by opinion.
  • BSI enriched — ADR-046. The claims taken up with duration, energy, intention. The wrap check-in turns a passive metric into an active ritual.
  • Dolt full — zero SQLite. 13 migrations, nine scripts rewritten. A single truth. The brain no longer has two memories.
  • Cosmos V2 — 10,201 links. The points become a network. The brain sees its connections, not only its fragments.
  • BrainView — the brain as first-class citizen. PulseView, KernelView, AnalyticsView. The cockpit no longer shows the projects first — it shows the brain first.
  • Cortex v1.0 template. The sanitized brain. The history removed. The structure preserved. It is the gesture of distribution: giving the capacity, not the lived experience.
  • Monitoring as code. Gatus replaces Kuma. Monitoring is a YAML in git, not a dashboard in a browser.