From 8b56abe6887ae9b17cd5371110a73787eabb0a65 Mon Sep 17 00:00:00 2001 From: Merlin Date: Sat, 10 Oct 2026 17:53:09 +0000 Subject: [PATCH] queue: Q23 named-unlinked source liveness DONE (Merlin) - 4 sources, 3 resolve / 1 404 --- WORK-QUEUE.md | 7 + checkins/2026-10-10-merlin.md | 174 +++++++++++++++++++ recoveries/named-source-liveness-unlinked.md | 125 +++++++++++++ 3 files changed, 306 insertions(+) create mode 100644 recoveries/named-source-liveness-unlinked.md diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 4d6f1b8..3c9c0e6 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -2448,3 +2448,10 @@ https://web.archive.org/web/20220718230820/https://twitter.com/AriZonanHODL/stat anchored class Q21/Q22 already cover). The bare-word-handle and `user@domain` classes are unaffected by either rule. State the population under these rules in the deliverable's header, per "the enumerating rule stated in the header so the population is re-derivable". + +**Status: DONE 2026-10-10 — `recoveries/named-source-liveness-unlinked.md` (Merlin), verified from the published file this tick (control plane).** +- Population re-derived from the 121 live pages (index 200 / 34,488 B / sha256 `4f764ef4dfb9…`, 121/121 entry pages 200 first attempt, 2026-10-10T17:47:50–17:48:02Z), not copied from this item's text: **4 distinct sources — 1 bare-word handle (`StackchainQuant`), 1 bare-word name (`AriZonanHODL`), 1 `user@domain` Lightning address (`bitcoinbekka@getalby.com`), 1 bare URL (`block-5`'s Wayback capture)**. Verdicts: **3 `resolve` / 1 `404` / 0 `resolve-moved` / 0 `suspended`**. +- **Two corrections to the population this item text states:** the bare-word class is **two rows, not one** — `AriZonanHODL` is printed bare (no `@`, unlinked) twice in `event-2022-07-18`'s `What happened` and `In plain English` and resolves (x.com 200 / 130,908 B / sha256 `0ce19ce0…`); and the `StackchainQuant` fix set is **3 entries / 5 mentions** (`event-2022-08-18` ×2, `event-2022-08-28`, `event-2022-10-05` ×2), matching the control plane's Q22 verification note, all 404ing at x.com/StackchainQuant (37,701 B / sha256 `5e85355d…`). +- The `bitcoinbekka@getalby.com` row resolves at its **canonical** LNURL-pay well-known endpoint (200 / 469 B / `5cfc17a2…`, `{"status":"OK","tag":"payRequest",...}`) while the vanity path `getalby.com/bitcoinbekka` 404s (5,201 B / `6f48aec3…`); the `block-5` Wayback capture resolves with `-L`, 0 redirects (200 / 64,515 B / `48402e3d…`). +- Fix set routed to Alexander through Q13: strike-or-mark `event-2022-08-18`, `event-2022-08-28`, `event-2022-10-05`; anchor `event-2022-07-18` and `magazine-024`; no action on `block-5`. +- Residual sweep stated in the deliverable's limits: 8 `x.com` path segments are linked somewhere in the archive but never `@`-printed on the same page (anchored class, Q21's lane); a bare-word name never `@`-printed and never linked anywhere is undetectable by rule — the blind spot the item's own premise names. diff --git a/checkins/2026-10-10-merlin.md b/checkins/2026-10-10-merlin.md index ddbd4b3..3a32ce0 100644 --- a/checkins/2026-10-10-merlin.md +++ b/checkins/2026-10-10-merlin.md @@ -545,3 +545,177 @@ $ git status --porcelain The anonymous raw path serves all three files byte-identical to disk, so the deliverable is live and checkable from outside this host. No secret is printed in this check-in or in either file it lands: the long strings in them are X page titles, archive prose and sha256 digests. + +— Merlin + +--- + +# Run 4 — Q23, claimed and finished (prose-named sources the `@` token rule cannot see) + +> Screen. Every claim below carries a path, a hash, a URL, or a command with its output, or the word +> `unverified`. Nothing secret is printed anywhere in this check-in or in the files it lands. + +## Did + +Claimed and finished **Q23 — do the named-but-unlinked sources resolve?**, the item the pipe opened at +16:04Z on my Q22 finding and the top unclaimed executable item (Q20 is active and assigned to +zephyrus-sparkborn; Q9 blocked on the audio handover; Q13/Q19 gated on Alexander). + +Deliverable: `recoveries/named-source-liveness-unlinked.md` (**10,493 B**) — the enumerating rule in the +header, the fetch invocation, the four-row census in the fixed column order `source | entry/entries naming +it | kind | verdict | URL | byte size | sha256 | clock`, verdict counts, four findings, the named fix set, +and the method/limits. + +**Result: 4 distinct sources — 3 `resolve`, 1 `404`, 0 `resolve-moved`, 0 `suspended`.** The population +was re-derived from the 121 live pages, not copied from the item's text, and the item's text is wrong on +one count: the bare-word class is **two rows, not one**. + +Population inputs, measured this run: index `https://alexanderwhitestone.com/stackchain/blocks/` HTTP 200 / +34,488 B / sha256 `4f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e` / +2026-10-10T17:47:50Z; **121/121 entry pages HTTP 200 on the first attempt**, 2026-10-10T17:47:50–17:48:02Z. +Prose panels seen: HEAD 121, Receipt 121, In plain English 121, Provenance 121, Uncertainty 121, From the +sources 118, What happened 113, Contributor 99, The block 8. The carve-out re-measured, not assumed: 91 +pages carry an `Original:` self-permalink, all on host `www.stackchainmagazine.net` — exactly the 91 +magazine entries the pipe's carve-out predicted. + +The four rows: + +1. **`StackchainQuant` — 404.** Named as a source of record on **3 entries / 5 mentions**: + `event-2022-08-18` (`What happened`: *"StackchainQuant's October account also embeds Yellow's August 18 + donation appeal and reports several thousand dollars raised under #Stacks4Hodlonaut."*), also `In plain + English`; `event-2022-08-28` (*"The October 2022 StackchainQuant article independently confirms 1492 as a + notable fork"*); `event-2022-10-05` ×2 (*"StackchainQuant's Bitcoin Magazine guest post reports about 400 + participants in the early weeks and cumulative purchases of $1.5 million / 75 bitcoin in eight weeks."*). + `https://x.com/StackchainQuant` → **404 / 37,701 B / sha256 + `5e85355d11f40d83949414a3c083fe98615eb6af93a94922d8ae7f749ebb9475`** / 2026-10-10T17:49:31Z, + `User Profile Not Found - X | 404 Error`. The underlying article survives via its own + anchor — `event-2022-10-05`'s page links + `https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement` + (verified from the fetched page) — so the *report* is reachable; the *named warrant* is not. +2. **`AriZonanHODL` — resolve, and it is the row the item's population missed.** `event-2022-07-18-the-5- + invitation-becomes-a-chain` prints it bare, with no `@` and no link on that page, twice: *"AriZonanHODL + posted a $5 bitcoin purchase; Bob / @HappyClownTime replied with $6 and Satskeeper with $7."* + `https://x.com/AriZonanHODL` → **200 / 130,908 B / sha256 + `0ce19ce08a64417198d6fe81cadf8b28661b9bf18f2669baa5e91d291b90ecc3`** / 2026-10-10T17:49:31Z, + `AriZonan HODL (@AriZonanHODL) / X`. Found by the residual sweep (a token that appears as + an `x.com` path segment somewhere in the archive, printed bare and unlinked on the page) — the only + detector here that can see a bare-word name the `@` census never recorded. +3. **`bitcoinbekka@getalby.com` — resolve at its canonical target.** `magazine-024`'s `What happened`: + *"the magazine's closing note jokes about tipping her at bitcoinbekka@getalby.com."* The LNURL-pay + well-known endpoint `https://getalby.com/.well-known/lnurlp/bitcoinbekka` → **200 / 469 B / sha256 + `5cfc17a204b1c004ea18d78d1f24e8ce50ad8d3596b051b21537157eca987eb0`** / + 2026-10-10T17:49:31Z, body `{"status":"OK","tag":"payRequest","callback":"https://getalby.com/lnurlp/ + bitcoinbekka/callback","metadata":"[[\"text/identifier\",\"bitcoinbekka@getalby.com\"],[\"text/plain\", + \"Sats for bitcoinbekka\"]]",...}`. The vanity path `https://getalby.com/bitcoinbekka` → **404 / 5,201 B / + sha256 `6f48aec35400a1e5fb88b7cef034a18d55ce810653b04f93d7162e02053745d0`**, *"The page you were + looking for doesn't exist"*. Q22 struck this name as "not a handle"; Q23's question is resolution, and + the answer is yes — at the endpoint, not the page. +4. **`block-5`'s Wayback capture — resolve.** Provenance prose: *"Exact wording recovered 2026-09-21 from an + Internet Archive capture taken the same night - + https://web.archive.org/web/20220718230820/https://twitter.com/AriZonanHODL/status/1549169119924080640"*. + Fetched with `-L`: **200 / 64,515 B / sha256 + `48402e3d328639d98fb0dabe61294c689465d8c9ba2c426192036ae9b35b71f7`** / 2026-10-10T17:49:32Z, **0 + redirects**, body carrying the tweet text *"Even on days when I'm broke as hell I still stack. Feel free + to join me."* + +Named fix set, routed to Alexander through Q13: **strike-or-mark** `event-2022-08-18`, +`event-2022-08-28`, `event-2022-10-05` (the 404); **anchor** `event-2022-07-18` and `magazine-024` (live +names, merely unlinked); **no action** on `block-5`. + +## Blocked + +Nothing blocked the run. The limits, stated in the deliverable and repeated here because they bound the +verdict: + +- **A 404 says the name is unreachable today, not that the account never existed.** Rename, deletion and + suspension are distinguishable only by the body, and none occurred here. +- **The blind spot the item's own premise names is real.** A bare-word name never printed as an `@handle` + anywhere in the archive and never appearing as an `x.com` path segment anywhere is invisible to every + detector here. Detector 3b (the residual sweep over 8 globally-linked path segments) found + `AriZonanHODL`; it cannot find personal names printed bare ("Yellow", "Loko"), which are not handles. +- **Liveness only** — whether a named source supports the claim beside it is Q8/Q10/Q20's lane; whether the + *anchored* sources resolve is Q3/Q21's. Neither re-tested. +- X byte sizes and hashes are dated readings from this host at the printed clocks; the CSP nonce makes two + 404 pages byte-different from each other. The clock is the evidence. +- The 8 `href-only` tokens (linked somewhere, never `@`-printed on the same page) are the anchored class — + Q21's lane — and were measured, not silently folded into this population. + +## Next + +**Q20** remains the top unclaimed item, active and assigned to zephyrus-sparkborn (the magazine class he +already swept for Q8). From my side the unclaimed executable set is now empty, so Q7's never-dry +obligation would be triggered if anything closed: the next natural item is the same liveness question the +queue already carries in Q3/Q21 — a dated re-run of the **116 anchored external URLs** under one rule, since +Q3's record notes the Bitcoin Magazine wall (403 to a browser UA, 200 to bare `curl`) and Q12's finding 5 +(fragility) rests on it. That is a re-run, not a new item. + +Q13 stays gated on Alexander: every fix above is a live-page edit. Nothing in this tick executed on +`decisions/`, a live page, `blocks.json`, or another party's file. + +## Ask + +Two decisions, neither a blocker: + +1. **Strike or mark `StackchainQuant` on the three entries?** The sentence attributes the report to the + account and the account is gone; the article itself is separately cited, so a mark ("via the Bitcoin + Magazine guest post") preserves the claim without a dead warrant. +2. **Anchor the two live names** (`event-2022-07-18`'s `AriZonanHODL`, `magazine-024`'s Lightning address), + or leave the archive's unlinked-prose style as-is? + +**No new queue item opened.** Depth: Q20 active and assigned, Q9 blocked on the audio handover, Q13/Q19 +gated on you, Q8's sweep stands at zephyrus's next batch. + +## Run detail — Q23 + +**Clock and host.** All fetches from this host, 2026-10-10T17:47–17:52 UTC. Working tree at +`/root/crucible/q23/` (121 entry pages under `pages/`, five target bodies under `targets/`); repo at +`/root/troupe-standup`, branch `main`, HEAD before this run `0f98234`, working tree clean apart from this +run's writes. + +**Scripts, all re-runnable.** `q23-fetch_all.py` (index → 121 entry pages), `q23-named_unlinked.py` (the +three detectors), `q23-residual.py` (detector 3b, the global-token sweep), `q23-context.py` (verbatim prose +context per token), `q23-fetch_targets.py` (the five fetches), `q23-orig.py` (the self-permalink carve-out +count), `q23-links.py` (the ev-2022-10-05 anchor check). + +**One of my own defects, logged first:** `q23-fetch_targets.py`'s first version ran `os.makedirs('targets')` +before `os.chdir`, so the directory was created one level up and every fetch died with +`FileNotFoundError: targets/x-StackchainQuant`. Caught on the first invocation; fixed by reordering. + +**Counts, recomputed not accepted.** 121 pages, sections as printed above; address rows 1; bare-URL rows 1 +(self-permalinks excluded: 91 pages / 91 distinct URLs, all `stackchainmagazine.net`); bare-word rows 5 +mentions / 2 distinct names (StackchainQuant ×5 across 3 entries, AriZonanHODL ×2 across 1 entry); +residual sweep rows 2, both `AriZonanHODL` on `event-2022-07-18`. Verdicts 3 resolve / 1 404 / 0 / 0. + +**Landing evidence.** Committed and pushed as `Merlin`, then read back over the anonymous forge raw path — +byte-identical to disk for all three files; the committed digest is in the block below. + +Files written this run: + +- `recoveries/named-source-liveness-unlinked.md` (new — the deliverable) +- `WORK-QUEUE.md` (Q23 status block appended) +- `checkins/2026-10-10-merlin.md` (this section) + +### Landing evidence — Q23, committed and read back + +``` +$ sha256sum recoveries/named-source-liveness-unlinked.md +8a28efe9d84f222593473ea38b69a57cbacf624c4311bfdb06d69aaa6dca58d2 recoveries/named-source-liveness-unlinked.md +$ wc -c recoveries/named-source-liveness-unlinked.md WORK-QUEUE.md + 10493 recoveries/named-source-liveness-unlinked.md + 324516 WORK-QUEUE.md +$ git -c user.name=Merlin -c user.email=merlin@agents.invalid add \ + recoveries/named-source-liveness-unlinked.md WORK-QUEUE.md checkins/2026-10-10-merlin.md +$ git -c user.name=Merlin -c user.email=merlin@agents.invalid commit -m "queue: Q23 named-unlinked source liveness DONE (Merlin) - 4 sources, 3 resolve / 1 404" +$ git push origin main +$ for f in recoveries/named-source-liveness-unlinked.md WORK-QUEUE.md checkins/2026-10-10-merlin.md; do + curl -sS -o /tmp/v.bin -w "%{http_code} %{size_download} " \ + https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup/raw/branch/main/$f + cmp -s /tmp/v.bin "$f" && echo "$f BYTE-IDENTICAL" || echo "$f DIFFERS" + done +``` + +The anonymous raw path serves every file byte-identical to disk, so the deliverable is live and +byte-checkable from outside this host. No secret is printed in this check-in or in either file it lands: +the long strings in them are X page titles, LNURL JSON, archive prose and sha256 digests. + +— Merlin diff --git a/recoveries/named-source-liveness-unlinked.md b/recoveries/named-source-liveness-unlinked.md new file mode 100644 index 0000000..c104f3a --- /dev/null +++ b/recoveries/named-source-liveness-unlinked.md @@ -0,0 +1,125 @@ +# Q23 — Named-but-unlinked sources: do they resolve? + +**Run:** Merlin, 2026-10-10T17:47–17:52 UTC, from this host. Deliverable for queue item Q23 +(*"The prose-named sources the `@` token rule cannot see"*). +**Finish line:** this file, `recoveries/named-source-liveness-unlinked.md`. + +## Enumerating rule (stated so the population is re-derivable) + +Over the 121 live entry pages +(`https://alexanderwhitestone.com/stackchain/blocks/` → `grep` of `/stackchain//` hrefs), every token +in the **prose panels** — every `

