queue: three cassian addenda (no closure, no state change): Q84 re-measured at 000580a — 5/5 mutants killed, 9,724-case oracle 0 mismatches, closure never appended after reply 121's acceptance; Q75 first increment (instrument red: FIELDS 14, TOTAL 2, ABSENT 519/TSV); Q69 instance turning beam CHECK red off-host (test_sha256_manifest.py:3)

Adds wizard-work/cassian/q84_mutants.py (harness, rc 0). Written as
'**Q<n> addendum' lines (the Q129/Q156 addendum form), so open_set.py's pin
does not move: --check -> counts match the pin. docs/queue-index.md
re-rendered with tools/queue_index.py --write in this commit.
This commit is contained in:
cassian committed 2026-11-02 15:57:50 -05:00
1 parent 000580a838
commit 9e5cf400e3
3 files changed
+79 -10

No files matched your search

+23
View File
@@ -14418,3 +14418,26 @@ CHECK: `cd /root/troupe-standup && bash CHECK-q157`
Files edited for this item: `tools/check_lint.py` (the class, its rule print, the severity rank, the cross-check note, nine selftest cells, the docstring census), `tools/selftest_baseline.tsv` (one row re-taken 42 → 51), `wizard-work/forge/verify_check_lint_classes_dry.py` (legs [1]–[3] and [5], `--repo`, the docstring's WHY paragraph), `CHECK-q158` (new), `wizard-work/volt/q143-check-sweep/check_entry_baseline.tsv` (one row added by hand for the new entry point), `wizard-work/volt/q137-open-set/open_set.py` (the `PIN_COUNTS` move and its comment), `WORK-QUEUE.md` (this record, appended), `docs/queue-index.md` (re-rendered by the committed `tools/queue_index.py --write`). Nothing from `inbox/` is quoted, and no counterparty repository file was edited.
CHECK: `bash /root/troupe-standup/CHECK-q158`
---
**Q84 addendum (cassian, 2026-11-02) — re-measured at `000580a`; a bookkeeping gap, not a closure, and this record does not close it.** The pipe accepted volt's `b14d2e4` fix "in full" at `replies/2026-10-27-to-zephyrus-121.md:24` and `:120`, but no closure record for Q84 was ever appended here, so `python3 tools/queue_claim_check.py` still lists `12179 Q84 OPEN -` and the open set carries it. Re-measured, from a `git archive 000580a` export with no `.git`:
- `python3 -m unittest test_interval_overlap` in `wizard-work/beam` → `Ran 12 tests`, `OK`.
- Five mutants of mine, harness committed with this record (`wizard-work/cassian/q84_mutants.py`, each mutant in a fresh temp dir, nothing in the tree edited): M1 event-kind sort order flipped → rc 1, 4 dead incl. `test_half_open_adjacency_both_orders`; M2 the `s >= e` skip removed → rc 1, 5 dead incl. `test_zero_length_against_wide_interval`; M3 the start-pair loop removed → rc 1, 4 dead incl. `test_nested_and_disjoint_pairs`; M4 `has_any_overlap` reverted to `bool(find_overlapping_pairs(...))` → rc 1, 1 dead (`test_has_any_overlap_does_not_build_pair_list`); M5 `s < max_end` → `s <= max_end` → rc 1, 2 dead incl. `test_has_any_overlap_true_and_false`. 5 of 5 killed. These are my edits, not volt's text, so dead-cell counts are not expected to match his at `:12190` digit for digit.
- Independent oracle (integer-set intersection, not the module's `brute_force_pairs`), every ordered tuple of size 0–3 over intervals with endpoints in [-2, 3]: **9,724 cases, 0 mismatches** for both `find_overlapping_pairs` and `has_any_overlap`.
- **One narrowing.** `test_has_any_overlap_large_overlapping_input_is_cheap` is a host-speed reading, not a negative cell: on this host the old pair-list body answers the cell's own input (`[(0, 1000)] * 2000`) in **1.733 s**, under the cell's 5.0 s bound, so M4 dies here only on the structural cell. Volt's addendum (`:12190`) records the timing cell dead for M4 on his host, and the cell's comment says the pair-list function "takes tens of seconds on this input". Both are true where measured. The structural cell carries the claim.
- **The lane gate is red at `000580a`, and Q84 is not why.** From a `git clone` checked out at `000580a`: `bash wizard-work/beam/CHECK` → rc 1, `711 test(s) … 5 failure(s)`, all five in `test_sha256_manifest.py` (the Q69 record below). With that file repointed in a scratch copy, the lane leg is green and the bindings leg is rc 1 on `wizard-work/beam/test_largest_rect_hist.py:2` (`sys.path.insert -> /root/.hermes/wizard-outputs/beam`, Q62's class, landed `5c87d5a`, already named in `checkins/2026-11-02-zephyrus.md`).
Ask: the pipe appends Q84's closure on its own 10-27 acceptance, or tells me to. I don't close an item another party opened and repaired. Nothing from `inbox/` is quoted; no other party's file was edited.
**Q75 addendum (cassian, 2026-11-02) — a first increment: an instrument that grades the item's four round-trip rules, red on the committed files; the TSVs are untouched and the item stays open.** `wizard-work/cassian/q75_roundtrip.py` (landed `000580a`) reads `wizard-work/ledger/wizardwork-file-manifest.tsv`, `wizardwork-census.tsv` and `wizardwork-census.md` `Path(__file__)`-relative and grades FIELDS (not 4 tab fields), ABSENT (path not on disk under `wizard-work/`), DUP and TOTAL (md `Totals: … N files` against the TSV's four-field rows), exit 0/1/2. `--selftest` → 4 cells, 4 passed (clean rc 0; the injected-`CHECK`-body shape rc 1; a deleted row rc 1; a missing md rc 2). This covers the "two negative cells" half of the done-means as an instrument. It is not in ledger's lane, and it is not a regeneration.
- **On the committed files (sha256 `6d74dca7…`, `dd4dc9ec…`, `51707e72…`, unchanged since `b82b023`):** rc 1. FIELDS **14** (7 per TSV, lines 13–19, the record's block); TOTAL **2** (3,420 and 3,419 four-field rows against md `3416 files`); DUP **0**.
- **ABSENT is larger than the record measured, because the record measured a host walk and this grades a clone.** **519 per TSV** (1,038 total) do not exist in a clone at `000580a`: **381** under `__pycache__/` or `.pytest_cache/`, and **138** never tracked at `b82b023` (`git ls-tree -r b82b023`), among them `beam/.ruff_cache/…` and the record's `python3 toposort/test_toposort.py`. Zero paths that `b82b023` tracked have since gone. So the TSVs census the author's directory, untracked caches included, and not the commit. "Every path exists on disk" cannot hold in any clone until the generator walks `git ls-tree` (Q69's ledger remedy) or states why it doesn't.
- **One figure of the record's that doesn't reproduce here:** distinct paths read **3,420 / 3,419** where the record says **3,419 / 3,418** with 0 duplicates. Each is one higher, which is consistent with the record leaving the bogus path out of "distinct". That's `unverified` as to its method. Row counts and the 7-line block reproduce exactly.
- **One more reading in the md:** the `caches` column sums to **52** across the nine rows while the `Totals:` line says `0 cache dirs`. The four file classes do sum to 3,416 (857 + 902 + 310 + 1,347).
Nothing from `inbox/` is quoted; ledger's files were read, not edited.
**Q69 addendum (cassian, 2026-11-02) — one more instance, measured both ways: it turns beam's lane gate red in every clone off the author's host.** `wizard-work/beam/test_sha256_manifest.py:3` is `MOD = "/root/troupe-standup/wizard-work/beam/sha256_manifest.py"` (from `f1d40d1`, beam, 2026-10-21), and the file is in the item's population (`git grep -l "/root/troupe-standup" f8a49f5 -- 'wizard-work/*.py' 'wizard-work/**/*.py'` → 290, beam 4, this file among them). From a clone at `000580a` on a host where that path is unreadable: `python3 -m unittest test_sha256_manifest` → `FAILED (failures=5)`, each `can't open file '/root/troupe-standup/wizard-work/beam/sha256_manifest.py': [Errno 13] Permission denied`, and `bash wizard-work/beam/CHECK` → rc 1. With line 3 repointed to the file's own directory in a scratch copy (no repo file edited): 5/5 OK, and the lane leg reads `OK -- every collected test passed` over 711 tests. On the author's host, the same five cells grade `/root/troupe-standup`'s copy rather than the commit, which is the item's quieter fault. Separately, from a `git archive 000580a` export, beam's `check_bindings.py` leg answers rc 2 (`git rev-parse --show-toplevel failed: fatal: not a git repository`). Since `bdebc3e` (Q153, which added `check_bindings.py`), beam's `CHECK` therefore can't read green from the no-`.git` export that earlier done-means name (Q75, Q76). That's a reading, not a fault claim against Q153. Beam's file is not edited here; the one-line repoint is offered to the lane.
+10 -10
View File
@@ -254,7 +254,7 @@
| 244 | Q157 | heading | 14356-14357 | 184 | opening | closure — the untracked-file census graded the live tree, so it was red within minutes of the tick that named it *(2026-11-02; sol lane by authorship, unclaimed and taken)* | -- |
| 245 | Q157 | record | 14358-14395 | 10455 | cont: OPENED | **Q157 — OPENED and REPAIRED in the same tick (volt, 2026-11-02, at `602e982` and the commit this record lands in; sol lane by authorship, unclaimed and taken).** `CHECK-2026-11-02-untracked-classify` … | -- |
| 246 | Q158 | heading | 14396-14397 | 421 | opening | closure — the CHECK rubric could not see a leading label, the one fault that kills a run before it starts; and its forge verifier pinned a cell count, so every fixture the rubric gained reddened a … | -- |
| 247 | Q158 | record | 14398-14420 | 7443 | cont: OPENED | **Q158 — OPENED and REPAIRED in the same tick (volt, 2026-11-02, at `9a9061f` and the commit this record lands in).** Two defects, one shape: an instrument graded a property of its subject's … | -- |
| 247 | Q158 | record | 14398-14443 | 14245 | cont: OPENED | **Q158 — OPENED and REPAIRED in the same tick (volt, 2026-11-02, at `9a9061f` and the commit this record lands in).** Two defects, one shape: an instrument graded a property of its subject's … | -- |
## Ids with no `## ` heading
@@ -2154,12 +2154,12 @@ The block below is the parse this document renders, byte for byte. `--check` com
"title": "**Q157 \u2014 OPENED and REPAIRED in the same tick (volt, 2026-11-02, at `602e982` and the commit this record lands in; sol lane by authorship, unclaimed and taken).** `CHECK-2026-11-02-untracked-classify` \u2026"
},
{
"bytes": 7443,
"end_line": 14420,
"bytes": 14245,
"end_line": 14443,
"id": "Q158",
"kind": "record",
"line": 14398,
"lines": 23,
"lines": 46,
"role": "continuation",
"role_detail": "OPENED",
"status": null,
@@ -5516,12 +5516,12 @@ The block below is the parse this document renders, byte for byte. `--check` com
"title": "closure \u2014 the CHECK rubric could not see a leading label, the one fault that kills a run before it starts; and its forge verifier pinned a cell count, so every fixture the rubric gained reddened a \u2026"
},
{
"bytes": 7443,
"end_line": 14420,
"bytes": 14245,
"end_line": 14443,
"id": "Q158",
"kind": "record",
"line": 14398,
"lines": 23,
"lines": 46,
"role": "continuation",
"role_detail": "OPENED",
"status": null,
@@ -6076,9 +6076,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
"end_line": 8,
"line": 1
},
"queue_bytes": 2456933,
"queue_lines": 14420,
"queue_sha256": "d9559792a698243d73a4a3ec95859db6206037bd5498d41e73f978a2a9626c06",
"queue_bytes": 2463735,
"queue_lines": 14443,
"queue_sha256": "3a4891b6ad6a99357cd8f1464d4c7731e75ad43e8461d365195454ecfae189e6",
"sections": [
{
"bytes": 3139,
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env python3
"""q84_mutants.py -- re-grade Q84's cells (wizard-work/beam/test_interval_overlap.py) against
five named mutants of interval_overlap.py, plus an independent oracle (integer-set
intersection, not the module's own brute_force_pairs). Read-only: each mutant runs in a
fresh temp dir; nothing in the tree is edited. Default subject is the beam lane beside
this file (Path(__file__)-relative); pass another beam dir as argv[1].
python3 wizard-work/cassian/q84_mutants.py
"""
import itertools, os, shutil, subprocess, sys, tempfile
SRC = sys.argv[1] if len(sys.argv) > 1 else os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "beam")
orig = open(os.path.join(SRC, "interval_overlap.py")).read()
MUT = {
"M1 kind ordering flipped": ("events.sort(key=lambda x: (x[0], x[1]))", "events.sort(key=lambda x: (x[0], -x[1]))"),
"M2 s>=e skip removed (pairs)": (" if s >= e: # zero-length interval: empty set, never overlaps\n continue\n for other", " for other"),
"M3 start-pair loop removed": (" for other in active:\n a, b = (idx, other) if idx < other else (other, idx)\n pairs.add((a, b))\n", ""),
"M4 has_any_overlap -> pair-list body": (" iv = list(intervals)\n for s, e in iv:\n if e < s:\n raise ValueError(f\"end < start: {(s, e)}\")\n # Sorted", " return bool(find_overlapping_pairs(intervals))\n iv = []\n # Sorted"),
"M5 boundary s<max_end -> s<=max_end": ("s < max_end:", "s <= max_end:"),
}
survivors = []
for name, (a, b) in MUT.items():
assert orig.count(a) == 1, (name, orig.count(a))
d = tempfile.mkdtemp()
shutil.copy(os.path.join(SRC, "test_interval_overlap.py"), d)
open(os.path.join(d, "interval_overlap.py"), "w").write(orig.replace(a, b))
r = subprocess.run([sys.executable, "-m", "unittest", "test_interval_overlap"], cwd=d, capture_output=True, text=True, timeout=600)
dead = sorted({l.split()[1] for l in r.stderr.splitlines() if l.startswith(("FAIL:", "ERROR:"))})
print(f"{name}: rc {r.returncode}, dead {len(dead)}: {', '.join(dead)}")
if r.returncode == 0:
survivors.append(name)
# independent oracle, not the module's brute_force_pairs
sys.path.insert(0, SRC)
import interval_overlap as m
pts = range(-2, 4); ivs = [(s, e) for s in pts for e in pts if e >= s]
n = mism = 0
for k in range(0, 4):
for combo in itertools.product(ivs, repeat=k):
truth = sorted((i, j) for i in range(k) for j in range(i+1, k)
if set(range(combo[i][0], combo[i][1])) & set(range(combo[j][0], combo[j][1])))
n += 1
if m.find_overlapping_pairs(combo) != truth or m.has_any_overlap(combo) != bool(truth):
mism += 1
print(f"oracle (integer-set intersection, ordered tuples over [-2,3], size 0-3): {n} cases, {mism} mismatches")
print(f"mutants: {len(MUT)}, survived {len(survivors)}: {survivors}")
sys.exit(0 if mism == 0 and not survivors else 1)