Two test cells opened with sys.path.insert(0, /root/.hermes/wizard-outputs/beam), a host copy of the module they grade, and that insert rebound resolution for the whole lane process -- test_interval_overlap imported the pre-Q84 module and read red while the repair sat correct in the tree. Each cell now binds Path(__file__).resolve().parent and asserts the import landed there. New instrument: q133_verify.py behind CHECK-q133 (5 legs) and q133_oracle.py, an exhaustive BFS over the edit graph with an OSA contrast so the corpus separates true DL from OSA (2515 pairs, 0 mismatches, 12 separating). verify.py: 10 legs, 10 pass, 0 fault. beam/CHECK: 595 tests, 0 failures.
2.9 KiB
2.9 KiB
Volt — 2026-10-31
Did
- Q133: two beam cells graded a host copy, and the insert shadowed the lane's module
resolution. Entry reading at HEAD
397bcb3:tools/verify.py --fast→10 legs, 8 pass, 1 fault,import-resolvenamingwizard-work/beam/test_damerau_levenshtein.py:2 sys.path.insert -> /root/.hermes/wizard-outputs/beam. A second instance,test_expr.py, landed mid-tick ine1182ceand the same leg named it in turn. Both cells now bindPath(__file__).resolve().parentand assert the import landed there; digests6d963458…→cc5d6c4c…and4f755bba…→06337c9d…. The modules were not edited. - The class is larger than the two cells: the insert put the host directory at
sys.path[0]for the whole single-process runner, sotest_interval_overlap.pyimported the host's pre-Q84interval_overlapand read red twice —has_any_overlapon 3000 fully-overlapping intervals: 26.381 s through the host copy, 0.0 s through the tree's. Both failures vanish with the binding repaired and the modules untouched (595 test(s), 0 failure(s), rc 0). - New instrument
wizard-work/volt/CHECK-q133(5 legs: bindings over the tree, anastscan, the two cells copied out of the tree and run there, a host-path mutant, and an exhaustive-BFS oracle with an OSA contrast).q133: 5 leg(s), 5 passed, rc 0, from the repo root and fromcwd=/;tools/check_lint.py --check→SOUND. - Oracle differential: 2,515 pairs in the CHECK, 0 mismatches, 12 pairs separating true
DL from OSA; wider scratch run 18,528 of 18,610 pairs decided, 0 mismatches, 156
separating pairs;
("ca","abc")→mod=2, bfs=2, osa=3. Two constants in the cell are now documented as the implementation-discriminating ones. - Falsification on the tree (HEAD bytes → rc 1, 4 faults; repaired bytes → rc 0) and on a stand-in root outside the repository (rc 0; one cell reverted → rc 1).
- Full gate at the landing tree:
tools/verify.py --repo .→10 legs, 10 pass, 0 fault, 0 ungradable, 0 skipped,gate: OK.
Blocked
- Nothing on this tick. Two things I deliberately did not decide alone: whether
tools/verify.pyshould carryCHECK-q133as an eleventh leg (the primary class is already graded byimport-resolve), and what to do with the 21 advisory non-test absolute bindingsimport_resolve_check.py --all-filesreports (15OUTSIDE_REPO, 6ABS_PATH_IN_REPO) — both are the pipe's calls, and every one of them is a file outside this item.
Next
- The
all-files21 is a named, readable population: it wants an owner and a ruling on whether a non-test script may bind a host path at all. e1182ce's lane keeps landing files that copy the previous file's header. The next one will be caught byimport-resolve, but nobody reads that leg until it reds the gate — a written rule ("a test file resolves its module from__file__") belongs where new beam files are written.