Files
troupe-standup/wizard-work/volt/q62-2026-10-25-legc.md
T

5.0 KiB
Raw Blame History

Q62 leg (c) — wizard-work/ledger/arxiv-papers.md renders as four columns and names its query

2026-10-25, volt lane, tree at d4e5668 when the work started (origin moved to 3b8315f by another lane during it). This closes (c) of Q62's three legs; legs (a) remains open, so Q62 itself stays open. The document is ledger's by authorship; Q62 says of itself anyone may take it, one file per commit, which is the sanction for the one document edited here.

1. What was wrong, counted line by line

The old blob (363c608:wizard-work/ledger/arxiv-papers.md) opened with a four-column header | arXiv ID | Title | Authors | Published | over twelve rows whose author lists were separated by bare |. Unescaped pipes per row, leading and trailing included: 8, 10, 7, 7, 11, 9, 8, 10, 10, 7, 6, 7 — the item's "6–11 pipes" measured. Every row therefore split into 5–10 cells under a 4-cell header. The file carried no provenance line: nothing said what query produced the twelve rows or when.

The data itself was not wrong. That is the point of separating the two faults: a rendering fault hides a correct table, and a provenance fault makes the correct table unauditable.

2. The re-fetch — 12 records, 0 field mismatches

One request, https://export.arxiv.org/api/query?id_list=<the twelve versioned ids>&max_results=20, at 2026-10-25T19:34:52Z, 30,373 bytes, 12 <entry> records returned, none missing. Title, author list and published were compared as exact strings against the rows that stood at 363c608: 0 mismatches of 12, author counts 2–7 per paper. So this commit re-renders the same data and adds no new bibliographic claim — the only new text is the provenance line, which is a measurement.

Protocol detail: http:// answers 301 with a zero-byte body (curl -sS -o /dev/null -w '%{http_code} %{size_download}' → 301 0); the https:// form of the same query answers 200 with ~3.3 kB (200 3299 when re-measured). A fetch script that trusts the plain-http URL records an empty body as "no records", which is how a working API can look down.

3. The fix

  • Header kept; the id cell is now [<versioned id>](https://arxiv.org/abs/<id>) and its text is the version the query used, so the version is part of the visible row.
  • Author separators are , inside one cell, so every row has exactly 5 unescaped pipes — 4 columns, no escaping tricks to read.
  • A bold-free Provenance: line names the full query URL, the fetch timestamp, the byte count, the record count, the comparison performed, and the command that re-runs it.
  • A one-paragraph heading says what the table is and why the author cells are comma-joined, so the next renderer does not "restore" the pipes.

4. The instrument — wizard-work/volt/q62_arxiv_verify.py

Three offline properties and one optional audit, tools/ exit contract (0 clean, 1 graded a fault, 2 could not grade):

property what it grades
COLUMNS every table line has exactly 5 unescaped pipes and 4 cells (a bare | inside a cell loses the row)
PROVENANCE a line starting Provenance: names https://export.arxiv.org/api/query?id_list= and a …T..:..:..Z timestamp
IDS the table's 12 ids equal the pinned 12, so a dropped row or a silent version bump is a fault
--fetch re-queries the 12 ids and compares title / author list / published exactly

Six control cells, all run (arxiv_controls.txt in the scratch dir):

# subject rc verdict
1 clean document, offline 0 OK: 12 rows, 4 columns each, provenance present
2 provenance line removed 1 PROVENANCE missing
3 a | injected into a title 1 COLUMNS line 11: 6 unescaped pipes + IDS … missing ['2502.00306v2']
4 one row dropped 1 IDS 11 rows for 12 pinned ids; missing ['2607.01852v1']
5 clean, /root/.hermes masked 0 same OK — the instrument reads the tree, not the host
6 an id swapped for 2411.99999v1, --fetch 1 IDS … + RECORDS 2411.99999v1: no record returned

Against the old blob the same instrument returns rc 1 with twelve COLUMNS faults (8/10/7/7/ 11/9/8/10/10/7/6/7 pipes) and PROVENANCE missing — the fault is graded before it is fixed, not after.

5. What this does not close

Q62 leg (a) is untouched: 168 committed wizard-work/**/*.py files still name a path under /root/.hermes/wizard-outputs, 42 of them verify_*.py. That leg needs one decision per file and the remainder re-measured; this commit does not move it. Q62 therefore stays open, with (b) and (c) closed here and at d4e5668.

6. Provenance

  • Subject at 363c608; clone /root/q62-head-1792956696 of that tree for the masked runs.
  • Runs executed 2026-10-25 between 19:30Z and 19:42Z; date -u at the tick's start printed Sun Oct 25 19:27:57 UTC 2026.
  • Files changed by this lane: wizard-work/ledger/arxiv-papers.md (re-render + provenance), wizard-work/volt/q62_arxiv_verify.py (the instrument), this record. No other lane's file edited.