# Documentation Authority Policy `docs/authority.toml` classifies every root README, repository documentation page, and Cursor plan before it may be used as guidance. Run `python scripts/codex/docs_audit.py` after changing behavior, schemas, commands, component names, workflows, plans, or evidence records. ## Authority order For desired scope and acceptance, use the latest user direction, exact current Gitea scope, and then an active plan. For implemented behavior, use source and tests, then current native evidence and canonical current documentation. Accepted ADRs own architecture decisions. Do not merge conflicting sources silently; report and reconcile the conflict at the smallest owning surface. ## Classifications Each authority rule has a lifecycle classification and a role. Lifecycle controls whether a page may guide current work; roles distinguish overview, canonical behavior, architecture, active plan, evidence, historical record, and superseded record. Accepted ADRs use the architecture role and are authoritative only for their surviving decision scope. | Class | Meaning | May define current behavior? | |-------|---------|------------------------------| | `current` | Canonical workflow, architecture, intent, or user guidance | Yes, within its stated role | | `active-plan` | Unaccepted desired scope and acceptance work | No; source and current docs describe what exists | | `evidence` | Dated automated or native observations | No | | `historical` | Preserved context from completed work | No | | `superseded` | Replaced contract retained for provenance | No | Historical and superseded documents carry an obvious banner linking current guidance. Evidence records carry an evidence-only banner. Active plans identify themselves and must become historical when their acceptance target is complete. ## One home per fact - Root `README.md`: user commands, controls, troubleshooting, and shipped checklist. - `docs/mission.md`: product intent and non-goals. - `docs/adr/`: accepted decisions and durable constraints. - `docs/editor/`: current editor workflows and subsystem contracts. - `.cursor/plans/`: active or historical implementation roadmaps, never implementation truth. - `docs/editor/evaluations/`: dated evidence, never product requirements. - `docs/archive/`: preserved records that no longer belong in a live topic tree. Update canonical documentation when behavior stabilizes at a slice boundary. Tiny intermediate edits do not require repeated narrative churn, but the slice cannot become engineering-complete while its canonical docs contradict the implementation. ## Audit contract The audit discovers `README.md`, every `docs/**/*.md`, and every `.cursor/plans/**/*.md`. The highest-priority matching authority rule wins; equal-priority disagreement fails. It also verifies lifecycle banners and configured replacement links. New documents fail until a deterministic rule classifies them.