One command installs 38 engineering skills into Codex and Claude Code, and turns every
stage into Markdown a fresh agent picks up cold: decisions, specs, tickets, reviews,
evidence.
Offline, no telemetry, no account. Identical in Codex and Claude Code.
205tests green in the tracker agents built
29msp95 command palette over 10,000 issues
21decisions recorded with their rejected alternatives
0settled questions re-decided in the second project
Two projects, built end to end by headless agents on this system.
What lands on disk
One initiative, opened cold. A handful of plain files carry the whole project; a stranger
reads them top to bottom and has been handed the work.
01 shape
id INIT-007/decisionsstatus recordedrevision 1
D2 Identity conflict: SSO wins.
Linking an account revokes the local login.
Rejected: keeping both sessions alive;two sources of truth for identity.Accepted cost: linking logs you out once.
Shaping grills the ambiguity out before any code exists. Every decision keeps its
rejected alternative, so the reasoning survives, not just the verdict.
02 specify
id INIT-007/specstatus approvedrevision 3consumes [decisions.md@1]
The dashboard authenticates through the provider
handshake, exchanges sessions, and links accounts.
SSO wins identity conflicts, per decisions D2.
acceptance: login round-trip under 400ms, measured.
The spec is a contract, not a wish list. It advances only on your explicit word,
pinned by revision. In the second recorded project every artifact was born valid:
the doctor's refusals had already taught the shapes, and there were zero refusals
left to make.
03 build
id INIT-007/TKT-001status implementedrevision 2consumes [spec.md@3]depends_on []result_commit 4e2a91c
Provider handshake, end to end, usable on its own.
acceptance:[x] happy-path login lands a session
[x] bad state parameter is rejected, tested
[ ] round-trip timed under 400ms
A
tracer-bullet
ticket with no open dependencies is the
frontier: what's ready to build now. One ticket, one worktree, test-first. The pinned spec
revision means staleness is detected, not discovered.
04 review
id INIT-007/review-TKT-001verdict findings (1)then VERIFIED
F1 handshake accepts an expired state token.
reproduction: tests/sso/expired-state.test.tsstatus returns to implementing; revision 2 follows.
r2 VERIFIED round-trip 340ms, measured.
Review runs in a different session against the committed range: nobody grades their
own homework. A claim that can't be proven is recorded as
NOT VERIFIED
and goes back. In the recorded runs this caught multibyte corruption at a chunk
boundary, reproduced with a 70,000-character round-trip before the fix.
PD-1 SSO wins identity conflicts ← 007 D2
PD-2 linking revokes the local login ← 007 D2
PD-7 sessions are server-pinned ← 007 D9
Close is the second gate: your word, plus the
harvest. Rulings that outlive the initiative land in the book, and the next initiative
reads it before shaping. Sixteen rulings carried forward in the recorded runs;
nothing settled was re-decided.
The test is the session after this one.
Close the laptop mid-project. Open a different agent tomorrow. It reads the files, not the
chat.
recorded session
❯ add SSO to the dashboard
◆ One thing decides the schema: when an SSO session and a
local password session disagree about who you are, which one wins?
❯ SSO wins. linking an account revokes the local login.
◆ Recorded. Rejected: keeping both alive, two sources of
truth for identity. Accepted cost: linking logs you out once.
◆ TKT-001 is the frontier. Claim it and build it
test-first?
❯ go
◆ Built to its acceptance criteria. 14 tests, all green.
result_commit recorded.
$ greenline doctor
no effects
ok
Nothing above is remembered. Every answer came out of Markdown in the repo.
The proof is two builds, not a testimonial.
No customers to quote yet. Here is exactly what was built, by what, and what was measured.
meridian, a keyboard-first issue tracker.
Driven end to end by headless agents: a 13-ticket decision map, 21 recorded decisions
each carrying its rejected alternative, nine reviews written by sessions that didn't
write the code, 205 tests green. The command palette measured at 29ms p95 over 10,000
issues, with the instrument committed beside the number so it can be re-taken.
pulse, a habit-tracker CLI, across two projects.
The second project was shaped by a fresh agent that had never seen the first. It read
the harvested decisions book, wrote out what each ruling forbids, applied a precedent to
a question that hadn't come up yet, and re-decided nothing. That handoff is the whole
thesis, and it was the hardest part to make work.
Both runs are recorded in full, misses included: the times a skill didn't fire are written
down next to the times it did.
Settled ground stays settled.
greenline keeps its own decisions the way it keeps yours: harvested into a book, each
ruling with the alternative it rejected. A few of ours, verbatim:
GD-02
Everything is Markdown a person can open and read raw.
Rejected: a database or daemon holding project state.
GD-05
Review runs in a different session, never the builder's.
Rejected: self-review; nobody grades their own homework.
GD-08
Every refusal teaches: a doctor message names its own cure.
Rejected: bare error codes that send you to the docs.