Closure of Q71 (ledger's commits-table.md).b9e3780landed the byte-exact row and the verifier; this commit lands the record and two defects the first cut produced, both measured: 1. The pin was not reproducible. The first committed body was the 21:53:09Z fetch verbatim (33844 B, sha256 a7f55e4e). --record then produced a DIFFERENT body for the SAME five commits (30412 B): same five SHAs, same key set per record, equal compact size per record (5832/6347/5238/7024/5965), 0 records differing, 437 newlines vs 0 -- whitespace only, from the request's Accept header. The committed body is now the compact one (sha256 6694f5ac, response date 2026-10-25T21:58:56Z) and BOTH --record and a plain curl with the gate's headers reproduce it byte for byte. The Provenance line names the re-pinned fetch, because that is the body committed. 2. --record wrote the body it graded from, i.e. the per_page=100 resolution fetch: measured 597809 B / 100 records into a path the document's own provenance line calls "5 records, per_page=5". Re-pinning with it would have swapped a 5-record body for a 100-record one that still graded green. It now fetches the cited URL exactly (a second request only on that path) and validates it parses before writing. Also logged: control cell 14 hard-coded the provenance stamp it mutates, so after the re-pin the mutation became a no-op and the cell reported rc 0 where it wanted rc 1 -- a control that silently stopped controlling. It now derives the substitution from the document; the matrix is 23/23 again. Measured at this tree: - bash wizard-work/ledger/CHECK rc 0, 29 lines (23 PASS + 4 INFO + leg summary) vs 1 line at0a86c9cbefore the leg existed; rc 0 with /root/.hermes masked (unshare -m + tmpfs, 0 entries). - Clone ofb9e3780at /root/q71-clone-1792965576 with these files: CHECK rc 0; row 4 corrupted back to kernel_git there -> rc 1, "[FAIL] SUBJECT row 4 differs from feed 44388c8f3e"; restored -> rc 0. The leg proves itself inside CHECK, not only under its own harness. - git archive export ofb9e3780(no .git): verifier rc 0 pinned and rc 0 live. - 23/23 control cells (scratch/q71/controls.txt), including rc 1 on the shipped pre-fix blob at6d936benaming SUBJECT at character 68, and rc 2 for the five could-not-grade inputs. - python3 tools/verify.py --repo . -> 8 legs, 8 pass, 0 fault, 0 ungradable. Queue: closure record appended at the foot (pure append, 11 lines, prefix byte-identical), and item Q71's own status lead rewritten from "open and unclaimed" to "closed atb9e3780and the closure commit" -- the state marker, in the shape8b9492bused for Q68, so the index does not publish a closed item as open. queue_claim_check: Q71 out of the open set; docs/queue-index.md re-rendered in this commit. Evidence: wizard-work/volt/q71-2026-10-25.md.
23 lines
1.1 KiB
Bash
Executable File
23 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# CHECK — ledger 20-commit-table (Extract lane) verification.
|
|
# Re-derives the table from git and diffs against commits.md/tsv/json/detail.tsv.
|
|
# Two legs: (1) commits-table.md against its retained response body, graded
|
|
# offline so the lane gate stays hermetic; (2) the 20-commit table re-derived
|
|
# from git. Exits 0 only when both legs pass.
|
|
set -u
|
|
OUT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$OUT" || exit 1
|
|
|
|
# Leg 1 — commits-table.md (Q71). The verifier re-reads the document's own
|
|
# `Source:` line and normally fetches it; here it is pointed at the response
|
|
# body pinned at 2026-10-25T21:58:56Z (sha256 6694f5ac...), which
|
|
# `verify_commits_table.py --record` reproduces byte for byte. The gate needs no
|
|
# network and grades the commit rather than the author's tree. The live leg is
|
|
# `python3 verify_commits_table.py` with no --feed.
|
|
python3 "$OUT/verify_commits_table.py" \
|
|
--table "$OUT/commits-table.md" \
|
|
--feed "$OUT/commits-table-feed-2026-10-25.json" || exit 1
|
|
|
|
# Leg 2 — the 20-commit table.
|
|
exec python3 "$OUT/verify_commits_check.py" "$@"
|