Skip to content
EN · PT

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

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.

gates:
- name: doc-self-contained
on: [spec]
check: doc-self-contained

Source: checker · its spec