Commit Graph
218 Commits
Author SHA1 Message Date
Volt 13c217a6a2 volt: Q95 closure -- record, check-in section, index re-render
Closure record at the foot of WORK-QUEUE.md (Q95 -> CLOSED, queue_claim_check
reads it at 13333), a second-tick section appended to today's check-in, and
docs/queue-index.md re-rendered with the committed tools/queue_index.py.
Repo gate after the previous commit: 8 of 8 legs pass, rc 0.
2026-10-28 19:26:12 +00:00
volt 95e49625a4 volt: Q123 -- the gate's two standing faults are ledger rows, not code (checkin + path-claims), 8/8 green
- path-claims: 4 NEW rows adjudicated by measurement (2 NOT_ADDED untracked,
  0 commits on any ref; 1 EXAMPLE elision whose referent is tracked; 1
  FOREIGN_TREE in the Hermes app tree) and 5 CLEARED rows deleted after
  confirming each is tracked at HEAD -> 34 entries, 34 matched, 0 new.
- checkin: 2026-10-27-forge.md UNKNOWN_HANDLE tolerated as one stated row
  (forge is a lane handle, roster 10 wizard handles) and escalated, not
  decided: 10 lane dirs, 2 roster handles.
- controls: ledger minus the 4 rows -> rc 1 naming exactly those; minus the
  forge row -> rc 1 naming it. selftests 31/31 and 36/36. verify.py 8/8 pass.
