Requests for Comments (RFC) — the proposal register¶
For humans. Work under consideration at the Design altitude: proposals that may become an Architecture Decision Record, be reshaped, merge with another, or be withdrawn. It is the sibling of
ADR.mdand exists so that the ledger records decisions only — an ADR is written when a proposal is accepted, never before (memory/PROTOCOL.mdWork from intent,DECAY.md§12). Read on demand, not part of the per-session agent read path (zero default token cost, the same footing asADR.md).
Rules¶
- Separate sequences.
RFC-NNNNandADR-NNNNnever share numbers: a proposal does not reserve an ADR number, because proposals and decisions do not map one-to-one — some merge, some split, some die. - Two exits, both recorded here. Promoted: the human accepted it; the ADR is written in
ADR.mdand this entry keeps a pointer (Promoted → ADR-NNNN, date). Withdrawn: the entry stays with the reason. An entry is never deleted; a proposal may be revised freely while open, and only its final form reaches the ledger. - Status:
Open(under consideration) ·Parked(deliberately deferred — reactivate on demand) ·Promoted → ADR-NNNN·Withdrawn. - Map, don't duplicate. The live work item stays in memory — an Open Thread in
memory/open-threads/carrying a→ proposal: RFC-NNNNpointer — exactly as an accepted ADR is pointed to by a(ADR-NNNN)tag on its continuity fact. The register holds the proposal's reasoning (options, trade-offs, what a decision would commit to); the thread holds its state. - The human decides. The agent raises and revises proposals here; promotion is the
Design-altitude human gate (
DECAY.md§12). Newest first.
Format¶
## RFC-NNNN — <Title>
**Status:** Open · **Raised:** YYYY-MM-DD · **Serves:** <vision-id> · **Thread:** `<thread-id>`
<!-- id: rfc-NNNN | status: open | thread: <thread-id> -->
**Proposal.** What would change, and what a decision would commit the project to.
**Options.** The alternatives on the table, with their trade-offs.
**Resolution.** Empty while open; `Promoted → ADR-NNNN (date)` or `Withdrawn (date): <reason>`.
(No proposals yet. The first one goes here, newest first.)