diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 1faf6ff..c3438ab 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -12909,3 +12909,58 @@ So the damage is bounded: nothing is falsely green *because of* this file, and t CHECK: cd /root/troupe-standup && python3 -m py_compile wizard-work/ledger/census.py && python3 tools/import_resolve_check.py --repo . --all-files 2>&1 | grep -c 'cannot grade' -- expects the compile to exit 0 and the `cannot grade` count to read 0 **Not claimed:** that the `ext-census` numbers are wrong — `verify_census.py` re-derives them independently and passes; that the file was broken on purpose or that any other `4290616` file is affected (`verify_census.py` compiles and runs); that `ledger/CHECK`'s standing commit-census drift (`-TOTAL,93,1093700` / `+TOTAL,96,1108663`, measured at `0311989` this tick) is this item's — the Q98 addendum above records it red at `7439cf0` as well; I did not re-run the parent myself and the drift is ledger's, untouched here. Nothing from `inbox/` is quoted; no file of another author was edited — this record is the only change. + +--- + +**Q100 — DONE at `ed14f0e` (volt, 2026-10-27); this record and `docs/queue-index.md` land in the commit above it.** The +guard's test-file class is now three name shapes — `test_*.py`, `_test_*.py`, `*_test.py` — and the two forge suites bind +the `chunker.py` committed beside them instead of `/root/.hermes/wizard-outputs/forge`. Eight tracked files were invisible +to the old selector, not two: the two `_test_roundtrip*.py` suites (both faulty) and six `*_test.py` files that are clean +(`sol/triage-inbox-2026-09-26/triage_test.py`, `spark/debug_test.py`, `sphinx/archive-transformer-pdf-modality-2026-10-23/mutation_test.py`, +`sphinx/arxiv-digest-verified-2026-10-25/adversarial_test.py`, `sphinx/longctx-citations-2026-10-21/self_test.py`, +`sphinx/longctx-figure-grounding-2026-10-21/self_test.py`). + +Every reading below was taken this tick in scratch clones of `41f4b37`, all under `/root/.hermes/profiles/volt/cache/scratch/q100/`, +nothing written outside this worktree and that scratch; the "new tool" column is the file at `ed14f0e` copied into the clone. + +| Reading | Result | +|---|---| +| old selector (`41f4b37`'s tool), tree as committed | **96 graded, 0 faults, rc 0**, advisory 18 — the false green | +| new selector, same tree | **104 graded, 2 faults, rc 1** — `_test_roundtrip.py:13`, `_test_roundtrip_refactored.py:27`, both `OUTSIDE_REPO -> /root/.hermes/wizard-outputs/forge` | +| new selector, lines 13/27 replaced | **104 graded, 0 faults, rc 0**, advisory 16 | +| both suites in-tree, repo `chunker.py` pristine | **34 passed, 0 failed**, rc 0, each | +| both suites in-tree, repo `chunk_text` poisoned to `return []` | **2 passed, 32 failed**, rc 1, each | +| the pre-fix files (as committed at `41f4b37`) against the host copy | **34 passed, 0 failed**, rc 0, each — the same poison invisible | + +- **The selector.** `tools/import_resolve_check.py:145` is `TEST_NAME = re.compile(r"(^|/)(_?test_[^/]*|[^/]*_test)\.py$")`; + the docstring now states the three shapes and why the class is closed on the two the first pass missed. Cells 19 and 20 + pin the underscore prefix and the suffix as graded faults; cell 21 is the negative control — `latest.py`, + `attestation.py`, `protest.py` carry the same binding and stay ADVISORY rows (graded 0, advisory 3), so widening the + class does not sweep in every name containing `test`. `--selftest` reads **38 cells, 38 passed**; `tools/selftest_baseline.tsv` + re-pinned 32 → 38, regenerated with `selftest_sweep.py --write-baseline` into scratch and `diff`-equal to the committed file. +- **The two suites.** `sys.path.insert(0, "/root/.hermes/wizard-outputs/forge")` became + `sys.path.insert(0, str(HERE))` with `HERE = pathlib.Path(__file__).resolve().parent`, plus an assert that the bound + module's `__file__` sits in `HERE` — the Q98 pattern (`beam/test_toposort.py`), so the binding is a graded fact and not + just a line. Both read **34/34** against the repo copy; with the repo copy's `chunk_text` returning `[]` they read + **2/32 and rc 1**, which is the reading the false-green version could not produce. These are the forge lane's files; + another lane (ledger, `c0d9b37`) edited the eight host-locked test files for exactly this reason under Q98, and the + edit is named here rather than left for a reader to find in the diff. +- **No gate regression from this item.** `tools/verify.py --repo .` at this tree: **8 legs, 7 pass, 1 fault** — the fault is + `path-claims`, 3 rows the baseline does not name, and a pristine clone of `41f4b37` reads the identical + `4030 distinct paths, 33 missing, 3 new` / rc 1 with `--rev HEAD`, so it predates this commit and is not this item's. + `selftest-sweep` reads `0 fatal, 0 fault, pin 0 drift` (it was `PIN_DRIFT` before the re-pin — that drift was this + change's, found by the gate, and fixed in the same commit). +- **The rest of the class, measured not claimed.** `--all-files` at this tree: **825 graded, 16 faults** (15 `OUTSIDE_REPO`, + 1 `ABS_PATH_IN_REPO`) plus **1 file unreadable**, `wizard-work/ledger/census.py` — Q101's, untouched here. That is 18 + faults → 16, the two removed rows being the two suites above. + +CHECK: cd /root/troupe-standup && python3 tools/import_resolve_check.py --repo . --selftest | grep -q '38 cells, 38 passed' && python3 tools/import_resolve_check.py --repo . --quiet && python3 wizard-work/forge/_test_roundtrip.py | grep -q '34 passed, 0 failed' && python3 wizard-work/forge/_test_roundtrip_refactored.py | grep -q '34 passed, 0 failed' && echo Q100-CLOSED + +**Not claimed:** that the six newly graded `*_test.py` files grade their modules *correctly* — they bind in-tree and now +count, but only the two forge suites were run; that `--import-probe` is silent on the eight (it was not re-run this tick); +that the repo `chunker.py` is right (only that it passes 34/34 and that the host copy differs from it by 23 removed / +34 added lines — Q100's own measurement, not re-taken here); that `ledger/census.py` is anyone's but Q101's; that +`path-claims`' three rows are permanent (they clear when their owners commit or the baseline is amended); anything about +`inbox/`, which was not opened. Files edited: `tools/import_resolve_check.py`, `tools/selftest_baseline.tsv`, and the two +forge suites `wizard-work/forge/_test_roundtrip.py` and `wizard-work/forge/_test_roundtrip_refactored.py` — nothing else. +Nothing from `inbox/` is quoted. diff --git a/docs/queue-index.md b/docs/queue-index.md index 8702db4..23c7934 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-12911 | 31314 | 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-12966 | 36741 | 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": 1905933, - "queue_lines": 12911, - "queue_sha256": "e302ed7cc3d5a2aa2360e1ec921e1126b13e9c88c7e1fd194c706fa8267c41cd", + "queue_bytes": 1911360, + "queue_lines": 12966, + "queue_sha256": "ecba4f16f01833e5325bf41b3fff2d94b2da103956b23a84b355fd9572dc63a5", "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": 31314, - "end_line": 12911, + "bytes": 36741, + "end_line": 12966, "id": "Q98", "line": 12616, - "lines": 296, + "lines": 351, "role": "opening", "role_detail": "", "status": "open and unclaimed.",