v5.36.0
v5.36.0 -- 2026-08-18
Summary
- Cross-chapter consistency is now an artefact, not a memory. Three
registries -- terminology and notation, a claim register, and a
cross-reference graph -- are built by a deterministic pass over a book's
accepted units, and say how much of the book they could actually read. python -m src.draft registry checkreports what they disagree on:
a term defined in two units, the same claim made twice, a reference that
points at nothing.- Third piece of the book-scale track (#135), after the outline (v5.34.0)
and the generation unit (v5.35.0).
What's Changed
- Add terminology, claim and cross-reference registries over accepted units by @prasadtalasila in #251
Full Changelog: v5.35.0...v5.36.0
In Detail
check exits 0 whatever it finds, and that is the release's one
substantive design decision. spec status and unit status exit non-zero
because they report whether a human decided something -- approved an
outline, accepted a unit. This reports a machine's reading of prose, which
is judgement however mechanical the arithmetic, and
ARCHITECTURE.md's
"Layer 4" is explicit that such a check reports and never blocks, whichever
layer it lives in. What may be enforced is that it ran, which is what the
assembly step will guarantee.
What it cannot see, stated rather than implied: contradiction. Two
chapters asserting opposite things is not deterministically decidable;
duplication is, and that is what the claim register flags.
Two smaller things worth knowing:
- Nothing here is written by an LLM. The registries read accepted prose
through conventions this repository already had: the dossier glossary's
definition bullet, the shared sentence splitter, and the## References
cut-off measured against the real 15-chapter book. - A cross-reference is never spelled
@id-- that is a citekey
position. Markdown[text](#id)and LaTeX\ref{}/\cref{}are the two
supported shapes, and a test pins that the citation gate reads neither as
a citekey.
Upgrading
Nothing to do. The new command is additive and writes only under
content/specs/.