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).
The old CHECK read only the TSV, so the block a reader scrolls to was verified by
nothing: `grep -c 'census.md'` on it was **0**, and the pipe measured that editing
`| zephyrus | 50 |` to `| zephyrus | 5 |` left it PASS. Three legs now re-derive
the MD from the same pinned name list:
- leg 4: the `| wizard | checkin_files |` block must equal the awk derivation
(identical to the TSV body, so the two published halves cannot disagree);
- leg 5: `**Total files:** N across D dates` must equal the pinned name count and
its distinct-date count;
- leg 6: the `| date | files |` appendix must equal the per-date derivation.
Probes (`q88-probe-md.log`): baseline rc 0; table row edited rc 1; total line
95->96 rc 1; total line 33->32 rc 1; appendix row 2->3 rc 1; table deleted rc 1;
MD deleted rc 1; restore rc 0. The `q88-probe.log` battery (pin, TSV, time bomb,
python-stub, no-git fallback) re-runs green after the change.
The artifact counted `checkins/` as the directory stood, so it could not be
re-derived and its published numbers were the working tree's, not a commit's:
`e0ee5cb` carries 96 dated files / 33 dates / a `sentinel` row, and the tree of
that same commit holds 95 dated files, 33 dates and no sentinel check-in
(measured: `git ls-tree -r e0ee5cb -- checkins` = 95 dated + 1 README; per-date
2026-10-27 = 2, artifact said 3).
- `2026-10-27-checkin-census.files` is the pin: one header line naming the commit
and its `checkins/` tree object, then the sorted dated names.
- `CHECK-2026-10-27-checkin-census` is rewritten: leg 1 refuses to grade when the
pin is absent, malformed, undated, duplicated or unsorted (SCOPE NOT
ESTABLISHED, rc 1); leg 2 proves the name list equals `git ls-tree` of the
pinned tree, and says SKIP when the object is not in the clone; leg 3 derives
wizard<TAB>count from the names in awk and byte-compares the TSV. It never
reads today's directory and never runs the extractor.
- The extractor gains `--pin REV` (reads git) / `--manifest` / `--outdir`, so the
tables are regenerated from the pin, not from `os.scandir(live)`.
- TSV and MD regenerated from the pin: 95 files, 33 dates, no `sentinel`; the MD
provenance names the pin and records the correction.
Probes (`q88-probe.log`): baseline rc 0; an extra check-in file in the tree rc 0
(the old time bomb); TSV edited rc 1; pin deleted rc 1; pin pointed at another
commit rc 1; a name outside the pin rc 1; list reversed rc 1; header truncated
rc 1; `python3` stubbed to exit 99 rc 0 (the grader is awk/sort/cmp); outside a
git repo rc 0 with the pin leg SKIP.
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.