queue: Q29 addendum - the stale-Status misread, the one-site count, and a third confirmation

1. Why this tick's monitor read Q21 as open: the Q21 section's first Status line (WORK-QUEUE.md:2191) still
   reads "open and unclaimed", eight lines above its own closure at :2199 ("Status: DONE -
   recoveries/excerpt-binding-audit.md, Merlin, 2026-10-10"). The append-only convention working as
   designed, but the third misread it has produced (Q10's stale "active", my 18:13Z Q20 label
   reconciliation, now this). Standing rule: an item's currency lives in the queue's DONE lines, the
   verification ticks and WIZARDS-TABLE.md - never in its section's first Status line. Unclaimed
   executable set in the archive lane as of this clock: Q20 alone.

2. The unguarded sites are one, not two. The try/except Exception at build_blocks_hard.py:410-414 covers the
   arithmetic and the int(sats) at :412; the tuple at :416 calls int(sats) outside it.
   Q29-RESULTS.json's receipt-sats-nonnumeric row: exit 1 with exactly 2 files written and a Traceback -
   a crash, not a die(), which is why the failure is partial rather than zero-file. status-metachar is
   exit 1 with 0 files. Fix is one line: wrap int(sats) in the price-line guard's try/except shape,
   falling back to the escaped raw string.

3. Section 5's "contradicts the builder's own docstring" is a descriptive bound, not an acceptance failure -
   recorded, not scored; the docstring enumerates schema, missing-field and non-https, not type coercion.

4. Third confirmation from this host: diff -rq between the Q29 control fixture's site-ledger and the live
   /root/stackchain-legends-build/site-ledger is silent, 125 files each side; shared tree unmoved at 97fedb5d
   (build_blocks.py) / 63c9cee6 (blocks.json); results builder SHA c4127c6c.
This commit is contained in:
timmy committed 2026-10-11 07:06:22 +00:00
1 parent 9130547df8
commit 6433fa9fb9
1 file changed
+26
+26
View File
@@ -3642,3 +3642,29 @@ Reply at `replies/2026-10-11-to-merlin-11.md` (`569ec6b`); his DONE block above
Alexander, not an item. The publish precondition stands as the one decision in front of it: **adopt
`c4127c6c` into the shared build tree first, then publish Q26+Q27+Q28+Q29 as one artifact** — Alexander's
call; if the packet cites a fixture total, cite **21 + control = 22**.
**Control-plane addendum, 2026-10-11 07:06Z — why this tick's monitor read Q21 as open, plus the one-site count and a third confirmation.**
- **The Q21 misread, explained — the Status line is written once and never rewritten.** The Q21 section's first
Status line (`WORK-QUEUE.md:2191`) still reads *"open and unclaimed"*, eight lines above its own closure at
`:2199` (*"Status: DONE — `recoveries/excerpt-binding-audit.md`, Merlin, 2026-10-10"*). That is the append-only
convention working as designed, but it is also the third time the pattern has produced a misread — Q10's stale
*"active"* was the first, my own 18:13Z reconciliation of Q20's label the second, and this tick's monitor the
third. **Standing rule for readers and automation: an item's currency lives in the queue's DONE lines, the
verification ticks and `WIZARDS-TABLE.md` — never in its section's first Status line.** As of this clock the
unclaimed executable set in the archive lane is **Q20 alone** (zephyrus's); `Q9` is blocked on the audio
handover, `Q13`/`Q19` are gated on Alexander, and Q21/Q22/Q23/Q24/Q25/Q26/Q27/Q28/Q29 are all closed.
- **The unguarded sites are one, not two — reproduced here from source and from the results file.** The
`try`/`except Exception` at `build_blocks_hard.py:410-414` covers the arithmetic *and* the `int(sats)` at
`:412`; the tuple at **`:416`** calls `int(sats)` outside it. `Q29-RESULTS.json`'s `receipt-sats-nonnumeric`
row: **exit 1 with exactly 2 files written**, stderr a `Traceback` — a crash, not a `die()`, which is why the
failure is partial rather than zero-file. The other negative, `status-metachar`, is exit 1 with **0 files**.
The fix is **one line**: wrap `int(sats)` in the same `try`/`except` shape as the price-line guard and fall
back to the escaped raw string.
- **§5's *"contradicts the builder's own docstring"* is a descriptive bound, not an acceptance failure** —
recorded, not scored. The docstring enumerates schema, missing-field and non-https failures; type coercion is
not among them, so the partial-tree fact is proven while the contradiction framing is interpretive.
- **Third confirmation, this host:** `diff -rq` between the Q29 control fixture's `site-ledger` and the live
`/root/stackchain-legends-build/site-ledger` is **silent**, 125 files on each side; shared tree unmoved at
`97fedb5d…` (`build_blocks.py`) / `63c9cee6…` (`blocks.json`); results builder SHA `c4127c6c…` — the same
builder the publish precondition names.