Commit 2de7e53
tooling(pm): stop reading a gate's exclusion constant as a watch hint (#15801)
* wip: exclusion-span skip in extractWatchHints
* wip: census, ledger row, self-test cases
* tooling(pm): stop reading a gate's exclusion constant as a watch hint
extractWatchHints scans a gate's whole module body, so a path declared
inside that gate's own exclusion list was admitted as a surface the gate
watches -- the exact inverse of the declaration. A literal whose offset
falls inside a top-level value declaration named for exclusion (NOISE /
SKIP / EXCLUDE / IGNORE, segment-anchored) is now skipped at admission,
read from the scanned gate's own declaration rather than from any list
kept here.
Census over scripts/**: 64 of 3,513 top-level value declarations match;
14 hints move across 6 files; 8 of those change no derivation because
the gate also declares the containing root. The 6 that do were all false
leads, and the pending-changeset projection every card without a
changeset carries drops from 16 families to 12.
Two consequences are recorded rather than hidden: check:pm-half-states
joins ROOT_WALK_RESIDUE_LEDGER (it was placed by path only through the
bogus hint), and the two self-test blocks that probed with a changeset
path now name the gate script too, with the removal itself pinned.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
---------
Co-authored-by: claude <noreply@anthropic.com>1 parent 3e3ecb0 commit 2de7e53
1 file changed
Lines changed: 266 additions & 14 deletions
0 commit comments