Skip to main content

Keeping the documents honest

The index a reader lands on says what each document is for. This says what may be a document at all, and what checks the ones that are.

What lives elsewhere

Documents are for things that change with the code and get reviewed in a diff. Two kinds of content are deliberately not here:

ContentWhereWhy
Open design questionsconcepts/domain-model.mdThe model must name its unresolved boundaries without silently deciding them.
Build order and phasingRepository planning toolsSequencing is tracked work, not a contract. A roadmap in prose goes stale when reality disagrees with it.

The Nubbin documentation site is not a third home. It is generated and published by CI from the repository's markdown, these documents included — see Generated documents are published, never committed.

Keeping them honest

Prose has no compiler, so a wrong sentence here is caught by nothing but a reader who acts on it and comes unstuck. Gates run against these files on every commit — links and anchors resolve, no claim rests on a corpus a reader cannot open, nothing reaches back for a name that no longer exists, no reference identifies a codebase that is not this one, and one claim lives in one document.

.claude/rules/documentation.md holds why that is worth the machinery, and what the gates cannot reach: which document holds what, and the rule that a decision changes prose in every document describing it, in the same commit.