Commit f7b1d5b
committed
fix(pm): C5 reports a widening tell instead of refusing on it
`check-clause2-carriers.mjs`'s C5 limb turned a widening TELL into a hard
refusal: a card declaring `Clause-②: no` whose diff carried tells made
`--pair N` exit 4, and PD #14 makes `--pair` at 0 a conjunct of the landing
predicate. On the maintainer's ruling of 2026-09-21, C5 is demoted to
report-only -- the row still prints, with its file:line evidence and its
remedy text, and it no longer contributes to a non-zero exit.
The operative distinction, from the ruling record: a limb that judges
「is this diff widening a contract」 -- which the matcher itself says it
cannot prove (「a tell, never a proof」, 「cannot tell an array element from
a call argument」) -- does not hold a hard gate. A limb that asks 「does a
review of record exist」 does. So C6 is untouched and stays a hard refusal,
as do C2, C3, C8, C9 and the UNJUDGED exit-2 path.
`renderPair` is split into the pure `pairRendering` (every line, its stream
and the exit, computed before a byte is printed) and a printer, so the
self-test can pin what a run PRINTS beside what it EXITS -- "the row still
prints" and "the exit is 0" are two claims, and a case pinning only the
second stays green over a row that went silent. The exit-0 line gains a
`wideningReported` branch so a 0 carrying tells never reads as "narrow".
Claude-Session: https://claude.ai/code/session_01AmH9bKvGoLjiY86Q4Z3og2
Co-Authored-By: Claude <noreply@anthropic.com>1 parent d00692f commit f7b1d5b
1 file changed
Lines changed: 260 additions & 32 deletions
0 commit comments