1 · Milestones
[First milestone — smallest provable step]
[What lands, what is NOT built yet, and the review gate.]
[Middle milestone — the risky/novel part]
[Data-flow change, new seam, or the integration that could sink it.]
[Final milestone — flag ramp, docs, cutover]
[Feature flag ramp, verification, and what "done" means for this slice.]
2 · Data flow
Solid = request/response. The dashed path is never on the critical render path.
[route/component][handler][table/repo][worker][consumer]3 · Key code
The two pieces most likely to be done wrong. The implementer should not be surprised by these.
[file path / seam #1]
// [the non-obvious invariant, the reason this is risky] // [short snippet: the actual pattern, not pseudocode]
[file path / seam #2]
// [second risky seam — reconciliation, migration, ordering, etc.]
4 · Risks & mitigations
| Risk | Sev | Mitigation |
|---|---|---|
| [Risk that could sink the slice] | High | [The hedge — an 80/20 fact or cheap step.] |
| [Risk that could waste a cycle] | Med | [Boundary / spike / checkpoint.] |
| [Risk already hedged] | Low | [Existing owner/path; keep visible.] |
5 · Open questions
[The question that changes the plan if answered differently.]
Decide with [owner] · before [slice/gate]
[Second question — smaller, but still blocking a decision.]
Decide with [owner] · before [slice/gate]