DD-NNN: <short title>¶
# Machine-readable header (keep keys stable — greppable by agents)
id: DD-NNN
status: PARKED # PARKED | FORCED | DONE | SUPERSEDED
issues: [] # e.g. [1621, 1622]
adrs: [] # related ADRs
decided: YYYY-MM-DD
decided_at_sha: null # optional tip SHA when parked
parent: null # umbrella issue or prior DD
One-line intent¶
<What we decided not to build yet, and why that is intentional.>
Plan (what we already concluded)¶
<The design that should not be rediscovered from scratch months later. Include counter-priors: what we will not do even when forced.>
Reopen when (consumer force)¶
Concrete, checkable signals — not vibes:
- Named consumer — app or product module:
… - Evidence of dual-lock / host workaround — path or issue:
… - Acceptance that unblocks — e.g. “poly_ref without host dual-lock on Comment”
When a force lands:
- Set
status: FORCEDand date it. - Comment on every linked issue with the consumer + this DD path.
- Implement against the plan below; open child issues if the plan splits.
- When shipped, set
status: DONEand close issues.
Already shipped (do not re-litigate)¶
<Substrate, ADRs, prove commands that already hold.>
Explicitly out of scope until force¶
<…>
Trail¶
| Date | Event |
|---|---|
| YYYY-MM-DD | Parked (this DD) |