ProficientNowTechRFCs
RFC Standards/RFC Kinds/Architecture/RFC RFCSTD 0002

3. Structure Definition

RFC-RFCSTD-0002                                                   Section 3
Category: Standards Track                            Structure Definition

3. Structure Definition

← Requirements | Index | Next →


3.1 Required Sections for Architecture Kind

Architecture RFCs MUST be organized as multi-file directories with the following structure:

SectionFileRequirementPurpose
Index00-index.mdREQUIREDMetadata, abstract, TOC, reading paths
Introduction01-introduction.mdREQUIREDBackground, current state, motivation
Requirements02-requirements.mdREQUIREDDesign goals, non-goals, invariants, success criteria
Architecture03-architecture.mdREQUIREDSystem overview, authority domains, trust boundaries
Components04-components.mdREQUIREDBuilding blocks, responsibilities, interfaces, failures
Domain Sections05-.md through NN-.mdCONDITIONALDomain-specific mechanics
RationaleNN-rationale.mdREQUIREDRejected alternatives with invariant references
EvolutionNN-evolution.mdRECOMMENDEDFuture considerations, extensibility
Glossaryappendix-a-glossary.mdREQUIREDTerms, ADR index, diagram index
Referencesappendix-b-references.mdREQUIREDNormative, informative, internal references

3.2 Section Requirement Levels

LevelMeaningOmission Criteria
REQUIREDSection MUST be presentCannot be omitted
CONDITIONALSection MUST be present if criteria metMay be omitted if criteria do not apply
RECOMMENDEDSection SHOULD be presentMay be omitted with documented justification

3.2.1 Domain Section Criteria (CONDITIONAL)

Domain sections (05-.md through NN-.md) are REQUIRED when:

CriterionExample
Architecture spans multiple domainsIAM + Secrets + Networking
Domain has unique mechanicsIdentity federation, secret rotation
Domain requires separate invariantsDomain-specific rules

Domain sections MAY be omitted when:

CriterionExample
Architecture is single-domainSimple API gateway
All mechanics fit in Architecture sectionMinimal complexity

3.3 Section Content Requirements

3.3.1 Index Section (00-index.md)

The index MUST include:

ComponentRequirementDescription
RFC HeaderREQUIREDStandard header block
Metadata TableREQUIREDAll metadata fields including Kind: Architecture
AbstractREQUIRED2-4 paragraph summary
Scope BoundariesREQUIREDIn-scope and out-of-scope table
Table of ContentsREQUIREDLinks to all sections
Reading PathsRECOMMENDEDAudience-specific navigation guides

3.3.2 Introduction Section (01-introduction.md)

The introduction MUST include:

ComponentRequirementDescription
BackgroundREQUIREDContext and history
Current StateREQUIREDWhat exists today (if anything)
MotivationREQUIREDWhy this architecture is needed
Scope StatementREQUIREDWhat this RFC covers

3.3.3 Requirements Section (02-requirements.md)

The requirements section MUST include:

ComponentRequirementDescription
Design GoalsREQUIREDWhat the architecture aims to achieve
Non-GoalsREQUIREDExplicit exclusions from scope
InvariantsREQUIREDNumbered rules that MUST always hold
Success CriteriaRECOMMENDEDHow to validate architecture success

3.3.4 Architecture Section (03-architecture.md)

The architecture section MUST include:

ComponentRequirementDescription
System OverviewREQUIREDHigh-level description of the system
Authority DomainsCONDITIONALWho controls what (if multiple authorities)
Trust BoundariesCONDITIONALWhere security context changes (if security-relevant)
Data FlowRECOMMENDEDHow data moves through the system

3.3.5 Components Section (04-components.md)

The components section MUST include:

ComponentRequirementDescription
Component ListREQUIREDAll major building blocks
ResponsibilitiesREQUIREDWhat each component does
InterfacesRECOMMENDEDInbound and outbound interfaces
Failure ModesRECOMMENDEDHow components fail and recover

3.3.6 Rationale Section (NN-rationale.md)

The rationale section MUST include:

ComponentRequirementDescription
AlternativesREQUIREDAt least one alternative considered
Why RejectedREQUIREDSpecific reasons for rejection
Invariant ViolationsRECOMMENDEDWhich invariants the alternative would violate
ConclusionREQUIREDSummary judgment

3.3.7 Evolution Section (NN-evolution.md)

The evolution section SHOULD include:

ComponentRequirementDescription
Future ConsiderationsRECOMMENDEDKnown future needs
Extension PointsRECOMMENDEDHow architecture can be extended
Deprecation PathsOPTIONALHow to phase out components

3.3.8 Glossary (appendix-a-glossary.md)

The glossary MUST include:

ComponentRequirementDescription
Term DefinitionsREQUIREDAll architecture-specific terms
Diagram IndexREQUIREDList of all diagrams with locations
ADR IndexOPTIONALArchitecture Decision Records if maintained separately

3.3.9 References (appendix-b-references.md)

The references section MUST include:

ComponentRequirementDescription
Normative ReferencesREQUIREDStandards that MUST be followed
Informative ReferencesRECOMMENDEDBackground and context
Internal ReferencesREQUIREDRelated internal RFCs
Version HistoryREQUIREDChange log for this RFC

3.4 File Naming Convention

PatternUsage
00-index.mdAlways the index file
01-introduction.mdIntroduction section
02-requirements.mdRequirements section
03-architecture.mdArchitecture section
04-components.mdComponents section
05-<domain>.md through NN-<domain>.mdDomain-specific sections
NN-rationale.mdRationale (number based on domain sections)
NN-evolution.mdEvolution (after rationale)
appendix-<letter>-<name>.mdAppendices

End of Section 3 — RFC-RFCSTD-0002