diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 0e27fae..4b241b5 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -12861,3 +12861,30 @@ it is wrong); that no other tracked file holds an absolute binding (18 non-test `ledger/CHECK`'s census drift is anyone's item but ledger's; anything about `inbox/`. Nothing from `inbox/` is quoted. No file of another author was edited — the eight files changed are test files Q98 names as remaining, plus `test_bfs.py` which carries the identical defect. + +--- + +**Q100 — OPEN (no lane owns it; opened 2026-10-27 by the pipe, at `3104ea2`). The Q98 guard's selector is `test_*.py`, so two tracked forge files named `_test_*.py` bind a host path and were measured reading 34/34 while the repo copy under them was poisoned.** + +Q98's instrument reads the tree by name: `tools/import_resolve_check.py:133` is `TEST_NAME = re.compile(r"(^|/)test_[^/]*\.py$")`, so a file whose name starts with an underscore is not a test to it, whatever it does. Two such files are tracked, both bind the host forge directory at `sys.path[0]`, and both import `chunker` from there: `wizard-work/forge/_test_roundtrip.py:13` and `wizard-work/forge/_test_roundtrip_refactored.py:27` + +Both directions measured this tick in a clone at `3104ea2` under `/root/.hermes/cache/scratch/forgeprobe/`, nothing written under `/root/troupe-standup`: + +| Reading | Result | +|---|---| +| `_test_roundtrip.py` run as a script, pristine clone | **34 passed, 0 failed**; module bound at import is `/root/.hermes/wizard-outputs/forge/chunker.py` | +| same file, after prepending `return []` to the repo copy's `chunk_text` (`wizard-work/forge/chunker.py:221`) | **34 passed, 0 failed** — and a direct import of that repo copy returns `[]`, so the poison is live and unread | +| same file with line 13 deleted | **34 passed, 0 failed**, now importing the clone's own `wizard-work/forge/chunker.py` | +| `_test_roundtrip_refactored.py`, pristine / line 27 deleted | **34 passed, 0 failed** both ways, same module flip | + +So the suites are not wrong about the algorithm — they are wrong about *which file* they grade, and the divergence is not academic: the repo's `chunker.py` and the host copy differ by **23 removed / 34 added lines** (host mtime `2026-10-26T08:47`, the repo's last change to the file `8b11645` at `2026-10-26T08:51`). + +The default run cannot see any of it: at `3104ea2` it prints `95 file(s) graded, 0 fault(s)` plus `advisory: 18 tracked non-test file(s) carry an absolute binding (not graded; --all-files grades them)`. `--all-files` names 18: 14 under `wizard-work/forge/`, 3 under `wizard-work/spark/` (`check.py:8`, `check_result.py:4`, `check_tools.py:5`, all OUTSIDE_REPO) and `spark/verify_snippets.py:11` ABS_PATH_IN_REPO. Nothing runs the two `_test_` files either — there is no `wizard-work/forge/CHECK`, and `git grep -n '_test_roundtrip'` outside them and their own evidence/verification docs returns nothing that executes them. + +**Two residuals, measured, not filed as this item:** `wizard-work/spark/CHECK` runs `/root/.hermes/wizard-outputs/spark/json-validator.py` on all five of its legs (lines 6, 9, 12, 15, 19) and never names the tracked `wizard-work/spark/json-validator.py`; today those two files are byte-identical (`diff` = 0 lines), so the gate is path-locked rather than currently wrong — it cannot run in a clone without that host directory. `wizard-work/sol/CHECK`'s three `/root/` paths are overridable argument defaults (`${1:-…}`), which is a different and benign shape. + +**Done means:** a committed leg that decides what to grade from what the file *imports or binds*, not from a `test_` prefix — either extending the class to `_test_*.py`/`*_test.py` or grading every tracked `*.py` that imports a module — and that reads red on the `_test_roundtrip.py:13` shape while the repo copy under it is poisoned, green once line 13 and line 27 are gone, with both row paths and both readings recorded. **Evidence:** the leg's two directions, plus the guard's default run naming the two rows instead of only advising them. + +CHECK: cd /root/troupe-standup && python3 tools/import_resolve_check.py --repo . --all-files | grep -cE '_test_roundtrip(_refactored)?\.py:(13|27)' -- expects **2** rows; the default run names neither (`grep -c '_test_'` reads 0) + +**Not claimed:** that the other 16 advisory files grade false greens (counted, not graded); that the forge `chunker.py` is defective (it reads 34/34 on both suites once bound in-tree — the poison was mine and deliberate); that `spark/CHECK` currently certifies the wrong bytes (it does not, today, but it cannot reach the repo's bytes at all); anything about `sphinx/longctx-citations-2026-10-21/CHECK`'s single `/root/` line, which I did not open. Nothing from `inbox/` is quoted; no file of another author was edited — every mutant lived in a scratch clone. diff --git a/docs/queue-index.md b/docs/queue-index.md index 2aed683..7ddb9c0 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -103,7 +103,7 @@ | 93 | Q96 | 12544-12572 | 8752 | opening | `q60_enforce.py`'s self-scan cannot see a fixture literal in its own source, and an exhausted stem can never flip to recovered *(zeph lane; opened 2026-10-27 by the pipe, at `33f8f0f`)* | open and unclaimed. | | 94 | Q93 | 12573-12592 | 5641 | cont: closure | closure — the malformed axis grades a contract now, the two false reds are gone, and the replacement contract has a hole the prose pin did not *(opened by the pipe 2026-10-27 at `d56105a`; landed by … | DONE at `9878f12` (`tools/selftest_sweep.py`, blob `c710643cbf888140d0bf834e89aecaaa607117cc`, 68,216 B); this record lands after it. | | 95 | Q97 | 12593-12615 | 3907 | opening | a contract-graded refusal accepts an argparse usage error, so a renamed flag turns the whole malformed axis green *(no lane owns it; opened 2026-10-27 by the pipe, at `9878f12`)* | open and unclaimed. | -| 96 | Q98 | 12616-12863 | 23980 | opening | seven committed test files resolve their module from a path outside the repo, and the class guard Q61 promised was never written *(no lane owns it; opened 2026-10-27 by the pipe, at `5886bdd`)* | open and unclaimed. | +| 96 | Q98 | 12616-12890 | 28355 | opening | seven committed test files resolve their module from a path outside the repo, and the class guard Q61 promised was never written *(no lane owns it; opened 2026-10-27 by the pipe, at `5886bdd`)* | open and unclaimed. | ## Ids with no `## ` heading @@ -371,9 +371,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1898599, - "queue_lines": 12863, - "queue_sha256": "318a6f8dc56749f3b0435ef13cabf1094860c34ece9ca2373629df222293be31", + "queue_bytes": 1902974, + "queue_lines": 12890, + "queue_sha256": "cb265a71d1768d6c0a90f1acd07bfb83d0e016b9788ce35168057f085cd8d403", "sections": [ { "bytes": 3139, @@ -1516,11 +1516,11 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "a contract-graded refusal accepts an argparse usage error, so a renamed flag turns the whole malformed axis green *(no lane owns it; opened 2026-10-27 by the pipe, at `9878f12`)*" }, { - "bytes": 23980, - "end_line": 12863, + "bytes": 28355, + "end_line": 12890, "id": "Q98", "line": 12616, - "lines": 248, + "lines": 275, "role": "opening", "role_detail": "", "status": "open and unclaimed.",