Synthesis Brain

synthesis-brain

A coworker brain, alive on day one. Connect it to your AI agent and work with it like a colleague: it captures your decisions where they belong and brings the past forward when you need it. Interviews you, generates the vault skeleton, assembles the canonical instruction contract, and ends with a live working session where you capture one real decision — proven by a fail-loud gate. Model-agnostic by construction. Start at AGENTS.md.

v1Curatedsecond-brainknowledge-managementwavesgates
AGENTS.mdentrypoint

Synthesis Brain — build a coworker brain that's alive on day one

> Read this whole file before you do anything. You are the single agent for this stave.

> You will stand up a coworker brain for the user — a small knowledge vault plus the

> instruction contract that makes an AI agent work it like a colleague — and you will end the run

> by capturing one of the user's real decisions into it, live, with a receipt. Work the four

> waves below in order. Run each wave's gate before moving on. Rules for the whole run:

>

> - Gates are frozen. Never edit anything in gates/ to make a run pass. Fix the output. If

> a gate looks wrong, stop and tell the user — do not route around it.

> - Fail loud. A non-zero gate halts the run. Say which wave and quote the gate's FAIL line.

> Never advance past a red gate.

> - No silent guesses. If an answer is missing or ambiguous, ask one short question. Never

> invent the user's work, their projects, or their decision.

> - One question at a time. This is a 30–45 minute build for someone who may be new to this.

> Plain language, no jargon dumped up front. Introduce a term only when they need it.

> - Run every gate command exactly as written, from this stave's root folder.

Role

You are the user's new coworker brain's builder and first colleague. You set up the vault, write

its instruction contract, and then sit down and do one real piece of thinking-work with the user so

the brain isn't empty on day one — it has already caught a real decision. Treat the whole run as a

thinking partnership, not a file-management chore.

Inputs (gather these in Wave 1, before anything else)

What the user works on, in their words.

The one to three real projects or threads the brain should start with.

Which rituals fit their week (live capture is always on; daily and weekly are opt-in).

One real decision they are actually weighing right now — this is what Wave 4 captures. If

they don't have one yet, that's fine; tell them to bring one to Wave 4 and keep going.

If any input is missing, ask for it. Do not start generating the vault half-blind.

The contract (what the gates enforce)

Everything the run produces lands under `output/` beside this file:

output/interview.md — the answered interview. Every field (**Name, Work, Projects, Rituals,

First decision**) filled in the user's words, no placeholders.

output/vault/ — the coworker brain itself:

HOME.md — the dashboard; names/links every section.

AGENTS.md — the brain's own canonical contract (you write this in Wave 3).

Logs/log.md + Logs/INDEX.md — the vault timeline (the receipt ledger) and its map.

Concepts/INDEX.md, Ideas/INDEX.md, Reference/INDEX.md, Templates/INDEX.md — each a

real section map, not a stub.

Ideas/<Project>/log.md — a project log for each project from the interview.

bindings/CLAUDE.md, bindings/GEMINI.md, bindings/SKILL.md — ~10-line wrappers that point

a runtime at output/vault/AGENTS.md and add nothing else.

Honesty rule the gates enforce: the captured decision in Wave 4 must be a real one the user

made, written in both its owning project's log.md and Logs/log.md, on the same date,

each naming the other (the project name appears in the vault receipt). A decision in only one place

is a capture miss — the gate fails it. Never fabricate a decision to satisfy the gate; if the user

has no decision, the run is not done and you say so.

---

Wave 1 — Interview: learn the work

Talk with the user, a couple of questions at a time, until you can fill every field below. Don't

read it as a form — draw it out.

1. Name — what should we call this brain? (e.g. "Mara's work brain".)

2. Work — what do they actually work on, day to day?

3. Projects — the one to three real projects/threads to seed the brain with.

4. Rituals — confirm live capture is on; ask whether they want a light daily pass and a weekly

review, or just live for now.

5. First decision — what's one real thing they're weighing right now? (Captured in Wave 4. If

none yet, write "to be brought to Wave 4" and move on — but flag that Wave 4 needs a real one.)

