ProficientNowTechRFCs

4. Content Requirements

RFC Authoring Standards                                           Section 4
Category: Standards Track                            Content Requirements

4. Content Requirements

← Structure | Index | Next →


4.1 Originality

Each RFC MUST contain original content specific to its problem domain.

Authors MUST NOT

ProhibitedReason
Copy prose from other RFCsContent must be domain-specific
Reuse context-specific narrativesEach RFC has unique context
Duplicate problem statementsProblems differ between domains

Authors MAY

PermittedReason
Follow the same structural patternsConsistency aids comprehension
Use consistent formatting conventionsStandard format improves readability
Reference other RFCsAvoids duplication

4.2 What RFCs MUST Include

4.2.1 Context and Motivation

RFCs MUST:

  • Define the problem space unique to this RFC
  • Explain why this architecture is necessary
  • Describe the specific operational pain points being addressed

4.2.2 Guarantees and Contracts

RFCs MUST:

  • Specify what the system guarantees
  • Define interfaces and their contracts
  • Document behavioral expectations

4.2.3 Invariants

RFCs MUST:

  • List rules that MUST always hold true
  • Use RFC 2119 keywords for requirement levels
  • Explain consequences of invariant violation

4.2.4 Multi-Level Documentation

RFCs MUST document design at multiple levels:

LevelContent
HighOverall system behavior and properties
MediumComponent interactions and relationships
LowInternal component details and mechanics

4.2.5 Rationale

RFCs MUST:

  • Document alternatives considered
  • Explain why alternatives were rejected
  • Reference which invariants each alternative violated

4.2.6 Glossary and References

RFCs MUST:

  • Define all domain-specific terms
  • Cite normative and informative sources
  • Index architectural decisions

4.3 What RFCs MUST NOT Include

4.3.1 Implementation Code

ProhibitedWhy
Code examples or snippetsRFCs describe behavior, not implementation
Configuration samplesConfiguration belongs in implementation repos
Shell commands or scriptsRFCs are not runbooks

Implementation details belong in separate documents.

4.3.2 Timelines or Durations

ProhibitedWhy
Time estimates for tasksFocus on sequence, not timing
Scheduling predictionsTiming is implementation-specific
Phase duration specificationsDependencies matter, not duration

4.3.3 Implementation Tasks

ProhibitedWhy
Step-by-step implementation guidesRFCs describe what, not how
Task lists or checklistsImplementation planning is separate
"How to implement" instructionsBelongs in Specification RFCs or runbooks

4.3.4 Implicit Assumptions

RuleReason
Every assumption MUST be explicitPrevents misunderstanding
No reliance on tribal knowledgeRFC must stand alone
No "obvious" prerequisites left unstatedNothing is obvious to newcomers
All dependencies MUST be documentedEnables reproducibility

4.3.5 Emotional or Promotional Language

ProhibitedWhy
Superlatives ("best", "fastest")Not objective
Marketing languageRFCs are technical documents
Enthusiasm over precisionTechnical accuracy matters
Advocacy over assessmentPresent facts neutrally

4.4 Behavioral Specification

RFCs describe what systems do and why, not how to build them.

RFC ScopeImplementation Scope
System behaviorCode structure
Guarantees providedAlgorithms used
Interfaces exposedData structures
Failure semanticsError handling code
State transitionsState machine implementation

End of Section 4 — RFC Authoring Standards