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

5. Validation Criteria

RFC-RFCSTD-0002                                                   Section 5
Category: Standards Track                            Validation Criteria

5. Validation Criteria

← Formatting | Index | Next →


5.1 Structural Validation

An Architecture RFC is structurally valid when:

CriterionVerification MethodPass Condition
All REQUIRED sections presentCheck against Section 3.1All REQUIRED files exist
Multi-file structure usedVerify separate .md filesDirectory with multiple files
Navigation links functionalTest all internal linksAll links resolve
Metadata completeAll fields in metadata tableAll REQUIRED fields present
Kind field correctCheck metadata Kind valueKind = "Architecture"

5.2 Content Validation

An Architecture RFC is content-valid when:

CriterionVerification MethodPass Condition
At least one invariant definedCount invariantsCount ≥ 1
Invariants numbered sequentiallyCheck Invariant N formatSequential numbering
Invariants use RFC 2119 keywordsSearch for MUST/SHOULD/MAYKeywords present
Invariants are falsifiableFor each, can violation be detected?All falsifiable
No implementation codeReview all code blocksNo working code
Rationale documents alternativesCheck for rejected alternativesAt least one alternative

5.3 Completeness Validation

An Architecture RFC is complete when:

CriterionVerification MethodPass Condition
All domain sections presentDomain-specific reviewRelevant domains covered
All components documentedCross-reference architecture diagramAll diagram components documented
Trust boundaries identifiedSecurity reviewBoundaries defined if security-relevant
Glossary defines all termsCross-reference term usageAll terms defined
All diagrams indexedCheck Appendix ADiagram index complete

5.4 Validation Checklist

Use this checklist when reviewing an Architecture RFC:

Structural Checks

  • 00-index.md exists with complete metadata
  • 01-introduction.md exists with background and motivation
  • 02-requirements.md exists with invariants
  • 03-architecture.md exists with system overview
  • 04-components.md exists with component list
  • Rationale section exists with rejected alternatives
  • Glossary appendix exists with term definitions
  • References appendix exists with citations

Content Checks

  • At least one invariant is defined
  • Invariants are numbered (Invariant 1, 2, 3...)
  • Invariants use RFC 2119 keywords (MUST, SHOULD, MAY)
  • Each invariant is falsifiable
  • No working code in any section
  • At least one rejected alternative documented
  • Rejected alternatives explain why rejected

Diagram Checks

  • System overview diagram present (RECOMMENDED)
  • All diagrams use Mermaid syntax
  • Diagrams are indexed in glossary
  • Trust boundaries shown if security-relevant

Reference Checks

  • All internal links work
  • External URLs are accessible
  • Architecture RFC version is in references if citing another

5.5 Falsifiability Test

For each invariant, apply this test:

QuestionExpected Answer
Can this invariant be violated?Yes
Would violation be observable?Yes
Can an automated check detect violation?Ideally yes
Is the invariant binary (holds or doesn't)?Yes

If any answer is "No", the invariant needs refinement.

Good Example:

HashiCorp Vault MUST be the sole authoritative source for secrets.

Falsifiable: Yes—find a secret stored elsewhere, invariant is violated.

Poor Example:

The system should be secure.

Not falsifiable: "Secure" is subjective and cannot be definitively verified.


End of Section 5 — RFC-RFCSTD-0002

On this page