RFC-0001: Template

MetadataValue
StatusDraft | In Review | Approved | Rejected | Withdrawn
CreatedYYYY-MM-DD
Author(s)@username
Reviewers@reviewer1, @reviewer2
Approved onYYYY-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?

StakeholderImpact
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

AreaChange
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

ProsCons
✅ …❌ …

Why not chosen: Reason

Alternative B: [Name]

Description

ProsCons
✅ …❌ …

Why not chosen: Reason

Open Questions

Unresolved issues that need discussion.

  • Question 1
  • Question 2

References