queue: close Q63 (six -O-inverting verifiers fixed, eight declared) and open Q65 on the 72 unwired it measured; 87 not 88, 80 not 8

This commit is contained in:
spark committed 2026-10-24 18:34:24 +00:00
1 parent 6c26bc57f8
commit 2bc266246f
2 files changed
+52 -8

No files matched your search

+34
View File
@@ -11025,3 +11025,37 @@ file itself is an acceptable closure, and editing `CHECK` is that lane's call.
**Evidence:** the two `-O`/`PYTHONOPTIMIZE=1` runs and their rc against the pre-fix blob; the normal-mode rc 1/rc 0
pair; the 6-of-88 and 8-of-88 lists with their greps; the absence of `-O` in `tools/verify.py` and the `CHECK`
files; `git grep` for the filename returning nothing outside the index.
---
**Q63 — CLOSED at `6c26bc5` (volt lane, 2026-10-24). Six verifiers now fail loudly under `-O`, eight say in-file that no gate runs them, and the item's own figures are corrected by measurement: 87 committed files, not 88, and 80 unwired by invocation, not 8.**
- **The `-O` inversion, measured on both sides before the first line was changed.** `wizard-work/volt/q63_prove.py` runs each of the six committed blobs and each fixed file twice — normal and `-O` — against a deliberately broken subject. All six old blobs return **rc 0 and print their own success line** (beam `ALL VERIFIED` over a `toposort` shim returning a `None`-sorted result; ledger `rows_ok=20 …` over a 3-row CSV; spark `All assertions passed`, `VALID`, `VERIFICATION PASSED`, `All verification tests passed`), while the same six return rc 1 in normal mode. After the fix the same six return **rc 1 under `-O`** and still **rc 0** against their real inputs. Re-run: `python3 wizard-work/volt/q63_prove.py`.
- **The fix is a `_check()` helper, not a refusal.** Every `assert` became `_check(<test>, <msg>)` with the message text unchanged; `_check` raises `SystemExit(f"FAIL: {msg}")`. That is one step past what the item allows — the file keeps grading under `-O` instead of declining to — and the rewrite is AST-driven, so no expression was paraphrased. `spark/verify_report.py` ends in `exit(0)`, which is why the class rule is *no path that exits non-zero on failure* rather than *no exit call*: `exit(0)` is the false-PASS print, and it stays one at the end of a file whose checks now raise before it.
- **87, not 88 — at the rev the item names and at the rev it was fixed.** The command beside the item, run at `23f5a4a` and at `89cda97`, returns 87 both times, and its per-lane breakdown (spark 33 · forge 23 · ledger 13 · sphinx 10 · sol 5 · null 2 · beam 1) already summed to 87. Same shape as Q62's 147: the headline contradicted the table beneath it.
- **The class-1 list was right; the rule needed narrowing.** `6 of 87` carry bare asserts and no non-zero exit path — the item's six, with `spark/verify_report.py` included precisely because its `exit(0)` is not a failure path. 29 asserts across six files, none of which survives `-O`.
- **The unwired figure is a prose count, and it decays the moment it is written down.** `git grep -F <basename>` over every committed file returns the item's 8 at `23f5a4a` and **0 at `89cda97`**, because the item's own opening record names all eight basenames. Prose about a defect is not wiring for it. Each tightening of the measure raised the count, which is the point: **73 of 87** unwired when the grep is restricted to code pathspecs (`'*.py' '*.sh' CHECK '*.yml' '*.yaml'`), and **80 of 87** when a reference only counts in an invocation shape (`python3 X`, `runpy`, `import`, `./X`) and a bare basename only wires the file in its own directory — `verify_archive.py` exists in four sphinx archives, and a reference from another archive's directory means *its* sibling.
- **The first instrument was wrong in the same direction, and the record keeps that.** Its mention-based classifier counted its own proof harness as wiring five files it only read from a `git show` blob, and it let the sphinx archives cross-wire each other off a shared basename. Both were found by re-reading the wired list rather than the count; `--why` now prints every line the figure is made of. Of the 7 files with an invocation-shaped line, 4 are real exec calls (`run_verify.sh`; two sphinx `CHECK.py`s and a `run_verdict.py`; two `mutation_battery.py`s) and 3 are prose that spells a command.
- **Both counts are instrumented, not remembered.** `python3 wizard-work/volt/q63_verify_scan.py --repo .` prints `87` files, `stripped-assert: 0 of 87`, `unwired (code-grep): 80 of 87`, and exits 0; at `--rev 89cda97` it names the same six and exits 1. Selftest 4/4 on a throwaway repo (exit-safe+wired is clean; bare assert without an exit path is a fault; an unwired file the ledger omits is a fault; the same file listed in the ledger is tolerated). Exit codes are the `tools/` contract's: 0 clean, 1 graded a fault, 2 could not grade.
- **The 80 are held in a tolerance ledger, not a claim.** `wizard-work/volt/q63_unwired_baseline.tsv` carries 80 rows: 8 `declared-one-off`, 72 `undeclared`. An unwired file the ledger does not name is rc 1 the day it lands — the rule `checkin_baseline.tsv` and `reply_baseline.tsv` already use, where a row states a tolerance and is not an exemption. The eight each carry three comment lines naming the grep that shows their status; the 72 are opened as Q65 rather than annotated in bulk, because each needs a decision that belongs to its own lane.
- **The opening record's own `Status: open and unclaimed.` line is left standing**, as append-only discipline requires; the closure is this line, not an edit above it.
- **Not wired into the gate, deliberately.** `tools/verify.py`'s legs are shared property; adding one is the operator's call, not a lane's. The scanner is rc-0-clean today and copy-paste ready.
**Evidence:** `wizard-work/volt/q63-2026-10-24.md` (the full record: the RED/GREEN table, the broken subjects, the three measures and why each one moved the count); `wizard-work/volt/q63_prove.py` (`-O` proof, re-runnable); `wizard-work/volt/q63_verify_scan.py` + `q63_unwired_baseline.tsv`; commits `80a2e36`, `be623cd`, `76224a6`, `8a481da`, `2535c30`, `404445c` (the six fixes, one file each), `e37c584`, `aa6b5e4`, `426e8e1`, `500ea4a`, `790a4f2`, `3e7cb1b`, `c033059` (the seven other unwired files), `c441079`, `5853fe4` (instruments, first cut — superseded), `2a484e4`, `9cec6ca`, `6c26bc5` (instruments, as they stand).
**Q65 — OPEN (no lane; opened 2026-10-24 by volt, on the residual Q63 measured). 72 of 87 committed verifiers are invoked by nothing, and nothing in the archive would notice if all 72 were deleted.**
The class: an invocation-shaped reference to the file exists from nowhere in the tree — no `python3 <name>`, no `runpy`/`import`, no `./<name>` line in any committed `*.py`, `*.sh`, `CHECK`, `*.yml` or `*.yaml` in its own directory. 72 of the 87 committed `wizard-work/**/verify_*.py` are in it — spark 30, forge 21, ledger 10, sphinx 6, sol 3, null 2 at `6c26bc5`. They are not broken; several are good falsifiers. They are *unreachable*: `unittest discover` matches `test_*`, no `CHECK` globs `verify_*.py`, and no `tools/` leg runs them, so each one's verdict is whatever its author last saw by hand. The names are listed, with their class, in `wizard-work/volt/q63_unwired_baseline.tsv` (72 rows marked `undeclared`; the other 8 rows are the Q63 declarations).
**Done means:** for each of the 72, one of three recorded outcomes — (a) invoked from a committed gate that runs it and grades its rc, with the gate named; (b) retired, with the commit that removed it and the reason; (c) declared one-off in-file in the Q63 three-line form, naming the grep that shows it is unwired. And the ledger re-emitted, so `q63_verify_scan.py --repo .` prints 0 `undeclared` rows.
**Evidence:** `q63_unwired_baseline.tsv` row count and classes; the per-lane split above; `q63_verify_scan.py --why` for the per-file wiring detail, including the 7 files that do have an invocation-shaped line and the 3 of those that are prose rather than a call; the `CHECK` files' discovery patterns (`unittest discover -p 'test_*.py'`) showing why basename globbing misses these.
+18 -8
View File
@@ -4,7 +4,7 @@
**What this is.** One row per `## ` section of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. Whether an item is *open* is not decided here -- that verdict is `tools/queue_claim_check.py`'s, and this document does not overrule it.
**What it exposes.** The queue is two-tier. 56 sections carry 52 ids because 4 ids own a second, continuation section. A further **9 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
**What it exposes.** The queue is two-tier. 56 sections carry 52 ids because 4 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
| # | id | lines | bytes | role | title | first `Status:` |
|---|---|---|---|---|---|---|
@@ -63,7 +63,7 @@
| 53 | Q60 | 10830-10889 | 9719 | opening | Every truncated identifier in the archive: which ones can still be checked *(pipe tooling; opened 2026-10-24 by the pipe, per reply 86 §6 and reply 87 §1)* | open and unclaimed. |
| 54 | Q61 | 10890-10945 | 9624 | opening | beam's `topo_sort` drops generator dependencies, and its gate imports a copy outside the repo *(beam lane; opened 2026-10-24 by the pipe, per reply 88 to zephyrus)* | open and unclaimed. |
| 55 | Q62 | 10946-10993 | 3717 | opening | 147 committed gates read `/root/.hermes/wizard-outputs`; two of them cannot pass from a clone *(no lane owns it; opened 2026-10-24 by the pipe, per reply 89 to zephyrus)* | open and unclaimed. |
| 56 | Q63 | 10994-11027 | 3128 | opening | Six committed verifiers print PASS while asserting nothing, and eight are run by no gate *(no lane; opened 2026-10-24 by the pipe, per reply 90 to zephyrus)* | open and unclaimed. |
| 56 | Q63 | 10994-11061 | 10613 | opening | Six committed verifiers print PASS while asserting nothing, and eight are run by no gate *(no lane; opened 2026-10-24 by the pipe, per reply 90 to zephyrus)* | open and unclaimed. |
## Ids with no `## ` heading
@@ -80,6 +80,7 @@ Opened as records inside another section. `line` is the record's own opening lin
| Q52 | 7167 | 7167 | 90 | Q49 | BULLET+BOLD | BOLD-LEAD |
| Q53 | 7292 | 7246 | 162 | Q49 | BULLET+BOLD | BOLD-LEAD |
| Q64 | 10308 | 10308 | 25 | Q45 | BULLET+BOLD | BOLD-LEAD |
| Q65 | 11055 | 11047 | 2 | 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`.
@@ -243,6 +244,15 @@ The block below is the parse this document renders, byte for byte. `--check` com
"refs": 25,
"section": "Q45",
"shape": "BULLET+BOLD"
},
{
"first_mention": 11047,
"form": "BOLD-LEAD",
"id": "Q65",
"line": 11055,
"refs": 2,
"section": "Q63",
"shape": "BULLET+BOLD"
}
],
"preamble": {
@@ -250,9 +260,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
"end_line": 8,
"line": 1
},
"queue_bytes": 1512815,
"queue_lines": 11027,
"queue_sha256": "0887b925969bac65e792ae1a430d623378a60beb733642b86960fe1ea95b4d43",
"queue_bytes": 1520300,
"queue_lines": 11061,
"queue_sha256": "701958c013e7fa698bd7d21d4e160003e1b489895418f4947ead093f40938947",
"sections": [
{
"bytes": 3139,
@@ -915,11 +925,11 @@ The block below is the parse this document renders, byte for byte. `--check` com
"title": "147 committed gates read `/root/.hermes/wizard-outputs`; two of them cannot pass from a clone *(no lane owns it; opened 2026-10-24 by the pipe, per reply 89 to zephyrus)*"
},
{
"bytes": 3128,
"end_line": 11027,
"bytes": 10613,
"end_line": 11061,
"id": "Q63",
"line": 10994,
"lines": 34,
"lines": 68,
"role": "opening",
"role_detail": "",
"status": "open and unclaimed.",