RFC Template

Prev Next

RFC Template (Standards-Track Style)

Use this template for cross-team contracts and protocols. It is intentionally aligned with the structure used in RFC-001 so all RFCs are consistent and easy to review.

RFC vs ADR

Aspect ADR RFC
Purpose Record a decision already made Propose/formalize a contract requiring discussion
Lifecycle Immutable once accepted Evolves during review; then frozen at accepted revision
Scope Internal architecture decisions Cross-team interfaces, contracts, policies

Authoring Rules

  • RFCs MUST define a clear contract boundary (what is standardized and what is not).
  • RFC numbers are strictly increasing and never reused.
  • File naming: RFC-<number>-<kebab-case-title>.md.
  • Use RFC 2119 language (MUST, SHOULD, MAY) for normative requirements.
  • Keep implementation details minimal; link to ADRs/design docs for internals.
  • Breaking contract changes MUST be proposed in a new RFC that references prior RFCs.

Copy/Paste Starter

# RFC-XXX: <Title>

## Status of This Memo

RFC: XXX
Category: Standards Track
Status: PROPOSED STANDARD
Published: YYYY-MM-DD
Updated: YYYY-MM-DD
Obsoletes: None | RFC-XXX
Superseded By: None | RFC-YYY


**Author**: <name> <<work_email>>

**Related Documents**: <ADR-XXX>, <RFC-YYY>, <doc links>

## Abstract

State what this RFC standardizes, why it exists, and what outcomes it enables.

## Table of Contents

1. [Introduction](#1-introduction)
2. [Terminology](#2-terminology)
3. [Scope](#3-scope)
4. [Contract Specification](#4-contract-specification)
5. [Responsibilities](#5-responsibilities)
6. [Versioning and Change Management](#6-versioning-and-change-management)
7. [Risks and Considerations](#7-risks-and-considerations)
8. [Open Questions](#8-open-questions)
9. [Decision Outcome](#9-decision-outcome)
10. [References](#10-references)

## 1. Introduction

### 1.1 Background

What triggered this RFC and what changed.

### 1.2 Problem Statement

What ambiguity, risk, or misalignment exists today.

### 1.3 Goals

Numbered list of contract goals.

## 2. Terminology

Use RFC 2119 interpretation statement and define terms used in this RFC.

## 3. Scope

### 3.1 In Scope

- ...

### 3.2 Out of Scope

- ...

## 4. Contract Specification

Define the contract clearly:

- naming and structure
- payload/schema expectations
- state transitions/workflow
- normative requirements (`MUST`/`SHOULD`/`MAY`)

## 5. Responsibilities

- Engineering
- Product
- Analytics/Operations (as applicable)

## 6. Versioning and Change Management

- how contract changes are proposed
- backward compatibility expectations
- deprecation/sunset policy

## 7. Risks and Considerations

- technical
- operational
- reporting/compliance

## 8. Open Questions

- unresolved decisions

## 9. Decision Outcome

- Accepted / Accepted with modifications / Rejected / Superseded

## 10. References

- ADRs
- RFCs
- related technical docs