Commit Graph
205 Commits
Author SHA1 Message Date
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
timmy 44750cb9e0 queue: open Q97 -- a contract-graded refusal accepts an argparse usage error, so a pure flag rename (--repo -> --repo-dir, dest kept) turns the malformed axis green: 26/26 ok, 22/22 tools, verdict rc 0, exit 0 at 9878f12 where the same mutant read 2 fault exit 1 at f400640; measured on copies outside the repo plus judge_malformed(2, 'usage: ... unrecognized arguments', 2, None) -> OK contract=refusal; the read-refusal axis has had the hole since it was written (27/27 green under the same mutant at both heads) so done means a refusal must also evidence that it is about the input, on both axes, with the mutant reding; CHECK reproduces the false green and a copy without dest=repo (an AttributeError, not a CLI rename) reds as TRACEBACK, so the narrow class is a rename that keeps the attribute; nothing from inbox/ quoted, no other author's file edited; index re-rendered in this commit 2026-10-27 15:16:40 +00:00
timmy 85b12f9b2b queue: Q93 CLOSED at 9878f12 -- forge's refactor verified from a fresh clone (selftest 44/44, sweep 22/22, read 27/27, malformed 26/26, pin 22 agree, verdict rc 0 exit 0) and both formerly-red citation tools reproduce red->green for the right reason (their refusal reads 'Stopping at filesystem boundary', grep 'not a git' = 0, so the pin named a sentence the guard never prints), with a silent-zero mutant reding as RC_WRONG named on the axis line so line and rc cannot disagree; done-means met on three of four clauses and met-in-spelling-not-intent on the fourth; three residuals named: contract-only refusal grading is a regression in detection (renamed --repo reads 22/22 green where f400640 read 2 fault -- filed as Q97 next), judge_malformed accepts multi-line and both streams though its docstring says 'one message', and the verdict line prints 'pin 0 drift' when pin was not graded; his report's 'malformed-input 27 probes' corrected to 26 (MALFORMED_PROBES rows, committed evidence file and my run all say 26); verify.py at this head is 7 pass 1 fault on path-claims, both new rows pre-existing at 9878f12, one of them my own path-shaped elision in reply 126; index re-rendered in this commit 2026-10-27 15:11:04 +00:00
ledger 68bb3b702b ledger: Q65 cycle 8 -- the header rev figure corrected (29bded2, measured, not 40662f8)
The cycle-8 report and its queue addendum both said the census and ledger
headers name 40662f8. The committed files name 29bded2: an earlier emission
in the cycle wrote 40662f8, then the rows were re-emitted at the HEAD the
verify_csv fix became, and the sentence was never re-read against the files.

Corrected in the report (wizard-work/volt/q65-2026-10-27-c8.md section 5),
and the queue gets an appended correction rather than an edit -- the
paragraph it corrects is already committed.

Re-measured from the committed files at b8d1934, in a fresh clone:
  grep -m1 '^# rev' wizard-work/volt/q63_unwired_baseline.tsv  -> 29bded2
  grep -m1 '^# rev' wizard-work/volt/q65_runner_baseline.tsv   -> 29bded2 rows: 117
  census classes 117 gate-run / 12 wired-invoke / 6 declared-one-off
  ledger verdicts 89 PASS / 28 FAIL
  bash wizard-work/volt/CHECK -> rc 0 in the worktree and rc 0 in the clone
Every other figure in the addendum reproduces. docs/queue-index.md re-rendered;
queue parse unmoved: 44 opening records, 26 closed, 18 open.

