# RFC — Template Use for proposals that need a written decision record. Status field goes at the top so the page reader sees it before the rest. ## Sections - Status (DRAFT / REVIEW / ACCEPTED / REJECTED / SUPERSEDED) - Author + reviewers (the people whose names should be on the proposal) - Context (the problem and why now) - Proposal (the change, in concrete terms) - Alternatives considered (one paragraph each, with the reason rejected) - Risks and mitigations (table) - Rollout plan (phases, owners, rollback) - Open questions (the things still being decided) ## Anti-patterns - Don't write an RFC without alternatives. A proposal that has no rejected alternatives either didn't think hard enough or didn't consider the reader. - Don't hide the status. The reader's first question is "is this decided?"; answer it in the first line. - Don't open questions at the end of the proposal. Put them after the rollout plan, where they don't read as part of the decision. ## Storage template ```xml
| Author | {name} |
|---|---|
| Reviewers | {names} |
| Status | DRAFT |
{problem + why now}
{the change in concrete terms}
{why rejected}
{why rejected}
| Risk | Mitigation |
|---|---|
| {risk} | {mitigation} |
| Phase | Owner | Rollback |
|---|---|---|
| {phase} | {owner} | {how to roll back} |