Where the project actually lives.
Not a database. Not a cloud workspace. Ordinary files your editor, git, and
any agent can read. The method sits beside your code in src/.
METHOD.md
Operating manual
The only hand-written instruction source. Adapters are compiled from it.
Source of truth
laws/*.md
Standing world-model
Stack, design, and domain constraints. Versioned. New versions append.
Versioned
data/stories.json
Signed intents
Narrative, AC[], DoD[], status, optional scope and depends_on. Editable until ready. Locked at launch.
Locked at sign
data/epics/E-n.json
Epic envelopes
Goal, ordered stories, depends_on epics, scope. One file per epic. The dispatch unit larger than one story.
Per epic
decisions.md
Append-only residue
Rationale and consequences, newest first. Corrections supersede; they do not rewrite.
Append-only
STATE.md
Bounded snapshot
Phase, open intents, active epics, resume cue. O(current), never O(history). Regenerated freely by bin/state.
Regenerated
overview.html
Human decision surface
Checkboxes, quoted evidence, glanceable first. Generated by bin/render. Groups stories by epic. Works from file://.
Projection
archive/
Packs & evidence
Context packs, evidence bundles, raw logs. Write-once. Distill later into decisions.md.
Write-once
src/
Your project's code
Everything outside src/ is method. bin/init creates the blank for a new ship.
Project
bin/
CLI · 18 wrappers
init · boot · gate · claim · pack · review · state · render · adapt · verify · distill · epic-gate · epic-claim · epic-pack · epic-present · epic-accept · park · reassign. Dispatcher: bin/keel. No pip. No build. Stdlib Python.
Stdlib Python