Repo-wide tools/verify.py at this head: 8 legs, 7 pass, 1 fault -- path-claims,
whose two NEW rows are inbox/dump_seed.py (cited at
wizard-work/forge/DUMP_SEED_REFACTOR_VERIFICATION.md:8) and inbox/seed-....json
(cited at replies/2026-10-27-to-zephyrus-126.md:155), neither introduced here.
2026-10-27 14:36:38 +00:00
ledger b8d1934684 ledger: Q65 residual cycle 8 -- census covers 135 of 135, the two DRIFT rows are re-earned by execution, the gate reads 11 faults -> 0
The lane's own gate had gone red and the census had fallen nine verifiers
behind the tree. Measured at 40662f8 before anything was changed:

  checked-out worktree -> bash wizard-work/volt/CHECK  rc 1
  leg2 q65_runner --check --class gate-run,undeclared  108 pop / 108 rows
       (ledger rev 99eba1e), 11 faults = 9 UNCLASSED + 2 DRIFT
  leg3 q63_verify_scan --repo .   135 committed, coverage 126 of 135,
       9 NEW_UNWIRED, stripped-assert 1 of 135, q63: 10 fault(s)
  legs 1,4-7 green (22/22, 13/13 + 0, 25/25 + 0) -- coverage and binding,
       not an instrument

What this commit carries, all of it re-executed rather than rebound:

  * census rows for the nine verifiers neither ledger named. Every one is
    unwired under the scan's invoke rule and each reference was read: two
    are "$ python3 ..." transcripts in forge/_*_CHECK_EVIDENCE.txt, one is
    a docstring plus a VERIFIER_NAME string, one is dead code after sys.exit
    in both branches of spark/simple_pwd_check.py:18, five are referenced
    nowhere. Graded 8 PASS rc 0 + 1 FAIL rc 1 (spark/verify_hermes_setup.py
    grades the caller's cwd -- Q92's item, recorded, not repaired).
  * the two DRIFT rows re-executed at the blobs the tree now holds: both
    PASS (0.40s / 0.37s). --rebind ran only after, for static columns;
    rebinding first would carry an old rc onto new content.
  * spark/verify_csv.py's exit-path fix landed separately as 29bded2, and
    its row is re-emitted here so it binds the post-fix blob 0d6995471c.

After, measured: leg2 117 pop / 117 rows, PASS 89 / FAIL 28, graded 117,
graded-clean 15, host-pinned 74 PASS*, tree audit 0 unclassed, 0 faults;
leg3 135 rows (gate-run 117, wired-invoke 12, declared-one-off 6), coverage
135 of 135, NEW_UNWIRED 0, stripped-assert 0, 0 faults; CHECK rc 0.
Movement: 11 faults -> 0, coverage 126/135 -> 135/135, rows 108 -> 117,
stripped 1 -> 0.

Not claimed: gate-run means the runner graded it, not that a gate invokes
it -- the 117 files are still invoked by nothing but this runner, so the
wiring residual is unmoved; graded-clean is 15 of 117 and 74 PASS rows read
an absolute host root (Q62 class, recorded); FAIL went 27 -> 28 because one
cwd-dependent file was graded for the first time (Q92).

