Rule: When a top-level discipline doc (CLAUDE.md, README, project ToC) indexes both live state files (architectural state files updated on every tension-lock) and snapshot specs (decision records frozen at the moment they were authored), the live state files MUST be elevated to the “read-first” primary position. Snapshot specs get demoted to “historical context — do NOT treat as current-state truth”.
Why: The opposite framing causes silent staleness across many repos at once. A reader who reads the snapshot spec first and trusts it as current makes decisions based on stale architecture. The live state files capture the canonical present — they’re the durable artefact. The snapshot specs are valuable for understanding rationale + decision history, but they fall out of date the moment they’re authored.
How to apply:
-
Identify which docs are LIVE vs SNAPSHOT:
- Live: name pattern
*-state.mdor*-state-*.md. Frontmatter includesupdate_trigger:listing what events bump it. Lastmod changes daily during active work. - Snapshot: name pattern includes a date prefix like
2026-04-19-*.md(URL-slug-style). Lastmod stable for weeks/months.
- Live: name pattern
-
Section ordering in the indexing doc:
- First sub-section: LIVE state files (read-first; current truth)
- Second sub-section: SNAPSHOT specs (historical context; NOT current truth)
- Subsequent sub-sections: disciplines / version-meanings / cross-references / library / etc.
-
Framing language:
- Live: “These are the durable artefacts that reflect the architecture as it is RIGHT NOW. Updated on every tension-lock; carry the AUTHORITATIVE row.”
- Snapshot: “Use for understanding rationale + decision history; do NOT treat as current-state truth.”
-
Tier-1/2/3 framing (when applicable, e.g. arch-state hierarchies): list each tier explicitly with role + relationship + version-pin parenthetical (e.g.
v3.10+). -
Cross-cutting state files (risk register / repo topology / standards engagement): list separately under a “cross-cutting” sub-heading after Tier-1/2/3 — they’re referenced by all tiers.
-
Per-repo build plans (if multi-repo): list as a separate sub-section under live state — they bump independently of the architectural state files.
Anti-patterns:
- Listing snapshot specs FIRST as “the canonical N” gives them status they don’t deserve. They’re frozen on author date.
- Treating snapshot specs as current truth leads to decisions based on stale data (today’s session’s main risk-class).
- Mixing live + snapshot in one list without distinguishing — readers can’t tell which to trust for current state.
- Updating snapshot specs continuously (defeats their purpose; if state changes, update the live state file, not the snapshot).
Documented in: ~/.claude/CLAUDE.md §17.1 + §17.2 (canonical implementation reference) — applied 2026-04-29 via richard-tasks-tt.md #177; diff at ~/davieshq/docs-personal/global-claude-md-section-17-refresh-2026-04-29.patch. Pattern reusable for any future ToC reframe (e.g. project-level CLAUDE.md sections, README index reframes, docs-strategy ToC reframe).
Related discipline: feedback_architecture_state_file_discipline (which states “always read state files before producing strategic output”) + feedback_snapshot_vs_floor_pin_discipline (which captures the parallel snapshot-pin vs floor-pin distinction at the version-pin level).