From 96c1fa497d460891189a178adc65f6163fa1bcd1 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Mon, 31 Aug 2026 00:40:24 +0000 Subject: [PATCH] tools: both of my checkers exited 0 no matter what -- neither could fail sylpheed-port found an asserting step in their suite that could not fail: a swallowed the verdict. Tested the same thing here and both of mine had it. check_refuted.py found a PLANTED unmarked revival, printed it, and exited 0. impossibility_scope.py printed 'CONTROL FAILED' and exited 0 -- in a tool written today, one message after they described the shape. Now: unmarked assertions exit 1; a failed control exits 2. Suppressed mentions do not fail, since they are unverified rather than wrong and failing on them would put the clean state out of reach. Controlled in both directions -- clean 0, planted revival 1, control passing 0, control deliberately broken 2. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- tools/re-capture/check_refuted.py | 10 ++++++++++ tools/re-capture/impossibility_scope.py | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/tools/re-capture/check_refuted.py b/tools/re-capture/check_refuted.py index 9f7eb8b2..0683f1f8 100755 --- a/tools/re-capture/check_refuted.py +++ b/tools/re-capture/check_refuted.py @@ -108,3 +108,13 @@ if "--show-marked" in sys.argv: print(f" · {f}:{ln}\n claim: \"{c[:70]}\"\n line : {l[:100]}") elif suppressed: print(" re-run with --show-marked to read them") + +# 🔴 EXIT CODE, added 2026-08-31. This printed its findings and returned 0 no +# matter what -- a planted unmarked revival was reported and the run still +# succeeded, so any pipeline using it asserted NOTHING. sylpheed-port shipped the +# same shape (`return 0` unconditional) one day after writing that defect up in +# someone else's work; mine had been live since the tool was written. +# Unmarked assertions FAIL. Suppressed mentions do not -- they are unverified, +# not wrong, and failing on them would make the clean state unreachable. +if hits: + sys.exit(1) diff --git a/tools/re-capture/impossibility_scope.py b/tools/re-capture/impossibility_scope.py index 342d6474..e10cf3d0 100644 --- a/tools/re-capture/impossibility_scope.py +++ b/tools/re-capture/impossibility_scope.py @@ -73,3 +73,12 @@ else: print(f" matched; scope words {_sc} -> {'HIDDEN by scoring' if _sc else 'shown'}") if _sc: print(" \U0001F534 CONTROL FAILED: scored as scoped, so it would not appear in the default listing.") + +# 🔴 The control above PRINTED its failure and this script exited 0 -- so a broken +# control was indistinguishable from a passing one to anything but a human reading +# the last line. Fixed 2026-08-31, the same day the tool was written, after +# sylpheed-port reported the identical shape in their own suite. The LISTING is a +# prompt and never fails; the CONTROL failing is a hard error, because every hit +# above is meaningless without it. +if (not _m) or [w for w in SCOPED if w in _m.group(0).lower()]: + sys.exit(2)