Skip to content

Commit f7b1d5b

Browse files
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

File tree

0 commit comments

Comments
 (0)