Intent-Driven Development.
Goal: say what we are building, say what must not change, and prove both.
Start with START_HERE.md.
Every phase should answer, in plain English:
- What are we building?
- What will not change?
- How will we prove it works?
- How will we prove we did not break earlier intent?
If a phase cannot answer those clearly, it is not ready.
.intent/
SYSTEM.md
phases/
0001-phase-name/
plan.md
review.md
commits.txt
SYSTEM.md: current truthplan.md: what we are building, how we will build it, how we will prove itreview.md: append-only plan and implementation review roundscommits.txt: what landed and what proof existed
- Do not implement from
ROADMAP.md. SYSTEM.mdis current truth, not wishes.- Every changed behavior needs direct proof.
- Every risky change needs blast-radius proof.
- Prefer e2e that hits the changed path like a user would.
- Surrogate proof helps, but does not close the claim.
- Update
SYSTEM.mdonly after proof.
direct proof
- proves the claimed behavior
surrogate proof
- proves a nearby fact
blast-radius proof
- proves old intended behavior still holds
missing proof
- no executable proof yet
The process is not:
- write artifacts
- get review
- pass a gate
The process is:
- state the change
- state the non-change
- build it
- assault the invariant with tests
- keep going until the proof is real
A good plan usually includes:
- unit tests for local logic
- integration tests for joins between pieces
- e2e tests for user-visible behavior
- adversarial tests for risky paths
For high-risk work, the default proof should include at least one e2e or integration flow that:
- hits the public path
- exercises the changed logic
- perturbs the system if needed
- confirms the promised result still happens
For every claim, ask:
How could this still be broken while the current tests pass?
If the answer is easy, the proof is weak.
Use one review.md file per phase.
Keep it append-only.
It should usually contain:
Plan Review 1Implementation Review 1- later follow-up rounds only if needed