q65_no_verdict.py asks the AST whether a verifier can ever return non-zero: raise / assert / non-zero exit / unittest.main. 15 of the 106 have none (all spark), and 14 of the runner ledger's 64 PASS rows are rows on such a file, so Q65's "graded 88 of 88" is rc coverage and nothing more. Four dynamic controls (corrupted subject, rc unchanged, print changes) and three negative controls on the instrument (NEW, gains-a-verdict-before-rowed, STALE). Wired as CHECK's fourth leg. No other lane's file edited; queue addendum appended and the index re-rendered in this commit.
28 lines
1.1 KiB
Plaintext
28 lines
1.1 KiB
Plaintext
# Q65 cycle 5 controls -- each probe runs a COPY of the committed verifier, output
|
|
# paths redirected to scratch, unmodified then with ONE injected fault.
|
|
# prov: copied from 82504de at 2026-10-25T14:14:55Z; script scratch/c5/controls.sh
|
|
== A. spark/verify_fib.py (subject corrupted: recurrence fibs[-1]+fibs[-1])
|
|
unmodified rc=0
|
|
All checks pass: True
|
|
corrupted rc=0
|
|
All checks pass: False
|
|
== B. spark/verify_sum.py (subject corrupted: last term dropped from nums)
|
|
unmodified rc=0
|
|
corrupted rc=0
|
|
count.txt after corrupted run: sum=6764 count=19
|
|
== C. spark/verify_dirs.py (subject corrupted: one dir cannot exist)
|
|
unmodified rc=0
|
|
corrupted rc=0
|
|
"/nonexistent/q65-probe": "MISSING"
|
|
== D. spark/verify_minimal.py (subject corrupted: config unreadable)
|
|
unmodified rc=0
|
|
"status": "ok",
|
|
"status": "passed",
|
|
"status": "passed",
|
|
"status": "passed"
|
|
corrupted rc=0
|
|
"status": "error",
|
|
"status": "passed",
|
|
"status": "passed",
|
|
"status": "passed"
|