RFC-0001: Template
| Metadata | Value |
|---|---|
| Status | Draft | In Review | Approved | Rejected | Withdrawn |
| Created | YYYY-MM-DD |
| Author(s) | @username |
| Reviewers | @reviewer1, @reviewer2 |
| Approved on | YYYY-MM-DD (when applicable) |
Summary
One paragraph TL;DR: What problem are we solving and what’s the proposed solution?
Problem Statement
Current Situation
What exists today? What is broken, missing, or suboptimal?
Impact
Who is affected? What is the cost of not solving this?
| Stakeholder | Impact |
|---|---|
| Users | … |
| Developers | … |
| Business | … |
Goals
What does success look like?
- Goal 1 (measurable)
- Goal 2 (measurable)
- Goal 3 (measurable)
Non-Goals
What is explicitly out of scope? This prevents scope creep.
- Non-goal 1
- Non-goal 2
Proposed Solution
High-level description of the approach. Save implementation details for the TDD.
Overview
Describe the solution conceptually.
Key Changes
| Area | Change |
|---|---|
| Data model | … |
| API | … |
| UX | … |
| Infrastructure | … |
Detailed Design
Data Model Changes
Schema additions, modifications, or migrations.
API Changes
New endpoints, modified contracts, versioning considerations.
UX/Content Changes
User-facing changes, UI mockups, content updates.
Observability
Metrics, logs, traces, dashboards, alerts.
Security & Privacy
Authentication, authorization, data handling, compliance.
Rollout Plan
Phase 1: [Name]
- Scope: …
- Timeline: …
- Success criteria: …
Phase 2: [Name]
- Scope: …
- Timeline: …
- Success criteria: …
Migration & Backfill
Data migration strategy, if applicable.
Rollback Plan
How do we revert if things go wrong?
Alternatives Considered
Alternative A: [Name]
Description
| Pros | Cons |
|---|---|
| ✅ … | ❌ … |
Why not chosen: Reason
Alternative B: [Name]
Description
| Pros | Cons |
|---|---|
| ✅ … | ❌ … |
Why not chosen: Reason
Open Questions
Unresolved issues that need discussion.
- Question 1
- Question 2