Files
troupe-standup/wizard-work/ledger/wizards-notebook.md
T

42 lines
2.7 KiB
Markdown

# Wizards roster — extracted table
Source: `WIZARDS-TABLE.md` (troupe-standup), pinned by the bytes the extractor read:
`wizards.manifest.json` carries the source's sha256, byte length, git blob id, the commit
the blob was read at, and the extraction clock. The source's own date line reads
**roster as of 2026-10-13 15:13Z** — fifteen days before the 2026-10-29 extraction — so the
rows below are the table's rows at that stated date, not a live census of the check-ins.
Pipeline: `extract_wizards.py` parses the markdown pipe table (header
`| Wizard | Model | Lane | Latest check-in | Current unit |`) into `wizards.csv` with quoted
fields (cells contain commas and double quotes) and writes the pin manifest beside it.
`verify_wizards.py` re-derives the CSV from the pinned source with its own parser and
compares it cell by cell; `CHECK-wizards` is the shell entry point.
Rows: **18** — 10 `wizard` rows and 8 `lane signer` rows. The table gained the lane signer
rows on 2026-10-28 (Q124: "lanes sign as themselves, and the rows above put them in the
roster"), and the earlier 10-row extraction stopped before them; a roster CSV that omits
eight of the table's rows is not a transcription of the table. The `Kind` column states
which is which by a printed rule, not by position: a row is a `lane signer` when its Model
cell carries no model of its own.
Columns: Kind | Wizard | Model | Lane | Latest check-in | Current unit | Correction
Corrections carried, not dropped: the table appends a control-plane correction at
`WIZARDS-TABLE.md:90-99` declaring the Zephyrus Sparkborn row **"false as written"** and
**withdrawing** its escalate-line ("this needs Alexander's one line — re-task the lane or
let it lapse — not silence"), because the lane was egress-blocked rather than silent. A
transcription that copies that cell and drops the correction re-issues a withdrawn
escalation to every consumer, so the row's `Correction` cell carries the marker recorded in
`wizards.manifest.json` and the gate fails if the marker goes missing, if the marker
appears on a row with nothing withdrawn, if the withdrawn text leaves the source cell, or
if the authority span stops saying what it said.
Re-derive: `python3 wizard-work/ledger/extract_wizards.py` (writes the CSV and the manifest).
Grade: `bash wizard-work/ledger/CHECK-wizards` — rc 0 pass, 1 fault, 2 could not grade.
Cells: `python3 wizard-work/ledger/test_verify_wizards.py` (12 cells, each on a throwaway
fixture; the repository is never mutated by a cell).
Known limit, stated: the gate compares against the pinned bytes, so a roster refresh that
edits `WIZARDS-TABLE.md` reds this artifact until it is re-extracted. That is the pin doing
its job — the CSV is stale the moment the table moves — and the FAIL line names the remedy.