Commit e55182b
committed
fix(pm): H19 judges a Blocked-by block against the body's target set
`check-half-states.mjs`'s H19 discovered and JUDGED `Blocked-by:` targets
from one union of the card body and its comment thread. The two carriers
are not equal in authority — a body is rewritten in place, a comment is an
archive — so a target a seat superseded by refreshing the body line kept
living in the thread and kept being counted, and the row published "the
block has outlived its blocker" against a card whose authoritative blockers
were all open.
Discovery still unions both channels (a blocker stated only in a comment is
still a blocker, and one of this row's two founding fixtures is exactly
that card). Judgement now takes the body's set whenever the body states
one, and the row names the carrier it judged.
Precedence governs the evidence of EXPIRY and nothing else: a CLOSED target
reachable only through the comment archive founds no row, while an OPEN or
UNRESOLVED one is counted whichever channel carried it and can only ever
withhold a row. The flat reading — drop every comment-borne target — would
have re-created the mirror defect a re-park produces (spent line in the
body, live blocker in a comment), whose measured cost was a card released
while its real blocker was open.
A superseded comment-borne closed target is named as HYGIENE in a clause on
a row that fired for another reason; it never becomes a row of its own,
because the remedy such a row would prescribe is unreachable.
Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MCLBsUgfykL74aU716rzVK1 parent 01388fe commit e55182b
1 file changed
Lines changed: 242 additions & 15 deletions
0 commit comments