sylpheed-port closed this gap first: their controls asserted failure-on-perturbation but nothing asserted that a BROKEN harness reports broken. Their stub is a check that cannot fail; the equivalent here is a register that loaded no claims, which reported clean forever. The self-test drives the REAL machinery over synthetic corpora as subprocesses and reads actual exit codes -- their first version reasoned about what the machinery would do instead of running it, which is the error this whole thread is about committed inside the tool built to prevent it. Four cases, all passing: clean corpus 0, verbatim revival 1, marked revival 0, and empty register 2. The fourth was a real hole, not a modelled one: the tool now refuses instead of passing when it parses no claims. Exit convention is theirs -- 0 fine, 1 a real check failed, 2 the harness is broken. Also confirms the real corpus still runs clean at exit 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
9.3 KiB
Executable File
9.3 KiB
Executable File