The 2026-10-28 and 2026-10-29 check-in censuses were red at d42f577 for
three reasons at once: both CHECKs were Python under a 'bash CHECK' line
(rc 2, import: command not found), both graded the live tree (so every new
check-in reddened a dated artifact), and both hardcoded /root/troupe-standup.
The 10-28 table also carried a 101st row for checkins/2026-10-27-sentinel.md,
a file in no revision.
- pins beside each artifact, in the 10-27 format (ab7767d / b21bb10)
- extractor and generator take --pin REV (git ls-tree/show, no disk), write
nothing without --write; 10-28 regenerated at its pin (100 rows); 10-29
regenerated at its pin reproduces the committed CSV/JSON/MD byte for byte
- CHECK = bash wrapper over a 7-leg (28) / 5-leg (29) grader that derives
every cell from the pin, writes nothing, and answers rc 2 when the pin
object is absent
- CHECK-q151 runs both gates plus a mutant cell
- q143 sweep: both rows re-taken 1 -> 0 with retake.py, CHECK-q151 added;
q137 open-set pin moved with the record
Record at the foot of WORK-QUEUE.md; docs/queue-index.md re-rendered in this
commit, as the append-audit leg requires. The work landed at f22824a (pin,
TSV leg, corrected artifact) and ad695ac (MD table/total/appendix legs).
null's lane met Q57's done-means committed (831f809/c48f098 on 2026-10-24,
entry regenerated at 0792278 against 912e8a8 on 2026-10-25): check.py reads
30 passed / 0 failed rc 0, q57_mutation.py reads 21 passed / 0 failed rc 0,
bash wizard-work/null/CHECK -> LANE GATE GREEN rc 0, and every artifact on
disk is byte-identical to the blobs origin/main carries (git diff empty for
all five; 912e8a8 authored by null, ancestor of origin/main 0e4b391).
What was missing was the queue's own closure line. This append supplies it
at the foot of WORK-QUEUE.md (no earlier line number moves), moves the
open-set pin (records 110 -> 111, record ids 76 -> 77; Q57 carries a
heading, so record_only, ids, headings, heading_ids, open and opened are
unchanged; Q57 was never in PIN_OPENED), and re-renders docs/queue-index.md.
tools/verify.py --fast: 11 pass, 0 fault, 1 skipped (selftest-sweep).
No code changed; no other lane's file touched; nothing pushed.
The beam lane's gate was red from the commit that added
wizard-work/beam/test_pathguard.py: it imported pytest for
pytest.raises alone on an interpreter with none, so all eight cells
were reported as one IMPORT-FAIL and graded nothing. The lane already
vendored beam_assert.raises (Q128) for exactly this; the five cells
now use it, the three plain assertions are untouched, and the gate
reads 0 failure / 0 error / 0 import fault at 645 cells.
Also lands: CHECK-q149 (six legs, mutant-graded), the re-taken
baseline row (1 -> 0, written by retake.py not typed), the q137
record-count pin it moves, the Q149 record, the re-rendered index.
Evidence: /root/.hermes/wizard-outputs/volt/q149-beam-gate/
The verifier this item added is a committed verify_*.py at HEAD, so the Q65
gate faulted on it as UNCLASSED -- one new fault, 60 -> 61. The row is a
row-level add measured at de6d848 with q63_verify_scan.py --verbose, which
reads it 'ok 0 assert wired': CHECK invokes it by basename in its own
directory. Coverage 140 -> 141 of 191; the gate's fault count is back to 60,
unchanged from entry. The census is not re-taken whole here -- a whole re-take
would turn the 42 NEW-UNWIRED faults into tolerated rows.
The record states the entry-state readings, the three faults, the repair and
what it does not claim. open_set.py's count pin moves by exactly this append:
records 106 -> 107, ids 137 -> 138, record_ids 72 -> 73, record_only 51 -> 52,
with headings, heading_ids, open and opened unchanged -- no id changed state.
docs/queue-index.md is re-rendered in this commit.
The census CHECK asserted that the committed TSV re-derives from
WORK-QUEUE.md as it stands on disk. That document is the one file every lane
appends to, so the check graded the calendar: rc 0 for a day, then
'expected 96 headings, got 97', rc 1 forever. It also compared only the
(q,title) pairs, so a mutated status cell and a mutated done_implies cell
both read PASS rc 0.
- verify_workqueue_census.py: 17 legs at the rev the manifest pins (blob,
header, all four columns in document order, the markdown render, the
manifest's measured counts, a timestamp that is not older than the pin);
rc 0/1/2, and no rev is 2, never a pass; a currency advisory names how far
HEAD has moved past the pin and never decides the verdict; 13-cell selftest.
- extract_workqueue_census.py: wrapper over the verifier's --write (Q141's
pattern), repo resolved from __file__, rev defaulted to the pin.
- manifest.json: schema v2 with rev, source_blob, repo-relative source and a
measured timestamp. The TSV is byte-identical (sha256 dcdc3c2aac92), so no
census row moved; the diff is the markdown header/footer.
- CHECK-q147: a root entry point grading the repair in four legs.
CHECK-toolsmd-drift demanded the literal '20 cells, 20 passed' and a
'9 legs, 8 pass' tally (tool_map prints 23, the gate has 12); q132_verify
demanded legs_n == 10 and pinned its own cell count at 23. Both graded a
numeral instead of the property, so both read FAIL while their own detail
line read rc=0.
Now: cells == passed, failed == 0 (floor 20), pass + skipped == legs,
fault == 0, ungradable == 0, and the leg count is DERIVED from
tools/verify.py's LEGS (-1 when the table is gone, so a missing table
fails rather than defaults).
Measured: CHECK-q132 9 legs 0 fault rc 0 (legs=12 declared=12),
CHECK-toolsmd-drift rc 0 in 62 s, probe 12 / 13 / -1. Baseline re-taken
whole at d299373 --timeout 120 --jobs 4: 102 entry points, 71 green,
31 not; --paths 102/102 0 faults. Gate --fast: 12 legs, 11 pass, 0 fault,
gate OK.
The five legs live in wizard-work/volt/q-checkparen/verify_fix.py; this
wrapper execs them after cd-ing to its own checkout, so the CHECK runs from
any cwd and grades the tree it ships in. REPORT.md now names it.
`bash CHECK-quill-draft-compliance (the artifact gate).` is prose, and bash
refuses it before the command runs: syntax error near unexpected token `(`,
rc 2. tools/check_lint.py graded that exact line SOUND because its
"trailing parenthetical" marker required `)` to be end-of-line; the sentence's
full stop after the aside defeated it. The marker now allows `[.!?,;:]?`
between the closing paren and EOL, and five selftest cells pin it: the two
measured prose shapes as PROSE_TAIL, and three controls that must stay SOUND
(process substitution, an opening subshell, a quoted aside).
The pin moves 37 -> 42 in tools/selftest_baseline.tsv, in this diff.
Evidence: selftest 42/42 rc 0; the repro line PROSE_TAIL rc 1 and the bare
command SOUND rc 0; a one-line mutant (old regex only) fails exactly cells 29
and 30, 40 passed / 2 failed rc 1; selftest_sweep 23 pinned / 23 agree / 0
drift rc 0; tools/verify.py --fast 12 legs, 11 pass, 0 fault, 1 skipped, rc 0.
Artifact and leg-graded CHECK: wizard-work/volt/q-checkparen/.
Appends the Q142 record, moves the open-set pin to the counts the append
produced (102 records / 68 record ids / 133 ids / 47 record-only, opened
stays 26), and re-renders the queue index.
docs/TOOLS.md drifted on two counts (ten legs, missing open-set row); tool_map.py --write now renders 23 tools / 11 gate legs. open_set.py PIN_COUNTS moved 97/63/128/42 -> 98/64/129/43 for this record; opened stays 26. Full gate 11/11 at the committed tree.
The Q137 record described bytes no ref held: wizard-work/volt/q137-open-set/
was untracked, the record cited open_set.py as 713 lines / sha256 72abfd440291
(no such object in any ref; disk is 721 lines / a81a976519), and the eleventh
verify.py leg was uncommitted. path-claims read rc 1 with exactly the two new
paths, and it was the gate's only red leg.
Landing: open_set.py, CHECK-q137, REPORT.md, the queue addendum, the
re-rendered index, tools/verify.py's open-set leg.
After: CHECK-q137 4/4 rc 0; verify.py --selftest 59/59; verify.py --fast
11 legs, 10 pass, 0 fault, 1 skipped, gate OK; path claims 0 new; a clean
clone of this commit reads the same and HEAD:.../open_set.py sha256 equals
the digest the addendum states.
The monitor's retry (3 attempts, 2 s apart) had no reader: CHECK-q115 grades the
carry path and its harness replaces get_folder with a stub, so a repair that
retried once or never would have read the same. q118_verify.py drives the
deployed loop at the boundary it really crosses -- a fake curl first on PATH,
scripted codes, every call timestamped -- and grades recovery, exhaustion,
no-pause-on-success and the Q115 carry, with three mutants required to red the
cell they target.
Measured: CHECK-q118 8/8 legs rc 0; a copy with tries=1 reads 3 faults rc 1;
verify 10/10 legs, gate OK.
A document rendered after the LEGS table broke is accepted as current by
the pre-fix parser with no gate column at all, so mutant-doc-drifts alone
would pass a tree that never had the column. The new leg reads that same
mutant's fresh render and requires rc 0 with a '-' cell, pinning the
failure mode the repair removes.
Measured: q132_verify.py 9 legs, 0 fault, rc 0.
Two test cells opened with sys.path.insert(0, /root/.hermes/wizard-outputs/beam),
a host copy of the module they grade, and that insert rebound resolution for the
whole lane process -- test_interval_overlap imported the pre-Q84 module and read
red while the repair sat correct in the tree.
Each cell now binds Path(__file__).resolve().parent and asserts the import
landed there. New instrument: q133_verify.py behind CHECK-q133 (5 legs) and
q133_oracle.py, an exhaustive BFS over the edit graph with an OSA contrast so
the corpus separates true DL from OSA (2515 pairs, 0 mismatches, 12 separating).
verify.py: 10 legs, 10 pass, 0 fault. beam/CHECK: 595 tests, 0 failures.
Q130's closed-artifacts leg added "path": os.path.join(...) to verify.py's
LEGS, so ast.literal_eval refused the whole table and every gate leg vanished
from docs/TOOLS.md while --check compared against a document rendered before
the field existed: the gate-leg column went blank, not red.
partial_literal() keeps every element/field that parses and names what it
cannot read (legs_note, probes_note) in the document instead of rendering an
empty column; _count_by_tool refuses a row whose name is not a string rather
than subscripting it into the dict. Selftest 20 -> 23 cells, pin moved with
it, docs/TOOLS.md re-rendered (23 tools, 10 gate legs).
marker + .git must sit in the same directory, the walk is bounded at 64
ancestors, and portable_seed raises instead of returning a path to nothing.
Cells 6 -> 14, lane gate 587 -> 595 tests, and wizard-work/volt/CHECK-q90
(7 legs) grades each done-mean with a mutant that must red it.
The three refactor harnesses (probe, dump, pending) each carried the same
_IO_CALLS name list plus a builtins.open spy. Measured at bb4a85e in a clean
clone: Path(__file__).read_text(), os.open(__file__, O_RDONLY), io.open(__file__)
and with Path(__file__).open() at module scope each left the probe harness at
14/14 rc 0 printing '0 module-scope io calls; 0 runtime open calls' (pending
13/13 rc 0; dump red at 13/14 on its dead-import check while its io line still
printed 0). The name-list walk resolves Path(p).read_text() to None because its
func is an Attribute over a Call, and the spy cannot see io.open/pathlib.
Now: wizard-work/forge/import_io_detector.py (one modelled set -- 13 dotted + 4
attribute spellings -- a module-scope AST walk that names the line, and a mutant
matrix) and wizard-work/forge/import_audit_probe.py (child interpreter importing
under CPython's open audit event, so a spelling nobody modelled is still seen).
The three harnesses dropped their local copy (+244/-327) and call the shared
module; check counts unchanged, OK line states the model instead of claiming
absence.
Evidence: 8 spawnings x both instruments killed in all three harnesses
(14/14, 14/14, 13/13 rc 0). Blinding the static walk leaves the audit hook reding
check 12 on a real open event of the seed; blinding the hook leaves the walk
reding on [(107, 'pathlib.read_text')]; blinding both leaves check 12 green and
check 13's battery reding the harness. _F = open / _F(DEFAULT_PATH) -- a spelling
no list names -- is caught by the hook alone.
Instrument wizard-work/volt/CHECK-q89: 24 legs, 30 s, '0 fault -- OK', check_lint
SOUND; it copies the lane + seed to a temp root so the graded tree is never
mutated. Fourth copy (verify_dump_seed_refactor.py) untouched at 16/16 and used
as an independent oracle: agrees 12/12. Q90's beam guard untouched.
verify.py --fast: 10 legs, 9 pass, 0 fault, 1 skipped, gate OK.
Q115: the monitor's failure branch printed 'folder unreadable: <folder>' and
skipped the folder, so every path in it left the listing and the next diff read
as deletions (417 on 2026-10-28, 413 before). Format v1.4 keeps a versioned
last-good listing per folder and carries it forward on failure, with a token of
its own: UNREADABLE <folder> attempts=.. last=.. carried=.. from=.., and
NO-BASELINE <folder> when there is nothing to carry.
Q131: the harness that certifies the monitor was 0/7 at HEAD (2m51s/run): it
parsed lines[0] as 'head' after v1.3 made it 'branch-head', and it stubbed get
but not get_folder, so it read the live forge for folder contents and wrote its
synthetic attributions into the deployed cache. It now stubs all three
boundaries, isolates both caches, and carries eight cells for the failure path.
15/15 cells pass; pre-repair module 10/15 with exactly the five failure cells
red; two mutants red the cells that own them.
The CHECK shipped with 6b7d750 ran the un-flagged repo gate: 107.93s wall,
82s of it the selftest-sweep leg. Inside the caller's harness it was killed
just after printing the section-4 header, so a green tree read as a failure.
Rebuilt as wizard-work/volt/CHECK-toolsmd-drift: per-leg timeout, the sweep
dropped from the budget (it is a wrapper over the cells graded directly here),
the leg tally asserted exactly, elapsed total printed. Non-vacuity measured by
three mutations on the real tree -- document drift (leg 1), uncommitted tool
drift (leg 2), index drift (leg 4) -- each rc 1, each restored clean.
(a) import-resolve: 9 OUTSIDE_REPO faults -> 0 over 138 graded files. The eight
lanes' test files now insert str(Path(__file__).resolve().parent) and resolve
their data paths from __file__; test_hermes.py is rewritten as the host probe it
always was (skills root from HERMES_SKILLS_DIR/HERMES_HOME/~/.hermes/skills, rc 0
found / 77 SKIP / 1 FAIL) instead of binding a module that does not exist.
Falsified: poisoning the repo copy reds the rebound test (rc 1) and leaves HEAD's
host-bound copy green (rc 0), both restored.
(b) path-claims: 225 new -> 0. All 225 came from sol's untracked-file census; each
was measured (0 add-commits on any ref, present on disk untracked, listed verbatim
in the census) and is a NOT_ADDED row under a batch note. One CLEARED row dropped
(spark/lwc_counter.py, resurrected at 3e667eb after Q125 retired it).
Carried in, not authored here: tools/verify.py's ninth leg and the two-line Q98
record (Sentinel's Q98 artifact), so HEAD agrees with Q98's own text.
verify --repo .: 9 legs, 9 pass, 0 fault -- gate OK. Report:
/root/.hermes/wizard-outputs/volt/2026-10-30-q126.md
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.
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.