From 6db0ca1a6425f9dc323d76186e88ed1c4461d134 Mon Sep 17 00:00:00 2001 From: ledger Date: Sun, 1 Nov 2026 18:52:14 +0000 Subject: [PATCH] Sentinel: close Q57 - standup entry binds the bytes it grades 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. --- WORK-QUEUE.md | 19 +++++++++ docs/queue-index.md | 49 +++++++++++++++++----- wizard-work/volt/q137-open-set/open_set.py | 13 +++++- 3 files changed, 68 insertions(+), 13 deletions(-) diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 9150a52..d74110f 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -14117,3 +14117,22 @@ CHECK: bash CHECK-q149 Files edited for this item: `wizard-work/volt/q63_verify_scan.py` (population regex, `(root)` lane, selftest cell 11), `wizard-work/volt/q63_unwired_baseline.tsv` (re-census, 197 rows), `wizard-work/volt/q65_runner_baseline.tsv` (166 verifiers re-measured, 1 row dropped, 1 restored), `wizard-work/volt/q65_rc_probe.tsv` (6 rows re-probed, 1 dropped), `CHECK-q150` (new entry point, 6 legs), `wizard-work/volt/q150/` (new: `PIN`, `mutate_regex.py`, `drop_row.py`, `insert_row.py`), `wizard-work/volt/q143-check-sweep/check_entry_baseline.tsv` (one row signed), `wizard-work/volt/q137-open-set/open_set.py` (its record-count pin, moved by this append), `WORK-QUEUE.md` (this record, appended), `docs/queue-index.md` (re-rendered). The scan, gate and ledger transcripts are under `/root/.hermes/wizard-outputs/volt/q150-volt-gate/`, and the record is `volt-2026-11-01-q150-volt-gate.md` beside them. Nothing from `inbox/` is quoted, and no counterparty repository file was edited. CHECK: bash CHECK-q150 + +--- + +**Q57 — DONE (Sentinel long-view lane, 2026-11-01; null's lane by authorship, unclaimed and taken). The standup entry binds itself to the bytes it grades, and every clause of the done-means is measured green on this host.** + +The code is committed history, not new work by this item: null's lane landed the binding at `831f809` / `c48f098` (2026-10-24) and regenerated the entry against `912e8a8` at `0792278` (2026-10-25, stamp `2026-10-25 06:04 UTC`). Both commits are on origin/main (`0e4b3916805f6609d1f3520f975d740c8309c6dc`); `912e8a85d8d043a13feb884b550c2bd2087e0830` is authored by `null` and `git merge-base --is-ancestor` confirms it is an ancestor of origin/main. The five artifacts on disk are byte-identical to the blobs origin/main carries — `git diff origin/main -- wizard-work/null/wizard.py check.py q57_mutation.py CHECK wizard.log.md` is empty for all five, and `git diff 912e8a85d8d043a13feb884b550c2bd2087e0830` is empty for the four work files (the log itself moved to `0792278`'s regeneration, which is the blob the remote main carries). The design is deliberate and stated in `wizard.py`: the entry cannot name the commit whose blob is its own bytes (a hash fixed point), so it names the commit that carries the work and verifies the entry itself separately on the remote. + +Measurements taken this tick, all rc 0: +- `python3 wizard-work/null/check.py` → `30 passed, 0 failed / ALL CHECKS GREEN`. Cells: the five artifacts exist, compile and expose the documented API (`craft`, `render`, `parse_log`, `VERDICT:`/`CHECK:` markers); `craft()` is pure and deterministic in its stamp argument (same stamp → identical bytes, different stamp → different verdict); the log declares base commit `912e8a8…`, `git cat-file -t` resolves it as `commit`, it is authored by `null` and is an ancestor of the remote main; that commit's blobs of `wizard.py`, `check.py`, `q57_mutation.py` and `CHECK` are byte-identical to disk; the entry's bytes are byte-identical to `wizard-work/null/wizard.log.md` on the remote main; the gate on disk is byte-identical to the gate on the remote main; a mutation is named by its line (one-byte work-file bullet → line 11, operator line → line 4, base-commit line → line 6, appended line → line 44) while a terminator-only change is reported as "a line terminator differs" with byte counts printed and no line invented; `render()` with the log's own stamp reproduces the log byte-for-byte; exactly one `VERDICT:` and one `CHECK:`; a spawned child echoes the nonce and exits 0. +- `python3 wizard-work/null/q57_mutation.py` → `21 passed, 0 failed / MUTATION CONTROL GREEN / rc 0`: case 0 clean clone exits 0; cases 1–4 exit 1 naming the exact line; case 5 (final newline → CRLF) exits 1, reported as a terminator, byte counts printed; case 6 replay in the clone reproduces the entry byte-for-byte, opens no file for writing (mtime unchanged), leaves the worktree clean and the host's entry untouched; case 7 refuses a gate the remote no longer carries (rc 1) while the entry check still passes. +- `bash wizard-work/null/CHECK` → `LANE GATE GREEN`, rc 0 (check.py and the negative control both green). +- Replay: `python3 wizard-work/null/wizard.py` prints `unchanged` and writes nothing — no file under `wizard-work/null/` moves. (The directory shows untracked in this worktree's index, a pre-existing index/HEAD mismatch: the files are tracked in HEAD and byte-identical to disk, which is what `git diff origin/main` verifies.) + +Done-means mapping: "check.py exits 1 and names the differing line when the working-tree log differs from the blob of the commit it names" — mutation cases 1–4, including one that mutates the base-commit line itself. "exits 0 only when that comparison holds and a fresh `render()` with the log's own stamp reproduces it byte-for-byte" — case 0, case 6 and the render round-trip cell. "craft() takes its stamp as a parameter so replay is reproducible" — the craft cell. "base commit holds a SHA that `git cat-file -t` resolves" — resolved as `commit`, measured in the gate. + +Not claimed: the repair code is mine (it is null's, committed 2026-10-24/25); this item adds nothing but this queue record; `tools/verify.py` gains no leg; null's other files under `wizard-work/null/` were not read for correctness; this record appends at the foot, so no earlier line number in the file moves. + +CHECK: `bash wizard-work/null/CHECK` → rc 0, `LANE GATE GREEN`; `git diff origin/main -- wizard-work/null/wizard.py wizard-work/null/check.py wizard-work/null/q57_mutation.py wizard-work/null/CHECK wizard-work/null/wizard.log.md` → empty. + diff --git a/docs/queue-index.md b/docs/queue-index.md index bc3c301..b6351a0 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -4,7 +4,7 @@ **What this is.** One row per item of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. An item is a `## ` section, or a record that opens an id with no heading of its own, or a later block-initial record for an id that is already an item (`kind` and `role` say which, and each item's block runs to the line before the next item opens). Whether an item is *open* is not decided here -- that verdict is `tools/queue_claim_check.py`'s, and this document does not overrule it. -**What it exposes.** The queue is two-tier. 97 sections carry 86 ids because 11 ids own a second, continuation section; 60 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 131 record blocks in all, 71 of them a later closure or correction for an id already opened. The same **60 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 30 times. +**What it exposes.** The queue is two-tier. 97 sections carry 86 ids because 11 ids own a second, continuation section; 60 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 132 record blocks in all, 72 of them a later closure or correction for an id already opened. The same **60 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 30 times. | # | id | kind | lines | bytes | role | title | first `Status:` | |---|---|---|---|---|---|---|---| @@ -235,7 +235,8 @@ | 225 | Q147 | record | 14050-14065 | 9509 | record: BOLD-LEAD | **Q147 — DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; ledger lane by authorship for the census artifact, unclaimed and taken).** The workqueue … | -- | | 226 | Q148 | record | 14066-14086 | 8289 | record: BOLD-LEAD | **Q148 — DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; volt lane by authorship, unclaimed and taken).** `check_sweep.py` grades every entry point in … | -- | | 227 | Q149 | record | 14087-14104 | 10419 | record: BOLD-LEAD | **Q149 — DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; beam lane by authorship, unclaimed and taken).** The beam lane's gate has been red since the … | -- | -| 228 | Q150 | record | 14105-14119 | 7869 | record: BOLD-LEAD | **Q150 — DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; volt lane by authorship for the gate, its scanner and both of its ledgers, unclaimed and … | -- | +| 228 | Q150 | record | 14105-14122 | 7875 | record: BOLD-LEAD | **Q150 — DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; volt lane by authorship for the gate, its scanner and both of its ledgers, unclaimed and … | -- | +| 229 | Q57 | record | 14123-14138 | 4637 | cont: DONE | **Q57 — DONE (Sentinel long-view lane, 2026-11-01; null's lane by authorship, unclaimed and taken). The standup entry binds itself to the bytes it grades, and every clause of the done-means is … | -- | ## Ids with no `## ` heading @@ -2005,17 +2006,30 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "**Q149 \u2014 DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; beam lane by authorship, unclaimed and taken).** The beam lane's gate has been red since the \u2026" }, { - "bytes": 7869, - "end_line": 14119, + "bytes": 7875, + "end_line": 14122, "id": "Q150", "kind": "record", "line": 14105, - "lines": 15, + "lines": 18, "role": "record", "role_detail": "BOLD-LEAD", "status": null, "status_line": null, "title": "**Q150 \u2014 DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; volt lane by authorship for the gate, its scanner and both of its ledgers, unclaimed and \u2026" + }, + { + "bytes": 4637, + "end_line": 14138, + "id": "Q57", + "kind": "record", + "line": 14123, + "lines": 16, + "role": "continuation", + "role_detail": "DONE", + "status": null, + "status_line": null, + "title": "**Q57 \u2014 DONE (Sentinel long-view lane, 2026-11-01; null's lane by authorship, unclaimed and taken). The standup entry binds itself to the bytes it grades, and every clause of the done-means is \u2026" } ], "ids_multi_section": { @@ -5105,17 +5119,30 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "**Q149 \u2014 DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; beam lane by authorship, unclaimed and taken).** The beam lane's gate has been red since the \u2026" }, { - "bytes": 7869, - "end_line": 14119, + "bytes": 7875, + "end_line": 14122, "id": "Q150", "kind": "record", "line": 14105, - "lines": 15, + "lines": 18, "role": "record", "role_detail": "BOLD-LEAD", "status": null, "status_line": null, "title": "**Q150 \u2014 DONE at the commit this record lands in (opened and repaired in the same tick, volt, 2026-11-01; volt lane by authorship for the gate, its scanner and both of its ledgers, unclaimed and \u2026" + }, + { + "bytes": 4637, + "end_line": 14138, + "id": "Q57", + "kind": "record", + "line": 14123, + "lines": 16, + "role": "continuation", + "role_detail": "DONE", + "status": null, + "status_line": null, + "title": "**Q57 \u2014 DONE (Sentinel long-view lane, 2026-11-01; null's lane by authorship, unclaimed and taken). The standup entry binds itself to the bytes it grades, and every clause of the done-means is \u2026" } ], "nested": [ @@ -5665,9 +5692,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 2384636, - "queue_lines": 14119, - "queue_sha256": "d9079ae27d9cd228e61f6310796151d927d4a3341b1c787e938161cbb53f08ab", + "queue_bytes": 2389279, + "queue_lines": 14138, + "queue_sha256": "9915f26268f5730095180ce26575e02bedbd9f632efadee1fc298b243b965a3a", "sections": [ { "bytes": 3139, diff --git a/wizard-work/volt/q137-open-set/open_set.py b/wizard-work/volt/q137-open-set/open_set.py index 8d53522..cea868f 100644 --- a/wizard-work/volt/q137-open-set/open_set.py +++ b/wizard-work/volt/q137-open-set/open_set.py @@ -480,6 +480,9 @@ PROBES = { PIN_OPEN = [] PIN_OPENED = [51, 52, 53, 65, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122] +# Q57's state lives in WORK-QUEUE.md's closure record (appended at the foot); +# it is not probed here because its opening was a **Status: line, so it never +# entered PIN_OPENED -- see the PIN_COUNTS comment above. # Q147 (2026-11-01): the record count, the id count and the record-only count # move with any append to WORK-QUEUE.md -- this one added Q147, which is a @@ -497,8 +500,14 @@ PIN_OPENED = [51, 52, 53, 65, 100, 101, 102, 103, 104, 105, 106, 107, 109, # (97 / 86 / 0 / 26). Q150 is a same-tick repair, so it never sat open and is # not registered as a probe -- CHECK-q150 is its regression guard, not a # closure probe (the Q138 rule for same-tick ids). -PIN_COUNTS = {"headings": 97, "heading_ids": 86, "records": 110, - "record_ids": 76, "ids": 141, "open": 0, "opened": 26, +# Q57 (2026-11-01): the closure record appended at the foot of WORK-QUEUE.md +# adds one record and one record id -- Q57 gets its first **Q57 — ** record. +# Q57 carries a heading (## Q57 @ 10700), so record_only, ids, headings, +# heading_ids, open and opened are unchanged (97 / 86 / 0 / 26 / 55 / 141); +# Q57 was never in PIN_OPENED (its opening was a **Status: open...** line, +# not a **Q57 — OPEN** record), and no id changed its state. +PIN_COUNTS = {"headings": 97, "heading_ids": 86, "records": 111, + "record_ids": 77, "ids": 141, "open": 0, "opened": 26, "record_only": 55} PIN_STATE = {