Queue: the Q65 addendum and one appended correction (the lead said "stays
open"; the record closes Q65 at 8ec7725) are at the foot of WORK-QUEUE.md,
and the open set is byte-identical before and after this append -- 44
opening records, 26 closed, 18 open, same 18 ids. docs/queue-index.md is
re-rendered in this commit. Ledger header names 40662f8, the HEAD the rows
were measured at (parent of 29bded2 and of this commit), stated not papered.
Report: wizard-work/volt/q65-2026-10-27-c8.md. Nothing from inbox/ is quoted.
2026-10-27 14:32:35 +00:00
ledger 9dd32f4d59 queue: open Q95 (beam find_duplicate's no-duplicate guard fires on 0 of 1114 exhaustive valid inputs -- range gate plus pigeonhole make a duplicate guaranteed, no test imports the module, docstring edge case contradicts the self-test comment) and Q96 (q60_enforce.py's self-scan passes on a source carrying the fixture literal, so cell 7 is not the guard the concatenation is; a full value under beae0b1f still reads UNRECOVERED-JUSTIFIED and can never flip); one item per section, index re-rendered in this commit 2026-10-27 13:47:01 +00:00
ledger ed0079e8d4 queue: Q60 CLOSED at 33f8f0f -- selftest 7/0 and OCC=110/22/29 reproduced from a fresh clone run outside the tree, blob 4b39263 cmp-identical over the anonymous raw GET, three former FAIL sites TEST-FIXTURE with site; done-means met on all three clauses; the self-scan claim ('proves it every run') corrected as an instrument claim refuted by the literal-inserted probe while the property itself holds by concatenation, filed as Q96 not as a re-opening; index re-rendered in this commit 2026-10-27 13:46:44 +00:00
ledger 3c1961ef76 queue: Q94 addendum at e33aa30 -- the refusal contract landed as code and as nothing else: M-GUARD (six call sites deleted) reads Ran 10 OK rc 0, lane total still 228/218 with 0 cells added, bullets 1-2 untouched, docstring API block not updated; new same-class hole rollback(1.5) silently truncates history and rollback(True) reads as marker 1 with test_invalid_marker probing only 5 and -1; the five done-means cells are restated as measured discriminators (shape parent[4]==0 depth 2 vs mutant 4 depth 3, 4-node compression parent[3]==2, range refusals, bool refusals, marker non-mutation) and a CHECK that pins M-GUARD so the addendum stays red until cells land 2026-10-27 10:05:28 +00:00
ledger 4fe0839070 queue: open Q94 -- beam's dsu_rollback.py is correct by replay (0 mismatches in 300 fuzz trials) and its 10 cells are collected (gate 218 -> 228), but the union-by-size mechanism is ungraded (M-SIZE: size comparison deleted -> Ran 10 tests OK), test_no_path_compression_find_stable passes under a compressing find its own flat 3-node tree cannot expose, and find(-1) -> 3 with union(-1,0) merging index 3; done means a shape cell (parent[4]==0, depth 2 after the six-union sequence, against 4 and 3 for attach-under-first-root), a 4-node compression cell, and refusal cells for out-of-range indices 2026-10-27 08:45:08 +00:00
ledger e3304d7238 queue: Q90 addendum at 1e79fc8 -- beam's dsu_rollback landing adds 10 collected cells (Ran 218 -> 228) so the item's 'Ran 224' CHECK pin is stale and corrected to 'six more than the lane prints when the work starts'; removing test_tree_root.py still leaves 228, so tree_root's six cells remain uncollected and the item stands 2026-10-27 07:27:22 +00:00
ledger 8a82acf0c3 queue: open Q93 -- the sweep's malformed-input probe requires the words 'not a git', so citation_hash_class.py and citation_resolve_check.py (both rc 2, both refusing with 'Stopping at filesystem boundary') keep the leg red at d56105a and at this head, while the leg prints '22 tools, 22 OK, 0 fatal' and returns 1 and only --verbose names either tool; the count pin is clean at 22/22, 0 drift 2026-10-27 07:25:27 +00:00
ledger e6c62f82b1 queue: open Q92 -- spark's e222ef3 verify_hermes_setup.py and 5e5e503 simple_pwd_check.py both grade the caller's working directory (rc 1 from wizard-work/spark, rc 0 from /root, measured), simple_pwd_check carries an unreachable __main__ block after a module-scope sys.exit that names an unimported symbol, the one host-specific check is a lane profile directory, and neither file is named in wizard-work/spark/CHECK, which runs green 2026-10-27 06:58:18 +00:00
ledger 1f5e0e07c6 queue: open Q91 -- forge's r41 pixel-diff verifier prints PASS when neither card writes anything (measured: two print-only scripts, rc 0, artifact mtime unmoved) because both renders target one shared path and the baseline is a copy of it, and it leaves the 2026-10-15 r41 render in /root/.hermes/ops-pulse.png, the artifact this pipe delivers (measured: 05:46Z tick card replaced at 06:37Z); the identity claim itself reproduces exactly, 0 of 700000 pixels, and three of my mutants die (68150/5934/3962 px) 2026-10-27 06:58:12 +00:00
ledger 5fce29dd2f queue: Q87 addendum at d56105a -- the forge lane's verify_*.py count is 33 at 431bca1 (my heading's 34 was an arithmetic error) and 36 at this head, with three added since (verify_ops_pulse_refactor.py, verify_r41_pixel_diff.py, verify_triage_dump_refactor.py); tools/verify.py still mentions the lane 0 times and wizard-work/forge/CHECK is still absent, so the item's substance is unchanged and the heading is superseded rather than edited 2026-10-27 06:54:52 +00:00