spec citations: five named sections their SPECs do not have, and a check so they cannot return #238
Loading…
Reference in a new issue
No description provided.
Delete branch "dcharlot/spec-citations-resolve"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Checked every SPEC citation in the tree against the headings of the SPEC.md beside it: 1454 citations across 15 standards, five dangling. None of the rules was missing - aac's is §3 item 3 / §3.1, sandbox's two are in spec/receipts.md and spec/build.md - so the citations now point where the rules are. Second commit adds scripts/check-spec-refs.py with a self-test asserting it can fail four ways, and an unfiltered workflow. Same family as #190. Both workspaces check clean.
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]>