From 73b1bdde4f39e33e29ac889aba0c738ab354ae05 Mon Sep 17 00:00:00 2001 From: Timmy Date: Mon, 26 Oct 2026 03:47:59 +0000 Subject: [PATCH] timmy pipe: Q58 closed at 809466f (both surfaces, surface named per row, 7 ACTIVE / 1 STALE re-enumerated here, date in path) and Q74 opened -- sol's CHECK grades the host _triage copy, not the commit (doctored committed JSON stays rc 0; cmp shows 6 differing rows) and asserts today's freshness, so a faithful 30h-idle capture is rc 1; also amends the Q66 note from c23ead9, whose census figures the Q58/Q74 change moved; gate tools/verify.py 8/8 rc 0, queue_index --check rc 0, queue_claim_check --validate 12/12, census now 28 opening records / 18 closed / 10 open with Q58 out and Q74 in --- WORK-QUEUE.md | 27 +++++++++++++++++++++++++-- docs/queue-index.md | 38 ++++++++++++++++++++++++++------------ 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 2604b72..8317dae 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -10749,7 +10749,7 @@ file (`wizard-work/sol/triage_check.py`) grades `wizard-work/` completion marker none of them; and the generator hardcodes `triage-daily-2026-10-22` in its output paths and Markdown title while the artifact is committed as `-2026-10-24`. -**Status: open and unclaimed. Opened by the pipe 2026-10-24; sol's lane.** +**Status: closed at `809466f` (2026-10-26, spark in sol's lane); the closure record sits at the foot of this file.** Opened by the pipe 2026-10-24. **Done means:** the triage reads **both** surfaces (legacy flat files and `BASE//`), names for every lane the surface each row was read from, and reports the newest artefact per @@ -11588,4 +11588,27 @@ Caught, so the fix stays proportionate: **E** drop 5 records from `papers.jsonl` --- -**Q66 — correction to `9a40be7`'s commit message, 2026-10-26 (pipe): the closure IS read as a record; what was stale is the index's advisory column, and the pin re-verifies from a fresh copy at `9a40be7`.** `tools/queue_claim_check.py --queue WORK-QUEUE.md` before this commit: **29 opening records; 19 closed; 10 open**, open set `Q37 Q53 Q64 Q57 Q58 Q60 Q62 Q67 Q69 Q73` — **Q66 is not in it**, so the closure line at the foot is counted (`--explain 11577` → `closure=True`, `ids=['Q66']`). The sentence in that commit message — "my own first closure used a heading the queue counter does not read as a record" — **overstates the fault**: the authority reads it. What did not read it is `queue_index.py`'s per-section column, which prints the *first* `Status:` marker in a section, and `docs/queue-index.md` disclaims that verdict ("whether an item is *open* is not decided here"). Line 11302 was still printing `open and unclaimed` on a closed item; it now carries the closure pointer. **Unit note:** that line was itself a STATUS-LEAD opening record, so after this commit the same instrument reads **28 opening records; 18 closed; 10 open** — one fewer *record*, the same ten open *items*, and the stale set drops from **8** opening lines to **7**. The item census did not move; the record count did, and the two are not interchangeable. Re-verified this tick from a fresh copy of the tree at `9a40be7`, not from the closure commit's own transcript: `python3 -m unittest test_kmp -q` → **9 tests, rc 0**; the same file with `search_count` → `text.count(pattern)` → **rc 1, 1 failure**. Correction logged, nothing deleted, no other lane's file touched. `docs/queue-index.md` re-rendered in this commit. +**Q66 — correction to `9a40be7`'s commit message, 2026-10-26 (pipe): the closure IS read as a record; what was stale is the index's advisory column, and the pin re-verifies from a fresh copy at `9a40be7`.** `tools/queue_claim_check.py --queue WORK-QUEUE.md` before this commit: **29 opening records; 19 closed; 10 open**, open set `Q37 Q53 Q64 Q57 Q58 Q60 Q62 Q67 Q69 Q73` — **Q66 is not in it**, so the closure line at the foot is counted (`--explain 11577` → `closure=True`, `ids=['Q66']`). The sentence in that commit message — "my own first closure used a heading the queue counter does not read as a record" — **overstates the fault**: the authority reads it. What did not read it is `queue_index.py`'s per-section column, which prints the *first* `Status:` marker in a section, and `docs/queue-index.md` disclaims that verdict ("whether an item is *open* is not decided here"). Line 11302 was still printing `open and unclaimed` on a closed item; it now carries the closure pointer. **Unit note:** that line was itself a STATUS-LEAD opening record, so this edit alone moves the record census from **29 to 28** opening records and **19 to 18** closed. The open *count* stays at 10 and the open *set* does not: the same commit closes Q58 at `809466f` and opens Q74, so the set is read per item and never from the total. Stale opening lines drop from **8** to **7**. Re-verified this tick from a fresh copy of the tree at `9a40be7`, not from the closure commit's own transcript: `python3 -m unittest test_kmp -q` → **9 tests, rc 0**; the same file with `search_count` → `text.count(pattern)` → **rc 1, 1 failure**. Correction logged, nothing deleted, no other lane's file touched. `docs/queue-index.md` re-rendered in this commit. + +--- + +**Q58 — CLOSED at `809466f` (2026-10-26, spark in sol's lane): the triage now reads both surfaces, names the surface per row, reports the newest artefact per lane, and the empty lane stays STALE.** *Tier: **Documented** — my own filesystem walk at 2026-10-26T03:44Z and my own exports and mutants.* Every item of the done-means, measured: + +- **Both surfaces, named per row.** `surfaces()` globs `BASE/-*.txt` **and** `BASE//*`; `newest_for_pid` takes `max(..., key=getmtime)` over the union and returns `subdir` / `legacy-flat` / `none` with the row. My independent walk: the flat series is **56 files per lane, newest `forge-2026-10-16-1446.txt` at 14:56:18Z** and `ledger-…-1446.txt` at 14:47:33Z — the retired surface, exactly as the opening record described — and every one of the eight rows reads `subdir`. +- **Seven ACTIVE, recorded and recomputed.** Artifact: 8 lanes, **7 ACTIVE / 0 WATCH / 1 STALE**. My own enumeration, not theirs: forge 0.0h, ledger 2.6h, null 0.4h, quill 0.1h, sphinx 3.1h, sol 0.0h, spark 0.1h — all `subdir`, all ACTIVE; `phantom` — no files on either surface — `none`, 0 files, **STALE**. No lane inherits another surface's age. +- **The false provenance is dropped, not replaced.** `PRIMARY` is a hardcoded list of the seven ids and cites no file; the `triage_check.py` citation the opening record called false is gone. The done-means allowed either a real citation or none. +- **The run's own date is in the path.** `RUN_DATE = now(timezone.utc)`, artifact `daily-ledger-triage-2026-10-26.json`, `run_date` 2026-10-26, `generated_utc` 2026-10-26T03:36:55Z, filename date equal to `run_date`. The hardcoded `-2026-10-22` is gone. Checked cell by cell. +- **What the row counts are worth.** They are a snapshot of a live tree and they drift: my re-walk minutes later reads forge **349** files against the artifact's 347 and sol **310** against 314. The artifact's own CHECK calls the count informational and requires only `> 0`; that is the right call and I am not treating the difference as a fault. +- **Where the CHECK does discriminate.** With a fixture `SOL_BASE` whose artifact has `run_date` doctored to 2026-10-25, the CHECK is **rc 1** and names `run_date '2026-10-25' != committed date '2026-10-26'`. The surface and status cells are real too — a row whose newest file is `legacy-flat` fails `surface != subdir`. +- **Where it does not: it grades the host copy, not the commit.** Run as committed from a `git archive 809466f` export with no `.git`, it prints `generated_utc=2026-10-26T03:40:39Z` — the live `/root/.hermes/wizard-outputs/sol/_triage` file from a later re-run, not the committed `2026-10-26T03:36:55Z`. `cmp` shows the two differ in **6 rows** (forge `latest_log`/`latest_mtime_utc`/`daily_log_count`/`age_hours`, sol's `latest_log`/count, four ages). With the **committed** JSON doctored — forge → `STALE`/`legacy-flat`, phantom → `ACTIVE`/`subdir`, ACTIVE still 7 — the CHECK stays **rc 0**. Q67's host-pin class, in a new file. +- **And it asserts today's freshness, so it is a health poll, not a gate.** A fixture in which forge's newest file is 30 h old and the artifact records that faithfully (`WATCH`) is **rc 1, three cells** (`independent classify=WATCH`, `recorded status 'WATCH' != ACTIVE`, `ACTIVE count 6 != 7`). The artifact is correct and the CHECK is red; it can only be green while all seven lanes have written inside 24 h. Opened as Q74 for sol's lane. +- **Evidence:** export `/root/.hermes/cache/scratch/q58x` (`git archive 809466f`, no `.git`), fixtures `q58x/fix` (30 h idle lane), doctored committed copy (M1, restored from `/tmp/orig58.json`), transcripts of all four runs. Sol's files by authorship; the committed artifact is read, none edited. Nothing from `inbox/` is quoted. No other lane's file was edited. +- **Not graded in this record:** `9ed97d7` (spark, ledger commit census) and `0da5d85` (spark, environment verify) landed in the same window and carry their own CHECKs; they are queued for a later tick, and nothing here speaks for them. + +## Q74 — sol's triage CHECK certifies the host `_triage` copy and asserts today's freshness, so it cannot gate the committed artifact *(sol lane; opened 2026-10-26 by the pipe, per the Q58 closure record above)* + +`wizard-work/sol/verify_daily_ledger_triage_check.py` (`809466f`) resolves the artifact it grades as `SOL_DIR = BASE/sol/_triage`, i.e. the live host directory, and compares that file's `run_date` against the **committed** filename's date — two copies, one comparison. Measured: from a `git archive 809466f` export with no `.git` it reports `generated_utc=2026-10-26T03:40:39Z` while the committed artifact says `03:36:55Z`, and `cmp` finds 6 differing rows; doctoring the committed JSON to forge `STALE`/`legacy-flat` and phantom `ACTIVE`/`subdir` leaves it at **rc 0**. Separately, the seven `classify(...) != ACTIVE` assertions make the CHECK red on a faithful artifact as soon as one lane goes 24 h without writing (fixture: forge at 30 h, recorded `WATCH` → **rc 1**, three cells). + +**Done means:** the CHECK reads the artifact from the tree it runs in (a repo-relative path, with `SOL_BASE` an override rather than the default), so a doctored committed artifact fails and a clean export passes with no host state involved; the freshness assertions become claims about the *artifact's* consistency with its own recorded mtimes rather than about the host's clock, so a faithful 30 h-old capture passes and a status that disagrees with its own row fails; both mutants above are carried as negative cells; and the rc is stated in the commit that lands it, runnable from a clone or `git archive` export with no `.git`. + +**Status: open and unclaimed.** Sol's lane by authorship; anyone may take it. Evidence: export `/root/.hermes/cache/scratch/q58x` (`git archive 809466f`, no `.git`), fixtures `q58x/fix`, transcripts of the four runs in the Q58 closure record above. Nothing from `inbox/` is quoted. No other lane's file was edited. diff --git a/docs/queue-index.md b/docs/queue-index.md index 645dc37..989dcf8 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -4,7 +4,7 @@ **What this is.** One row per `## ` section of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. 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. 65 sections carry 60 ids because 5 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below. +**What it exposes.** The queue is two-tier. 66 sections carry 61 ids because 5 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below. | # | id | lines | bytes | role | title | first `Status:` | |---|---|---|---|---|---|---| @@ -58,7 +58,7 @@ | 48 | Q49 | 6826-7593 | 92050 | opening | The runtime-resolved root's live write path: name it, reproduce it, then close it | open and unclaimed. Opened by the pipe 2026-10-13 | | 49 | Q45 | 7594-10699 | 572535 | opening | §9 follow-on — the home-directory channel *(Helm lane; Merlin)* | OPEN — awaiting Alexander's zoom/whole-shop answer; build is the pipe's. | | 50 | Q57 | 10700-10732 | 8732 | opening | Bind a standup entry to the bytes it grades *(Codeforge lane; opened 2026-10-24 by the pipe, per reply 05's corrections 1 and 2)* | open and unclaimed. Opened by the pipe 2026-10-24; null's lane. | -| 51 | Q58 | 10733-10778 | 5230 | opening | The lane-activity instrument reads a surface that was retired on 2026-10-16 *(Sol lane; opened 2026-10-24 by the pipe, per reply 12 to sol)* | open and unclaimed. Opened by the pipe 2026-10-24; sol's lane. | +| 51 | Q58 | 10733-10778 | 5303 | opening | The lane-activity instrument reads a surface that was retired on 2026-10-16 *(Sol lane; opened 2026-10-24 by the pipe, per reply 12 to sol)* | closed at `809466f` (2026-10-26, spark in sol's lane); the closure record sits at the foot of this file. | | 52 | Q59 | 10779-10829 | 7869 | opening | beam's jump hash matches the C reference, and not one test would notice if it stopped *(beam lane; opened 2026-10-24 by the pipe, per reply 84 to zephyrus)* | open and unclaimed. Beam's lane. | | 53 | Q60 | 10830-10889 | 9719 | opening | Every truncated identifier in the archive: which ones can still be checked *(pipe tooling; opened 2026-10-24 by the pipe, per reply 86 §6 and reply 87 §1)* | open and unclaimed. | | 54 | Q61 | 10890-10945 | 9624 | opening | beam's `topo_sort` drops generator dependencies, and its gate imports a copy outside the repo *(beam lane; opened 2026-10-24 by the pipe, per reply 88 to zephyrus)* | open and unclaimed. | @@ -72,7 +72,8 @@ | 62 | Q71 | 11485-11506 | 8942 | opening | ledger's `commits-table.md` has no verifier, and row 4 writes `kernel_git` where the source URL has `kernel/git` *(ledger lane; opened 2026-10-25 by the pipe, per reply 102 to zephyrus)* | closed at `b9e3780` and the closure commit (volt, 2026-10-25); the closure record sits at the foot of this file. | | 63 | Q72 | 11507-11547 | 19068 | opening | sphinx's lcmm ledger gates its quotations but not its population or its interpretations: two mutations of mine pass the verifier at 169/169 and 139/139 *(sphinx lane; opened 2026-10-26 by the pipe … | open and unclaimed. | | 64 | Q72 | 11548-11557 | 1433 | cont: verified | verified from this host by the pipe (2026-10-26, reply 105) | -- | -| 65 | Q73 | 11558-11591 | 11048 | opening | sphinx's longctx archive gates its numbers and its claim-scoped quotations, but not its prose numbers, its claim sentences, its README, or the quotations that carry no claim id *(sphinx lane; opened … | open and unclaimed. | +| 65 | Q73 | 11558-11607 | 15145 | opening | sphinx's longctx archive gates its numbers and its claim-scoped quotations, but not its prose numbers, its claim sentences, its README, or the quotations that carry no claim id *(sphinx lane; opened … | open and unclaimed. | +| 66 | Q74 | 11608-11614 | 1955 | opening | sol's triage CHECK certifies the host `_triage` copy and asserts today's freshness, so it cannot gate the committed artifact *(sol lane; opened 2026-10-26 by the pipe, per the Q58 closure record … | open and unclaimed. | ## Ids with no `## ` heading @@ -182,7 +183,8 @@ The block below is the parse this document renders, byte for byte. `--check` com "Q70", "Q71", "Q72", - "Q73" + "Q73", + "Q74" ], "nested": [ { @@ -281,9 +283,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 1683785, - "queue_lines": 11591, - "queue_sha256": "a5714f102aae30ae1f144c6d47af52b563fa411165f22f780fb75e82cc451328", + "queue_bytes": 1689910, + "queue_lines": 11614, + "queue_sha256": "ed6981ffc06d85b67e0e08b49a15a2bd33b5f62d1771b5917c5224203d32b1d4", "sections": [ { "bytes": 3139, @@ -886,14 +888,14 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "Bind a standup entry to the bytes it grades *(Codeforge lane; opened 2026-10-24 by the pipe, per reply 05's corrections 1 and 2)*" }, { - "bytes": 5230, + "bytes": 5303, "end_line": 10778, "id": "Q58", "line": 10733, "lines": 46, "role": "opening", "role_detail": "", - "status": "open and unclaimed. Opened by the pipe 2026-10-24; sol's lane.", + "status": "closed at `809466f` (2026-10-26, spark in sol's lane); the closure record sits at the foot of this file.", "status_line": 10752, "title": "The lane-activity instrument reads a surface that was retired on 2026-10-16 *(Sol lane; opened 2026-10-24 by the pipe, per reply 12 to sol)*" }, @@ -1054,16 +1056,28 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "verified from this host by the pipe (2026-10-26, reply 105)" }, { - "bytes": 11048, - "end_line": 11591, + "bytes": 15145, + "end_line": 11607, "id": "Q73", "line": 11558, - "lines": 34, + "lines": 50, "role": "opening", "role_detail": "", "status": "open and unclaimed.", "status_line": 11573, "title": "sphinx's longctx archive gates its numbers and its claim-scoped quotations, but not its prose numbers, its claim sentences, its README, or the quotations that carry no claim id *(sphinx lane; opened \u2026" + }, + { + "bytes": 1955, + "end_line": 11614, + "id": "Q74", + "line": 11608, + "lines": 7, + "role": "opening", + "role_detail": "", + "status": "open and unclaimed.", + "status_line": 11614, + "title": "sol's triage CHECK certifies the host `_triage` copy and asserts today's freshness, so it cannot gate the committed artifact *(sol lane; opened 2026-10-26 by the pipe, per the Q58 closure record \u2026" } ] }