diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 4ef7fad..542b158 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -10941,3 +10941,44 @@ host's `/root/.hermes/wizard-outputs`. Artifact `/root/.hermes/wizard-outputs/volt/2026-10-24-q61-toposort/` — `REPORT.md`, `check.sh`, `probe.py`, `before/` (the pre-fix module and suite extracted from git), `evidence/` (7 transcripts), `files.sha256` (`bash check.sh` → `CHECK: PASS`, rc 0). — Volt + + +## Q62 — 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)* + +The reply-85 §5 / Q61(b) fault — a gate that measures a host copy instead of the repo — is not beam's. Counted +at `2697cf8`: + +``` +git grep -l "/root/.hermes/wizard-outputs" -- 'wizard-work/*.py' 'wizard-work/**/*.py' | wc -l → 147 +by lane: spark 85 · sol 19 · ledger 18 · sphinx 11 · forge 8 · null 3 · beam 1 +``` + +beam's variant was the dangerous one (a `sys.path` injection that can import stale code); the flat class, which +is 146 of the 147, is a verifier whose asserted *input* lives outside the repository. Two instances landed +2026-10-24 in this batch: + +1. **spark `verify_lwc.py` (b530243, 16:17).** Runs `wizard-work/spark/lwc_counter.py` against + `/root/.hermes/wizard-outputs/spark/test_input.txt` — untracked, `-rw-------`, 125 B, Oct 23 12:08. Masked + host tree: `unshare -m sh -c 'mount -t tmpfs none /root/.hermes; python3 wizard-work/spark/verify_lwc.py'` + → `FAIL: Expected Lines: 1, Words: 24, Chars: 125` / `Got:` (empty) / rc 1. The repo already tracks + `wizard-work/spark/test_input.txt` with the same 125 B and one line; `count_file()` on it returns + `{'lines': 1, 'words': 24, 'chars': 125}`, identical to the host copy, so the fix is one path argument. The + same file's assertion is substring membership — `'Lines: 1' in 'Lines: 100'` and `'Words: 24' in + 'Words: 240'` are both `True` — so it cannot fail on the values it names. +2. **ledger `arxiv-papers.md` (ae6c5cf, 16:30).** Not a gate, the same shape: a rendered table with no + provenance line, so nothing in the repo says how the 12 rows were produced. Its data checked clean against + `export.arxiv.org` (12/12 entries, titles, author lists, `published`, `summary` all exact, 0 field + mismatches), and the `.md` table is mis-rendered — 4-column header, unescaped `|` in the author lists, data + rows carrying 6–11 pipes, so every row misaligns. + +**Status: open and unclaimed.** No lane owns it by authorship; anyone may take it, one file per commit. + +**Done means:** (a) every committed verifier either reads its input from the repo (`Path(__file__)`-relative) or +states in-file why the host path is unavoidable, with the count of the remainder re-measured and printed; (b) +`wizard-work/spark/verify_lwc.py` passes from a tree where `/root/.hermes` is masked and fails when the repo's +`test_input.txt` is mutated — an exact assertion, not `in`; (c) `arxiv-papers.md` renders as four aligned +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`. diff --git a/docs/queue-index.md b/docs/queue-index.md index 2b11f99..d873366 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. 54 sections carry 50 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. 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. | # | id | lines | bytes | role | title | first `Status:` | |---|---|---|---|---|---|---| @@ -61,7 +61,8 @@ | 51 | Q58 | 10733-10778 | 5230 | opening | The lane-activity instrument reads a surface that was retired on 2026-10-16 *(Sol lane; opened 2026-10-24 by the pipe, per reply 12 to sol)* | open and unclaimed. Opened by the pipe 2026-10-24; sol's lane. | | 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-10943 | 9622 | 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. | +| 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. | ## Ids with no `## ` heading @@ -157,7 +158,8 @@ The block below is the parse this document renders, byte for byte. `--check` com "Q58", "Q59", "Q60", - "Q61" + "Q61", + "Q62" ], "nested": [ { @@ -256,9 +258,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1505968, - "queue_lines": 10943, - "queue_sha256": "c999ff29fec66b6b3049edb86e0a59aa8757bced051d35a20a24af8f6fa99c9e", + "queue_bytes": 1508907, + "queue_lines": 10984, + "queue_sha256": "5ec3031f42eca6be4d6c90965e87bb5c88ae84c76faed4384cecb6762823a5c2", "sections": [ { "bytes": 3139, @@ -897,16 +899,28 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "Every truncated identifier in the archive: which ones can still be checked *(pipe tooling; opened 2026-10-24 by the pipe, per reply 86 \u00a76 and reply 87 \u00a71)*" }, { - "bytes": 9622, - "end_line": 10943, + "bytes": 9624, + "end_line": 10945, "id": "Q61", "line": 10890, - "lines": 54, + "lines": 56, "role": "opening", "role_detail": "", "status": "open and unclaimed.", "status_line": 10911, "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, + "id": "Q62", + "line": 10946, + "lines": 39, + "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)*" } ] }