The decisions book
greenline harvests rulings at every close: what was decided, what was rejected, what the decision costs. This is our own book, kept the same way, published as it stands. Each ruling has a permanent link.
One command, offline, idempotent. Nothing leaves the machine; there is no account and no telemetry. Rejected: a hosted service. A tool about durable local files cannot require someone else's server.
Everything is Markdown a person can open and read raw. The files are the state; Git is the history. Rejected: a database or daemon holding project state. Accepted cost: contracts are checked after the fact by the doctor, not enforced at write time.
Vendored skills are preserved byte-identically from their pinned upstreams and keep their authors' voice. greenline adds bookends around a method, never edits inside it. Rejected: forking the methods to taste. The craft is the authors'; the system is ours.
The spec is a gate. An initiative advances to specified only on the operator's explicit word, and close works the same way. Rejected: agent self-approval. An agent that can approve its own contract will.
Review runs in a different session against the committed range, never the session that built it. Reviews record what they saw and are never rewritten afterward. Rejected: self-review. Accepted cost: review costs a second session.
One worktree builds one ticket at a time. A claim is exclusive while the ticket is claimed or implementing. Rejected: parallel claims in one worktree. Accepted cost: parking a ticket takes a released claim and a note.
Raw evidence lives beside the work it proves, instrument beside output, and the instrument settles before the recorded runs. A stranger can re-take the numbers from the repo alone. Rejected: a global evidence directory. Evidence that drifts from its ticket stops being evidence.
Every refusal teaches. A doctor message names the legal fields, the expected home, or the exact cure, inline, at the moment of refusal. Rejected: bare error codes that send you to the docs. The cheapest reliable teacher is the refusal itself.
Closing an initiative harvests its outliving rulings into the decisions book, each entry pinned to its source. A close that skips the harvest is warned about, by name. Rejected: letting settled ground live in chat history, where the next session can't read it.
A preference about how the agent works meets the discipline that owns that ground before it's persisted: one pushback naming the rule and its reason, then your second word is final and is recorded. Rejected: silently saving preferences. A preference that bypasses its discipline erodes it invisibly.
Before v1 there is no backwards compatibility. Shapes are what they are; nothing carries upgrade paths for artifacts that no longer exist. Rejected: compatibility code in a product that hasn't shipped its first version. Accepted cost: early adopters re-run init.
Warnings that persist get fixed. A workspace that is always yellow trains everyone to stop reading the doctor at all. Rejected: accumulating tolerated warnings as ambient noise.
The book grows at every close. How the harvest works: the pipeline.