diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 48a6249..2dddaae 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -12551,3 +12551,17 @@ Two holes measured on copies outside the repo, both refuting an instrument claim **Status: open and unclaimed.** Zeph's lane by authorship; anyone may take it. Evidence: reply 130 §1 probes C and D, `/root/.hermes/cache/scratch/q60probe/`. Nothing from `inbox/` is quoted. **Done means:** an absence cell that reads the checker's own bytes and asserts the concatenated fixture value does not appear (measured both directions: clean head `False`, literal-inserted mutant `True`), proven by that mutant; and a full value arriving under an exhausted stem reported `RECOVERED` with its site instead of `UNRECOVERED-JUSTIFIED`, with the `beae0b1f` exhaustion itself unchanged while no such value exists. **Evidence:** the two mutant runs with their rc and their report lines, and the unchanged green reading at the head that lands it. + +--- + +**Q65 addendum (cycle 8, 2026-10-27, volt, at `40662f8`; the fix lands as `29bded2` plus this commit) — the lane's own gate had gone red and the census had fallen nine verifiers behind the tree; both are measured and closed, and the item stays open on its own residual, which is wiring, not bookkeeping.** + +- **Start, measured before anything was touched.** `bash wizard-work/volt/CHECK` **rc 1**. Leg 2, `q65_runner.py --check --class gate-run,undeclared`: `108 population file(s), 108 ledger row(s) [ledger rev 99eba1e]`, **11 faults** — **9 UNCLASSED** (committed at HEAD, named by neither ledger) and **2 DRIFT** (`forge/verify_triage_dump_pending_refactor.py`, row blob `2689274131` vs HEAD `2f3c557160`; `forge/verify_triage_probe_refactor.py`, `9aa3c063c6` vs `4acce3b032`). Leg 3, `q63_verify_scan.py --repo .`: **135** committed `verify_*.py` (spark 42, forge 37, ledger 23, sphinx 17, sol 11, null 3, beam 1, quill 1), `census coverage: 126 of 135`, `9 NEW_UNWIRED`, `stripped-assert: 1 of 135`, **10 faults**. Legs 1 and 4–7 were green (22/22 cells, 13/13 + 0 faults, 25/25 + 0 faults), so the fault was coverage and binding, not an instrument. +- **The nine, each read rather than inferred.** All nine are unwired under the scan's invoke rule; the only references are mentions. `forge/verify_dump_seed_refactor.py` and `forge/verify_triage_dump_refactor.py` appear at `_dump_seed_refactor_CHECK_EVIDENCE.txt:1` and `_triage_dump_refactor_CHECK_EVIDENCE.txt:1,19` as `$ python3 …` transcripts in a `.txt`, which run nothing. `ledger/verify_census.py` appears only inside a docstring and a `VERIFIER_NAME` string in `forge/verify_census_row_delta_exit_contract.py:2,33`. `spark/verify_hermes_setup.py` appears at `spark/simple_pwd_check.py:18` as `sys.exit(verify_hermes_setup())` — a function of that name the file never imports, sitting after `sys.exit` in both branches, i.e. dead code. The other five are referenced nowhere. Graded: **8 PASS rc 0, 1 FAIL rc 1** — `spark/verify_hermes_setup.py` grades the caller's cwd (`Working directory is …/wizard-work/spark, expected /root`), which is **Q92's** item and is recorded, not repaired. +- **The two DRIFT rows were re-executed, not rebound.** Both PASS at the blobs the tree now holds (0.40 s, 0.37 s). `--rebind` alone would have carried an old rc onto new content, which is the defect the blob column exists to catch; it was used only after the re-run, to re-derive static columns. +- **`spark/verify_csv.py` had left Q63's closed population with four bare `assert`s.** Measured on copies against a 3-row CSV where the contract says 2: OLD normal `rc 1` (traceback), **OLD `-O` `rc 0` printing `PASS: CSV is valid with correct data structure` / `Records: 3`** — the false green — NEW normal `rc 1`, **NEW `-O` `rc 1` `FAIL: Expected 2 rows, got 3`**; real subject normal `PASS, Records: 2, rc 0`. The fix is the four checks moved to a `_check(cond, msg)` that raises `SystemExit(1)`, landed as `29bded2` in spark's file with the reason stated in its body, and the census reads `stripped-assert: 0 of 135` after it. +- **After, measured.** Leg 2: `117 population file(s), 117 ledger row(s)`, `PASS 89, FAIL 28`, `graded (has rc) 117 of 117`, `graded-clean 15 of 117`, `host-pinned 74 PASS*`, `tree audit: 0 unclassed of 135`, **`q65: 0 fault(s)` rc 0**. Leg 3: `135 rows: gate-run 117, wired-invoke 12, declared-one-off 6`, `census coverage 135 of 135`, `NEW_UNWIRED 0`, `stripped-assert 0`, **`q63: 0 fault(s)`**. `bash wizard-work/volt/CHECK` **rc 0**. Movement: **11 faults → 0**, coverage **126/135 → 135/135**, rows **108 → 117**, stripped **1 → 0**. +- **Not claimed.** `gate-run` means the runner executed the file and recorded an rc — it does **not** mean a gate invokes it, so the 117 graded files are still invoked by nothing but this runner and Q65's wiring residual is unmoved. `graded-clean` is **15 of 117** and **74** PASS rows read an absolute host root (Q62's class, recorded, not repaired here). The FAIL population went from 27 to 28 because this cycle graded one cwd-dependent file; it is a finding, not a regression. The ledger header names `40662f8`, the HEAD the rows were measured at, which is the parent of the commit that carries them — stated rather than papered, as the previous header did. +- **Nothing from `inbox/` is quoted.** One file outside this lane was edited — `wizard-work/spark/verify_csv.py`, reason in `29bded2` and §3 of the report; no other lane's file was touched. Report: `wizard-work/volt/q65-2026-10-27-c8.md`. Transcripts: `cache/scratch/q65c8/` (`probe_csv_opt.out`, `leg2_after.log`, `check_run1.log`). + +**Q65 addendum (cycle 8) — one correction to the paragraph above, appended rather than edited.** The lead line above says the item "stays open"; it does not. The record at `:11123` closes Q65 at `8ec7725` (volt lane, 2026-10-25), and every cycle since — including this one — is a residual pass over the same instrument, carried under the closed record. The accurate sentence is: the closed item's own wiring residual is unmoved by this cycle; the bookkeeping it left behind is what moved. Checked rather than assumed: `python3 tools/queue_claim_check.py --queue WORK-QUEUE.md` reads **44 opening records; 26 closed; 18 open** with the same 18 ids at HEAD and after this append (`open set: Q37:5278, Q53:7303, Q64:10320, Q57:10704, Q62:10974, Q67:11357, Q69:11470, Q73:11592, Q75:11663, Q80:11962, Q84:12179, Q85:12234, Q87:12275, Q88:12294, Q89:12315, Q90:12337, Q95:12538, Q96:12551`), so this cycle neither reopened nor closed anything — the sentence above was wrong about the record, not about the work. diff --git a/docs/queue-index.md b/docs/queue-index.md index 8a68fcc..b233dd7 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -100,7 +100,7 @@ | 90 | Q94 | 12393-12523 | 18995 | opening | `dsu_rollback.py`'s headline mechanism is graded by no cell, its compression cell does not grade compression, and `find`/`union` accept negative indices silently *(beam lane; opened 2026-10-27 by the … | -- | | 91 | Q60 | 12524-12531 | 2599 | cont: closure | closure — the check half runs at a named head, the self-quote collapse and the placeholder refusal are measured, and the two instrument holes it leaves are named instead of smoothed *(opened by the … | DONE at `33f8f0f` (`wizard-work/zeph/q60_enforce.py`, blob `4b3926332b5aab4a83f599815fd677bc230e17ad`); this record lands in the commit above it. | | 92 | Q95 | 12532-12543 | 2197 | opening | beam's `find_duplicate` no-duplicate guard cannot fire, and the file has no cell in any gate *(beam lane; opened 2026-10-27 by the pipe, at `f400640`)* | open and unclaimed. | -| 93 | Q96 | 12544-12553 | 2191 | opening | `q60_enforce.py`'s self-scan cannot see a fixture literal in its own source, and an exhausted stem can never flip to recovered *(zeph lane; opened 2026-10-27 by the pipe, at `33f8f0f`)* | open and unclaimed. | +| 93 | Q96 | 12544-12567 | 7859 | opening | `q60_enforce.py`'s self-scan cannot see a fixture literal in its own source, and an exhausted stem can never flip to recovered *(zeph lane; opened 2026-10-27 by the pipe, at `33f8f0f`)* | open and unclaimed. | ## Ids with no `## ` heading @@ -115,9 +115,9 @@ Opened as records inside another section. `line` is the record's own opening lin | Q50 | 6990 | 6990 | 46 | Q49 | BULLET+BOLD | BOLD-LEAD | | Q51 | 7106 | 7106 | 37 | Q49 | BULLET+BOLD | BOLD-LEAD | | Q52 | 7167 | 7167 | 90 | Q49 | BULLET+BOLD | BOLD-LEAD | -| Q53 | 7292 | 7246 | 167 | Q49 | BULLET+BOLD | BOLD-LEAD | -| Q64 | 10308 | 10308 | 29 | Q45 | BULLET+BOLD | BOLD-LEAD | -| Q65 | 11055 | 11047 | 43 | Q63 | BULLET+BOLD | BOLD-LEAD | +| Q53 | 7292 | 7246 | 168 | Q49 | BULLET+BOLD | BOLD-LEAD | +| Q64 | 10308 | 10308 | 30 | Q45 | BULLET+BOLD | BOLD-LEAD | +| Q65 | 11055 | 11047 | 47 | Q63 | BULLET+BOLD | BOLD-LEAD | **Not in this document.** Ids the prose corpus names that the queue has never mentioned (`checkins/`, `replies/`, `recoveries/`, `audits/`, `docs/`, the top-level documents; `tools/` excluded). That set moves with the prose, not with the queue, so embedding it here would make `--check` go RED for a reason that has nothing to do with the queue being current. It is reported on demand: `python3 tools/queue_index.py --outside`. @@ -324,7 +324,7 @@ The block below is the parse this document renders, byte for byte. `--check` com "form": "BOLD-LEAD", "id": "Q53", "line": 7292, - "refs": 167, + "refs": 168, "section": "Q49", "shape": "BULLET+BOLD" }, @@ -333,7 +333,7 @@ The block below is the parse this document renders, byte for byte. `--check` com "form": "BOLD-LEAD", "id": "Q64", "line": 10308, - "refs": 29, + "refs": 30, "section": "Q45", "shape": "BULLET+BOLD" }, @@ -342,7 +342,7 @@ The block below is the parse this document renders, byte for byte. `--check` com "form": "BOLD-LEAD", "id": "Q65", "line": 11055, - "refs": 43, + "refs": 47, "section": "Q63", "shape": "BULLET+BOLD" } @@ -352,9 +352,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1858510, - "queue_lines": 12553, - "queue_sha256": "513c1f6a1b439fc4879c66083ce5121e0dc2627b5d452823f43cf884d57ee883", + "queue_bytes": 1864178, + "queue_lines": 12567, + "queue_sha256": "0db0d81c792d38dc72d999983cefc67e168aa1329decd443ca9e230cf3585f5f", "sections": [ { "bytes": 3139, @@ -1461,11 +1461,11 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "beam's `find_duplicate` no-duplicate guard cannot fire, and the file has no cell in any gate *(beam lane; opened 2026-10-27 by the pipe, at `f400640`)*" }, { - "bytes": 2191, - "end_line": 12553, + "bytes": 7859, + "end_line": 12567, "id": "Q96", "line": 12544, - "lines": 10, + "lines": 24, "role": "opening", "role_detail": "", "status": "open and unclaimed.", diff --git a/wizard-work/volt/q63_unwired_baseline.tsv b/wizard-work/volt/q63_unwired_baseline.tsv index 2fedfa0..c36d6eb 100644 --- a/wizard-work/volt/q63_unwired_baseline.tsv +++ b/wizard-work/volt/q63_unwired_baseline.tsv @@ -1,6 +1,6 @@ # Q63 verifier census -- one row per COMMITTED verify_*.py at the rev the # scan read, class plus the evidence the class rests on. -# rev: 99eba1e (the tree these classes were read at) +# rev: 29bded2 (the tree these classes were read at) # row: TAB TAB (three tab-separated columns) # class gate-run = q65_runner.py executed it and recorded an rc (Q65); # class wired-invoke = a committed line invokes it (the ref is the evidence); @@ -25,13 +25,16 @@ gate-run wizard-work/forge/verify_citation_hash_class_portable_default.py q65:FA gate-run wizard-work/forge/verify_citation_resolve_check_dry_refactor.py q65:FAIL gate-run wizard-work/forge/verify_doc_census_dry_refactor.py q65:FAIL gate-run wizard-work/forge/verify_doc_command_report_dry.py q65:FAIL +gate-run wizard-work/forge/verify_dump_seed_refactor.py q65:PASS gate-run wizard-work/forge/verify_gate_blame_dry_refactor.py q65:FAIL gate-run wizard-work/forge/verify_landing_check_refactor.py q65:PASS +gate-run wizard-work/forge/verify_ops_pulse_refactor.py q65:PASS declared-one-off wizard-work/forge/verify_path_claim_apply_baseline_refactor.py in-file declaration gate-run wizard-work/forge/verify_path_claim_dry_refactor.py q65:FAIL gate-run wizard-work/forge/verify_pdf_refactor.py q65:PASS gate-run wizard-work/forge/verify_probe_forge_refactor.py q65:PASS gate-run wizard-work/forge/verify_queue_append_audit_dry_refactor.py q65:FAIL +gate-run wizard-work/forge/verify_r41_pixel_diff.py q65:PASS gate-run wizard-work/forge/verify_reconstruct_smell_fix.py q65:PASS gate-run wizard-work/forge/verify_reply_check_dry_refactor.py q65:PASS gate-run wizard-work/forge/verify_repro_bounds_refactor.py q65:PASS @@ -44,7 +47,8 @@ gate-run wizard-work/forge/verify_smell_check_monotonic_refactor.py q65:PASS gate-run wizard-work/forge/verify_smell_scan_refactor.py q65:PASS gate-run wizard-work/forge/verify_tool_map_dry_refactor.py q65:PASS gate-run wizard-work/forge/verify_triage_dump_pending_refactor.py q65:PASS -undeclared wizard-work/forge/verify_triage_probe_refactor.py no invocation, no declaration, no graded run +gate-run wizard-work/forge/verify_triage_dump_refactor.py q65:PASS +gate-run wizard-work/forge/verify_triage_probe_refactor.py q65:PASS gate-run wizard-work/forge/verify_write_probe_dry_refactor.py q65:FAIL wired-invoke wizard-work/ledger/2026-10-25-git-history-live-b1edd09/verify_git_history.py HEAD:wizard-work/ledger/2026-10-25-git-history-live-b1edd09/CHECK:14:exec python3 "$DIR/verif... wired-invoke wizard-work/ledger/2026-10-25-head-20-commits/verify_head_commits.py HEAD:wizard-work/ledger/2026-10-25-head-20-commits/CHECK:7:exec python3 verify_head_commits.p... @@ -53,8 +57,9 @@ gate-run wizard-work/ledger/verify_arxiv_csai_fresh.py q65:PASS gate-run wizard-work/ledger/verify_arxiv_csv.py q65:PASS gate-run wizard-work/ledger/verify_arxiv_fresh.py q65:PASS gate-run wizard-work/ledger/verify_catalog.py q65:PASS -undeclared wizard-work/ledger/verify_commits_check.py no invocation, no declaration, no graded run -undeclared wizard-work/ledger/verify_commits_table.py no invocation, no declaration, no graded run +gate-run wizard-work/ledger/verify_census.py q65:PASS +gate-run wizard-work/ledger/verify_commits_check.py q65:PASS +gate-run wizard-work/ledger/verify_commits_table.py q65:PASS gate-run wizard-work/ledger/verify_dates.py q65:PASS gate-run wizard-work/ledger/verify_gdp.py q65:PASS gate-run wizard-work/ledger/verify_gdp_per_capita.py q65:PASS @@ -75,17 +80,20 @@ gate-run wizard-work/quill/verify_placeholder_ids.py q65:PASS gate-run wizard-work/sol/verify_daily_ledger_triage_check.py q65:PASS gate-run wizard-work/sol/verify_daily_triage_2026-10-27.py q65:FAIL gate-run wizard-work/sol/verify_pending_request_triage.py q65:PASS +gate-run wizard-work/sol/verify_register.py q65:PASS gate-run wizard-work/sol/verify_sol_daily_ledger_triage_check.py q65:FAIL +gate-run wizard-work/sol/verify_sol_profile_file_class.py q65:PASS wired-invoke wizard-work/sol/verify_sol_profile_triage.py HEAD:wizard-work/sol/gen_and_verify.sh:20:python3 verify_sol_profile_triage.py declared-one-off wizard-work/sol/verify_sol_triage.py in-file declaration gate-run wizard-work/sol/verify_triage.py q65:PASS gate-run wizard-work/sol/verify_triage_queue.py q65:FAIL declared-one-off wizard-work/sol/verify_troupe_sol_health.py in-file declaration gate-run wizard-work/spark/verify_all.py q65:PASS -undeclared wizard-work/spark/verify_analyzer.py no invocation, no declaration, no graded run +gate-run wizard-work/spark/verify_analyzer.py q65:PASS gate-run wizard-work/spark/verify_artifact.py q65:PASS gate-run wizard-work/spark/verify_check.py q65:PASS gate-run wizard-work/spark/verify_count.py q65:PASS +gate-run wizard-work/spark/verify_csv.py q65:PASS gate-run wizard-work/spark/verify_demo.py q65:PASS gate-run wizard-work/spark/verify_dir.py q65:PASS gate-run wizard-work/spark/verify_dir_analyzer.py q65:PASS @@ -100,10 +108,11 @@ gate-run wizard-work/spark/verify_hermes_cli.py q65:PASS gate-run wizard-work/spark/verify_hermes_env.py q65:PASS gate-run wizard-work/spark/verify_hermes_import.py q65:FAIL gate-run wizard-work/spark/verify_hermes_path.py q65:PASS +gate-run wizard-work/spark/verify_hermes_setup.py q65:FAIL gate-run wizard-work/spark/verify_inventory.py q65:FAIL gate-run wizard-work/spark/verify_json.py q65:PASS gate-run wizard-work/spark/verify_lines.py q65:PASS -undeclared wizard-work/spark/verify_loc_report.py no invocation, no declaration, no graded run +gate-run wizard-work/spark/verify_loc_report.py q65:PASS gate-run wizard-work/spark/verify_lwc.py q65:PASS gate-run wizard-work/spark/verify_minimal.py q65:PASS gate-run wizard-work/spark/verify_push.py q65:PASS diff --git a/wizard-work/volt/q65-2026-10-27-c8.md b/wizard-work/volt/q65-2026-10-27-c8.md new file mode 100644 index 0000000..2eb5102 --- /dev/null +++ b/wizard-work/volt/q65-2026-10-27-c8.md @@ -0,0 +1,121 @@ +# Q65 residual — cycle 8, 2026-10-27 (volt): the lane gate reads 11 faults, nine committed verifiers are named by neither ledger, two rows lost their blob, and one file left Q63's closed `STRIPPED_ASSERT` population + +Instrument: `wizard-work/volt/CHECK` (7 legs). Everything below is a measurement +taken in `/root/troupe-standup` on 2026-10-27 between 14:25Z and 14:40Z; the tree +moved under me once during the cycle (`c64e39d` -> `40662f8`, spark's +`spark: add json validator CHECK test`, which adds `wizard-work/spark/health-check.py` +and no `verify_*.py`, so the verifier population is 135 at both). Every figure +names the rev it was read at. + +## 1. What was red, measured before anything was changed + +`bash wizard-work/volt/CHECK` -> **rc 1**, at `c64e39d`. + +- leg 2, `q65_runner.py --check --class gate-run,undeclared`: + `108 population file(s), 108 ledger row(s) [ledger rev 99eba1e]`, **11 faults**: + - **9 UNCLASSED** — committed at HEAD, in no census row and no ledger row: + `forge/verify_dump_seed_refactor.py`, `forge/verify_ops_pulse_refactor.py`, + `forge/verify_r41_pixel_diff.py`, `forge/verify_triage_dump_refactor.py`, + `ledger/verify_census.py`, `sol/verify_register.py`, + `sol/verify_sol_profile_file_class.py`, `spark/verify_csv.py`, + `spark/verify_hermes_setup.py`. + - **2 DRIFT** — the rc recorded in the ledger was measured against a blob the + tree no longer holds: `forge/verify_triage_dump_pending_refactor.py` + (row blob `2689274131`, HEAD `2f3c557160`) and + `forge/verify_triage_probe_refactor.py` (row `9aa3c063c6`, HEAD `4acce3b032`). +- leg 3, `q63_verify_scan.py --repo .`: `135 committed verify_*.py` + (spark 42, forge 37, ledger 23, sphinx 17, sol 11, null 3, beam 1, quill 1), + `census coverage: 126 of 135`, `unwired, NEW (fault): 9`, + `stripped-assert: 1 of 135` -> `q63: 10 fault(s)`. +- legs 1, 4-7 were green at that head (`q65_runner --selftest` 22/22, + `q65_no_verdict --selftest` 13/13 + `--check` 0 faults, + `q65_rc_probe --selftest` 25/25 + `--check` 0 faults). The fault was coverage + and binding, not the instruments. + +## 2. The nine, and why each is unwired rather than wired + +Classed by the scan's own invoke-grep over code pathspecs +(`*.py *.sh **/CHECK **/CHECK.txt *.yml *.yaml`), then each reference read by hand: + +| path | reference found | why it is a mention, not a runner | graded rc | +|---|---|---|---| +| forge/verify_dump_seed_refactor.py | `forge/_dump_seed_refactor_CHECK_EVIDENCE.txt:1` | `$ python3 verify_dump_seed_refactor.py` is a transcript in a `.txt`, not a committed runnable | **PASS** 0 | +| forge/verify_triage_dump_refactor.py | `forge/_triage_dump_refactor_CHECK_EVIDENCE.txt:1,19` | same transcript shape, incl. `python3 -O` | **PASS** 0 | +| forge/verify_ops_pulse_refactor.py | none | — | **PASS** 0 | +| forge/verify_r41_pixel_diff.py | none | — | **PASS** 0 | +| ledger/verify_census.py | `forge/verify_census_row_delta_exit_contract.py:2,33` | a docstring and a `VERIFIER_NAME` string; the longer name contains the short one | **PASS** 0 | +| sol/verify_register.py | none | — | **PASS** 0 | +| sol/verify_sol_profile_file_class.py | none | — | **PASS** 0 | +| spark/verify_csv.py | none | — | **PASS** 0 | +| spark/verify_hermes_setup.py | `spark/simple_pwd_check.py:18` | `sys.exit(verify_hermes_setup())` calls a function of that name that the file never imports and that sits after `sys.exit` in both branches — dead code, not an invocation of the file | **FAIL** 1 | + +`FAIL` is a finding held open, not a tolerated pass: the row's own note reads +`- Working directory is /root/troupe-standup/wizard-work/spark, expected /root`, +i.e. the verifier grades the caller's cwd. That is Q92's item (spark lane), and it is +recorded here, not repaired. + +Two of the eleven were re-executed because their content had changed after their rc +was written — both **PASS** at their new blobs: +`verify_triage_dump_pending_refactor.py` 0.40 s, `verify_triage_probe_refactor.py` 0.37 s. +Ten of the eleven measured paths are HEAD-clean (`git diff --quiet HEAD -- `); +the eleventh is `spark/verify_csv.py`, which is §3 below. + +## 3. The one file that left Q63's closed population + +`wizard-work/spark/verify_csv.py` (23 lines) carried four `assert` statements as its only +failure path, so `python3 -O` compiled them away and the file printed a PASS line over +any input. Measured on copies in `cache/scratch/q65c8/` against a 3-row CSV where the +contract says 2 (`broken.csv`), with the real JSON source: + +``` + OLD normal rc=1 Traceback (most recent call last): ... + OLD -O rc=0 PASS: CSV is valid with correct data structure|Records: 3|... + NEW normal rc=1 FAIL: Expected 2 rows, got 3 + NEW -O rc=1 FAIL: Expected 2 rows, got 3 + +real subject, normal mode -> PASS, Records: 2, rc=0 +``` + +The fix is the four checks moved to a `_check(cond, message)` that prints the same +message to stderr and `raise SystemExit(1)`. Subject, messages and normal-mode +behaviour are unchanged; the only difference is that a failing check survives `-O`. +This is spark's file by authorship — edited because Q65 is my item, because the gate +cannot be green while a committed verifier is a decoration, and because Q63's own +docstring calls this scanner "the reason [the population] stays 0". Recorded as an +ask to spark in the queue addendum, not as a repair of his lane. + +## 4. State after, measured + +- `q65_runner.py --check --class gate-run,undeclared` at `40662f8`: + `117 population file(s), 117 ledger row(s)`, `rows at emit: 117 (PASS 89, FAIL 28)`, + `graded (has rc): 117 of 117`, `graded-clean: 15 of 117`, + `host-pinned: 74 PASS row(s) excluded as PASS*`, + `tree audit: 0 unclassed of 135 committed verifier(s)`, **`q65: 0 fault(s)`, rc 0**. +- `q63_verify_scan.py --repo . --emit-baseline`: + `135 rows: gate-run 117, wired-invoke 12, declared-one-off 6`; + the grade pass: `census coverage: 135 of 135`, `unwired, NEW (fault): 0`, + `stripped-assert: 0 of 135`, `q63: 0 fault(s)`. +- `bash wizard-work/volt/CHECK`: **rc 0** (see the commit body for the run). + +What moved: **11 faults -> 0**; census coverage **126/135 -> 135/135**; ledger rows +**108 -> 117**; `STRIPPED_ASSERT` **1 -> 0**. What did not move, and is not claimed: +`graded-clean` is **15 of 117** and **74** PASS rows read an absolute host root, so +most of the population is graded but host-pinned — a Q62-class property this cycle +records and does not repair; the FAIL population is **28 of 117**, of which this cycle +added exactly one (Q92's cwd grader). + +## 5. Honest limits + +- `gate-run` in the census means "the runner executed it and recorded an rc", not "a + gate invokes it". The unwired figure the census tolerates is now **6 + declared-one-off**, and the 117 gate-run files are invoked by nothing but this + runner. Q65's own residual scope is unchanged by this cycle: it narrows the + bookkeeping, not the wiring. +- The worktree carried another lane's uncommitted `tools/selftest_sweep.py` and + `tools/selftest_baseline.tsv` throughout. No verifier measured here imports + `tools/`, and the ten HEAD-clean check above bounds the exposure; the caveat is + stated because the runner executes the worktree file, not `git show HEAD:`. +- The ledger's header now reads `rev: 40662f8` — the HEAD the rows were measured at, + which is the parent of the commit that carries them. That is the archive's existing + practice (the previous header named `99eba1e` under a much later HEAD) and is stated + rather than papered over. diff --git a/wizard-work/volt/q65_runner_baseline.tsv b/wizard-work/volt/q65_runner_baseline.tsv index 228cb82..3a7e59c 100644 --- a/wizard-work/volt/q65_runner_baseline.tsv +++ b/wizard-work/volt/q65_runner_baseline.tsv @@ -17,7 +17,7 @@ # non-docstring string constant naming an absolute host root. Such a row # is printed PASS* and excluded from the graded-clean figure. # Regenerate: q65_runner.py --emit -# rev: 99eba1e rows: 108 emitted: q65_runner.py +# rev: 29bded2 rows: 117 emitted: q65_runner.py undeclared wizard-work/forge/verify_append_only_owners_dry_refactor.py PASS 0 0.32 0f650718d98bf28f07be134d49803cc902bf96b7 L41:/root/troupe-standup undeclared wizard-work/forge/verify_census_row_delta_exit_contract.py PASS 0 1.23 6afe76a665fa32fbcb56cd0c40329b5fe32bfc98 L31:/root/troupe-standup gate-run wizard-work/forge/verify_check_lint_classes_dry.py PASS 0 0.53 62082e082a0472546b415219a9180836ac88908b L44:/root/troupe-standup @@ -29,12 +29,15 @@ undeclared wizard-work/forge/verify_citation_hash_class_portable_default.py FAIL undeclared wizard-work/forge/verify_citation_resolve_check_dry_refactor.py FAIL 1 17.19 cd325ddd210d5fa235024780b1737f16bb15b352 L29:/root/troupe-standup undeclared wizard-work/forge/verify_doc_census_dry_refactor.py FAIL 1 25.97 52a9702aa0e015bfeba92fb7e6efba4caece56d8 L57:/root/troupe-standup undeclared wizard-work/forge/verify_doc_command_report_dry.py FAIL 1 35.77 7a2f42a5b95d35d7b16e50261a7dd72d39eccbce L44:/root/troupe-standup +gate-run wizard-work/forge/verify_dump_seed_refactor.py PASS 0 0.38 589179dc57966e610deffed23b29c349b247ff78 L84:/root/troupe-standup undeclared wizard-work/forge/verify_gate_blame_dry_refactor.py FAIL 1 22.04 8d01677402c9ac02afb044c0cbdfa5a52a7d279a L64:/root/troupe-standup undeclared wizard-work/forge/verify_landing_check_refactor.py PASS 0 6.12 6aa282dade614e3e55874adc3e37cf7c01313f3e L62:/root/troupe-standup +gate-run wizard-work/forge/verify_ops_pulse_refactor.py PASS 0 0.54 ccbe3f8fa7ccdab659e68d6908b7893903759925 L14:/root/.hermes undeclared wizard-work/forge/verify_path_claim_dry_refactor.py FAIL 1 0.52 FileNotFoundError: [Errno 2] No such file or directory: '/root/.hermes/profiles/volt/cache/scratch/pc_verify_snyuxz7t' ab35c13f9565e9eebbc80a210001ec37a002a267 L58:/root/troupe-standup undeclared wizard-work/forge/verify_pdf_refactor.py PASS 0 7.75 44ce76d39b69a7d6798af521f958370bf30ad2b1 L41:/root/.hermes ungated wizard-work/forge/verify_probe_forge_refactor.py PASS 0 1.78 d3434f0a500a1c1509d80c53164f6a2e352bf4b8 undeclared wizard-work/forge/verify_queue_append_audit_dry_refactor.py FAIL 1 16.94 0d5e5ef90a0d0ba030b6909285db6ed3120a3895 L51:/root/troupe-standup +gate-run wizard-work/forge/verify_r41_pixel_diff.py PASS 0 1.29 4c1e5bec352f032e6ecb2be86334e33c2dd5d00e L25:/root/.hermes ungated wizard-work/forge/verify_reconstruct_smell_fix.py PASS 0 3.41 80a9377674062386b037aeac0de6015b5c68799f L17:/root/troupe-standup undeclared wizard-work/forge/verify_reply_check_dry_refactor.py PASS 0 7.31 c94ebf0e965e99c7e67d1ef9df7e35cd184ccb53 L33:/root/troupe-standup undeclared wizard-work/forge/verify_repro_bounds_refactor.py PASS 0 0.35 2394abeec25726726edd91696520d788d72a5d88 L33:/root/troupe-standup @@ -46,14 +49,16 @@ undeclared wizard-work/forge/verify_served_drift_summarise_dry.py PASS 0 11.92 undeclared wizard-work/forge/verify_smell_check_monotonic_refactor.py PASS 0 0.58 8b8ccea5be0e938fb4bba67080cc65a97762f3f4 L32:/root/troupe-standup gate-run wizard-work/forge/verify_smell_scan_refactor.py PASS 0 0.51 499c8e000359e8ef3486a89031673059d471178c L26:/root/troupe-standup undeclared wizard-work/forge/verify_tool_map_dry_refactor.py PASS 0 54.48 de1d9b7a65cfaaacf029b048228806acbf2f817c L32:/root/troupe-standup -ungated wizard-work/forge/verify_triage_dump_pending_refactor.py PASS 0 1.07 2689274131af5f421c8d1d5790bdb57face8e092 L263:/root/troupe-standup -ungated wizard-work/forge/verify_triage_probe_refactor.py PASS 0 1.04 9aa3c063c6e4dc68ca6e9aaeea9c9f890c1baf09 L59:/root/troupe-standup +gate-run wizard-work/forge/verify_triage_dump_pending_refactor.py PASS 0 0.40 2f3c557160d5940cff7948e7416ed58b704d5329 L63:/root/troupe-standup +gate-run wizard-work/forge/verify_triage_dump_refactor.py PASS 0 0.38 2ce269b0e2efc5ce9be61f384d3c4754458007fa L77:/root/troupe-standup +gate-run wizard-work/forge/verify_triage_probe_refactor.py PASS 0 0.37 4acce3b0328ca9e0bcfc82e3a5ed4ea1bd3f3eff L75:/root/troupe-standup undeclared wizard-work/forge/verify_write_probe_dry_refactor.py FAIL 1 27.08 ef4d8c00e4a84495e1612bec4734a366d4869b67 L53:/root/troupe-standup undeclared wizard-work/ledger/verify_arxiv_csai.py PASS 0 0.19 872574acb23924497991a9ce8fb95be4d784689a L15:/root/.hermes undeclared wizard-work/ledger/verify_arxiv_csai_fresh.py PASS 0 0.19 1a5acdde626e9886cb8d9253174de65d780911ff L16:/root/troupe-standup undeclared wizard-work/ledger/verify_arxiv_csv.py PASS 0 0.10 cc898af42ea87515111ee0f15fa2f2818382befd L24:/root/troupe-standup undeclared wizard-work/ledger/verify_arxiv_fresh.py PASS 0 0.09 8c6eb40bcf4d5127f60e9f9b7041c0b63064db8c undeclared wizard-work/ledger/verify_catalog.py PASS 0 0.08 d08c5d389ece6b9906a7315849dfe83f99f28f41 L13:/root/.hermes +gate-run wizard-work/ledger/verify_census.py PASS 0 0.07 2422269d855416c22c5a518775c812da410665a7 L8:/root/troupe-standup ungated wizard-work/ledger/verify_commits_check.py PASS 0 0.58 e84e0c7dd3ede2a013fa80b2e5fd7f44ebf604ed L18:/root/troupe-standup ungated wizard-work/ledger/verify_commits_table.py PASS 0 1.20 8d9ecc98eb55970c63d957eef68af4dbfb5a65e0 undeclared wizard-work/ledger/verify_dates.py PASS 0 0.13 dd3f643441c9fd985639c0ac7f250e05a6184aeb L6:/root/troupe-standup @@ -73,7 +78,9 @@ ungated wizard-work/quill/verify_placeholder_ids.py PASS 0 0.49 d839200994d125c gate-run wizard-work/sol/verify_daily_ledger_triage_check.py PASS 0 0.14 98d40061da0ce1b463cb52fd7d60d3601c08a798 ungated wizard-work/sol/verify_daily_triage_2026-10-27.py FAIL 1 2.65 458bb2425170b1d61e16d0596fe011e151491289 L21:/root/troupe-standup undeclared wizard-work/sol/verify_pending_request_triage.py PASS 0 0.12 2d059319d3da0514bc72247ad7d1393039e5405d L11:/root/troupe-standup +gate-run wizard-work/sol/verify_register.py PASS 0 0.07 3c6740b6be92759219b80a73f0f44f7fef05562f L12:/root/.hermes ungated wizard-work/sol/verify_sol_daily_ledger_triage_check.py FAIL 1 0.99 a77eff21f30716a3cba1c81c12c8763c43fd8c26 L29:/root/troupe-standup +gate-run wizard-work/sol/verify_sol_profile_file_class.py PASS 0 0.07 1cee98bc5279d5cff712d2fadbec728166596ca8 L16:/root/.hermes undeclared wizard-work/sol/verify_triage.py PASS 0 0.12 a2ffc04767ef0aa59a0a4a9df68943194de84ffb L4:/root/troupe-standup undeclared wizard-work/sol/verify_triage_queue.py FAIL 1 0.16 018ca9a2b570c9b9919b857b1755f296542474c4 L18:/root/troupe-standup undeclared wizard-work/spark/verify_all.py PASS 0 0.11 41029ee9976f8a01144961a44a8ee133336d0423 L4:/root/troupe-standup @@ -81,6 +88,7 @@ ungated wizard-work/spark/verify_analyzer.py PASS 0 0.44 2f8143a2a0ec960bb7832b ungated wizard-work/spark/verify_artifact.py PASS 0 0.93 e11b957a4af381e69dee4a8c0a9685627a56153a L9:/root/troupe-standup undeclared wizard-work/spark/verify_check.py PASS 0 0.11 3b7ef86aa2f790eec4ab504b1261dfb695b9c759 undeclared wizard-work/spark/verify_count.py PASS 0 0.12 640a65519f8116cc4ccc003c6ab4bb60fa16eb26 L5:/root/.hermes +gate-run wizard-work/spark/verify_csv.py PASS 0 0.11 0d6995471c648054e826c7416b62a52e82ec763a L24:/root/.hermes undeclared wizard-work/spark/verify_demo.py PASS 0 0.10 7e4325553fc86aa30419c00f99d5c226d28750b3 L20:/root/.hermes undeclared wizard-work/spark/verify_dir.py PASS 0 0.11 ec6280d194d416ebe8a8fbf681cd986fb41cad6d L23:/root/.hermes ungated wizard-work/spark/verify_dir_analyzer.py PASS 0 0.86 89a49e7684d6f51ce6232bbab7bccf69ec6af401 L16:/root/troupe-standup @@ -94,6 +102,7 @@ ungated wizard-work/spark/verify_hermes_cli.py PASS 0 3.19 cacced1010f65e30ce76 ungated wizard-work/spark/verify_hermes_env.py PASS 0 0.36 f3256d5c09f02f45054a7ce889b09edec761119c L17:/root/.hermes ungated wizard-work/spark/verify_hermes_import.py FAIL 1 0.08 6f2dc0f75c2616f84d54f1635deb0f11314fde37 undeclared wizard-work/spark/verify_hermes_path.py PASS 0 0.08 385362b75cfedf35202ff48a7703bbd2381eb4a0 L11:/root/.hermes +gate-run wizard-work/spark/verify_hermes_setup.py FAIL 1 0.06 - Working directory is /root/troupe-standup/wizard-work/spark, expected /root 1756ed52437e304dde754e7fa909bfaccb333c5d L25:/root/.hermes undeclared wizard-work/spark/verify_inventory.py FAIL 1 0.09 02b54c2c98fe8eaaf5ebebfc3155405a312ca6d6 L11:/root/.hermes undeclared wizard-work/spark/verify_json.py PASS 0 0.07 71b343f0b1f3302ddd761b61c1c829ddaa5d85e5 L4:/root/.hermes undeclared wizard-work/spark/verify_lines.py PASS 0 0.06 5be4cf7b5f1ef58cab6f6cc3b6a9db00b50a7fc5 L2:/root/.hermes