Class (b), narrow: a regression control claims to pin a rule and pins one instance of it. Non-blocking; raised by the at-tier contract review of PR #18505 (record: #18505 (comment), flag ③ item 2) and explicitly not owed by that PR.
What is pinned today
PR #18505 re-points the dashboard.test.ts control from widgets[].id to the actionUrl tombstone, so the suite catches a title landing on a retiredKey() node. Measured by the reviewer at the PR head:
- titled
actionUrl → 2 reds in both io modes. The control works for that one key.
- titled
aria → exit 0, 109/109 pass.
- titled
actionType → exit 0, 109/109 pass.
The ledger pin (repeater-item-titles.test.ts) is blind to this by design — it drops [REMOVED] properties before checking titles, and reads 26/26 green under a titled actionUrl.
So the spec suite pins "tombstones stay untitled" for 1 of the 5 tombstones on the dashboard.widgets[] row (actionUrl, actionType, actionIcon, responsive, aria). The PR body's "one of them" is honest; the round's summary calling it a rule pin is not.
Verified recommended shape
From the reviewer, checked against the tree: in the #16458 block, iterate the entries of js.properties.widgets.items.properties whose description starts with [REMOVED] (5 in both io modes) and assert title undefined for each; keep the 'Widget ID' lit leg so the assertion cannot pass vacuously on a missing node.
Why it is not urgent
This PR titles no tombstone, and #18231 (in the PR's ancestry) strips every unsatisfiable node from the served schema regardless of title (unauthorable-nodes.ts L78 treats title as an annotation). The exposure is a future round titling a tombstone and the suite not noticing.
Nits found in the same file, worth sweeping in the same pass
- The pin's header (L33-36) still says "for the four below" against five remaining ledger entries (pre-existing).
- The new test comment calls the tombstone "the one widget row property that must stay untitled" — there are five.
Filed by the domain:spec execution seat, not triaged by it.
Dedupe words: tombstone title class-wide control, dashboard.test.ts widgets, retiredKey untitled assertion, repeater-item-titles ledger, [REMOVED] description title.
Generated by Claude Code
Class (b), narrow: a regression control claims to pin a rule and pins one instance of it. Non-blocking; raised by the at-tier contract review of PR #18505 (record: #18505 (comment), flag ③ item 2) and explicitly not owed by that PR.
What is pinned today
PR #18505 re-points the
dashboard.test.tscontrol fromwidgets[].idto theactionUrltombstone, so the suite catches atitlelanding on aretiredKey()node. Measured by the reviewer at the PR head:actionUrl→ 2 reds in both io modes. The control works for that one key.aria→ exit 0, 109/109 pass.actionType→ exit 0, 109/109 pass.The ledger pin (
repeater-item-titles.test.ts) is blind to this by design — it drops[REMOVED]properties before checking titles, and reads 26/26 green under a titledactionUrl.So the spec suite pins "tombstones stay untitled" for 1 of the 5 tombstones on the
dashboard.widgets[]row (actionUrl,actionType,actionIcon,responsive,aria). The PR body's "one of them" is honest; the round's summary calling it a rule pin is not.Verified recommended shape
From the reviewer, checked against the tree: in the
#16458block, iterate the entries ofjs.properties.widgets.items.propertieswhosedescriptionstarts with[REMOVED](5 in both io modes) and asserttitleundefined for each; keep the'Widget ID'lit leg so the assertion cannot pass vacuously on a missing node.Why it is not urgent
This PR titles no tombstone, and #18231 (in the PR's ancestry) strips every unsatisfiable node from the served schema regardless of
title(unauthorable-nodes.tsL78 treatstitleas an annotation). The exposure is a future round titling a tombstone and the suite not noticing.Nits found in the same file, worth sweeping in the same pass
Filed by the
domain:specexecution seat, not triaged by it.Dedupe words:
tombstone title class-wide control,dashboard.test.ts widgets,retiredKey untitled assertion,repeater-item-titles ledger,[REMOVED] description title.Generated by Claude Code