A legend that omits a kind - #2863
Merged
Merged
Conversation
Refs #2851 Six emitter pull requests carried a RED seal-coverage check ON THE PULL REQUEST ITSELF -- #2841 #2844 #2845 #2849 #2856 #2859 -- and all six merged. The signal reached the author six times out of six. THE OUTPUT IS WHY. The legend explained stale, dangling and phantom. The kind that fired was `gen-drift`, which had NO entry, and the only repair the page named was --update-baseline, which for that kind records the drift as accepted debt instead of recording what the compiler now produces. The one actionable line on the page was the wrong action. The legend is now data, and --self-check reads THIS FILE'S SOURCE for every kind it can attach. Its first run: legend covers 5 of 8 kind(s) MISSING: no-spec-hash, no-spec-path, unreadable Three kinds beyond the two being fixed. The script attaches eight; the legend explained three. It is also selective: only the kinds present in this run print. An author with 134 gen-drift rows used to read three paragraphs, none of them theirs. Controls: remove an entry -> MISSING + exit 1; add an entry nothing attaches -> UNREACHABLE + exit 1; planted drift prints the new paragraph and none other. ci-gates 270-272.
Contributor
PR DashboardGenerated at: 2026-08-29 18:15:01 UTC
Summary
Seal Status
|
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
PR DashboardGenerated at: 2026-08-29 18:17:15 UTC
Summary
Seal Status
|
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.
Refs #2851
Before adding anything, the question worth asking was whether the signal had ever reached the author. It had:
Six emitter pull requests, the gate red on the pull request itself, all six merged. The barrier was not knowledge, not tooling, not timing.
The output is why
The legend explained
stale,danglingandphantom. The kind that fired wasgen-drift, which had no entry — and the only repair the page named was--update-baseline, which for that kind records the drift as accepted debt instead of recording what the compiler now produces.The one actionable line on the page was the wrong action.
Three kinds, five kinds, eight kinds
The fix looked like two legend lines. Instead the legend became data, and
--self-checknow reads this file's own source for every kind it can attach. Its first run:Three kinds beyond the two I was fixing. The script attaches eight; the legend explained three. Second guard this session to earn itself on its first execution.
What an author sees now
The legend is also selective: only kinds present in this run print. An author with 134
gen-driftrows used to read three paragraphs about stale, dangling and phantom seals, none of them theirs.Controls
gen-drift's entryMISSING: gen-drift, exit 1UNREACHABLE: invented-kind, exit 1legend covers 8 of 8An explanation for a state that cannot occur is the same defect as a state with no explanation — one wastes the reader, the other strands them.
ci-gates 270–272.