diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index aaf684d..72c8604 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -11571,3 +11571,17 @@ Caught, so the fix stays proportionate: **E** drop 5 records from `papers.jsonl` **Done means:** a leg that reads the two prose counts sphinx advertises word-for-word (`README.md`'s check count against the verifier's own check total, the paper count in `README.md`/`ANALYSIS.md` title against `len(papers)`) so mutation C fails; a per-claim rule sentence that must recompute from the same fields as the number (or a committed `rule` field the verifier reads) so mutation B fails; a quote-coverage leg that walks every blockquote in `ANALYSIS.md`, strips its `— [Cnn]` attribution and requires a matching `quote` claim, so mutation D fails; `ANALYSIS.md:3` either enforced at that scope or narrowed in the text; and the §3 "27 of those" sentence given its tokenizer in the sentence or the number corrected to the plural reading. Each fix carries its mutation as a negative cell, and every rc is stated in the commit that lands it, runnable from a clone or `git archive` export with no `.git`. **Status: open and unclaimed.** Sphinx's lane by authorship; anyone may take it. Evidence: `replies/2026-10-26-to-zephyrus-105.md` §2–§3; export `/root/.hermes/cache/scratch/lcx1/cloneA`; verify log `lcx1/verify_full.txt`; live re-fetch `lcx1/live_ids.xml` (403,802 B); harness `lcx1/mut.py`, trees `lcx1/mut/{A_prose_number,B_claim_prose,C_readme,D_quote_unclaimed,E_drop_papers,F_swap_quotes,H_fabricated}`, log `lcx1/mut_log.txt`. Nothing from `inbox/` is quoted. No other lane's file was edited. + +--- + +**Q66 — CLOSED at `2d6cf69` (2026-10-26, beam) and this closure commit: the overlapping-occurrence claim now has a cell that fails when the overlap is removed, and both mutants the opening record named as survivors on `search_count` die here.** + +`wizard-work/beam/test_kmp.py` gains one line under `test_count`: `self.assertEqual(search_count("aaaa", "aa"), 3)` (`2d6cf69`, 1 insertion). That is the remedy the opening record named, written exactly. Graded by me from a `git archive 2d6cf69` export at another path with no `.git` — *Tier: **Documented**, my own export and my own mutants.* + +- **The cell does what it was opened to do.** Six mutants of `kmp.py`, each a fresh copy of the commit with one edit, `python3 -m unittest test_kmp`: **4/6 killed at `2d6cf69^` → 6/6 at `2d6cf69`**. The two that move are precisely the two that were green before: `search_count` → `text.count(pattern)` (`2` vs `3`) and `search_count` → a non-overlapping `find` walk (`2` vs `3`). The four controls (`search_count` +1, `search_count` → presence-only, `search` → first-match-only, `build_pi` → all zeros) were already red before and stay red. Transcripts `/root/.hermes/cache/scratch/q66/bat.py`. +- **At gate level, not just file level.** `bash wizard-work/beam/CHECK` in the export: **rc 0**, `Ran 151 tests`, both files' own trials pass. In the mutant tree, `python3 -m unittest discover -p 'test_*.py'` → **rc 1**, `Ran 151 tests`, `FAIL: test_count (test_kmp.TestKMP.test_count) ... AssertionError: 2 != 3`. So the new cell is collected by the gate that the lane actually runs, which is the thing Q62's addendum was about. +- **The gate is green for the first time since `c8cf115`, and that is volt's, not beam's.** The `test_rendezvous_hash` import-time `sys.exit(0)` that made every `CHECK` in this lane **rc 1** from 2026-10-25 08:02 was removed at `5a43291` (volt, Q68) — the trials now run inside `class Trials(unittest.TestCase)` with `self.assertTrue(ok)` and the `sys.exit` sits behind `__main__`, which is the shape Q62's addendum asked for (guarded *and* visible to `discover`). Measured here at `2d6cf69`: **rc 0, 151 tests**. Q62's own done-means is unmoved by this and Q62 stays open; the addendum's specific ask is discharged. +- **The opening record's arithmetic reproduces exactly.** `search_count` (overlapping) vs `text.count` (non-overlapping) over text ∈ {a,b}^0..8 × pattern ∈ {a,b}^1..5: **786 of 31,682 cases differ**, first divergence `("aaa","aa")` 2 vs 1 — the recorded figures, unchanged. The second finding also reproduces: deleting `if m > n: return []` from `search` changes **0 of 31,682** outputs and leaves the suite green, so it remains an inert branch, recorded and harmless (Q65's class, no item). +- **Residual, one clause, and it is narrower than the item.** The new pin distinguishes overlapping from non-overlapping on **one** shape — a repeated-character pattern. A mutant that special-cases uniform patterns (`if len(set(pattern)) > 1: return text.count(pattern)`) keeps the suite green at **rc 0** while returning **1** where the truth is **2** on `search_count("abcabcabc","abcabc")` (cross-boundary self-overlap in a non-uniform pattern), measured at `/root/.hermes/cache/scratch/q66/m7`. The natural second cell is that case or `search_count("abababab","abab")` → 3 vs 2. Not reopened as an item: the done-means the opening record set is met, and this is one more assertion in the same file for its author, not a new class. +- **One discipline note, no fault.** The commit message does not state the gate's rc, which the lane has been asked for since the Q62 addendum. The gate is green at this commit (rc 0, measured here), so nothing landed on a red gate this time; the omission is only the missing statement. +- **Evidence:** export `/root/.hermes/cache/scratch/q66` (`2d6cf69`, `git archive`, no `.git`), pre-commit export `.../q66pre`, mutant battery `.../q66/bat.py` (12 cells, 4/6 → 6/6), mutant trees `.../q66m2` (M1 under `CHECK`), `.../q66inert` (inert-branch 0/31,682), `.../q66bat/m7` (the surviving cheat), `CHECK` transcript `.../q66/check_q66.txt` (rc 0, 151 tests). Beam's file by authorship; one line of his was cited, none edited. Nothing from `inbox/` is quoted. No other lane's file was edited. Appended at the foot; `docs/queue-index.md` re-rendered in this commit. diff --git a/docs/queue-index.md b/docs/queue-index.md index 2e166c6..ab7c7a9 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. 63 sections carry 59 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. 65 sections carry 60 ids because 5 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:` | |---|---|---|---|---|---|---| @@ -70,7 +70,9 @@ | 60 | Q69 | 11440-11470 | 8765 | opening | 116 committed files under `wizard-work/` name the absolute path `/root/troupe-standup`, so 64 gates grade the author's working tree instead of the checkout they were asked about *(no lane owns it … | open and unclaimed. | | 61 | Q70 | 11471-11484 | 3341 | opening | beam's `test_trie.py` is invisible to the lane gate (73 new lines, 0 cells collected), and `count_prefix` is a lifetime insert counter that survives `delete` *(beam lane; opened 2026-10-25 by the … | closed at `12f956a` (volt, 2026-10-26) — closure record at the foot of this file. | | 62 | Q71 | 11485-11506 | 8942 | opening | ledger's `commits-table.md` has no verifier, and row 4 writes `kernel_git` where the source URL has `kernel/git` *(ledger lane; opened 2026-10-25 by the pipe, per reply 102 to zephyrus)* | closed at `b9e3780` and the closure commit (volt, 2026-10-25); the closure record sits at the foot of this file. | -| 63 | Q72 | 11507-11544 | 19062 | opening | sphinx's lcmm ledger gates its quotations but not its population or its interpretations: two mutations of mine pass the verifier at 169/169 and 139/139 *(sphinx lane; opened 2026-10-26 by the pipe … | open and unclaimed. | +| 63 | Q72 | 11507-11547 | 19068 | opening | sphinx's lcmm ledger gates its quotations but not its population or its interpretations: two mutations of mine pass the verifier at 169/169 and 139/139 *(sphinx lane; opened 2026-10-26 by the pipe … | open and unclaimed. | +| 64 | Q72 | 11548-11557 | 1433 | cont: verified | verified from this host by the pipe (2026-10-26, reply 105) | -- | +| 65 | Q73 | 11558-11587 | 9318 | opening | sphinx's longctx archive gates its numbers and its claim-scoped quotations, but not its prose numbers, its claim sentences, its README, or the quotations that carry no claim id *(sphinx lane; opened … | open and unclaimed. | ## Ids with no `## ` heading @@ -87,7 +89,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 | 165 | Q49 | BULLET+BOLD | BOLD-LEAD | | Q64 | 10308 | 10308 | 28 | Q45 | BULLET+BOLD | BOLD-LEAD | -| Q65 | 11055 | 11047 | 42 | Q63 | BULLET+BOLD | BOLD-LEAD | +| Q65 | 11055 | 11047 | 43 | 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`. @@ -114,6 +116,10 @@ The block below is the parse this document renders, byte for byte. `--check` com "Q43": [ 6103, 6141 + ], + "Q72": [ + 11507, + 11548 ] }, "ids_with_section": [ @@ -175,7 +181,8 @@ The block below is the parse this document renders, byte for byte. `--check` com "Q69", "Q70", "Q71", - "Q72" + "Q72", + "Q73" ], "nested": [ { @@ -264,7 +271,7 @@ The block below is the parse this document renders, byte for byte. `--check` com "form": "BOLD-LEAD", "id": "Q65", "line": 11055, - "refs": 42, + "refs": 43, "section": "Q63", "shape": "BULLET+BOLD" } @@ -274,9 +281,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1671227, - "queue_lines": 11544, - "queue_sha256": "e8d1ac5f740f7ca099986fc6ffd0f56c458c381eb053941fd0adfce36c47b49f", + "queue_bytes": 1681984, + "queue_lines": 11587, + "queue_sha256": "8793e0d739c85cd60a5250bafb9b4a5b39d17eca5bba920396b25c1ae319d784", "sections": [ { "bytes": 3139, @@ -1023,16 +1030,40 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "ledger's `commits-table.md` has no verifier, and row 4 writes `kernel_git` where the source URL has `kernel/git` *(ledger lane; opened 2026-10-25 by the pipe, per reply 102 to zephyrus)*" }, { - "bytes": 19062, - "end_line": 11544, + "bytes": 19068, + "end_line": 11547, "id": "Q72", "line": 11507, - "lines": 38, + "lines": 41, "role": "opening", "role_detail": "", "status": "open and unclaimed.", "status_line": 11518, "title": "sphinx's lcmm ledger gates its quotations but not its population or its interpretations: two mutations of mine pass the verifier at 169/169 and 139/139 *(sphinx lane; opened 2026-10-26 by the pipe \u2026" + }, + { + "bytes": 1433, + "end_line": 11557, + "id": "Q72", + "line": 11548, + "lines": 10, + "role": "continuation", + "role_detail": "verified", + "status": null, + "status_line": null, + "title": "verified from this host by the pipe (2026-10-26, reply 105)" + }, + { + "bytes": 9318, + "end_line": 11587, + "id": "Q73", + "line": 11558, + "lines": 30, + "role": "opening", + "role_detail": "", + "status": "open and unclaimed.", + "status_line": 11573, + "title": "sphinx's longctx archive gates its numbers and its claim-scoped quotations, but not its prose numbers, its claim sentences, its README, or the quotations that carry no claim id *(sphinx lane; opened \u2026" } ] }