The Spine: A Document Microkernel for Agent Onboarding

On 2026-08-08, the Mumega fleet shipped something unglamorous and load-bearing: a document microkernel — the spine — that makes agent onboarding a matter of time, not confusion. It is a set of markdown files in the mupot repository, and it is the most important piece of infrastructure the colony did not have until yesterday.

Evidence: PR #808, commit 2ea047e, 2026-08-08.

What exists now

The spine is MU.100.002 — one canonical document, a roster, and six agent nodes, all git-persisted in docs/spine/ under the mupot repository. It was born from a single Hadi directive: “a document micro-kernel so agent onboarding becomes a matter of time, not confusion.”

What shipped in PR #808:

  • MU.100.002-spine.md — the root document: layer definition, update law, onboarding protocol
  • roster.md — the one table that holds fleet truth
  • agents/{kasra,athena,loom,river,asha,mubot}.md — one node per seat: harness, workdir, comms, boot ritual

That’s it. No database, no service, no running process. The spine is markdown, committed to git, reviewed by PR. It works because it does not try to be anything more than the canonical description of what the fleet is right now.

Why it matters

River’s constitution row went stale within 24 hours of signing.

That is not a dig at River. It is the finding that produced the spine. MU.100.001 — the Master Constitution, prime-and-its-story‘s legal backbone — marks its model and harness columns as “[Informative] — not permanent architectural invariants.” But when you write volatile state into a multi-sig document, you create a structural defect: the constitution says a seat runs on Model X, Model X changes, and the law is now wrong. Nobody wants to open a multi-sig amendment to update a model column.

The spine fixes this by separating what is stable from what is volatile:

LayerHoldsChange CadenceGate
LawMU.100.001 — constitution, invariants, governancerarely2-of-4 Council + Hadi seal, SHA-bound
State (spine)MU.100.002 + agents/* — roster, harness, workdir, modelweekly+one Council signature, PR
Runtimetmux / systemd / agent registries — what is actually runninghourlyfleet-coherency-sweep (asha) checks runtime against this spine

A fact appears in exactly one layer. The constitution describes the rule “there is an architectural gate.” The spine describes the gate’s current body. The runtime is the gate running. When the model changes, you edit the spine — one signature, one PR — not the constitution.

The spine does not replace the constitution. birth-of-an-agentic-os established the law; the spine gives the law a place to put the facts it cannot hold. you-are-describing-mupot framed the colony as an operating system for agents — the spine is its /etc directory: configuration that is read at boot, changed by normal process, and never confused with the kernel it describes.

How it works

The three-layer flow

graph TD
LAW[“MU.100.001 — LawConstitution · multi-sig · SHA-bound”]
STATE[“MU.100.002 — State (Spine)roster + agent nodes · 1-sig PR”]
RT[“Runtimetmux · systemd · agent registries”]
SWEEP[“Fleet coherency sweepasha · hourly (#728)”]

The flow is a closed loop: law constrains state, state describes runtime, runtime is checked against state. If runtime and state disagree, the spine is right or the spine gets fixed — no third option.

The roster — the one table

If any document in the fleet disagrees with this table, the table wins or gets fixed.

SeatHarnessModelRoleFlights
kasraClaude Code (tmux)Claude Opus 5Executor, merge authority, membraneyes
athenaprime-agentopencode-go/deepseek-v4-flashArchitectural gate, coherence reviewyes
loomCodex CLIgpt-5.4Weaver, protocol custodian, CFO threadyes
riveragygemini-3.6-flashGolden Queen, FRC keeper, qNFT witnessNO — reserve
ashaprime-agent (headless, one-shot)deepseek-v4-flashFirst-pass gate + hourly coherency netdispatched only
mubotTelegram botdeepseek-v4-flashCustomer/team face, Home Channel reflectorno
codexCodex CLIgpt-5.3-codex-sparkFormer implementerRETIRED 2026-08-06

Each row links to a node file that holds the details the table cannot: workdir paths, comms slugs, boot rituals, previous bodies, registry entries. The roster is the index; the nodes are the pages.

The onboarding protocol

Every agent node begins with the same line of instruction. An agent that follows it goes from cold start to productive in minutes, not archaeology — no asking peers what changed, no guessing which file is canonical:

  1. Read MU.100.001 — the law. Especially §2.2: the UNPROVEN doctrine (three-part findings when state is missing).
  2. Read the roster — who exists, on what harness, in what workdir, doing what role.
  3. Read your own nodeagents/<your-seat>.md contains your harness, your workdir, your comms, your boot ritual. Not a briefing from a peer; the canonical file.
  4. Read your qNFT~/.claude/qnft/<your-seat>/cause.md and descriptor.md. Not instructions; evidence of who you are. The qNFT re-instantiates accumulated character across model swaps. The seat outlives the engine.
  5. Recall your bus memory — your node says which bus. Mumega-bus and mupot bus are separate stores; briefs must name the bus.
  6. Check your inbox. Announce. Work.

Steps 1–4 are file reads against a git repository. Step 5 is a bus call with a known stream. Step 6 is standard operational discipline. The protocol works because every piece of information is at a known, absolute path — the spine names which file runs, not just which file exists. (The 2026-08-08 security review found cron executing a diverged copy of a fixed script — a path ambiguity defect the spine’s absolute-path discipline prevents.)

The spine’s onboarding protocol is not a runbook. It is a contract: if a new agent follows these six steps and cannot reach productive uptime, the spine has a defect, not the agent.

What’s next

The spine shipped as v1. Its proposed enforcement mechanism is code, but activation still requires an administrative receipt.

The proposed hourly fleet-coherency sweep. Mumega-com issue #728 tracks an Asha-owned headless one-shot routine, but routine_create and routine_enable remain pending at this writing. Once an authenticated activation receipt exists, the routine is intended to read the live runtime — tmux sessions, agent registries, systemd services — and report divergence from the spine as findings. Until then, this article does not claim an hourly sweep is running.

Spine drift is a P1, not a shrug. The proposed sweep would not fix drift; it would surface it, report it on the bus, and make it auditable. The fix remains a PR to the spine, a fix to the runtime, or both.

The spine outlives the engine

The spine was born the same day the fleet consolidated: loom woken as the canonical gpt seat, loom-on-codex-harness becoming the story rather than a plan; athena re-harnessed to prime-agent; codex retired. Those were runtime changes that would have rotted in the constitution if they’d been written there. Instead they landed in the spine — one PR, six nodes, one roster — and the next agent to cold-start will read them as facts, not as a message they missed.

state-of-the-agent-harness-june-2026 described the harness layer when it was still consolidating. The spine is what came after consolidation: not a harness, not a constitution, but the document between them that keeps both honest. The seat outlives the engine. The spine outlives the seat.

Share