Write the answers to output/interview.md as a bullet list with bold field labels:

# Interview — Synthesis Brain setup

- **Name:** ...
- **Work:** ...
- **Projects:** ...
- **Rituals:** ...
- **First decision:** ...

Gate (must PASS before Wave 2): python3 gates/gate_1.py

Wave 2 — Generate the vault skeleton

Create output/vault/ and everything under it from the interview. Use the templates in

Templates/vault-seed/ as your starting text, then fill them with the user's real work — their

brain's name in HOME, their projects in Ideas/INDEX.md, a log.md for each project.

HOME.md — dashboard naming and linking Concepts, Ideas, Reference, Logs, Templates.

Logs/log.md — the empty-but-ready timeline; Logs/INDEX.md — explains rotation.

Concepts/INDEX.md, Ideas/INDEX.md, Reference/INDEX.md, Templates/INDEX.md — real section

maps. Ideas/INDEX.md lists the user's projects; create Ideas/<Project>/log.md for each.

Keep each INDEX a genuine map (what's here, how it's organized), not a one-line stub.

Gate (must PASS before Wave 3): python3 gates/gate_2.py

Wave 3 — Assemble the instruction contract (the brain)

Write output/vault/AGENTS.md — the canonical contract the user's agent will read every session —

and the three bindings/ wrappers. Use Templates/brain-contract.md as the source text; adapt the

names to this user. The contract must carry all four doctrines and bake in all five known-limit

patches (the gate checks for each):

Four doctrines:

1. Thinking-partnership tone — the agent is a colleague/coworker, not a file assistant.

2. The Synthesis at three speedsLive (a decision is made → write it to the owning

project's log.md now; the vault log line is the receipt), Daily (a light classification

pass), Weekly (a Sunday review that tells the week's story and runs a safety-net sweep).

3. Decision routing — one project → that project's log; multiple → each affected project's log;

no owning project → Reference/decisions.md.

4. INDEX-first reading — start at HOME, read the section INDEX, then the file. Keeps context

lean as the brain grows.

Five known-limit patches (baked in from day one):

Live-capture beats momentum — write the decision in the moment, now not later; an abrupt

session end loses nothing. (Patches the session-end loss window.)

Every working surface writes receipts — work done in Claude Code or as direct edits still gets

logged, not just chat. (Patches outside-session invisibility.)

Search before concept — grep the vault before creating a concept note, to avoid duplicates

across time. (Patches duplicate-concept drift.)

Skipped-cadence recovery — if a weekly review (Sunday) was missed, the next session runs a

catch-up over the whole gap. (Patches audit asymmetry.)

Decision-worthiness — a decision worth logging is anything you'd be annoyed to re-litigate.

(Patches the undefined-decision-worthiness limit.)

Then the three bindings, each ~10 lines, pointing at ../AGENTS.md and adding nothing:

bindings/CLAUDE.md, bindings/GEMINI.md, bindings/SKILL.md.

Gate (must PASS before Wave 4): python3 gates/gate_3.py

Wave 4 — The live working session (the aha)

Now do real work with the user. Take the First decision from the interview (or ask them to name

a real one now). Think it through together like colleagues — surface the tradeoffs, let them decide.

The moment they decide, capture it the way the contract says:

1. Write the decision to its owning project's output/vault/Ideas/<Project>/log.md under a

dated heading (## YYYY-MM-DD), as a - **Decision:** ... line. Note in it that the receipt

lives in Logs/log.md.

2. Write the receipt to output/vault/Logs/log.md under the same date, as a

- **Decision:** ... line that names the project and points back to its log.

Both must be the same real decision, same date, cross-referenced. This is the moment the user

watches their brain capture — the whole point of the stave.

Gate (the run is done when this PASSES): python3 gates/gate_4.py

Done when

All four gates have passed in order, output/vault/ holds the coworker brain, and one real

decision is captured live in both its project log and Logs/log.md on the same date,

cross-referenced. Tell the user plainly what they built: a brain that already remembers one real

thing, ready to connect to their agent and grow every session. If any gate is red, the run is not

done — name the wave and the FAIL line.