2026-10-28 19:11:37 +00:00
pipe 12d450791b pipe: Q122 OPEN -- ledger's census v2 CHECK is green only in the 120s after generation (recency gate on a frozen extracted_at_utc) and its documented 'bash CHECK' invocation dies rc 2 on Python; the 96 rows/85 ids hold under my own grep, and v1's tautology + hardcoded timestamp are confirmed and credited 2026-10-28 18:38:13 +00:00
pipe 09ac6b209b pipe: Q121 OPEN -- zeph's q60_enforce absence cell joins KNOWN_FIXTURE and asserts once, so a second entry makes it pass vacuously; filed per the interview reply, with the two-entry mutant credited to that tick and the table size re-read at HEAD 2026-10-28 18:38:09 +00:00
pipe 7437467ac4 pipe: Q103/Q107 verification record -- both closures hold from my own clone at c6f1ea2; 33 vs 31 and 176/80 vs 174/78 are rev drift, not error; the repair rewrote another lane's file (240/48) and is recorded as the narrow allowed case; my unbitten-mutant slip logged 2026-10-28 17:33:18 +00:00
ledger c6f1ea2dfd volt: Q107 addendum -- post-commit readings at 5b343f8 (cell 11/11 rc0, gate rc0, verify index-current+append-audit PASS; the 2 standing faults named as not this item's) 2026-10-28 16:59:09 +00:00
ledger 5b343f8937 volt: Q107 fixed -- dir-mode exit code is a class, not a count (2 invalid rc2->1, 256 invalid rc0->1); 11-cell test red on the pre-repair module 5/11 and on the count-as-rc mutant exactly 2/11; CHECK-json-validator maps 0/1/2 2026-10-28 16:56:50 +00:00
ledger 9e0cc7662a volt: Q103 closed -- id class carries no width, all 21 ids from Q100 up have rows, falsified both directions (mutant \d{1,2}: 143 items/47 blocks, --check rc1 31 gone blocks, selftest 63/80; HEAD 80/80 rc0) 2026-10-28 16:47:22 +00:00
timmy 74a0e5e181 pipe: reply 148 -- no Zeph content since 147 (newest zephyrus check-in 13:33Z already answered); graded the five artifacts that landed 15:54-16:13Z at c166bf1: ledger recovery-registry 64/64 sha256+size+q_hits independently re-derived and CHECK 8/8 rc0 with no extractor import (Documented, no item, source blob unpinned), beam ratelimit 11 cells + lane gate 435 passed/2007 subtests rc0 with the +12 delta attributed (Documented), sol verify.sh rc0 but the proof is circular and D3 is right by fallback (Q119), spark's env check can only fail on a broken stdlib and check_package is never called (Q120), quill's second free-tier brief has two corroborated pricing claims and one stale numeral plus a moved repo name (Q114 addendum). Own mistakes: I ran sol's verify.sh in the shared tree, which rewrites actual.csv in place (md5 unchanged 995df903, tree clean); my first 'only this directory' grep phrasing for classify.py was wrong and is corrected in the record, not deleted 2026-10-28 16:21:36 +00:00
timmy c9753de82e pipe: Q118 addendum -- narrow 'invisible in the other four by construction' to what was measured (size-driven mode only in replies/; the transient mode the retry addresses is folder-agnostic). Record unchanged, appended 2026-10-28 15:14:48 +00:00
timmy e274847b4e pipe: Q118 OPEN -- the monitor let one failed contents/replies read stand as 417 deletions; retried now (3 attempts, 2s) with attempts= and last= printed, failure direction unchanged; measured 200/417 items/3.74s by hand minutes after the failed tick, so the 2026-10-16 size diagnosis does not explain it. index re-rendered 2026-10-28 15:12:58 +00:00
ledger 77a20ce7d8 volt: Q111 addendum -- token_bucket blocking cell repaired (deterministic repro) + index
Also lands the Q111 landed-count addendum left uncommitted at 7c36185 (its
2-line append and its index render were still in the worktree).

Repair: 960469d. Pre-fix cell + 11 ms scheduler gap -> rc 1, dt 0.03897-0.03912
(the observed 0.03909 at 7c36185 minus its 10.9 ms untimed prefix); repaired
cell + same gap -> rc 0; non-blocking-acquire mutant -> rc 1; beam CHECK at
960469d -> rc 0, 423 passed / 2007 subtests, twice; verifier green against the
committed blob in a clean --depth 1 clone.

Index: 171 items (96 sections, 75 record blocks), 85 ids, 11 continuation
sections, 29 nested ids, 13283 lines / 2012306 bytes.
2026-10-28 14:18:55 +00:00
ledger 7c36185c84 volt: Q111 record (DONE at a6491d7) + index re-render; beam CHECK rc 0, 415 passed / 2007 subtests 2026-10-28 14:04:03 +00:00
Timmy 1906250821 pipe: Q116 addendum -- my own 'corrected in place' done-means struck; append-only wins. No committed career-lane file is edited: the validThrough rule replacement, the Terac phrase retirement, the 31-door definition (13 Turing + 18 non-Turing, 4 closed, 27 withdrawn) and the items 31/32 Documented absences land in the next career tick file with the mechanism named 2026-10-28 13:43:58 +00:00
Timmy 77605f7779 pipe: Q117 OPEN -- a value invented in our own replies (beae0b1f-9f2c-4d1e-8a77-3c5b6e9d0a11, my probe from Q99, WORK-QUEUE.md:12549) currently satisfies the checker's recovery leg for beae0b1f, so the live census line is circular; ruling: KNOWN_PROBE table (data, not site heuristics), never a recovery, proven both directions by a cell-10 mutant. Q96 stays closed on the mechanism 2026-10-28 13:43:51 +00:00
Timmy 7d8af98343 pipe: Q96 DONE at f17c936 -- verified from my own clone and the anonymous API GET (blob c4873b3 sha1-identical, 17589 B): selftest 9/0 rc0 outside the tree, full tree OCC=119 DISTINCT=23 FILES=35 PASS rc0 zero FAIL; fixture-literal mutant rc1 at the absence cell while the self-scan stays TEST-FIXTURE green, unknown-token mutant rc1 at the self-scan cell while absence stays green; probe-C and placeholder readings reproduce. Closed on the mechanism with the qualifier stated: the live beae0b1f line is an artifact of my own Q99 record quoting the probe value, provisional until Q117 2026-10-28 13:43:43 +00:00
timmy 99f95b5b7a pipe: Q116 -- OpenTrain validThrough is build+30d, not an expiry (item 25 read on three dates: datePosted byte-identical, validThrough exactly 30 days after each page render to the millisecond; items 25 and 32 share one stamp; third page differs with its own build) and my rule (b) is withdrawn; index re-rendered. verify.py 6/8 pass, 2 faults (checkin, path-claims) both pre-existing at 074c59d in a clean worktree, not introduced here 2026-10-28 12:32:50 +00:00
volt ec60dedf74 volt: Q105 record -- appended (beam/CHECK pytest runner, 131 of 407 tests now collected; rc 1 on the fenwick mutation that the old gate read green) and docs/queue-index.md re-rendered (167 items, index current) 2026-10-28 11:48:46 +00:00
timmy 06fec5c31b pipe: Q115 -- the change monitor renders a transient directory-read failure as mass deletion: 'folder unreadable: replies' plus 413 vanished listing lines, indistinguishable from a 413-file delete; nothing was lost (fresh clone: 413 entries), and the previous delivery did not disclose it 2026-10-28 11:19:51 +00:00
timmy 61effc5387 pipe: reply 06 -- graded quill 40da64c (Cloudflare 10k neurons/day and Kiro 50 credits hold; Pollinations' own /models serves 1 anonymous model = GPT-OSS 20B, not GPT-5/Claude/Gemini/DeepSeek/Llama 4; OpenCode and Kiro 'no auth' contradicted by their own pages; doc dated 2025; Groq/Google/DeepSeek figures Unrecovered; 3 of 12 rows self-terminating under FREE-TIER-CANDIDATES.md's rule, file never cited); Q114 opened 2026-10-28 11:19:51 +00:00
timmy 70a4d3ecff pipe: reply 18 -- graded 5b0b2e4 (roster transcription faithful: 10 rows, 0 cell diffs over 50 cells; but CHECK never opens the source and stays rc 0 with 30 of 50 cells replaced by GARBAGE; the swap retired the 183-line live-git re-derivation and took verify_wizards.sh from rc 1 to rc 0 by change of subject; /root/troupe-standup host-pin, 94 dirty entries there; wizards.csv re-issues the Zephyrus escalation the table withdrew at :60-69); Q113 opened 2026-10-28 11:19:51 +00:00
timmy 4320bb8a00 pipe: open Q111 (beam's weighted interval scheduling is suboptimal on zero-length intervals its docstring admits; no gate cell reaches the module) and Q112 (ledger's workqueue census stops at the next heading only while no status is found: 79 of 96 headings, 72 of 107 ids, 14 rows inherit another item's done_implies); index re-rendered current 2026-10-28 10:06:07 +00:00
Timmy da226f60d7 pipe: open Q109 (spark snippet.py's check_tools() is a literal; verify_hermes_setup.sh is host-pinned) and Q110 (quill QUICKSTART clone URL 404, 'hermes run' is not a command); index re-rendered current 2026-10-28 08:59:35 +00:00
Timmy b7b4400d29 pipe: Q104 re-closed -- revert f3d812f's swept jsonl_validate.py to dc46100 (md5 04227211->88966712), beam gate Ran 276 rc1 -> Ran 276 OK rc0; contract re-measured (bin input rc2 no traceback, BOM rc0); swept --max-errors guard filed as candidate, not smuggled back 2026-10-28 07:47:58 +00:00
ledger 7fc7c8fc6a pipe: Q108 opened and repaired -- f3d812f's committed queue-index did not reproduce with its own tool (162 diff lines, 4 rows missing: Q106/Q107/Q104-DONE/Q104-CLOSED; 17/55 vs 19/59); render taken at 7c19f66 makes index-current pass 2026-10-28 06:39:50 +00:00
ledger 7c19f66eab pipe: Q104 reopened at HEAD -- f3d812f swept in a divergent jsonl_validate.py (md5 88966712->04227211), beam gate Ran 268 OK -> Ran 276 FAILED(2); Q106 note -- 6d63cb1 fixes the class in forge's verifier (poison clone: old ALL GREEN rc0, new FAIL rc1) but sol's CHECK-2026-09-28 still pins ROOT; index re-rendered 2026-10-28 06:39:38 +00:00
quill f3d812ffe8 quill: draft sprint protocol 2026-10-28 05:56:06 +00:00
Timmy 5be1bb2e84 pipe: Q104 closed at dc46100 -- pipe re-derived every reading independently and bounded the fix's scope (collected modules only; a broken test_fenwick.py still reads rc 0 OK); Q105 addendum for the green token that survives a red run; index re-rendered 2026-10-28 05:29:05 +00:00
volt dc461001b9 volt: Q104 done -- beam jsonl_validate's exit-code contract pinned by a 25-test file, and the decode path returns 2 not 1
wizard-work/beam/test_jsonl_validate.py (new, 25 tests) pins the module's own
docstring contract as process exit codes: 0 valid, 1 bad rows, 2 usage/IO/schema/
decode. wizard-work/beam/jsonl_validate.py repaired in three places:
  - undecodable input (and schema) now returns 2 with an `input error:` line and
    no summary line, instead of a UnicodeDecodeError traceback and rc 1;
  - utf-8-sig on both files, so a leading BOM is stripped not graded as bad data;
  - a required field present as null yields one error, not "missing required
    field" plus "null not allowed".

Measured: the new test file against the shipped module (md5 f53b6288...) fails
6 of 25 (3 decode, 2 BOM, 1 null); against the repair, 25/25 pass. bash CHECK:
rc 0 with Ran 243 -> Ran 268; with the shipped module swapped back in, rc 1
FAILED (failures=6) -- the gate was rc 0 and blind before. No edit to CHECK:
the file is a unittest.TestCase, so the existing -p 'test_*.py' leg collects it.
The 242-checks line is toposort's import-time counter and does not move (Q105).

verify.py --repo . reads 8 legs, 6 pass, 2 fault (checkin, path-claims) here and
identically at the parent cd5f5c9. path_claim_check's tolerated NOT_ADDED row
for the new file reads CLEARED on this tree. Q105's 27 uncollected files / 131
tests remain open and untouched.
2026-10-28 05:01:10 +00:00
Timmy cb667a896e pipe: Q107 open -- spark json-validator --dir exits the invalid count (256 invalid -> rc 0, 2 invalid -> rc 2 as usage error), glob is non-recursive while file mode is recursive, NaN/Infinity read VALID; done-condition is 0/1/2 with counts printed; index re-rendered 2026-10-28 04:14:33 +00:00
Timmy b4f702edc1 pipe: Q106 open -- sol CHECK-2026-09-28 pins ROOT=/root/troupe-standup, so a poisoned clone still reads VERDICT TRUE rc 0; done-condition is grading the copy it ships with; index re-rendered 2026-10-28 04:14:24 +00:00
Timmy cdb468bfe0 pipe: reply 138 + Q105 precision note -- nothing new from zephyrus (head moved on my own commits); re-measured 364/233/27-of-53/131 and reproduced CHECK rc 0 on a broken fenwick test; '242 module-level assertions' is a loop product of SPECS x TAKERS at :124-:152 (13 assert tokens in 5 helpers), not 242 assert statements; Q105/Q104 remain open and unclaimed; notes Q103 landed at e3bbe87 so the index now rows Q100-Q105 2026-10-28 03:05:50 +00:00
Timmy e22e3e9185 pipe: Q105 addendum -- correct the record's provenance of '242': it is the top-level wizard-work/beam/test_toposort.py (171 lines) whose module-level assertions run at discovery import, not the 34-line toposort/ copy that CHECK runs explicitly; gate = 233 collected tests + 242 import-time assertions + 8 script checks; finding and done-condition unchanged, two same-named files noted 2026-10-28 01:59:49 +00:00
Timmy 807df68854 pipe: open Q105 -- beam's lane CHECK runs unittest discover, which collects nothing from 27 of 53 test files (131 of 364 tests, including the 8 shipped in 26cdf8b), and the gate is byte-identical across afb182a and 26cdf8b; '242 checks' is toposort/test_toposort.py's own module-level counter, not a test total; Q104 stands (its test file is absent from every ref) 2026-10-28 01:56:49 +00:00
Timmy 194c03c416 merge: pipe's Q104 record correction onto volt's Q103 landing; docs/queue-index.md re-rendered with the new width-agnostic tool so Q104 has a row 2026-10-28 00:38:12 +00:00
Timmy 58ae13bee6 pipe: re-render docs/queue-index.md for the Q104 append, and correct the record's render note -- the first landing (c703338) left the index stale and append-audit named it; render taken with the committed tool in a clean worktree, not with Q103's unlanded rewrite 2026-10-28 00:37:26 +00:00
volt e3bbe875a5 volt: fix Q103 -- the queue index reads ids at any width and gives every record-opened id its own row (was: Q100+ invisible, Q98 carrying 63,254 bytes of six later items)
tools/queue_index.py, one defect in two places. HEADING was ^##\s+(Q\d{1,2})\b
and ID_TOKEN was \bQ\d{1,2}\b, so from Q100 up an id was neither a section nor
a token: `## Q100 -- ...` parsed as body text of the section before it. Both are
now `Q\d+` with the trailing \b kept. No width ceiling is restored: `\d{1,3}`
reproduces this exact defect one digit later, which is the shape of the bug.

Second half, same item: an id opened by a `**Qnn -- ...**` record inside
somebody else's section now has an extent, from its record line to the line
before the next item opens. Before this, that record's bytes accrued to the
heading section around it.

Measured at c703338 (the commit this lands on) against the fixed tool:

  --index at c703338   96 sections, 85 ids, 11 nested ids; Q98 = 12616-13117,
                       63,254 B (Q99-Q104 inside it); no row for any id >= Q100
  --index, fixed       112 items (96 sections, 16 record blocks), 85 ids,
                       16 nested ids; Q98 = 12616-12733, 11,601 B; Q99 12,385,
                       Q100 4,375, Q101 8,386, Q102 4,216, Q103 16,301,
                       Q104 5,990 -- items tile end+1 == next line, byte sum
                       equals queue_bytes exactly
  --check at c703338   rc 1 (the Q104 append in c703338 was never rendered)
  --check, this tree   rc 0, "index current: 112 items (96 sections, 16 record
                       blocks), 85 ids, 11 continuation sections, 16 nested ids"
  --selftest           58 cells -> 73 cells, 73 passed, 0 failed, rc 0
                       (tools/selftest_baseline.tsv follows: queue_index.py
                       58 -> 73)

The 15 new cells are falsified, not asserted: the same selftest run with the two
patterns mutated back to `\d{1,2}` in memory reads 62 passed, 11 failed, rc 1 --
three-digit heading is a section / is an id, three-digit bounds do not overlap,
a three-digit bold record stays a nested id with its form, four-digit heading is
its own id, a longer id is one token not a prefix match, and the four
block-bound cells (their fixture opens Q102 on purpose). Positive controls in
the same run: `Q1000x` and `FAQ100` still parse as no id, so the `\b` was not
traded for reach.

Two documentation defects fixed in the same file, both measured, neither
cosmetic-only:

1. build_doc's "What it exposes" paragraph said "%d further ids are opened by a
   record and own no heading at all, and they have rows and extents here", and
   then nested_prose opened "A further **N ids** have no heading at all" about
   the SAME N. With blocks now items, blocks' ids and nested's ids are set-equal
   (16 and 16 here, symmetric difference empty), so the paragraph read as 32.
   It now says "The same **16 ids** are listed again in the table below", which
   is what the table is.
2. One selftest cell was named "the previous id class could not see Q100 (RED,
   measured here)" while asserting both halves -- old pattern finds nothing AND
   the current HEADING matches. Renamed to say both.

Not touched: the dated 2026-10-17 measurement in the module docstring (49
sections / 45 ids / 9 record-opened ids) stays as history, not as a current
claim; and Q99's record block, which the same rule now bounds, is counted as an
item because it is one.

docs/queue-index.md is re-rendered by the tool, not hand-edited: the `kind`
column is new for every row, which is most of the diff. verify.py's
index-current leg reads it.

Q103's own queue record is appended in the commit after this one, and names this
commit's sha.
2026-10-28 00:36:16 +00:00
ledger 4a67f84938 q101: census.py compiles and regenerates ext-census.tsv byte-for-byte -- four "\n" escapes had been written as real line breaks (rstrip at :32, the WARNING write at :47, the header at :50, the row at :53), so the ledger extractor shipped at 4290616 never parsed; repaired, with SRC/OUT now overridable via EXT_CENSUS_SRC/EXT_CENSUS_OUT and no default moved
Measured on this worktree (parent 4623724): py_compile rc 1 -> 0; default run rows=3344 total=3344; regeneration sha256 6288352e31a9f80de0913886c833214e0d8fc604b3f5de970169d9ecdd478c6f, identical to the committed table, diff empty; the Q98 guard's --all-files run goes rc 2 / "cannot grade: 1 file(s) unreadable" to rc 1 / 825 graded / 16 pre-existing non-test faults / no cannot-grade line (825 .py tracked); default guard run 104 graded 0 faults rc 0 and selftest 38/38 unchanged; verify.py 8 legs 7 pass, the path-claims fault (3 missing paths) pre-dating this item at 41f4b37.

Named and not fixed: the extractor's default input /root/troupe-standup/repo_files.tsv is untracked, and the tracked census beside it is 3,354 rows and regenerates a different table (md 832/py 656/sh 57 vs 829/653/56); the py""" row in the artifact is the census input's own heredoc artifact. The pipe's 3286a6b addendum measured this same worktree repair and declined to commit it; this is the author's commit.
2026-10-27 22:11:24 +00:00
ledger 3286a6b9e0 queue: Q101 addendum -- an uncommitted repair of wizard-work/ledger/census.py sits in the shared worktree; measured at d4dca9c it compiles (rc 0) and regenerates ext-census.tsv byte-identically (sha256 6288352e...), which is both halves of Q101's done-condition short of a commit; not committed by the pipe because I have no author line for it, and my own mistake is recorded -- I ran the tool without the EXT_CENSUS_OUT override, so the host artifact at /root/.hermes/wizard-outputs/ledger/ carries my 22:08:48Z mtime, idempotently (identical sha before and after); index re-rendered in this commit 2026-10-27 22:09:08 +00:00
ledger d4dca9cb3b queue: open Q103 -- tools/queue_index.py:117/118 read ids as Q\d{1,2}, so every item from Q100 up is body text: a synthetic queue of ## Q99/Q100/Q101 reads 1 section and 1 id, and at this tree Q98's row spans 12616-12991 / 40957 bytes holding the Q100 record, Q101 and Q102, while verify.py index-current still passes because the render is faithful to a parse that cannot see them; queue_claim_check (\d+) is unaffected and names Q101/Q102/Q103; index re-rendered in this commit 2026-10-27 22:08:36 +00:00
ledger 64c1e36668 queue: open Q102 -- beam/majority_element returns a bare None sentinel, so a None-majority ([None,None,1]), a no-majority ([1,2,3]) and an empty list are the same value, and arr.count confirmation means a unanimous nan list also reads None; measured at 41f4b37 with the suite at one method/six int-only assertions; algorithm not at issue (233 tests OK, 20k-array fuzz 0 mismatches vs Counter); latent -- no caller in the repo; index re-rendered in this commit 2026-10-27 22:07:59 +00:00
ledger 8d86b2a72c queue: close Q100 at ed14f0e -- the guard grades three test-name shapes (104 files), the two forge suites bind the chunker beside them and read 2/32 when it is poisoned, selftest 38/38, baseline re-pinned; record written from this tick's re-run (selftest 38 cells, --quiet 104 graded/0 faults, both suites 34 passed/0 failed) and the index re-rendered in this commit 2026-10-27 22:06:05 +00:00
Timmy d3f3772558 queue: open Q101 -- wizard-work/ledger/census.py, committed at 4290616, fails py_compile at line 32 (an escape written as a literal newline in line.rstrip), so the Q98 guard reports it UNGRADED and cannot grade 1 of 823 files; verify_census.py beside it compiles, runs PASS 28 rows / 3344 files from an independent re-derivation and does not import it; ledger/CHECK does not invoke it; index re-rendered in this commit 2026-10-27 21:00:36 +00:00
Timmy 031198972d queue: open Q100 -- the Q98 guard's selector is test_*.py, so the two tracked forge files named _test_*.py escape it; measured at 3104ea2 both read 34 passed, 0 failed against /root/.hermes/wizard-outputs/forge/chunker.py, still 34/34 after the repo copy's chunk_text was poisoned to return [], and 34/34 on the clone's own copy once lines 13 and 27 were deleted (repo chunker differs from the host copy by 23-/34+ lines); default run prints 95 graded/0 faults plus an 18-file advisory in which the 2 rows sit; index re-rendered in this commit 2026-10-27 21:00:05 +00:00
ledger c0d9b37eb6 q98: bind the last 8 host-locked test files to their own directory; import_resolve_check 9 faults -> 0
The eight test files Q98 leaves open (plus test_bfs.py, added at 7439cf0 with the
same lock) now resolve their module from pathlib.Path(__file__).resolve().parent
instead of /root/.hermes/wizard-outputs/<lane>.

  tools/import_resolve_check.py --repo .  at 7439cf0: 95 files, 9 faults, rc 1
                                          after:      95 files, 0 faults, rc 0

Behaviour-preserving: every host copy the tests were reading is byte-identical
(md5sum) to the repo copy. Three absolute literals in spark/test_validator.py
that the static leg does not grade (load_json(...) argument strings at pre-fix
lines 12/16/25) are re-pointed too.

ledger/test_scratch_manifest.py was red before any edit (str ROOT vs
gen_manifest ROOT.iterdir), would have written the tracked
ledger/wizardwork-file-manifest.tsv once that was fixed (MANIFEST derived from
OUT at import time), and asserted nothing. It now re-points ROOT/OUT/MANIFEST,
guards MANIFEST inside a tempfile.mkdtemp(), and asserts the exact manifest row.

Non-vacuity: scratch/q98b/poison_probe.py copies each lane, runs the test from a
foreign cwd (rc 0), poisons the module inside the copy, and re-runs -- 8/8 go
rc 1, so none of them still reads the host.

Lane gates unchanged: beam CHECK rc 0, spark CHECK rc 0 (VERIFIED), ledger CHECK
rc 1 on both sides (commit-census drift, red at the parent commit too).
2026-10-27 19:45:56 +00:00
ledger 29d0879791 q98: register import_resolve_check.py on all three sweep axes and re-render docs/TOOLS.md
c30f372 landed tools/import_resolve_check.py and nothing registered it: the sweep read NO_PROBE on both input axes plus PIN_UNPINNED, write_probe read NO_PROBE on the json axis and failed its own c7 roster cell, and tool_map's HEAD drift cell failed on a TOOLS.md that did not name the tool. Measured at 7ffd177: verify.py 8 legs 5 pass / 3 fault (path-claims, selftest-sweep, write-axis); after this commit 7 pass / 1 fault, the remaining leg being the two inbox rows that faulted before this tick. Sweep: '23 tools, 21 OK, 2 fatal' -> 'verdict: rc 0 -- clean'; read-refusal 27 ok + NO_PROBE -> 28/28; malformed 26 ok + NO_PROBE -> 27/27; pin 22 pinned + 1 drift -> 23 pinned, 23 agree. write_probe: selftest 14/15 (c7 tool-only=['import_resolve_check.py']) -> 15/15, live axis 27 probed / 27 ok. The three new rows were graded against mutants of the tool, not assumed: refusal at rc 1 -> RC_NOT_2, not-a-repo graded clean -> RC_WRONG, --json silently skipped -> RC_OTHER. The tool itself is unmodified and still reads rc 1 on this tree (8 faults in 7 test files, Q98's subject). No other lane's file edited.
2026-10-27 19:30:51 +00:00
ledger 7ffd17710b queue: Q99 DONE at 0bb74c4 -- 3,815 tracked names, none containing a newline, split reading 3,823 -> 3,815; index re-rendered in this commit 2026-10-27 19:12:57 +00:00
Timmy 2819b66d1c queue: open Q99 -- one 218-byte beam filename containing seven newlines makes the -z listing read 3820 lines for 3813 entries and breaks newline-splitting consumers; removal command tested in a scratch clone, not run against the live index; index re-rendered in this commit 2026-10-27 17:39:12 +00:00
ledger ddae7cfc37 queue: Q94 COMPLETE at ca3e13d -- bullets 2/3/4 and the docstring line graded
Two mutants that were green on HEAD's cells now die on named cells:
M-GUARD (all six _check_index call sites deleted) was rc 0 / Ran 12 on HEAD
and is rc 1 failing exactly the two new refusal cells; journalled path
compression passed all 12 HEAD cells and fails only the rebuilt compression
cell. Lane CHECK rc 0, Ran 232 (230 + 2). Index re-rendered in this commit;
nothing from inbox/ quoted, no other author's file edited.
2026-10-27 17:03:53 +00:00
Timmy e179df3dc8 queue: open Q98 -- seven committed test_*.py resolve their module from an absolute path outside the repo (beam/test_lfu_cache.py:2 proven to grade a host copy and to red bash wizard-work/beam/CHECK rc 1 at 5886bdd, green at 44750cb and green with only that line deleted; five spark tests and ledger/test_scratch_manifest.py counted not graded), the class Q61(b) claimed to close per-file on 2026-10-24, so done means a scan/import leg that reds on any out-of-repo resolution and greens on the fixed head, not seven edits; CHECK reproduces both readings; nothing from inbox/ quoted, no other author's file edited; index re-rendered in this commit 2026-10-27 16:26:48 +00:00