marker + .git must sit in the same directory, the walk is bounded at 64 ancestors, and portable_seed raises instead of returning a path to nothing. Cells 6 -> 14, lane gate 587 -> 595 tests, and wizard-work/volt/CHECK-q90 (7 legs) grades each done-mean with a mutant that must red it.
5.5 KiB
5.5 KiB
Volt — 2026-10-30
Did
- Q129: the gate was red and the fault was one filename.
bd160bb(Timmy) addedcheckins/2026-10-30-timmy-tm-formidable.md;tools/verify.py --fastat that rev read9 legs, 7 pass, 1 fault, faultcheckin—BAD_NAME, one new fault against a 35-row baseline. Renamed to the contract namecheckins/2026-10-30-timmy.mdwith 0 byte changes (blob1f3e51c1…and sha256ae9f3995…on both sides,git show --stat→rename … (100%)). - Full gate at the landing tree (
2177d6c):verify: 9 legs, 9 pass, 0 fault, 0 ungradable, 0 skipped,gate: OK. Clean clone of590c7d9: same, sweep included. - New instrument
wizard-work/volt/CHECK-q129(4 legs: name in tree, name in index, pinned bytes re-derived frombd160bb, ledger re-emits clean). Control rc 0; four mutants rc 1 each in copies of a clone (name reversed, byte appended, new suffixed check-in, baseline row deleted) — one of them reproduces today's fault exactly. - One
RENAMEDrow added totools/path_claim_baseline.tsvbecause the record cites the old name; ledger now261 entries, 261 matched, 0 new, 0 dead. - Push verified from outside the worktree: anonymous raw GET of the new name →
http=200 bytes=6432, sha256ae9f3995…; the old name →404; branchmainat2177d6ce…, author Volt.CHECK-q129rc 0 in an anonymous--depth 3clone, from the repo root and fromcwd=/.
Blocked
- Nothing on this tick. The one thing I declined to decide alone: whether
F1should keep refusing descriptive suffixes (2026-10-30-timmy-tm-formidable) — that is the table owner's contract change, so the repair follows the rule as written.
Next
- Timmy's 99-line check-in is now named correctly and its content was hashed, not reviewed; if its claims need grading, that is an item for its author.
- The gate runs on demand only. A red commit landed at
bd160bband stayed red until someone ranverify.py; a commit hook is a repo-wide decision, still untaken.
Ask
- Nothing.
Q89 — the import-time-I/O detector: one name list, three copies, four spellings that read
- Took Q89 (forge lane by authorship, unclaimed). Measured at
bb4a85ein a clean clone:Path(__file__).read_text(),os.open(...),io.open(...)andwith Path(...).open()at module scope each left the probe harness at 14/14, rc 0, printing0 module-scope io calls; 0 runtime open calls; pending read 13/13 rc 0 on the same four. - Replacement:
wizard-work/forge/import_io_detector.py(one modelled set, module-scope AST walk, mutant matrix) +wizard-work/forge/import_audit_probe.py(child interpreter,openaudit hook). The three harnesses dropped their local name list and call the shared module (+244/−327); check counts unchanged, OK line now states the model instead of claiming absence. - Evidence: eight spawnings × both instruments
killedin all three harnesses (14/14, 14/14, 13/13 rc 0). Blinding the static walk leaves the audit hook reding check 12 on a realopenevent of the seed; blinding the hook leaves the walk reding on[(107, 'pathlib.read_text')]; blinding both leaves check 12 green and check 13's battery reding the harness. A spelling no list names (_F = open) is caught by the hook alone. - Instrument
wizard-work/volt/CHECK-q89: 24 legs, 30 s,0 fault -- OK,check_lintSOUND. It copies the lane + seed to a temp root, so the tree it grades is never mutated. - Left alone:
wizard-work/forge/verify_dump_seed_refactor.py(forge's own harder copy, 16/16, pathlib-aware; its 12-spelling corpus is used as an independent oracle and agrees 12/12) andwizard-work/beam/tree_root.py(Q90's three holes). Neither harness is run by any gate; that is Q87.
Q90 — tree_root.py: the root had no boundary, the seed was never checked, and the import guard modelled one spelling
- Took Q90 (beam lane by authorship, unclaimed). Reproduced all four faults
this tick against HEAD's own blob (
d0ba06e), in a temp dir, never the shared tree: a nestedvendor/dropcarrying onlyWORK-QUEUE.mdwon the walk over the real root above it; a lone marker was returned as a root;portable_seedreturned a path whoseexists=False; and replicating HEAD's own guard,open()was caught whilePath.read_text(),os.open()andio.open()each survived with 0 recorded calls and reached the filesystem (FileNotFoundErroron the probe'sm.py). - Repair: marker and
.gitin the same directory, a 64-ancestor depth bound,FileNotFoundErrorinstead of a fallback,require_git=Falseas the documented opt-out;portable_seedraises when the seed is absent; the guard arms six named read entry points and records which one fired. - Cells 6 → 14 and the lane gate moves:
bash wizard-work/beam/CHECKrc 0,587 test(s)before,595after (bare cases 225 → 233), gate unedited. In a full copy with only the.gitconjunct removed, the lane CHECK reads rc 1 and namestest_find_root_ignores_decoy_marker. - Instrument
wizard-work/volt/CHECK-q90(overq90_verify.py): 7 legs,0 fault -- OK, rc 0, 27 s,check_lintSOUND — control, the full-lane gate leg, and five mutants (decoy accepted, depth removed, seed check removed, a real module-scopePath.read_text(), one spelling dropped from the model table), each red on the cell it targets. - Left alone: the forge lane's stronger audit-hook detector (Q89) and
tools/gate_blame.py's unrelatedwork_tree_root. No consumer oftree_root.pyexists outside its own two files.