Gate: doc-self-contained
The spec carries the text it cites, instead of pointing at another file.
| Property | Value |
|---|---|
| Checker | doc-self-contained |
| Confronts | spec |
| Blocking by default — new project | yes |
| Blocking by default — existing project | no — informs |
How it measures
Section titled “How it measures”Confronts a spec against the reader who does not have the repository open: the reference points somewhere else — does it bring what it points at?
The spec is read by two audiences, and one of them has no checkout. The compiled docs/*.md
inherits the spec’s text word for word, and whoever reads the documentation to learn what the
system does has no use for the name of a plan file — navigating to it is exactly what the
documentation mechanism exists to eliminate.
What the gate does NOT charge. The reference WITH the text alongside is right and stays: the reader has the argument in hand. What is left over is the SCAFFOLD — the sentence that announces the quotation and then does not quote — and it is the scaffold that sends the person away. Measured in a real project: 48 mentions across 37 specs, almost all of them followed by the quoted passage.
No vocabulary, anywhere. The gate does not look for “plan”, “see” or “per”: Anchors
governs projects in any language, and a gate that matches words passes in silence over the
project written in the other one — which is worse than not existing, because the spec then
LOOKS protected. What it matches is STRUCTURE, and only what Anchors itself defines: the
PATH of a map node written in the body, and the {CODE}-R000N form that is the doctrine’s
revision identity.
Unlike docs-fresh, this one is informative and offers no command that fixes it: rewriting
a sentence is the work of whoever wrote it, and blocking a commit over a question of form
would stop the flow. The gate marks, and the correction rides along with the card that
already touches the spec.
Declaring it
Section titled “Declaring it”gates: - name: doc-self-contained on: [spec] check: doc-self-contained