Skip to content

Commit 301bf26

Browse files
os-warrenclaude
andauthored
feat(pm): two report-only patrol predicates for the pm:blocking machinery (#9945)
H14 — `pm:blocking` cache coherence, both directions, off the `Blocked-by:` reverse index the unscoped pass already has the bodies for. `pm:blocking` is a triage-sweep-derived cache, never hand-applied, and the lane selection order ranks it second only to `priority:p0`; a cache with a ranking consumer and no coherence check drifts two ways. A card carrying the label that nothing targets is boosted on the authority of a dependency that does not exist; a card that is targeted and lacks it is a real unblocker the order cannot see. H15 — one visibility row naming the oldest open, UNASSIGNED `pm:blocking` card and its age. No threshold: the row reports unconditionally, because a threshold would re-introduce the judgement call the row exists to hand to the reader. Both stay report-only, both render as ordinary rows in both media, and the remedy for either direction is always the triage sweep's derivation pass — this script never writes a label. Measured on the live board 2026-08-19 (234 open cards, 17 `Blocked-by:` body lines): 1 stale, 5 missing, 0 coherent pairings. Self-test 202 -> 273 cases, all green. Claude-Session: https://claude.ai/code/session_01AeA3nU1B5Q2pgxqxgUrexd Co-authored-by: Claude <noreply@anthropic.com>
1 parent 6ae9ea9 commit 301bf26

1 file changed

Lines changed: 456 additions & 3 deletions

File tree

0 commit comments

Comments
 (0)