Section delivery: give each delivered section what it depends on - #588
Merged
Conversation
A resource cited by anchor arrives one section at a time, so a sentence pointing at content in a neighbouring section points at something the delivery does not carry. Ten such references now name their target as a link a reader can follow, across the severity rubric, the target profile, the static-analysis catalog, the ponytail audit-findings guide, the prism-evaluate dimension defaults, the findings-report guide, the design-assumptions guide and the workflow-design resource README. The static-analysis catalog also carried its grep-and-GitNexus boundary above the first heading, where a consumer of the grep patterns or the mechanical checks never received it while both depend on it. That boundary is a section of its own, and the checks cite it. Three citations move to section grain. Two audit passes each loaded the whole anti-pattern catalogue to read one of its sections, and now load that section: rule hygiene for the hygiene pass, execution for the pass whose sole criterion lives there. The plain-language intake step decides whether the controlled language applies, so it reads the section stating when it applies. Carries part of #539 W4 and W5. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A citation that carries a section anchor makes the server deliver that heading's span instead of the whole file. That is good for cost, and it has a consequence: a reader who asks for one section gets only that section. A sentence inside it that points at content in a neighbouring section — "the table above", "the patterns above", a section title in quotation marks — points at something the delivery does not carry.
This closes two things that were left standing when #539 W4 and W5 were recorded as delivered: the cross-section references W5 promised to turn into links, and the reading of the whole-file citation tail W4 promised to disposition.
Eleven files. Ten cross-section references become anchored links, one framing paragraph becomes a section, and three citations move to section grain.
Cross-section references
A scan over the 136 resources that at least one file cites by anchor found 48 occurrences of directional language sitting under a section. Reading each of them, ten are genuine and thirty-eight are metaphor, a forward reference resolving inside its own section, or an anti-pattern entry using the word as its subject matter.
The ten now name their target as a link. They are in the substrate severity rubric and target profile, the substrate static-analysis catalog, the ponytail audit-findings guide, the prism-evaluate dimension defaults, the work-package findings-report guide, the workflow-design assumptions guide and the workflow-design resource README.
One cost more than a link. The static-analysis catalog stated the boundary between grep and the code graph above its first heading — which instrument generates leads, which verifies, and when verification routes through the graph operations. Both of that resource's working sections depend on it, and the audit prompt template cites its grep-patterns section in six places, so six consumers received the patterns and not the rule governing their use. The boundary is a section of its own now, and the mechanical checks cite it. That is what the framing catalogue entry prescribes for framing that is operative and unique.
This corrects the framing triage by one class. The site is triaged as orientation-only, and the ledger's own vocabulary reserves a verdict for a framing that states a rule the section consumer needs — a verdict no entry has ever carried. The entry stays accurate: what remains above the first heading really is orientation. What moved is the part that was not.
Citation grain
Three citations name one section and now cite it.
Two audit passes each loaded the whole anti-pattern catalogue to read one of its sections, and one of them was doing it in a step titled Load Catalog Section. The rule-hygiene pass needs 5,729 characters of a 171,216-character file; the enforcement pass needs 4,098. The catalogue sits over the eager-bundling cap, so the bare citation delivers nothing eagerly and the worker fetches the whole file on demand — the anchored citation is bundled and the fetch does not happen.
The plain-language intake step decides whether the controlled language applies to the document, so it reads the section that states when it applies.
What the survey estimated, and what reading found
The item describes roughly a hundred technique-to-resource pairs delivering a whole file where one section is read. Measured at the branch point there are 64 such citation sites across 37 resources, and reading all 64, three point at a single section.
The other 61 fall into three shapes the anti-pattern entry's own Do not flag already names. Twenty-four are a prompt or a template the consumer runs or fills entire — every prism lens resource is a program whose sections are its steps, and every creation guide is a template worked together with the rules that populate it. Twenty-five are a consult that genuinely reaches every section: an audit walking every entry, a literacy load before authoring, a rubric whose scoring spans its dimensions and its corrections. Twelve are overview prose introducing the resource rather than consulting it — an artifact-table row, an input description, a see-also.
Three of them name every section of their resource in the citing sentence, which is a whole-file citation written longhand; anchoring those would deliver the same bytes in more requests.
So the tail is not a hundred rewrites awaiting a pass. It is three, and the reason the estimate was higher is structural rather than an error: a mechanical count of unanchored citations cannot see that a lens prompt is one program. The item said as much — recording a keep-whole verdict is as much a result as a rewrite — and every one of the 64 now carries its verdict.
Verification
The full guard suite against a worktree holding these edits: 34 of 34 pass, 0 fail, 0 unmeasured. That includes
resource-anchors, which rejects an anchor resolving to no heading, and both of the guards this work is about.Neither of those two was trusted on a green run alone. Each was first run against a deliberately broken copy of the corpus: a bare citation appended beside three existing anchors, and one triage entry dropped with a bogus site added. Both reported, naming the file, the anchors and the stranded characters. A guard that has never been shown to detect is indistinguishable from one whose pattern matches nothing.
The option-coverage walk was not run. No activity, workflow graph, schema or server file is touched, so it has nothing to re-measure.
Scope
Nine resources and two techniques. No YAML, no schema, no server change.
Investigation detail
Every one of the 64 citation sites with its outcome and reasoning, and every one of the 48 directional-language occurrences with its verdict: 2026-09-03-citation-grain-and-section-dependencies.
The walk that found these two residues is the criteria comment on #539.