Files
troupe-standup/recoveries/queue-hygiene-census.md
T
timmy a28d9df8c9 queue: Run 37 (Merlin) -- the claim check re-generated on a corrected instrument: 15 opening records, 12 closed, 3 genuinely open, and the executable-unclaimed set this lane can take measured EMPTY. The queue's own hygiene convention (:8020, 2026-10-13T23:18Z) requires a claim check to read the ledger before taking any item whose opening line reads open or unclaimed; that ledger predates Runs 22-36 and the queue grew ~936,379 -> 1,170,483 B since, so the check was re-generated rather than inherited. Deliverable recoveries/queue-hygiene-census.md (10,123 B / sha256 eb0e1b4f5fa8733fb12eba758d9543a60eb85b8f12f5f7fc79b9908300d2405d); instrument /root/crucible/q66/q66_census6.py (4,388 B / sha256 e340b105dd96955f43a27e285a03f8ae, host-local scratch, six generations 21,845 B, every defect logged not deleted). Result: 15 opening records, 80 closure lines indexed, 12 closed / 3 open; validated against eleven answers read by hand from the queue before the run (Q21 Q24 Q25 Q45 Q46 Q47 Q49 Q50 Q51 Q52 closed, Q53 open) -> 11/11 VALIDATION PASS. Method is the finding: opening records are keyed on their SHAPE, which is what catches Q50/Q51/Q52/Q53 -- their opening records are bullet lines nested inside other sections, not ## headers, so a header walk cannot do this job; closures are item-anchored and searched whole-file because this queue is append-only and a closure lands at the tail. Six generations of instrument defect logged first, four erring in the dangerous direction: v1 walked only ## headers and matched the word open (missed Q50-Q53, false-flagged Q5/Q7/Q14); v2 caught Q7 continuation notes as openings; v3 cut its region at a --- rule (false OPEN for Q25 closed :2985 and Q49 closed :6952) and counted "**Done means:**" as a closure word (false CLOSED for Q53); v4 did not anchor closures to the item (Q53 closed off an unrelated G11 block at :8839); v5 scoped the closure search to the region before the next opening record so Q52 read OPEN though "**Q52 -- DONE at 4010b96" sits at :8517. Every defect was the instrument's, not the queue's. The three genuinely open and why none is this lane's: Q53 :8530 Mercury's (R5-a/R5-b in replies/2026-10-14-to-mercury-05.md, the pipe's own tick at :8939 states it open); Q37 :5278 the pipe's tooling ("Q37 stays open there", the residual a per-tick discipline plus a push identity it names an access decision, not a script); the career-lane apply queue :7303 Alexander's ("seven decisions and one rate figure are Alexander's"). Beside those the standing human-gated set: the section 4 adoption cp, the manifest_match pin stale since 2026-10-08, Q13, Q9, Q19, Q42. Q7 measured: no item opened -- an item invented to fill an empty set would be invented work, and the Helm lane's next unit remains the cp, a decision not a task. Two citation defects found in the queue's own record: (a) :7323 reads "**Q51 -- DONE at e4967da9...**" which parses as a commit SHA, but git cat-file -t e4967da9 -> "Not a valid object name" and sha256sum /root/crucible/q51/helm-selftest-q51.py -> e4967da9bdc45378... -- it is the GATE FILE's digest, and the closure commit is 57d8e6b (2026-10-13T13:40:02Z Merlin) which :7384 already carries correctly; (b) grep -c 'Status: open and unclaimed' -> 3 at :2264 :2684 :6847, all closed, reproducing the pipe's own correction at :8018-:8020. Closure revisions verified against git not prose: a9f23a6 de74527 0e65dfb 4c6cd50 57d8e6b 4010b96 eec3ff3, seven of seven resolve. Live state delta 0 (clock 2026-10-15T10:57:48Z): snapshot 14,039 B / aa842b0fd88037f83115b4a5... / mtime_ns 1791479579475780303; held pin 120 B / 5b6d70716153c3f4bd82045d... / mtime_ns 1791478687099553071; deployed /root/.helm/bin/ five digests unmoved (ee0b36a82f23fcf3 5c67473d89283c3d 7ed1bca8f9da624f 12570786ba703787 7386999867789694), grep -c HELM_COLLECTOR = 0 so Q40 stands; /tmp/q31-g8-deploy-* 475 dirs, newest cfkvskma mtime 2026-10-15 08:53:29.994355542Z = Run 36's last gate run, so no new directory since -- a delta-0 reading on the leak corroborating the candidate gate's Edit B; disk 41 G free of 154 G. One correction to my own records logged: the "sandboxes 0" line is off by one -- ls -d /root/crucible/*/sandbox* -> 2, of which q65/sandbox_probe.py is a script and q43z/sandbox-mine is a Run-13 leftover (32 K, data/snapshot.json, mtime 2026-10-12 18:39); harmless, in scratch, and it makes 0 wrong so it is recorded not restated. Append-only asserted structurally on both files: queue 1,170,483 -> 1,175,960 B (+5,477, 9,533 -> 9,602 lines) and check-in 43,489 -> 50,177 B (+6,688, 693 -> 781 lines), each child blob beginning with the parent's exact bytes, so no line citation shifts. Nothing deployed, no cp into /root/.helm/bin/, decisions/ and inbox/ untouched, no another-party file edited, no secret printed. Merlin <merlin@agents.invalid>, author=merlin.
2026-10-15 11:04:31 +00:00

157 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Queue hygiene census — the claim check, generated and validated
*(Merlin, Helm lane / control plane, 2026-10-15 11:0xZ. Run 37. Nothing deployed, no `cp`
into `/root/.helm/bin/`, `decisions/` and `inbox/` untouched, no another-party file edited,
no secret printed.)*
## 1. Why this unit, and what it is not
The queue's own convention, set 2026-10-13T23:18Z (control plane, `WORK-QUEUE.md:8020`):
*"every new opening record carries a forward pointer to its closure line or revision, and a
claim check reads **this ledger** before taking any item whose opening line reads open or
unclaimed."* The ledger that rule names was generated at that clock, **before Runs 22–36**;
the queue has grown from ~936,379 B to **1,170,483 B** since. The stale line it exists to
catch is still there: **Q49's `:6847` still reads `Status: open and unclaimed` though the
item CLOSED at `:6952` on 2026-10-13** — and the ledger's own "Why it earns a ledger"
paragraph records that this line *"nearly cost Run 21 a duplicate run."*
So the unit is the claim check itself, re-generated on a corrected instrument. It is not a
new queue item and it opens none.
## 2. The instrument
`/root/crucible/q66/q66_census6.py` — 4,388 B / sha256 `e340b105dd96955f…` (host-local
scratch; six generations, `q66_census.py` … `q66_census6.py`, 21,845 B total, every
defect below logged rather than deleted).
- **Opening records** are keyed on their *shape*, not on the word "open": a line that
begins, after optional `- ` and bold markers, with `Status: open|OPEN` or `Q<digits>`
followed by an item separator. That excludes body prose ("197 open issues", Q7's
"*Q7, measured:* … is open" continuation notes) and catches the nine shapes actually
present, including `Q50`/`Q51`/`Q52`/`Q53`, whose opening records are **bullet lines
nested inside other sections** rather than `## ` headers — the reason a header walk
cannot do this job.
- **Closures** are item-anchored: a `**`-header line anywhere in the file that names the
item id and carries CLOSED/DONE/COMPLETE/VERIFIED, with "Done means", "stays open",
"nothing is done" excluded. The search is **whole-file**, because this queue is
append-only and a closure lands at the tail.
- **Validation set** — eleven answers read by hand from the queue before the run:
Q21 `:2264` CLOSED, Q24 `:2684` CLOSED, Q25 `:2898` CLOSED, Q45 `:6348` CLOSED,
Q46 `:6419` CLOSED, Q47 `:6542` CLOSED, Q49 `:6847` CLOSED, Q50 `:6990` CLOSED,
Q51 `:7106` CLOSED, Q52 `:7167` CLOSED, Q53 `:8530` OPEN.
**Result: 11 / 11 correct. VALIDATION PASS.**
## 3. Instrument defects, logged first — v1 through v5
| gen | defect | measured consequence |
|---|---|---|
| v1 | walked only `^## Q` headers; matched any line containing "open" | missed Q50/Q51/Q52/Q53 entirely; false-flagged Q5/Q7/Q14 on prose |
| v2 | loosened the item key | caught `- **Q7, measured:** … is open` continuation notes as opening records |
| v3 | cut the region at the first column-0 `---` | **false OPEN** for Q25 (closed `:2985`) and Q49 (closed `:6952`) |
| v3 | counted "**Done means:**" as a closure word | **false CLOSED** for Q53, which is open |
| v4 | closure not anchored to the item id | Q53 read CLOSED off an unrelated block (`:8839`, "G11 (Run 29) is DONE"); Q25 off Mercury's check-in at `:2918` |
| v5 | closure search scoped to the region before the next opening record | Q52 read **OPEN** though `**Q52 — DONE at 4010b96` sits at `:8517`, because the next opening record (`:7303`) cut the region at 136 lines |
v6 is what passed. The class is worth naming: **every defect was the instrument's, not the
queue's**, and four of the six produced a wrong answer in the *dangerous* direction (a
closed item reading claimable) — the exact failure the convention exists to prevent.
## 4. The census — 15 opening records, generated
| # | item | opening record | closure line (whole-file, item-anchored) | state |
|---|---|---|---|---|
| 1 | Q21 | `:2264` | `:2272` `**Status: DONE — recoveries/excerpt-binding-audit.md` | CLOSED |
| 2 | Q24 | `:2684` | `:2688` `**Status: DONE — docs/q13-fix-pack.md` | CLOSED |
| 3 | Q25 | `:2898` | `:2985` `**Q25 verification tick … Q25 DONE at a9f23a6` | CLOSED |
| 4 | Q32 | `:4384` | `:4387` `**Status: DONE 2026-10-11 (Merlin, Run 8) — helm-g8-scrub.md` | CLOSED |
| 5 | Q33 | `:4454` | `:4505` `**Status: VERIFIED … 8bb88da` | CLOSED |
| 6 | Q37 | `:5278` | none | **OPEN** — the pipe's, see §5 |
| 7 | Q45 | `:6348` | `:6358` `**Q45 (Helm lane) — CLOSED 2026-10-12 by Merlin` | CLOSED |
| 8 | Q46 | `:6419` | `:6436` `**Q46 (Helm lane) — CLOSED 2026-10-13 by Merlin` | CLOSED |
| 9 | Q47 | `:6542` | `:6638` `**Q47 (Helm lane) — CLOSED 2026-10-13 by Merlin` | CLOSED |
| 10 | Q49 | `:6847` | `:6952` `**Q49 CLOSED 2026-10-13 (Merlin, Helm lane)` | CLOSED — **the stale line** |
| 11 | Q50 | `:6990` | `:7089` `**Q50 (Helm lane) — VERIFIED … Closure 4c6cd50` | CLOSED |
| 12 | Q51 | `:7106` | `:7323` `**Q51 — DONE at e4967da9…` / `:7384` `… landing SHA … 57d8e6b` | CLOSED |
| 13 | Q52 | `:7167` | `:8517` `**Q52 — DONE at 4010b96 (Mercury, 2026-10-14)` | CLOSED |
| 14 | Q53 | `:8530` | none | **OPEN** — Mercury's, R5-a/R5-b |
| 15 | (unnumbered) career-lane apply queue | `:7303` | none | **OPEN** — Alexander's, see §5 |
**80 closure lines indexed; 12 of 15 records carry a closure. 3 are genuinely open.**
## 5. The genuinely-open set, and why none of it is mine
Measured, not asserted:
1. **Q53 `:8530` — Mercury's lane.** Its binding asks are R5-a/R5-b, carried in
`replies/2026-10-14-to-mercury-05.md`; the pipe's own tick at `:8939` states *"the
Mercury `Q53` is OPEN as of this tick."* Not this lane's.
2. **Q37 `:5278` — the pipe's tooling.** Its own boundary line, in the same block:
*"Q37 stays open there"* — the residual is a per-tick census discipline plus a push
identity, and the block names the latter *"an access decision, not a script."*
3. **The career-lane apply queue `:7303` — Alexander's.** Its Status line says it
outright: *"seven decisions and one rate figure are Alexander's."*
4. Beside those, the standing human-gated set the lane has carried for days: the **§4
adoption `cp`** (collector `4e45021d…` + the current gate), the **`manifest_match` pin**
stale since 2026-10-08, **Q13**, **Q9**, **Q19**, **Q42**.
**The executable-unclaimed set available to this lane is EMPTY.** That is the same
conclusion Runs 21, 25, 29 and 36 reached, and this run measures it rather than
inheriting it.
## 6. Two citation defects found in the queue's own record
**(a) Q51's DONE line names a gate digest where a revision belongs.**
`:7323` reads `**Q51 — DONE at \`e4967da9…\`**`, which parses as a commit SHA. Measured:
`git cat-file -t e4967da9` → *"Not a valid object name"*, and
`sha256sum /root/crucible/q51/helm-selftest-q51.py` → **`e4967da9bdc45378…`** — it is the
**gate file's digest**, not a revision. The closure commit is **`57d8e6b`**
(2026-10-13T13:40:02Z, Merlin), which `:7384` already carries correctly in the same item:
*"the landing SHA the DONE block above should carry is `57d8e6b`."* No count or verdict
moves; the defect is a citation that reads as one kind of handle and is another — the
same class as Run 19's 63-character digest erratum.
**(b) The `Status: open and unclaimed` literal count, reproduced at HEAD.**
`grep -c 'Status: open and unclaimed'` → **3**, at `:2264`, `:2684`, `:6847` — all three
closed. This reproduces the pipe's own correction at `:8018`–`:8020` (the committed Run-21
text said four; its fourth, `:7106`, is an opening record, not a Status line).
Closure revisions verified against git, not taken from prose:
`a9f23a6` 2026-10-10T22:17:19Z Merlin · `de74527` 2026-10-13T09:06:35Z Merlin ·
`0e65dfb` 2026-10-13T09:23:04Z Timmy · `4c6cd50` 2026-10-13T11:26:36Z Merlin ·
`57d8e6b` 2026-10-13T13:40:02Z Merlin · `4010b96` 2026-10-14T12:03:20Z Mercury ·
`eec3ff3` 2026-10-14T03:38:35Z Merlin. Seven of seven resolve; the eighth handle in the
census (`e4967da9…`) is not a revision and is defect (a).
## 7. Q7, measured
**No item opened.** The unclaimed executable set is empty by measurement (§5), so an item
invented to fill a number would be invented work. The queue is not thin in the sense that
matters — three open items exist and all three belong to another lane or to Alexander —
and the Helm lane's next unit remains the §4 `cp`, a decision, not a task.
## 8. Live state, measured this run (delta 0)
Clock read immediately before the measurements, 2026-10-15T10:57:48Z.
- snapshot `/root/.helm/data/snapshot.json` **14,039 B / `aa842b0fd88037f83115b4a5…` /
mtime_ns `1791479579475780303`** — unchanged.
- held pin `/root/.helm/data/held/stackchain-home.html.sha256` **120 B /
`5b6d70716153c3f4bd82045d…` / mtime_ns `1791478687099553071`** — unchanged.
- deployed `/root/.helm/bin/` five digests unmoved: `ee0b36a82f23fcf3…` /
`5c67473d89283c3d…` / `7ed1bca8f9da624f…` / `12570786ba703787…` /
`7386999867789694…`; `grep -c HELM_COLLECTOR` = **0**, so Q40 stands and nothing of
Q31–G14 is in production.
- The `/tmp/q31-g8-deploy-*` litter: **475 directories**, newest
`/tmp/q31-g8-deploy-cfkvskma` mtime **2026-10-15 08:53:29.994355542Z** — that is Run
36's last gate run, so **no new directory has appeared since**, which is a delta-0
reading on the leak itself and corroborates that the candidate gate's Edit B holds.
Not cleaned: those trees are not this lane's.
- Disk 41 G free of 154 G (74 % used).
- **One correction to this lane's own records, logged:** the "*sandboxes 0*" line carried
in recent blocks is off by one against
`ls -d /root/crucible/*/sandbox*` → 2, of which one is `q65/sandbox_probe.py` (a script,
not a sandbox) and one is **`/root/crucible/q43z/sandbox-mine`**, a leftover from Run 13
(mtime 2026-10-12 18:39, 32 K, holding `data/snapshot.json`). A litter defect of this
lane's own, in scratch, harmless — and it makes "0" wrong, so it is recorded rather
than restated.