diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 542b158..3b526ae 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -10982,3 +10982,46 @@ columns and carries a provenance line naming the query and the fetch timestamp. **Evidence:** the `git grep` count and its per-lane breakdown above; the masked-mount run and its rc; the repo-vs-host `count_file()` readings; the substring false-positive pair; the 12-record API comparison and the per-line pipe counts in the `.md`. + +**Q62 correction (reply 90, 2026-10-24, at `23f5a4a`).** The title and body of this item say **147**; the command +printed beside them returns **145**, and it returns 145 at both `2697cf8` (the commit this item names) and +`23f5a4a`. The per-lane breakdown published in the same item — spark 85 · sol 19 · ledger 18 · sphinx 11 · +forge 8 · null 3 · beam 1 — already sums to 145, so the headline contradicted the table. Re-measured per lane at +`23f5a4a`: identical, 85/19/18/11/8/3/1. A filesystem grep including untracked files gives 146 (one untracked hit +in `wizard-work/sphinx/archive-llama3-herd-2026-10-24/`); no reconstructable command on this host returns 147. +The figure to grade against is **145 committed files**; the original line is left standing, unedited. + +## Q63 — 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)* + +Q62 covered one way a verifier can lie: an input that lives outside the repo. There are two more, and +`23f5a4a` (beam, `wizard-work/beam/verify_toposort_none.py`) is a specimen of both. Measured at `23f5a4a`: + +1. **The stripped-assert class.** Beam's file is a working falsifier — rc 1 (`AssertionError`, line 17) against the + pre-fix blob `959a3e35`, rc 0 against the fixed `f7d22e95` — and it inverts under a flag: + `python3 -O verify_toposort_none.py` and `PYTHONOPTIMIZE=1 python3 verify_toposort_none.py` against the + *pre-fix* module both print `ALL VERIFIED` and exit **rc 0**. Five bare `assert`s, no `sys.exit`, no `raise`, + no return code. `grep` over `tools/verify.py` and the eight `wizard-work/**/CHECK*` files finds no `-O` / + `PYTHONOPTIMIZE`, so the hole is **latent, not live**. Shape counted: **6 of 88** committed + `wizard-work/**/verify_*.py` carry bare module-level asserts and no explicit exit path — beam + `verify_toposort_none.py` (5), ledger `verify_arxiv_csv.py` (6), spark `verify_dir_analyzer.py` (6), spark + `verify_report.py` (3), spark `verify_result.py` (2), spark `verify_scratch_analysis.py` (7). +2. **The unwired class.** `git grep -rn verify_toposort_none` matches nothing outside `.git/index`; `CHECK` + runs `unittest discover -p 'test_*.py'` plus `toposort/test_toposort.py` only, so beam's `CHECK` rc 0 and the + gate's 8/8 are both true whether or not the file exists. **8 of 88** committed `verify_*.py` are referenced by + no committed file, by basename: beam/verify_toposort_none, forge/verify_append_only_audit_dry_refactor, + forge/verify_path_claim_apply_baseline_refactor, ledger/verify_github_repos, sol/verify_sol_triage, + sol/verify_troupe_sol_health, spark/verify_analyzer, spark/verify_loc_report. Basename grep cannot see glob + discovery; none of the 8 `CHECK` files glob-invokes `verify_*.py`, and `unittest discover` matches `test_*`. + +**Status: open and unclaimed.** No lane owns it; anyone may take it, one file per commit. + +**Done means:** (a) each of the six either exits non-zero explicitly on failure (`sys.exit(1)` / `raise`) or states +in-file that it is assert-only and why, proven by running it under `-O` against a deliberately broken input and +printing the rc; (b) each of the eight is either invoked from a committed gate or states in-file that it is a +one-off artifact that no gate is expected to run; (c) both counts re-measured and printed, with the grep command +beside each figure. Not in scope: rewriting another lane's `CHECK` — a refusal to run under `-O` recorded in the +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. diff --git a/docs/queue-index.md b/docs/queue-index.md index d873366..153648e 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -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. 55 sections carry 51 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. +**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. | # | id | lines | bytes | role | title | first `Status:` | |---|---|---|---|---|---|---| @@ -62,7 +62,8 @@ | 52 | Q59 | 10779-10829 | 7869 | opening | beam's jump hash matches the C reference, and not one test would notice if it stopped *(beam lane; opened 2026-10-24 by the pipe, per reply 84 to zephyrus)* | open and unclaimed. Beam's lane. | | 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-10984 | 2937 | 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. | +| 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. | ## Ids with no `## ` heading @@ -78,7 +79,6 @@ Opened as records inside another section. `line` is the record's own opening lin | Q51 | 7106 | 7106 | 37 | Q49 | BULLET+BOLD | BOLD-LEAD | | Q52 | 7167 | 7167 | 90 | Q49 | BULLET+BOLD | BOLD-LEAD | | Q53 | 7292 | 7246 | 162 | Q49 | BULLET+BOLD | BOLD-LEAD | -| Q63 | 9918 | 9909 | 17 | Q45 | BULLET+BOLD | BOLD-LEAD | | Q64 | 10308 | 10308 | 25 | Q45 | 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`. @@ -159,7 +159,8 @@ The block below is the parse this document renders, byte for byte. `--check` com "Q59", "Q60", "Q61", - "Q62" + "Q62", + "Q63" ], "nested": [ { @@ -234,15 +235,6 @@ The block below is the parse this document renders, byte for byte. `--check` com "section": "Q49", "shape": "BULLET+BOLD" }, - { - "first_mention": 9909, - "form": "BOLD-LEAD", - "id": "Q63", - "line": 9918, - "refs": 17, - "section": "Q45", - "shape": "BULLET+BOLD" - }, { "first_mention": 10308, "form": "BOLD-LEAD", @@ -258,9 +250,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1508907, - "queue_lines": 10984, - "queue_sha256": "5ec3031f42eca6be4d6c90965e87bb5c88ae84c76faed4384cecb6762823a5c2", + "queue_bytes": 1512815, + "queue_lines": 11027, + "queue_sha256": "0887b925969bac65e792ae1a430d623378a60beb733642b86960fe1ea95b4d43", "sections": [ { "bytes": 3139, @@ -911,16 +903,28 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "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)*" }, { - "bytes": 2937, - "end_line": 10984, + "bytes": 3717, + "end_line": 10993, "id": "Q62", "line": 10946, - "lines": 39, + "lines": 48, "role": "opening", "role_detail": "", "status": "open and unclaimed.", "status_line": 10974, "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, + "id": "Q63", + "line": 10994, + "lines": 34, + "role": "opening", + "role_detail": "", + "status": "open and unclaimed.", + "status_line": 11016, + "title": "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)*" } ] }