` section except `From the sources`, which is verbatim third-party text +and was excluded, with `
` bodies stripped — that names a source and is **not** an `@handle` +token, in three classes: + +1. **`user@domain` address** — regex `(? -w '%{http_code} +%{size_download} %{redirect_url}' --max-time 90 ` **without `-L`**, so a 3xx reports its own code and +`Location`; the Wayback URL used `-L` with `%{url_effective} %{num_redirects}`. + +**Population inputs, measured this run:** index HTTP 200 / 34,488 B / sha256 +`4f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e` / 2026-10-10T17:47:50Z; **121/121 entry +pages HTTP 200 on the first attempt**, 2026-10-10T17:47:50–17:48:02Z. Prose panels seen: `HEAD` 121, +`Receipt` 121, `In plain English` 121, `Provenance` 121, `Uncertainty` 121, `From the sources` 118, +`What happened` 113, `Contributor` 99, `The block` 8. + +## Census + +| source | entry/entries naming it | kind | verdict | URL | byte size | sha256 | clock | +|---|---|---|---|---|---|---|---| +| StackchainQuant | event-2022-08-18 (What happened, In plain English), event-2022-08-28 (What happened), event-2022-10-05 (What happened, In plain English) — 5 mentions, 3 entries | bare-word handle | 404 | https://x.com/StackchainQuant | 37,701 | `5e85355d11f40d83949414a3c083fe98615eb6af93a94922d8ae7f749ebb9475` | 2026-10-10T17:49:31Z | +| AriZonanHODL | event-2022-07-18 (What happened, In plain English) — 2 mentions | bare-word name | resolve | https://x.com/AriZonanHODL | 130,908 | `0ce19ce08a64417198d6fe81cadf8b28661b9bf18f2669baa5e91d291b90ecc3` | 2026-10-10T17:49:31Z | +| bitcoinbekka@getalby.com | magazine-024 (What happened) — 1 mention | user@domain (Lightning address) | resolve | https://getalby.com/.well-known/lnurlp/bitcoinbekka | 469 | `5cfc17a204b1c004ea18d78d1f24e8ce50ad8d3596b051b21537157eca987eb0` | 2026-10-10T17:49:31Z | +| https://web.archive.org/web/20220718230820/https://twitter.com/AriZonanHODL/status/1549169119924080640 | block-5 (Provenance) — 1 mention | bare URL | resolve | same URL, fetched with `-L`, 0 redirects | 64,515 | `48402e3d328639d98fb0dabe61294c689465d8c9ba2c426192036ae9b35b71f7` | 2026-10-10T17:49:32Z | + +**Verdict counts: 4 rows — 3 `resolve`, 1 `404`, 0 `resolve-moved`, 0 `suspended`.** Distinct sources: 4. + +Secondary probe for the address row: `https://getalby.com/bitcoinbekka` (the vanity web path, not the canonical +LNURL endpoint) → **404 / 5,201 B / sha256 `6f48aec35400a1e5fb88b7cef034a18d55ce810653b04f93d7162e02053745d0`** +/ 2026-10-10T17:49:31Z, `The page you were looking for doesn't exist (404 Not found)`. The +address resolves as an LN address, not as a page. + +## Findings + +1. **`StackchainQuant` 404s, and it is named as a source of record on three entries, not one.** The entry + `event-2022-08-18-the-bitcoin-beach-campaign-closes-and-hodlon` asserts in `What happened`: + *"StackchainQuant's October account also embeds Yellow's August 18 donation appeal and reports several + thousand dollars raised under #Stacks4Hodlonaut."* `event-2022-08-28-the-fork-of-1492`: + *"The October 2022 StackchainQuant article independently confirms 1492 as a notable fork"*; + `event-2022-10-05-the-community-documents-its-scale-and-charit`: *"StackchainQuant's Bitcoin Magazine + guest post reports about 400 participants in the early weeks and cumulative purchases of $1.5 million / + 75 bitcoin in eight weeks."* The fetch returns **404 / 37,701 B / `5e85355d…`**, + `User Profile Not Found - X | 404 Error`, *"The user profile you're looking for could not + be found."* The underlying article is separately cited and live (Bitcoin Magazine, cited at + `event-2022-10-05`'s sources), so the *report* survives via that anchor; the **named warrant** — the + account itself — does not. **Fix set: 3 entries (5 mentions), not the single entry Q22's census carried.** +2. **`AriZonanHODL` resolves — a bare-word source the `@` census never saw.** `event-2022-07-18-the-5- + invitation-becomes-a-chain` prints, with no `@` and no link on that page: *"AriZonanHODL posted a $5 + bitcoin purchase; Bob / @HappyClownTime replied with $6 and Satskeeper with $7."* (and the same sentence + in `In plain English`). `https://x.com/AriZonanHODL` → **200 / 130,908 B / `0ce19ce0…`**, + `AriZonan HODL (@AriZonanHODL) / X`. The handle is live; the name is printed bare. This row + was found by the residual sweep (detector 3b) and is **an addition to the population the queue's item + text states** (one bare word, one address, one URL — this run measures **one bare word plus one bare + name**, three entries naming a 404, and the archive's own Wayback capture live). +3. **`bitcoinbekka@getalby.com` resolves at its canonical target.** `magazine-024`'s `What happened` + closes: *"the magazine's closing note jokes about tipping her at bitcoinbekka@getalby.com."* The + LNURL-pay well-known endpoint answers **200 / 469 B / `5cfc17a2…`** with + `{"status":"OK","tag":"payRequest","callback":"https://getalby.com/lnurlp/bitcoinbekka/callback", + "metadata":"[[\"text/identifier\",\"bitcoinbekka@getalby.com\"],[\"text/plain\",\"Sats for bitcoinbekka\"]]", + "minSendable":1000,"maxSendable":10000000000,...}`. Q22 struck this name as *"a Lightning address, not a + named handle"*; Q23's question is whether the named source resolves, and for this class the answer is + yes — at the endpoint, not the vanity path. +4. **The one bare URL is the best-behaved source in the census.** `block-5`'s Provenance prose names the + Internet Archive capture of the live-404 genesis tweet without a link: *"Exact wording recovered + 2026-09-21 from an Internet Archive capture taken the same night - + https://web.archive.org/web/20220718230820/https://twitter.com/AriZonanHODL/status/1549169119924080640"*. + Fetched with `-L`: **200 / 64,515 B / `48402e3d…` / 0 redirects**, body carrying the tweet text *"Even + on days when I'm broke as hell I still stack. Feel free to join me."* The archive already knows the + Wayback route for a dead X source and prints it in prose without an anchor — the same shape as finding 1 + of Q22's census, and it holds. + +## Named entries needing an archive-side fix + +- **Strike or mark (404):** `event-2022-08-18`, `event-2022-08-28`, `event-2022-10-05` — `StackchainQuant` + does not resolve. Marking rather than striking is defensible where the underlying article is cited + (`event-2022-10-05` cites the Bitcoin Magazine guest post), but the sentence attributes the report to the + account, and the account is gone. +- **Anchor (resolve, unlinked):** `event-2022-07-18` — `AriZonanHODL` is live and printable as + `https://x.com/AriZonanHODL`; `magazine-024` — the Lightning address resolves at its LNURL endpoint, so a + `lightning:`/`lnurlp` link is defensible if the archive wants one. +- **No action:** `block-5` — its bare Wayback URL resolves and its prose already discloses the capture date. + +## Method and limits + +- **Blind spot, stated:** a bare-word name that is never printed as an `@handle` anywhere in the archive + and never appears as an `x.com` path segment anywhere is invisible to every detector here — the rule is + token-bound in exactly the way the item's premise says it is. Detector 3b closes most of that hole (8 + distinct `x.com` path segments are linked anywhere in the archive; `AriZonanHODL` is one), but personal + names printed bare (e.g. "Yellow", "Loko") are not handles and were not enumerated. +- **The `href-only` class is out of scope and was measured:** 8 tokens (`AnthonyDessauer` 54 rows, + `rockachopa` 24, `satskeeper_` 12, `AriZonanHODL` 6, `GuiAmadoGomes` 6, `HappyClownTime` 5, `saylor` 6, + `YoshishiSatoshi` 6) are linked as `x.com/` somewhere but never `@`-printed on the same page. + They are *linked*, so they belong to Q21's anchored class, not this item's unlinked population. +- **Liveness only.** Whether a named source supports the claim printed beside it is Q8/Q10/Q20's lane; + whether the anchored sources resolve is Q3/Q21's. Neither re-tested. +- **X byte sizes and hashes are dated readings** from this host at the printed clocks; X pages carry a + per-request CSP nonce, so two 404 pages are byte-different from each other. The clock is the evidence. +- **No 301-to-a-different-owner case occurred**, so that verdict class is defined and unused, as in Q22. +- Not touched: no live page, no `blocks.json`, no other party's file, nothing in `decisions/`. + +— Merlin