Q20: landing evidence filled in on the record (readback table at 9a1de9a, post-push reads) and the Run 3 check-in appended (Did / Blocked / Next / Ask)

This commit is contained in:
timmy committed 2026-10-12 04:50:32 +00:00
1 parent 9a1de9a6ad
commit 95dfbf37de
2 files changed
+117 -4

No files matched your search

+109
View File
@@ -208,3 +208,112 @@ printed in this check-in or in the files it lands — the long strings are check
file paths and sha256 digests.
— Merlin
---
## Run 3 — Q20: the magazine class is clean on both halves
Claimed and finished **Q20 — excerpt fidelity and placement for the 91 magazine entries**, the top
unclaimed item and the one the queue's own label reconciliation names (*"the oldest executable item
in the queue"*). Population: **all 91 magazine entries, no sampling** — 269 excerpts (87 entries × 3,
4 × 2). Deliverables: `recoveries/excerpt-placement-audit.md` (**12,914 B / sha256
`9dced5eb…`**) and `recoveries/excerpt-placement-rows.md` (**74,561 B / sha256
`880223f35f9b…`**). Scratch tree `/root/crucible/q20/`; nothing deployed; `decisions/` and `inbox/`
untouched; no another-party file edited.
**Class counts: 269 `literal` / 0 `normalised-literal` / 0 `elided` / 0 `paraphrase` / 0
`unreadable`.** No row needed quote-style, dash, whitespace or URL normalisation: the excerpt text
as the entry page prints it is already an exact substring of the detagged article body at S0. The
residues Q8 named in this class (`072`'s added ellipsis, `015`'s unmarked elision) are summary-prose
defects and do not reproduce in the excerpts.
**Placement, measured in one canonical space (S1, both sides):** offsets 0–20,641 characters,
fractions 0.0000–0.9472, mean 0.4735, fifth-buckets 53/65/51/61/39 — near-uniform, **0 entries
quoting only the last 20%**, 2 quoting only the first (`magazine-043`, `magazine-050`). Named:
`magazine-057` widest spread 0.8923, `magazine-027` narrowest 0.0094, `magazine-019` highest mean
0.7905, `magazine-050` lowest 0.0394. All 91 anchors are `www.stackchainmagazine.net` article URLs,
all HTTP 200, so `unreadable` has no population in this class.
**Census, all measured this run:** index 200 / 34,488 B / `4f764ef4dfb9…`; 121 entry slugs = 8
block + 22 event + 91 magazine; 121/121 entry pages 200 first attempt (04:41:37–04:41:48Z), magazine
pages 3,680–5,146 B; 269 magazine blockquotes, **269 carrying a `<cite>`**, 0 anchorless; 91 distinct
article targets 200 (04:41:48–04:43:06Z), 123,566–184,748 B; S1 bodies 1,099–30,128 chars.
**Two archive-side facts, neither a defect:** every one of the 269 magazine blockquotes prints its
own anchor URL as the `<cite>` text, so the URL appears twice per excerpt on the rendered page; and
2 of the 269 excerpts (`magazine-080` seq 1, `magazine-082` seq 1) are the article's own headline,
occurring 4× each at offset 0, so their 0.0000 fraction is a document position rather than a
placement inside the prose. `magazine-040` seq 2 is a refrain, occurring 6×; placement is
first-occurrence, stated in advance.
**Independent second method, 269/269:** stripping both strings to lowercase letters and digits only,
the excerpt's image is a substring of the article's image **and** a prefix of the image of the body
slice at the reported offset — tests the offset arithmetic rather than re-running the matcher.
Cross-check against `recoveries/excerpt-binding-audit.md`: its 269 magazine rows are all `bound`
with settling evidence "verbatim at" (2026-10-10) — two days, two independent passes, same verdict.
**Three defects of mine, logged first in the record:** (1) the excerpt unit included the `<cite>`
URL, so all 269 rows first read `paraphrase` — caught by reading `magazine-091`'s HTML rather than
trusting the tally; (2) offsets were taken in S0 space and divided by an S1 body length, so every
fraction was wrong until the measurement was re-run in one space — **72 of 269 offsets moved**;
(3) my first second-method test was itself wrong (it compared the gap against the head length),
replaced by the character-class method. **No archive-side wording fix follows from this item.**
**Limits stated, not buried:** the detagged body includes site chrome, so `fraction` is a
document-position measure, not a position within the article's prose; placement is first-occurrence
(3 rows have more than one occurrence); 45 excerpts are under 40 characters (shortest 9,
`magazine-008` seq 2 *"eat tacos"*), so placement is weak evidence of representativeness for those
though the match is exact; byte counts and hashes are dated readings (2026-10-12T04:41–04:43Z).
## Blocked
Nothing in my lane. Q9 waits on the checksum handover, Q13 and Q19 on Alexander — none of them is
mine to move.
## Next
**Q7, measured: the unclaimed executable set is now empty.** Q20 was the last one. Q21–Q28 closed,
Q30–Q35 closed and verified, Q9/Q13/Q19 human-gated. Nothing was opened this tick — inventing an
item while one existed would be the busywork Q7's own wording warns against, and with the set empty
the next item is now a genuine proposal rather than a pick. Two candidates I can see, both Helm-side
and both mechanical rather than speculative:
1. **The §4 adoption pair, verified post-`cp`.** Already staged and measured in the Q35 record
(`/root/troupe-verify/q35/stage/`): collector `4e45021d…` + gate `643e5387…` run bare with no
environment at exit 0 / 164 passed / 0 failed. The real `cp` into `/root/.helm/bin/` is
Alexander's; if he approves, the follow-on is a verification run of the *deployed* pair.
2. **A behavioural destination guard.** The Q35 precondition reads a source marker, so a subject
that *documents* the rule without implementing it is admitted (measured: a comment carrying
`--deploy` and `SNAPSHOT_PATH.resolve()` passes). The stronger form runs the subject against a
sentinel scratch path and asserts it refuses the live default.
Both are small; neither should be opened until Alexander says whether he wants either.
## Ask
Alexander: nothing blocking. Two standing items, unchanged — the **§4 adoption** (collector
`4e45021d…` + gate `643e5387…`, a two-file `cp` that makes `python3 helm-selftest.py` green with no
environment) and the **`manifest_match` pin** (stale since 2026-10-08; a static render cannot say
so). If you want the queue kept non-dry, say which of the two Helm candidates above you want opened
as Q36 — I would rather you choose than have me invent work.
---
Landing evidence, Run 3, appended after commit `9a1de9a` and read back over the anonymous raw path
(`https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup/raw/branch/main/<path>`), no
credential — each **HTTP 200** and `cmp` **byte-identical** to disk:
| file | status / bytes | sha256 |
|---|---|---|
| `recoveries/excerpt-placement-audit.md` | 200 / 12,914 | `9dced5ebf72df0894f2731b67fba1d2cb75dd5a3944aa32713dc43a20978611b` |
| `recoveries/excerpt-placement-rows.md` | 200 / 74,561 | `880223f35f9b660e54df9fe21f3de372468fc610fb7d19cf7b820d82935c7123` |
| `WORK-QUEUE.md` | 200 / 551,128 | `895620dd5b40a50ee6dbe4ebfbb534fe4eaad714a3b83c2fb9a92b300ba0f3fb` |
| `checkins/2026-10-12-merlin.md` | 200 / (pre-append revision, as pushed) | (recorded in the append) |
Note on method, logged because it is the kind of thing that reads as evidence when it is not: the
first readback pass ran **before** `git push` and returned 404 for the two new files plus the
pre-push queue revision (548,438 B). Those figures measured nothing; the table above is the
post-push read. Nothing was deployed, published or re-run this tick; the live snapshot and the
deployed `/root/.helm/bin/` were not touched by this run.
— Merlin
+8 -4
View File
@@ -189,9 +189,13 @@ credential — each HTTP 200 and `cmp` byte-identical to disk.
| file | status / bytes | sha256 |
|---|---|---|
| `recoveries/excerpt-placement-audit.md` | 200 / (this file) | (recorded in the check-in) |
| `recoveries/excerpt-placement-rows.md` | 200 / (rows file) | (recorded in the check-in) |
| `WORK-QUEUE.md` | 200 / (queue, post-append) | (recorded in the check-in) |
| `checkins/2026-10-12-merlin.md` | 200 / (pre-append revision) | (recorded in the check-in) |
| `recoveries/excerpt-placement-audit.md` | 200 / 12,914 | `9dced5ebf72df0894f2731b67fba1d2cb75dd5a3944aa32713dc43a20978611b` |
| `recoveries/excerpt-placement-rows.md` | 200 / 74,561 | `880223f35f9b660e54df9fe21f3de372468fc610fb7d19cf7b820d82935c7123` |
| `WORK-QUEUE.md` | 200 / 551,128 | `895620dd5b40a50ee6dbe4ebfbb534fe4eaad714a3b83c2fb9a92b300ba0f3fb` |
| `checkins/2026-10-12-merlin.md` | 200 / 21,188 (pre-append revision, as pushed) | `dd8e46f88d3c14612add7f6f6878e915900ba0c40162a93b9577b150251bcb19` |
All four read at commit `9a1de9a`. The first readback attempt was taken **before** `git push` and
returned 404 for the two new files and the pre-push queue revision (548,438 B) — logged because a
readback that runs before the push measures nothing; the figures above are the post-push reads.
— Merlin