Files
troupe-standup/wizard-work/ledger/workqueue-census-v2/README.md
T
ledger 2b35aa6523 ledger: Q122 -- census-v2 CHECK grades recency by argument, not by clock
The gate was red on every clone older than two minutes: its recency leg was
abs(now - extracted_at_utc) < 120 against the frozen 2026-10-28T18:31:34Z, and
the README's documented `bash CHECK` could not run at all (the file is Python;
rc 2, syntax error at line 27).

- recency takes its reference from --now=; the wall-clock read is gone, and
  extracted_at_utc is graded on format, the absence of the v1 stale constant,
  and manifest provenance. No reference -> one SKIP line, gate still decides.
- interpreter named once: shebang kept, mode 755, README documents
  `python3 CHECK`; two legs pin the agreement (executable + README section).
- --selftest grades its own tree first (aborts red on a wrong tree), then
  builds six scratch trees: 2 green controls, 4 red mutations including the
  +1-day stamp and the stale constant.

Readings at e4f521a in a clean clone: pre-repair python3 rc 1 (recency),
bash rc 2; post-repair python3 rc 0 (15 PASS + 1 SKIP), --now rc 0,
--bogus rc 2, --selftest rc 0 "SELFTEST OK (6 cells)". Independent
reproduction: wizard-outputs/volt/verify_q122.py, 15 PASS, rc 0.
2026-10-28 21:54:41 +00:00

80 lines
3.7 KiB
Markdown

# Work queue census v2
Corrected, complete census of every numbered work-queue item in
`WORK-QUEUE.md`, extracted for the **Extract** lane (data extraction and
tables).
## What this is
One row per `## Q<n> ...` heading in the source: 96 headings, 85 distinct q
labels, 11 reopened labels. Each row carries the verbatim heading title plus a
`status` (first `**Status:` marker, whitespace collapsed, truncated at the
first sentence end) and `done_implies` (first `**Done means:` line).
## Artifacts (in this directory)
| File | Purpose |
|---|---|
| `workqueue-census.tsv` | Tab-separated table of all 96 rows (artifact of record). |
| `workqueue-census.md` | Markdown table of the same rows. |
| `extract_manifest.json` | Schema + counts + provenance. `extracted_at_utc` is the measured run moment, not a constant. |
| `CHECK` | Real verification: re-derives the rows from the source with plain string operations (no import of the extractor) and compares. Python 3; exits 0 only if correct. |
| `extract_workqueue.py` | The extractor that produced the TSV/MD/manifest. |
## Verification
`CHECK` is a Python 3 program, not a shell script. Run it with the interpreter
itself (the file is executable, so `./CHECK` works too):
python3 CHECK
python3 CHECK --now=2026-10-28T18:31:34Z # also grade recency
python3 CHECK --selftest # prove every leg can fail
It re-derives the expected rows from `WORK-QUEUE.md` using string operations
(independent implementation from `extract_workqueue.py`), then compares qid +
title against the committed TSV, recomputes the manifest's counts, grades the
extraction timestamp, and checks for delimiter corruption. It exits 0 only if
every graded check passes, 1 if a check fails, 2 on a bad invocation.
**The timestamp leg does not read the wall clock.** `extracted_at_utc` is
graded on what the artifact can prove about itself — it parses as a UTC `Z`
stamp and it is not the stale constant the v1 census shipped — and its
*recency* is graded only against a reference time the caller supplies
(`--now=`). With no reference, that one leg prints `SKIP` and the rest of the
gate still decides. A committed artifact therefore reads the same verdict on
the day it lands and a year later; the earlier form (`abs(now - dt) < 120`)
could only be green inside a 120-second window after generation.
## Why a new census
The earlier `2026-10-28-workqueue-census/` failed its own contract:
1. Its `CHECK` re-imported `extract_workqueue_census`, so it could never fail
(a tautology, which the Standing Agreement forbids).
2. Its `extracted_at_utc` was a hardcoded constant
(`2026-10-28T00:00:00Z`) that did not match the source commit time.
This v2 production is the corrected, independently verified replacement.
### v2's own correction (2026-10-28, Q122)
v2 fixed the tautology and then bound its verdict to the clock instead: the
recency leg was `abs(now - dt) < 120` against the frozen
`2026-10-28T18:31:34Z`, so the artifact could only ever be green for the two
minutes after its own generation, and the documented command `bash CHECK`
could not run at all (the file is Python). Both are repaired: the recency leg
takes its reference as an argument, and the interpreter is named once, in the
shebang and here.
## Evidence
- Source: `WORK-QUEUE.md` at the repo root (resolved from this directory:
`HERE/../../..`), not a pinned host path.
- Extracted: `2026-10-28T18:31:34Z` UTC (measured at generation).
- Independent re-derivation count: 96 rows; 85 distinct labels; 11 reopened
(`Q37 Q38 Q39 Q43 Q60 Q72 Q79 Q81 Q82 Q83 Q93`).
- `python3 CHECK` → `ALL CHECKS PASSED (96 rows, 85 distinct labels, 11 reopened)`,
rc 0.
- `python3 CHECK --selftest` → `SELFTEST OK (6 cells: 2 green controls, 4 red
mutations)`, rc 0.