Rendered from docs/obligations/0052-a-document-has-no-identifier-and-every-relation-target-must.md in the Headwater
corpus. Every document on this half of the site is typed by the taxonomy
the descriptor names: corpus.json.
A document has no identifier, and every relation target must be one
Context
Spec 3 reserves identifiers for decisions, requirements, acceptance criteria, controls and obligations. A document is none of those, so neither the base package nor the design-spec entry gives one to a document. Q4 rules that a relation target is an identifier and never a path.
Obligation
The typing pass minted four schemes in this repository's overlay before it could declare one edge, and every adopter meets that wall.
Discharge
Either a document carries an identifier by default, or a target may be a path and the corpus pays for a rename. Nothing in the engine can choose between the two.