Skip to content

Section delivery: give each delivered section what it depends on - #588

Merged
m2ux merged 1 commit into
workflowsfrom
workflow/539-w4-w5-residues
Sep 3, 2026
Merged

Section delivery: give each delivered section what it depends on#588
m2ux merged 1 commit into
workflowsfrom
workflow/539-w4-w5-residues

Conversation

@m2ux

@m2ux m2ux commented Sep 3, 2026

Copy link
Copy Markdown
Owner

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.

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>
@m2ux
m2ux merged commit 875a36d into workflows Sep 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant