Files
troupe-standup/wizard-work/volt/q65-2026-10-25-residual.md
volt 01c6b818f5 volt: q65 residual -- census 99 of 99; the wiring pathspec learns CHECK.txt (one false fault removed) and the four never-graded verifiers are run (3 PASS, 1 FAIL that could never pass)
At 30653c6 the scan read 99 committed verifiers, 7 wired, census coverage 93 of 99, 5 NEW_UNWIRED, q63 5 faults; volt CHECK rc 1 on 6 unclassed. After: wired 8, census 99 of 99, NEW_UNWIRED 0, q63 0 faults, volt CHECK rc 0 (tree audit 0 unclassed of 99). q65_runner ledger 79 rows (PASS 55/FAIL 24) -> 83 (58/25).

Pathspec defect, measured not assumed: sphinx's archive-agentic-memory-5paper-dossier-2026-10-25/CHECK.txt is one line invoking verify_claims.py from its own directory, and CODE_PATHSPECS carried :(glob)**/CHECK and not CHECK.txt -- so a lane with a committed gate was filed as unwired. Patched copy, every other argument held fixed: wired 7->8, code-grep 13->12, NEW_UNWIRED 5->4, and the only file moving between the two NEW lists is that verifier. Scanner selftest 10/10 after the change, c-cell on the referrer-path token included. Readings: q65-2026-10-25-residual-{red,green}.txt.

Census re-emitted: 99 rows = gate-run 83 + wired-invoke 8 + declared-one-off 8, arithmetic against 99 at the same rev. The four files left undeclared were executed: forge/verify_check_lint_classes_dry.py FAIL rc 1 0.39s; forge/verify_repro_bounds_refactor.py PASS 0.35s; forge/verify_smell_check_monotonic_refactor.py PASS 0.58s; spark/verify_env.py PASS 0.06s.

The FAIL is Q65's thesis, found by Q65's own runner and held open as a finding for forge: orig_text() reads git show HEAD:tools/check_lint.py as the 'original', and the refactor it verifies was committed in the same commit that added the verifier (4f76eaa), so original and refactored are the same bytes -- checks 4a/4d fail, and the two BYTE-IDENTICAL checks pass vacuously. Remedy (pin the pre-refactor blob by sha) is forge's; not edited here.

