Code cites normative text to say which rule it enforces. These five cited
sections that do not exist, so the citation read as authority it did not have.
None of the rules was missing — every one is written down, just not where the
code said:
aac §3.3 (3 sites) the rule is §3 item 3 ("rendering its cell as visually
inactive **in place**") and §3.1 item 3 ("MUST keep its
position and MUST be rendered as visually inactive and
not selectable"). aac/SPEC.md has §3 and §3.1 and no
§3.2 or §3.3, and the SPEC's own cross-references
already use the form this commit adopts — line 54 reads
"(§3 item 3, §3.1)".
sandbox §6.5 the receipt's storage line is `spec/receipts.md`:
"Storage activity is its own line … it does **not** enter
the per-device-class energy sum of §6.2". §6 has 6.1-6.4.
sandbox §12.1 the deterministic-first cascade is `spec/build.md`, under
"## Deterministic-first (the cascade)". §12 exists and
records the tier in the build receipt, but has no
subsections.
So each citation now points where the rule actually is. Sections of a
`spec/*.md` subfile are not sections of `SPEC.md`, and are cited by file name.
Found by checking every `SPEC §N` in the tree against the headings of the
SPEC.md beside it — 1454 citations across 15 standards, and these five were
the only ones that did not resolve. The commit after this one makes that a
check, because all three were written long before anyone read them. The same
family as #190, where `jcp-runtime` cited `SPEC §4.10` in six places and
§4.10 did not exist.
Both workspaces check clean with `--all-targets`.
Co-Authored-By: Claude Opus 5 <[email protected]>