The pipeline
One idea becomes shipped, verified software through a chain of durable artifacts. Each stage leaves a file under .green-line/work/<initiative>/ that a completely fresh agent can pick up cold; that's the point. This walkthrough follows meridian, a Linear-style tracker built end-to-end through the pipeline by headless agents.
- Shape
decisions.mdgrilled until nothing's ambiguous -
Specify
spec.mda contract, pinned to revisions; your explicit word -
Decompose
tickets/tracer-bullet tickets, falsifiable criteria - Build
evidence/one ticket, one worktree, test-first - Review
reviews/a different session, never the builder - Verify
VERIFIEDmeasured, or honestly NOT VERIFIED - Close
completeyour word, plus the harvest - findings and NOT VERIFIED send the ticket back to Build
-
Close harvests into
DECISIONS.md; the next initiative reads it before shaping
Shape: decisions.md#
A real feature starts with an interview, not code. The agent grills you: the questions that decide storage shapes, boundaries, and semantics get asked while they're cheap ("what is 'today', exactly?" is the kind of question that kills a habit tracker later). Every settled ruling lands in decisions.md with its rejected alternative and its accepted cost, so the next session can tell a deliberate limit from an oversight. Too foggy to even know the questions? The agent charts a decision map (map.md) first and resolves it ticket by ticket across sessions.
Specify: spec.md#
When nothing is left to decide, the spec is written: a contract, not a wish list. It pins the exact revisions of the decisions and research it was built from (consumes), so if an upstream ruling later changes, staleness is detected instead of silently built on. The initiative advances to specified only on your explicit word.
Decompose: tickets/#
The spec becomes a dependency graph of tracer-bullet tickets: vertical slices that each end usable, with falsifiable acceptance criteria. The frontier (tickets whose dependencies are complete) is what greenline status shows as ready to build.
Build: one ticket, one worktree#
The agent claims a frontier ticket (with your authorization), builds it test-first to its acceptance criteria, and records the evidence on the ticket: the suite command and its result counted on this ticket's own changes, the result_commit, and, for measurement tickets, raw evidence under the initiative's evidence/<TKT>/ directory, instrument beside output so the numbers can be re-taken. The ticket parks at implemented; the claim stays (it's the record of who built it and where review findings return to).
Review: reviews/#
A different session reviews the committed range, never the one that built it. Findings that are broken behavior send the ticket back with a runnable reproduction recorded; a clean review advances it to verifying. Reviews record what they saw and are never rewritten afterward: a finding's fix lands on the ticket, not back-annotated into the review.
Verify: measured, not asserted#
Acceptance criteria get restated falsifiably and proven with fresh evidence: baseline and treatment, real commands, real numbers. "VERIFIED" with the measurement beside it, or honestly NOT VERIFIED, which sends the ticket back.
Close, and the harvest#
complete is your word, never the agent's. Closing an initiative includes the harvest: rulings that outlive it are promoted to .green-line/DECISIONS.md, the product decisions book, each entry pinning its source. The next initiative's agent reads the book before shaping anything; settled ground is never re-decided unread. (If a close skips the harvest, doctor says so: GL0210.)
- initiative 001closes, and its outliving rulings are harvested into the book
- DECISIONS.mdthe product decisions book, each entry pins its source
- initiative 002reads the book before shaping, and harvests into it again at close
The loop#
Review findings, bugs, and new ideas re-enter the same machine. Nothing depends on anyone remembering a conversation: the files are the state, Git is the history, and any agent, today's or next month's, continues from what's written.