Still open and named: 25 FAIL rows are per-lane findings; 51 PASS* rows read an absolute host root (Q62's class, 48 before this tick); path-claims is forge's two-character citation at SMELL_CHECK_MONOTONIC_REFACTOR_VERIFICATION.md:95-96, so tools/verify.py is 8 legs / 7 pass / 1 fault both before and after; promoting volt CHECK to a tools/verify.py leg stays the operator's call. Index re-rendered in this commit.
2026-10-25 04:36:22 +00:00

8.2 KiB

Q65 residual — the pathspec that filed a false fault, and the verifier whose premise expired before anything ran it

Lane: volt (the Workhorse). Item: WORK-QUEUE.md Q65, closed at 8ec7725 and re-measured here. Read at: 30653c6 (the tree every figure below was measured at, unless it names another).

Q65 closed with census 93 of 93 and q63: 0 fault(s). Sixty-eight minutes later the same tool printed 93 of 99, because six verifiers had landed since and no tools/verify.py leg runs the census — Q65's own recorded hole (:11094), which stays the operator's call. This tick does not re-argue that. It does the work the reopened class asked for, and it found two defects of its own on the way.

1. Where the item stood at 30653c6

committed verify_*.py     : 99  (spark 36  forge 28  ledger 15  sphinx 12  sol 5  null 2  beam 1)
wired by name (invoke)    : 7 of 99
census coverage           : 93 of 99   <-- 6 UNCLASSED
unwired, NEW (fault)      : 5
q63: 5 fault(s)

and bash wizard-work/volt/CHECK was rc 1 on q65: 6 fault(s) — six committed verifiers named by neither ledger. Not one of them was broken. All six were unread: nothing in the archive had ever run them, so each one's verdict was whatever its author last saw by hand. That is Q65's thesis, one day old.

2. The pathspec filed a false fault against a lane that had wired its file

The five NEW_UNWIRED rows were not five facts. One of them was the instrument lying: wizard-work/sphinx/archive-agentic-memory-5paper-dossier-2026-10-25/CHECK.txt is a single line —

python3 "$(dirname "$0")/verify_claims.py"

— that is, sphinx's committed gate invokes verify_claims.py by name, from the verifier's own directory, and the scan reported the verifier as invoked by nothing. The wiring grep's pathspec list carried :(glob)**/CHECK and stopped there; a gate named CHECK.txt was not a place the scanner looked for a runner.

The same class had already been recorded once, one file extension narrower: CODE_PATHSPECS used the bare literal CHECK until 2026-10-24, which matches only ./CHECK, so four nested wizard-work/*/CHECK files were invisible too.

Measured red/green, one argument changed. The patched scanner was run from a scratch copy with every other argument held fixed, against the same ledger and the same HEAD:

before after :(glob)**/CHECK.txt
wired by name (invoke) 7 of 99 8 of 99
unwired (code-grep) 13 of 99 12 of 99
unwired, NEW (fault) 5 4

and the one file that moves between the two NEW_UNWIRED lists is exactly wizard-work/sphinx/archive-agentic-memory-5paper-dossier-2026-10-25/verify_claims.py. Verbatim readings: q65-2026-10-25-residual-red.txt, q65-2026-10-25-residual-green.txt. The scanner's own selftest is 10 of 10 after the change, including the cell that grades "a token from the referrer's own path does not wire a file" — the rule this change must not weaken.

Why it is a fix and not a tolerance row. The alternative was a row in tools/path_claim_baseline.tsv-style fashion accepting a wrong citation; here the alternative would have been a row in the census calling a wired verifier undeclared, which records a defect that does not exist 99 times over. The pathspec is a claim about where a runner may live. Leaving a gate's filename out of it manufactures a fault in the lane that wrote the gate.

3. The census re-emitted: 99 of 99, and no row is a guess

census written: q63_unwired_baseline.tsv (99 rows: gate-run 83, wired-invoke 8, declared-one-off 8)

83 + 8 + 8 = 99 is the check, against 99 committed verifiers at the same rev. The four files that were undeclared after the pathspec fix were then run — that is what converts an unread claim into a graded row:

FAIL       0.39s wizard-work/forge/verify_check_lint_classes_dry.py
PASS       0.35s wizard-work/forge/verify_repro_bounds_refactor.py
PASS       0.58s wizard-work/forge/verify_smell_check_monotonic_refactor.py
PASS       0.06s wizard-work/spark/verify_env.py
q65_runner: 83 row(s) in 2.2s
  PASS 58, FAIL 25

The ledger went 79 rows (PASS 55, FAIL 24) to 83 (PASS 58, FAIL 25). After the census was re-emitted with those graded rows, q63_verify_scan.py --repo . reads:

census coverage           : 99 of 99 committed verifier(s) carry a ledger row
unwired, ledger-tolerated : 8  (q63_unwired_baseline.tsv: 8 declared-one-off)
unwired, NEW (fault)      : 0
q63: 0 fault(s)

and bash wizard-work/volt/CHECK is rc 0, tree audit : 0 unclassed of 99.

4. The one that failed is the argument for the whole item

wizard-work/forge/verify_check_lint_classes_dry.py returned rc 1 on its first recorded execution:

[FAIL] [4a] code-level: original HAS tally line
[FAIL] [4d] code-level: original HAS NO Counter import
verify: 11 checks, 9 passed, 2 failed
VERDICT: MISMATCH -- behavior NOT preserved

It is not a flake and it is not drift. The verifier reads its "original" as:

def orig_text():
    """Committed pre-refactor source = HEAD (the refactor is a working-tree change)."""
    p = subprocess.run(["git", "-C", REPO, "show", "HEAD:" + TOOL], ...)

That premise was true for exactly as long as the refactor was an uncommitted working-tree change. It was committed in the same commit that added the verifier — 4f76eaa, tools/check_lint.py | 9 +-, wizard-work/forge/verify_check_lint_classes_dry.py | 252 + — so from its first commit HEAD:tools/check_lint.py is the refactored file, and "original" and "refactored" are the same bytes. The consequence is worse than a failed check:

  • [4a] and [4d] are the only checks that can distinguish the two versions, and they fail because there is no second version to compare.
  • [3] and [5], which print BYTE-IDENTICAL, pass vacuously — a file compared with itself is byte-identical. The verifier's loudest evidence is the evidence it cannot have.

Nothing noticed for a day because nothing ran it. This is the case Q65 opened on, found in the population Q65 built to find it. The fix belongs to forge (pin the pre-refactor blob by sha instead of reading HEAD); the row is recorded here as a finding held open, which is what the ledger's FAIL class means.

5. What this does and does not close

  • Closes: the six UNCLASSED verifiers. Every committed verifier at 30653c6 now carries a census row, four of them by execution, one by its own gate's invocation line, and the census arithmetic is stated rather than implied.
  • Not closeable from this lane: the 25 FAIL rows are per-lane findings; the 51 PASS* rows still read an absolute /root/... root and are excluded from graded-clean (7 of 83) — Q62's class, one per owning lane. (48 of those rows predate this tick; three of the four newly graded ones — verify_env.py, verify_repro_bounds_refactor.py, verify_smell_check_monotonic_refactor.py — carry a host root as well, so the count moves 48 → 51 for the honest reason.) tools/verify.py at this tree is 8 legs, 7 pass, 1 fault, the fault being path-claims on forge's two-character citation (wizard-work/forge/smell_check_monotonic.py / smell_check_monotonic_refactored.py, cited at wizard-work/forge/SMELL_CHECK_MONOTONIC_REFACTOR_VERIFICATION.md:95-96), which is forge's file and not repaired here.
  • Not taken: promoting wizard-work/volt/CHECK to a tools/verify.py leg is shared-property surgery and remains the operator's call (reply 93 §4). The census would have stayed current today if it had been one.

6. Evidence

  • Change: wizard-work/volt/q63_verify_scan.py — CODE_PATHSPECS gains :(glob)**/CHECK.txt, with the measurement recorded beside it.
  • Readings: q65-2026-10-25-residual-red.txt (before), -green.txt (pathspec only, all else held), -final.txt (after the census and the runner).
  • Ledgers: wizard-work/volt/q63_unwired_baseline.tsv (99 rows, rev 30653c6), wizard-work/volt/q65_runner_baseline.tsv (83 rows, PASS 58 / FAIL 25).
  • Selftests: q63_verify_scan.py --selftest 10/10; q65_runner.py --selftest 22/22.
  • Gate: bash wizard-work/volt/CHECK rc 0; python3 tools/verify.py --repo . 8 legs, 7 pass, 1 fault (path-claims, forge's, unchanged from 0868c6b).