queue: Q41 excerpt fidelity class and placement, the 30 non-magazine entries DONE (Merlin) -- deliverable recoveries/excerpt-placement-nonmagazine.md (33645 B / sha256 d16761a827dfe5de9868dc0e1e513153d6acaa802983000959172d873de98c84); population 30 entries / 50 excerpts / 35 distinct anchors all HTTP 200 (index 200 / 34488 B / 4f764ef4, 2026-10-12T13:46:28Z); tally 30 literal / 5 normalised-literal / 7 elided / 4 paraphrase / 4 unreadable; placement n=42 over 26 of 30 entries, mean 0.2294 vs the magazine class 0.4735, fifths 21/10/9/1/1; Q21 join exact 42 bound / 4 mis-bound / 4 unanchored = 42/4/4; two of my own defects logged first (source-type unreadable rule on 23 non-article rows; three URL-tokenisation failures fixed, witness event-2022-08-21-...-1414 seq 1); scratch /root/crucible/q41/; no new item opened, Q37 pipe's, Q9/Q13/Q19 and Helm adoption gated

This commit is contained in:
Merlin committed 2026-10-12 13:57:38 +00:00
1 parent 2f3a042a39
commit 6abf898bd1
3 files changed
+291

No files matched your search

+13
View File
@@ -5605,6 +5605,19 @@ two corrections logged, one subject-import hazard measured. 2026-10-12 11:5xZ (t
the Q20 ladder printed with the `<br>` → space clause explicit, one named class per row, and a per-row the Q20 ladder printed with the `<br>` → space clause explicit, one named class per row, and a per-row
reconciliation against Q21's binding verdict. **Claimed/offered to zephyrus-sparkborn** (his Ask this tick); reconciliation against Q21's binding verdict. **Claimed/offered to zephyrus-sparkborn** (his Ask this tick);
declining with a reason remains legitimate under Q7. declining with a reason remains legitimate under Q7.
**Status: DONE 2026-10-12 — `recoveries/excerpt-placement-nonmagazine.md` (33,645 B / sha256
`d16761a827dfe5de9868dc0e1e513153d6acaa802983000959172d873de98c84`), Merlin (claimed by this pipe,
not by zephyrus, whose 10-12 check-in declined it).** Population re-enumerated from the live index
(200 / 34,488 B / `4f764ef4…`, 2026-10-12T13:46:28Z): 30 entries, 50 excerpts, 35 distinct anchors,
all anchors HTTP 200. Final tally: **30 `literal` / 5 `normalised-literal` / 7 `elided` / 4
`paraphrase` / 4 `unreadable`**; placement measured on 42 rows over 26 of 30 entries — mean
fraction **0.2294** (vs the magazine class's 0.4735), 21 of 42 in the first fifth. The Q21 join is
exact: 42 `bound` = the 42 non-paraphrase rows, 4 `mis-bound` = the 4 `paraphrase` rows (the
known home-page defect on `block-25/88/89/90`), 4 `unanchored` = the 4 `unreadable` rows. Two of
this run's own defects are logged first in the deliverable: the source-type `unreadable` rule
(23 non-article rows re-graded) and three successive URL-tokenisation failures fixed before the
join closed. Scratch tree `/root/crucible/q41/`; scripts and logs under `out/`.
- **Q7, measured, and the disk no longer holds this lane:** the unclaimed executable set was empty before this - **Q7, measured, and the disk no longer holds this lane:** the unclaimed executable set was empty before this
tick (Q37 is the pipe's), so one archive item is opened (Q41) rather than invented; Q9/Q13/Q19 and the Helm tick (Q37 is the pipe's), so one archive item is opened (Q41) rather than invented; Q9/Q13/Q19 and the Helm
adoption stay gated. Free space on this host is **960 MB of 154 GB (100% used)** at 13:19Z — up from 12 MB at adoption stay gated. Free space on this host is **960 MB of 154 GB (100% used)** at 13:19Z — up from 12 MB at
+97
View File
@@ -695,3 +695,100 @@ sides).
— Merlin — Merlin
---
## Run 7 — Q41: excerpt fidelity class and placement, the 30 non-magazine entries
### Did
Took **Q41** — the top unclaimed, executable item (zephyrus's 10-12 check-in declined it:
*"Q37 is the only open executable item and it is claimed by the pipe … nothing unclaimed exists
today, so I take nothing"*). Population, method and finish line are Q41's own spec; the
deliverable is a new file, not an edit of a closed one.
- **Population re-enumerated from the live index** (`https://alexanderwhitestone.com/stackchain/blocks/`,
HTTP 200 / 34,488 B / sha256 `4f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e`,
read 2026-10-12T13:46:28Z): 121 slugs = 8 `block-*` + 22 `event-*` + 91 `magazine-*`; this run
took the 30 non-magazine entries. **50 excerpts** (42 `From the sources`, 8 `The block`),
**35 distinct anchors**, all fetched **HTTP 200** (`curl -sS -L -o … -w '%{http_code} %{size_download}'`,
2026-10-12T13:46:13–13:47:00Z). Anchor hosts: `www.stackchainmagazine.net` 11, `x.com` 12,
`raw.githubusercontent.com` 5, `web.archive.org` 2, `github.com` 2, `bitcoinmagazine.com` 1,
`europeanbitcoiners.com` 1, `podcasts.apple.com` 1.
- **Deliverable:** `recoveries/excerpt-placement-nonmagazine.md`, **33,645 B**, sha256
`d16761a827dfe5de9868dc0e1e513153d6acaa802983000959172d873de98c84` — screen header, rules (the
Q20 ladder with the `<br>` → space clause explicit, as Q41's finish line requires), counts, 50
per-row rows (fixed column order `entry | seq | excerpt | class | normalisation | source class |
space | offset | fraction | occ | anchor | Q21 verdict | settling evidence`), aggregates,
findings, limits, and this run's own defects. Scratch tree `/root/crucible/q41/`; scripts
`fetch.py`, `classify.py`, `place.py`, `regrade.py`, `s3e.py`, `reconcile.py`, `aggregate.py`,
`emit.py`; logs under `out/`.
- **Final tally:** **30 `literal` / 5 `normalised-literal` / 7 `elided` / 4 `paraphrase` /
4 `unreadable`** (of 50). Placement measured on **42 rows across 26 of 30 entries**: min 0.0,
max 0.8048, **mean 0.2294** — against the magazine class's Q20 mean of 0.4735. Fifths:
21 / 10 / 9 / 1 / 1. 8 excerpts occur more than once in their body; placement is
first-occurrence and the occurrence count is printed per row.
- **The Q21 join is exact, row for row:** the 42 `bound` rows = 30 literal + 5 normalised-literal +
7 elided; the 4 `mis-bound` = the 4 `paraphrase` (the known home-page citation defect on
`block-25/88/89/90`, already carried by Q21 and Q4 — **no new archive-side wording fix follows
from this item**); the 4 `unanchored` = the 4 `unreadable` (the `The block` testimony quotes with
no anchor printed). 50 = 42 + 4 + 4.
- **Two of this run's own defects, logged first in the deliverable:**
1. The source-type rule: stage 2 classed the 23 non-article-source rows (X posts, SIP text
files, repo pages, the podcast page, Wayback captures) `unreadable` on source type alone —
Q21 graded every one of them `bound` with the text found in the detagged body, so they were
re-graded under the same ladder with the source class named in the row. `unreadable` is
reserved for the two cases Q41's finish line names: no anchor, or a non-200 target.
2. The URL-tokenisation rule failed three times before it held: `https?://\S+` swallowed the word
after a bare URL; stopping at a quote character still failed when a URL was followed by a
closing quote (`…down? https://t.co/Go9kd8c6dh"`); and tokenising at S0 before quote
normalisation left one character unmatched. The final rule (run stops at whitespace **or** a
quote, applied at **S1** on both strings) resolves the witness row —
`event-2022-08-21-block-1414-becomes-the-first-million-target` seq 1, where the entry prints
the expanded `x.com/i/spaces/…` URL and the page carries the `t.co` short link:
`paraphrase` under the broken rules, `normalised-literal` (URL-tokenised, S3) under the fixed
one.
- **Queue updated:** Q41's block now carries the DONE status line; the offered-to-zephyrus
sentence is kept as history. No new item opened: Q37 stays the pipe's, and Q9/Q13/Q19 and the
Helm adoption stay gated on Alexander.
### Blocked
Nothing in my lane. Same standing gates: Q9 (checksum handover), Q13 (the wording fixes), Q19
(wizard onboarding) and the §4 `cp` adoption are Alexander's calls. Host disk: 931 MB free of
154 GB at 13:46Z, measured (`df -h /root`); no action taken from this lane.
### Next
- Offer Q41's rows file and method to zephyrus as a second pass — the non-magazine half his lane
can recompute independently (his Q20 sample agreed with the population verdict).
- The two standing Helm candidates remain un-opened and wait on Alexander: the post-`cp`
verification run of the deployed pair, and a stronger behavioural destination guard.
- Keep the reply-reading and independent-verification discipline on whatever the counterparty
lands next.
### Ask
Alexander: nothing blocking. The same two standing items — the **§4 adoption** (collector
`4e45021d…` + gate `9b09f328…`, a two-file `cp`; Q40 showed the shipped gate has no
subject-selection path at all, so none of Q31–Q39's protection is in force in `/root/.helm/bin/`
until it lands) and the **`manifest_match` pin** (stale since 2026-10-08; a static render cannot
say so).
### Evidence table
| item | value | how obtained |
|---|---|---|
| index | HTTP 200 / 34,488 B / sha256 `4f764ef4…` | `curl -sS -L -o index.html -w '%{http_code} %{size_download}'`, 2026-10-12T13:46:28Z |
| 30 entry pages | all HTTP 200 | `fetch.py`, clocks 13:46:29–13:46:32Z |
| 35 anchors | all HTTP 200 | `fetch.py`, clocks 13:46:13–13:47:00Z |
| deliverable | 33,645 B / sha256 `d16761a827dfe5de9868dc0e1e513153d6acaa802983000959172d873de98c84` | `wc -lc` + `sha256sum` on the written file |
| final tally | 30 / 5 / 7 / 4 / 4 of 50 | `aggregate.py` over `out/rows.json` |
| placement | n = 42, min 0.0, max 0.8048, mean 0.2294, fifths 21/10/9/1/1 | `aggregate.py` |
| Q21 join | 42 bound / 4 mis-bound / 4 unanchored = 42 / 4 / 4 | `reconcile.py` against `recoveries/excerpt-binding-audit.md` |
| host disk | 931 MB free of 154 GB | `df -h /root`, 2026-10-12T13:46Z |
Nothing secret is printed. Every reading above is from this host, this run, and is reproducible
from the scripts named.
— Merlin
+181
View File
@@ -0,0 +1,181 @@
# Excerpt fidelity class and placement — the 30 non-magazine entries (Q41)
> **Screen.** Every row carries the anchor URL with its HTTP status, byte size, sha256 and fetch
> clock, or the word `unverified`. All readings are from this host, 2026-10-12 13:46-13:5xZ.
> Nothing secret is printed. Scratch tree `/root/crucible/q41/`.
## Rules (stated before any test)
- **Population / sample rule:** every published non-magazine entry — **30 of 30**
(8 `block-*` + 22 `event-*`), no sampling. **50 excerpts** (42 `From the sources`,
8 `The block`). The 91 magazine entries were Q20's population and are outside this item.
- **Enumeration:** `https://alexanderwhitestone.com/stackchain/blocks/`
(HTTP 200 / 34488 B / sha256 `4f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e`, read 2026-10-12T13:46:28Z) by the href matcher
`/stackchain/<slug>/` filtered to `^(block|event|magazine)-`; the magazine class is dropped here.
- **Excerpt unit:** the quoted material inside the entry page's `<blockquote>`, with the
`<cite>` citation display text removed — the same unit Q20 and Q21 used. The citation URL
printed inside the blockquote is the citation, not quoted material.
- **Detag / normalisation ladder (printed so the numbers are re-runnable; the `<br>` clause is
explicit, as Q41's finish line requires):**
- `S0 raw` — strip `<script> <style> <svg> <noscript>`; **`<br>` AND block closers**
(`</p> </div> </li> </ul> </ol> </h1-6> </tr> </td> </th> </blockquote> </section>`
`</article> </cite> </figcaption>`) **to a space**; inline tags including `</a>` to nothing;
strip remaining tags; HTML-unescape repeatedly until stable; collapse whitespace.
- `S1 typographic` — S0 + NFKC; curly quotes to straight; em dash to ` - `, en dash to `-`;
ellipsis to `...`; rejoin an ordinal suffix split by markup (`4 th` -> `4th`); collapse
whitespace. **All placement numbers are measured in S1 space unless the row names S3.**
- `S3 url-tokenised` — **S1** with every `http(s)://` run replaced by the token ` URL ` in both
strings, the run stopping at whitespace or a quote character (whichever comes first).
Applied at S1 (after quote normalisation) on both sides.
- **Class vocabulary (in match order):**
- `literal` — the excerpt is an exact S0 substring of the target's S0 body.
- `normalised-literal` — not an S0 substring, but an S1 (or S3) substring; the row names what
was normalised and the space.
- `elided` — the excerpt's own marked `...` elisions are honoured and every segment resolves
in order.
- `paraphrase` — not a substring under any stated normalisation; the row names the differing
tokens.
- `unreadable` — the blockquote prints no anchor, or the target did not answer 200. Stated
plainly, never graded.
- **Placement:** `offset` = characters from the top of the detagged body to the start of the
excerpt (first occurrence in document order); `fraction` = offset / body length, 4 dp. The
space (S1 or S3) is named per row.
## Counts
| class | rows |
|---|---|
| literal | 30 |
| normalised-literal | 5 |
| elided | 7 |
| paraphrase | 4 |
| unreadable | 4 |
| **total** | **50** |
- Measurable (a 200 target body exists): **46 of 50**. Placement measured: **42** across
**26 of 30** entries. The 4 `paraphrase` rows resolve at no offset by definition.
- Source class of the 46 anchored rows: X post 14, article 23, no anchor 4, podcast episode 1, repository page 2, source file 6.
- Distinct anchors printed by the anchored excerpts: **35** (all fetched, all HTTP 200): by host
`www.stackchainmagazine.net` 11, `x.com` 12, `raw.githubusercontent.com` 5, `web.archive.org` 2,
`github.com` 2, `bitcoinmagazine.com` 1, `europeanbitcoiners.com` 1, `podcasts.apple.com` 1.
## Rows
Fixed column order: `entry | seq | excerpt text (first 60 chars) | class | normalisation |
source class | space | offset | fraction | occurrences | anchor | Q21 binding verdict | settling evidence`.
| entry | seq | excerpt (first 60) | class | normalisation | source class | space | offset | fraction | occ | anchor | Q21 verdict | settling evidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| block-25 | 1 | I remember wanting block 25. I tried to post it. I got forke | unreadable | n/a | no anchor | | | | | (none) | unanchored | no anchor printed inside the blockquote |
| block-25 | 2 | I’ve been watching Stackchain and they adopt new ideas over | paraphrase | no stated normalisation resolves it; differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants | article | S1 | | | 0 | https://www.stackchainmagazine.net | mis-bound | differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants |
| block-405-420 | 1 | Blocks 405-420 #stackchain May the longest chain live foreve | literal | none (S0 substring) | X post | S1 | 1000 | 0.2922 | 1 | https://web.archive.org/web/20220722221828/https://twitter.com/AnthonyDessauer/status/1550583498397782017 | bound | re-graded from a non-article source (X post): https://web.archive.org/web/20220722221828/https://twitter.com/AnthonyDessauer/status/1550583498397782017 (HTTP 200 / 229367 B / body 3422 chars / sha 38160884d2ad / 2026-10-12T13:46:37Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| block-5 | 1 | Even on days when I'm broke as hell I still stack. Feel free | normalised-literal | typographic (NFKC/quotes/dashes/ellipsis) | X post | S1 | 36 | 0.0296 | 2 | https://web.archive.org/web/20220809062934/https://twitter.com/AriZonanHODL/status/1549169119924080640 | bound | re-graded from a non-article source (X post): https://web.archive.org/web/20220809062934/https://twitter.com/AriZonanHODL/status/1549169119924080640 (HTTP 200 / 171026 B / body 1218 chars / sha 811e4b37b7a8 / 2026-10-12T13:46:41Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| block-6 | 1 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| block-6 | 2 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| block-7 | 1 | I saw 5 and 6 each from frends and i was like gawdang i know | literal | none (S0 substring) | X post | S1 | 50 | 0.0322 | 4 | https://x.com/satskeeper_/status/2102036583209717804 | bound | re-graded from a non-article source (X post): https://x.com/satskeeper_/status/2102036583209717804 (HTTP 200 / 127025 B / body 1553 chars / sha a6055d755446 / 2026-10-12T13:46:59Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| block-88 | 1 | so I bought 88-90 and posted them in quick succession to sec | unreadable | n/a | no anchor | | | | | (none) | unanchored | no anchor printed inside the blockquote |
| block-88 | 2 | I’ve been watching Stackchain and they adopt new ideas over | paraphrase | no stated normalisation resolves it; differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants | article | S1 | | | 0 | https://www.stackchainmagazine.net | mis-bound | differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants |
| block-89 | 1 | so I bought 88-90 and posted them in quick succession to sec | unreadable | n/a | no anchor | | | | | (none) | unanchored | no anchor printed inside the blockquote |
| block-89 | 2 | I’ve been watching Stackchain and they adopt new ideas over | paraphrase | no stated normalisation resolves it; differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants | article | S1 | | | 0 | https://www.stackchainmagazine.net | mis-bound | differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants |
| block-90 | 1 | It held. And I did it again and again and it became skinner | unreadable | n/a | no anchor | | | | | (none) | unanchored | no anchor printed inside the blockquote |
| block-90 | 2 | I’ve been watching Stackchain and they adopt new ideas over | paraphrase | no stated normalisation resolves it; differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants | article | S1 | | | 0 | https://www.stackchainmagazine.net | mis-bound | differing tokens: been watching adopt ideas Like used call Skinner when two blocks post. But wants |
| event-2022-07-18-anthony-enters-at-16-names-the-hill-at-24 | 1 | This is BTC Freeborn with the What Stackchain Done Dided Pee | elided | marked elisions honoured (S1) | article | S1 | 781 | 0.0563 | 0 | https://www.stackchainmagazine.net/waht-stackchain-done-dided-the-king-of-stackchain/ | bound | resolved at https://www.stackchainmagazine.net/waht-stackchain-done-dided-the-king-of-stackchain/ (HTTP 200 / 153316 B / body 13882 chars / sha 4115c046ca99 / 2026-10-12T13:46:50Z) |
| event-2022-07-18-the-5-invitation-becomes-a-chain | 1 | Stackchain was born completely organically when AriZonanHODL | literal | none (S0 substring) | repository page | S1 | 3432 | 0.2982 | 1 | https://github.com/stackchainsats/stackchain | bound | re-graded from a non-article source (repository page): https://github.com/stackchainsats/stackchain (HTTP 200 / 265778 B / body 11509 chars / sha 49df0b3fcc17 / 2026-10-12T13:46:35Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-18-the-5-invitation-becomes-a-chain | 2 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| event-2022-07-18-the-5-invitation-becomes-a-chain | 3 | SIP: 0001 LAYER: Consensus TITLE: NEWSTACK AUTHOR: Derek Ros | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0001.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0001.txt (HTTP 200 / 1610 B / body 1594 chars / sha 8fb322df9e3c / 2026-10-12T13:46:36Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-19-op-backstack-experimentation-almost-immediat | 1 | I’m adding a soft fork to the stackchain. Op.backstack | literal | none (S0 substring) | X post | S1 | 603 | 0.3888 | 0 | https://x.com/AnthonyDessauer/status/1549500074434052097 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1549500074434052097 (HTTP 200 / 124748 B / body 1551 chars / sha b61412b450e1 / 2026-10-12T13:46:50Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-20-accessibility-becomes-a-protocol-question | 1 | SIP: 0001 LAYER: Consensus TITLE: NEWSTACK AUTHOR: Derek Ros | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0001.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0001.txt (HTTP 200 / 1610 B / body 1594 chars / sha 8fb322df9e3c / 2026-10-12T13:46:36Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-20-accessibility-becomes-a-protocol-question | 2 | SIP: 0002 LAYER: Consensus TITLE: Pooling AUTHOR: Semisol (t | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0002.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0002.txt (HTTP 200 / 1183 B / body 1169 chars / sha 2daaa0f1119d / 2026-10-12T13:46:36Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-20-accessibility-becomes-a-protocol-question | 3 | SIP: 0003 LAYER: Consensus TITLE: Stackjoin AUTHOR: Semisol | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0003.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0003.txt (HTTP 200 / 1409 B / body 1388 chars / sha 1e2715472bae / 2026-10-12T13:46:36Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-20-receipt-provenance-becomes-part-of-consensus | 1 | SIP: 0004 LAYER: Consensus TITLE: DOUBLE SPEND PREVENTION AU | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0004.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0004.txt (HTTP 200 / 925 B / body 913 chars / sha 243e859b3887 / 2026-10-12T13:46:37Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-07-20-receipt-provenance-becomes-part-of-consensus | 2 | It all started when AriZonanHODL mined the genesis block at | literal | none (S0 substring) | article | S1 | 1047 | 0.126 | 1 | https://europeanbitcoiners.com/what-the-heck-is-stackchain/ | bound | resolved at https://europeanbitcoiners.com/what-the-heck-is-stackchain/ (HTTP 200 / 102858 B / body 8311 chars / sha 4f2051ab8f29 / 2026-10-12T13:46:33Z) |
| event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi | 1 | It all started when AriZonanHODL mined the genesis block at | literal | none (S0 substring) | article | S1 | 1047 | 0.126 | 1 | https://europeanbitcoiners.com/what-the-heck-is-stackchain/ | bound | resolved at https://europeanbitcoiners.com/what-the-heck-is-stackchain/ (HTTP 200 / 102858 B / body 8311 chars / sha 4f2051ab8f29 / 2026-10-12T13:46:33Z) |
| event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi | 2 | No matter what. No matter how we address this. Stacking this | literal | none (S0 substring) | X post | S1 | 1016 | 0.452 | 3 | https://x.com/AnthonyDessauer/status/1550583498397782017 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1550583498397782017 (HTTP 200 / 107304 B / body 2248 chars / sha f76b01ecf7c0 / 2026-10-12T13:46:51Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-17-bitcoin-beach-transfers-leave-a-transaction | 1 | 1st send to Bitcoin Beach. 10 million sats https://blockstre | normalised-literal | URLs tokenised to " URL " under S3 (whitespace/quote-bounded run, applied at S1) | X post | S3 | 1012 | 0.5588 | 1 | https://x.com/AnthonyDessauer/status/1560026877116313600 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1560026877116313600 (HTTP 200 / 122722 B / body 1830 chars / sha db2668948584 / 2026-10-12T13:46:51Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-17-bitcoin-beach-transfers-leave-a-transaction | 2 | 2cnd distribution to Bitcoin Beach. Another 10 million sats | normalised-literal | URLs tokenised to " URL " under S3 (whitespace/quote-bounded run, applied at S1) | X post | S3 | 1012 | 0.5476 | 1 | https://x.com/AnthonyDessauer/status/1560027083383836672 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1560027083383836672 (HTTP 200 / 121982 B / body 1867 chars / sha dcc9ac238846 / 2026-10-12T13:46:53Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-18-the-bitcoin-beach-campaign-closes-and-hodlon | 1 | The last of sats donated to #Stacks4BitcoinBeach are on thei | normalised-literal | URLs tokenised to " URL " under S3 (whitespace/quote-bounded run, applied at S1) | X post | S3 | 984 | 0.4245 | 1 | https://x.com/AnthonyDessauer/status/1560325688481026048 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1560325688481026048 (HTTP 200 / 111565 B / body 2337 chars / sha b154776cb85a / 2026-10-12T13:46:53Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-18-the-bitcoin-beach-campaign-closes-and-hodlon | 2 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| event-2022-08-21-block-1414-becomes-the-first-million-target | 1 | Stack 1414 represents 1 million cuck bucks dumped into Stack | normalised-literal | URLs tokenised to " URL " under S3 (whitespace/quote-bounded run, applied at S1) | X post | S3 | 957 | 0.4905 | 0 | https://x.com/AnthonyDessauer/status/1561482847872962561 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1561482847872962561 (HTTP 200 / 106269 B / body 1970 chars / sha f10639e24eff / 2026-10-12T13:46:54Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-21-block-1414-becomes-the-first-million-target | 2 | We are only 14 stacks away from the historic block that will | literal | none (S0 substring) | X post | S1 | 32 | 0.0277 | 4 | https://x.com/AnthonyDessauer/status/1561523237984432128 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1561523237984432128 (HTTP 200 / 95127 B / body 1157 chars / sha b401871cc9a9 / 2026-10-12T13:46:54Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-21-block-1414-becomes-the-first-million-target | 3 | Fun with numbers. Stackchain ~1 million dollars Bitcoin ~ 19 | literal | none (S0 substring) | X post | S1 | 958 | 0.4327 | 3 | https://x.com/AnthonyDessauer/status/1561850265321345024 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1561850265321345024 (HTTP 200 / 106138 B / body 2214 chars / sha 6103995b291e / 2026-10-12T13:46:56Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-24-a-practical-fork-resolution-offer-at-1438-14 | 1 | Grab my dollar and combine your 1438 to get 1439 and resolve | literal | none (S0 substring) | X post | S1 | 1027 | 0.4792 | 3 | https://x.com/AnthonyDessauer/status/1562570634915328000 | bound | re-graded from a non-article source (X post): https://x.com/AnthonyDessauer/status/1562570634915328000 (HTTP 200 / 148334 B / body 2143 chars / sha 9df613248e3c / 2026-10-12T13:46:56Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-08-28-the-fork-of-1492 | 1 | Stackchain to Bitcoiners is a lot like how Bitcoiners are to | elided | marked elisions honoured (S1) | article | S1 | 534 | 0.0805 | 0 | https://www.stackchainmagazine.net/the-fork-of-1492/ | bound | resolved at https://www.stackchainmagazine.net/the-fork-of-1492/ (HTTP 200 / 139890 B / body 6630 chars / sha 54b2f67f94cb / 2026-10-12T13:46:49Z) |
| event-2022-08-28-the-fork-of-1492 | 2 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| event-2022-09-12-actual-miners-get-an-accounting-route | 1 | SIP: 0010 LAYER: Consensus Layer TITLE: Protocol for Bitcoin | literal | none (S0 substring) | source file | S1 | 0 | 0.0 | 1 | https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0010.txt | bound | re-graded from a non-article source (source file): https://raw.githubusercontent.com/stackchainsats/stackchain/main/sips/sip-0010.txt (HTTP 200 / 1305 B / body 1280 chars / sha 95836bbed2c6 / 2026-10-12T13:46:37Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-10-05-the-community-documents-its-scale-and-charit | 1 | The story goes like this: @ArizonanHodl posts his $5 bitcoin | literal | none (S0 substring) | article | S1 | 2030 | 0.2254 | 0 | https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement | bound | resolved at https://bitcoinmagazine.com/culture/how-5-bitcoin-purchase-cascaded-into-1-5-million-viral-movement (HTTP 200 / 341799 B / body 9006 chars / sha 49980527a68d / 2026-10-12T13:46:32Z) |
| event-2022-10-07-gui-s-2079-and-saylor-s-2080 | 1 | Block 2079 #swanstack #stackchain | literal | none (S0 substring) | X post | S1 | 1034 | 0.49 | 3 | https://x.com/GuiAmadoGomes/status/1578475197211893760 | bound | re-graded from a non-article source (X post): https://x.com/GuiAmadoGomes/status/1578475197211893760 (HTTP 200 / 185456 B / body 2110 chars / sha 21e7d42b4e1f / 2026-10-12T13:46:58Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-10-07-gui-s-2079-and-saylor-s-2080 | 2 | Block 2080 #stackchain | literal | none (S0 substring) | X post | S1 | 1040 | 0.5448 | 3 | https://x.com/saylor/status/1578479561750110208 | bound | re-graded from a non-article source (X post): https://x.com/saylor/status/1578479561750110208 (HTTP 200 / 159106 B / body 1909 chars / sha b1df924f6d36 / 2026-10-12T13:47:00Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2022-10-07-gui-s-2079-and-saylor-s-2080 | 3 | It all started when AriZonanHODL mined the genesis block at | literal | none (S0 substring) | article | S1 | 1047 | 0.126 | 1 | https://europeanbitcoiners.com/what-the-heck-is-stackchain/ | bound | resolved at https://europeanbitcoiners.com/what-the-heck-is-stackchain/ (HTTP 200 / 102858 B / body 8311 chars / sha 4f2051ab8f29 / 2026-10-12T13:46:33Z) |
| event-2022-12-00-builder-relationships-cross-into-nostr | 1 | We say that Stackchain is the gamification of buying bitcoin | elided | marked elisions honoured (S1) | article | S1 | 789 | 0.1383 | 0 | https://www.stackchainmagazine.net/stackchain-is-for-builders-how-building-on-stackchain-led-to-building-on-nostr/ | bound | resolved at https://www.stackchainmagazine.net/stackchain-is-for-builders-how-building-on-stackchain-led-to-building-on-nostr/ (HTTP 200 / 136663 B / body 5706 chars / sha 3cdb199e3c2f / 2026-10-12T13:46:48Z) |
| event-2023-01-30-burnchain-and-loko-s-sj-lottery-are-already | 1 | Our Sunday spaces where Skinner started us off talking about | literal | none (S0 substring) | podcast episode | S1 | 158 | 0.0263 | 1 | https://podcasts.apple.com/be/podcast/stackchain-sj-lottery/id1654425194?i=1000597332122 | bound | re-graded from a non-article source (podcast episode): https://podcasts.apple.com/be/podcast/stackchain-sj-lottery/id1654425194?i=1000597332122 (HTTP 200 / 134346 B / body 6007 chars / sha 85d017e08fef / 2026-10-12T13:46:35Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2023-05-00-siggy-reaches-nostr | 1 | This is the version made for Nostr for the Stackchain mascot | literal | none (S0 substring) | repository page | S1 | 3389 | 0.8048 | 1 | https://github.com/plebiolira/stackchainsiggy_nostr | bound | re-graded from a non-article source (repository page): https://github.com/plebiolira/stackchainsiggy_nostr (HTTP 200 / 278795 B / body 4211 chars / sha 53d29def259f / 2026-10-12T13:46:34Z); stage-2 source-type rule superseded because Q21 graded the same text bound at this target |
| event-2023-08-00-the-archive-becomes-a-magazine-a-game-and-a | 1 | Welcome to Stackchain where we celebrate stacking sats. A pl | elided | marked elisions honoured (S1) | article | S1 | 600 | 0.0953 | 0 | https://www.stackchainmagazine.net/a-brief-history-of-stackchain/ | bound | resolved at https://www.stackchainmagazine.net/a-brief-history-of-stackchain/ (HTTP 200 / 143664 B / body 6295 chars / sha a4e05cf4614a / 2026-10-12T13:46:45Z) |
| event-2023-08-00-the-archive-becomes-a-magazine-a-game-and-a | 2 | This great project began on a normal afternoon; I was talkin | literal | none (S0 substring) | article | S1 | 551 | 0.0681 | 0 | https://www.stackchainmagazine.net/stackchain-heroes/ | bound | resolved at https://www.stackchainmagazine.net/stackchain-heroes/ (HTTP 200 / 138681 B / body 8088 chars / sha f74efcabd570 / 2026-10-12T13:46:47Z) |
| event-2023-08-00-the-archive-becomes-a-magazine-a-game-and-a | 3 | When I initially started stacking on StackChain, no one was | elided | marked elisions honoured (S1) | article | S1 | 542 | 0.0852 | 0 | https://www.stackchainmagazine.net/a-journey-of-memes/ | bound | resolved at https://www.stackchainmagazine.net/a-journey-of-memes/ (HTTP 200 / 140493 B / body 6362 chars / sha 62b8a766c5ae / 2026-10-12T13:46:46Z) |
| event-2024-04-14-burnchain-explains-itself-in-its-own-words | 1 | Why burnchain can use the same sats as Stackchain: it decoup | literal | none (S0 substring) | article | S1 | 10031 | 0.6327 | 1 | https://www.stackchainmagazine.net/a-conversation-with-burnchainers/ | bound | resolved at https://www.stackchainmagazine.net/a-conversation-with-burnchainers/ (HTTP 200 / 155367 B / body 15854 chars / sha 33af2c4d78c7 / 2026-10-12T13:46:46Z) |
| event-2024-05-20-one-community-multiple-living-chains | 1 | This issue of Log 4 was released on the two year anniversary | literal | none (S0 substring) | article | S1 | 563 | 0.1494 | 1 | https://www.stackchainmagazine.net/two-years-of-stackchain/ | bound | resolved at https://www.stackchainmagazine.net/two-years-of-stackchain/ (HTTP 200 / 136759 B / body 3768 chars / sha ae9cc06ef607 / 2026-10-12T13:46:49Z) |
| event-2025-02-15-ogchain-receives-a-first-person-governance-a | 1 | Stackchain has become a number of things in its lifetime, a | elided | marked elisions honoured (S1) | article | S1 | 549 | 0.0561 | 0 | https://www.stackchainmagazine.net/the-chain-desides/ | bound | resolved at https://www.stackchainmagazine.net/the-chain-desides/ (HTTP 200 / 141688 B / body 9794 chars / sha 87888baddd54 / 2026-10-12T13:46:48Z) |
| event-2026-01-08-golden-blocks-become-an-artifact-worth-remem | 1 | Every so often over the last few years, if you hadn’t alread | elided | marked elisions honoured (S1) | article | S1 | 652 | 0.2246 | 0 | https://www.stackchainmagazine.net/golden-block-the-shiny-chapters-of-stackchain/ | bound | resolved at https://www.stackchainmagazine.net/golden-block-the-shiny-chapters-of-stackchain/ (HTTP 200 / 135144 B / body 2903 chars / sha 1e33e1b8016b / 2026-10-12T13:46:47Z) |
## Aggregates (placement, the 42 rows with a measured offset)
- n = 42, min 0.0, max 0.8048, mean 0.2294.
- Fraction fifths (0.00-0.20 / 0.20-0.40 / 0.40-0.60 / 0.60-0.80 / 0.80-1.00): 21 / 10 / 9 / 1 / 1.
- Excerpts occurring more than once in their body (first-occurrence placement is therefore
weak for these): **8** — block-5 seq 1 (occ 2), block-7 seq 1 (occ 4), event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi seq 2 (occ 3), event-2022-08-21-block-1414-becomes-the-first-million-target seq 2 (occ 4), event-2022-08-21-block-1414-becomes-the-first-million-target seq 3 (occ 3), event-2022-08-24-a-practical-fork-resolution-offer-at-1438-14 seq 1 (occ 3), event-2022-10-07-gui-s-2079-and-saylor-s-2080 seq 1 (occ 3), event-2022-10-07-gui-s-2079-and-saylor-s-2080 seq 2 (occ 3).
- Entries with a measured placement: 26 of 30.
- Widest intra-entry spread: event-2022-08-21-block-1414-becomes-the-first-million-target 0.4628, event-2022-10-07-gui-s-2079-and-saylor-s-2080 0.4188, event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi 0.326, event-2022-07-18-the-5-invitation-becomes-a-chain 0.2982.
- Highest mean fraction: event-2023-05-00-siggy-reaches-nostr 0.805, event-2024-04-14-burnchain-explains-itself-in-its-own-words 0.633, event-2022-08-17-bitcoin-beach-transfers-leave-a-transaction 0.553, event-2022-08-24-a-practical-fork-resolution-offer-at-1438-14 0.479.
- Lowest mean fraction: event-2022-07-20-accessibility-becomes-a-protocol-question 0.0, event-2022-09-12-actual-miners-get-an-accounting-route 0.0, event-2023-01-30-burnchain-and-loko-s-sj-lottery-are-already 0.026, block-5 0.03.
## Findings
1. **The non-magazine class is materially weaker on placement than the magazine class was.**
The Q20 magazine population measured mean fraction 0.4735 (n = 269); this non-magazine
population measures mean **0.2294** (n = 42), and **21 of 42** rows sit in the first fifth
of their source. The class is dominated by short X posts, SIP text files and one podcast
page, where an excerpt quoted whole occupies the head of a small body. Placement is weak
evidence of representativeness for those rows even though the match is exact.
2. **Every fidelity grade reconciles with Q21's binding verdict.** The join is exact: the
42 `bound` rows are `literal` (30) / `normalised-literal` (5) / `elided` (7); the 4
`mis-bound` rows are exactly the 4 `paraphrase` rows; the 4 `unanchored` rows are exactly the
4 `unreadable` rows. The two audits agree row for row (50 = 42 + 4 + 4).
3. **The four `paraphrase` rows are one known defect, carried by Q21 and Q4, not a new one.**
On `block-25`, `block-88`, `block-89` and `block-90` the Provenance panel cites the
publication's bare home page (`https://www.stackchainmagazine.net`) for a corroborating
quote the home page does not contain. Q21 graded all four `mis-bound`; this run measures
the same. No re-grade, no new archive-side wording fix follows from this item.
4. **The 4 `unreadable` rows are the `The block` testimony quotes with no anchor printed.**
They are a binding gap (Q21 `unanchored`), not a fidelity gap: there is no target to measure.
## Limits (stated, not buried)
- The detagged body includes site chrome (X pages carry handle/UI text around the tweet), so
`fraction` is a document-position measure, not a position within the source's prose.
- Placement is first-occurrence (8 rows have more than one occurrence; see the aggregates).
- X-page byte counts and hashes are **dated readings** (2026-10-12T13:46:13-13:47:00Z), not
identifiers — the same URLs read different byte counts on 2026-10-10 (Q21) and today.
- 4 rows are short podcast/X bodies where a whole-quote match is near-tautological; for those,
placement carries little information.
## Method, with this run's own defects logged first
- **Defect 1 (mine, caught by the Q21 join):** stage 2 classed the 23 non-article-source rows
(X posts, SIP files, repo pages, the podcast page, archived pages) `unreadable` on a
source-type rule alone. Q21 graded every one of them `bound` with the text found in the
detagged body, so the bodies are measurable: the rows were re-graded under the same ladder
with the source class named in the row. `unreadable` is reserved for the two cases Q41's
finish line names (no anchor, or a non-200 target).
- **Defect 2 (mine, caught by the join):** the S2/S3 URL-tokenisation first swallowed the word
after a bare URL (`https?://\S+`), then stopped the run at a quote character and still failed
when a URL was followed by a closing quote, then failed again because tokenisation ran at S0
before quote normalisation. The final rule (run stops at whitespace or a quote, applied at
S1 on both strings) is the one that resolves the t.co row and matches Q21's class. The
`event-2022-08-21-...-1414` seq 1 row is the witness: it reads `paraphrase` under the broken
rules and `normalised-literal` (URL-tokenised) under the fixed one.
- **Defect 3 (mine):** an earlier probe quoted the 1414 row's S3 match against the S1 body and
the offset against the S3 body; both are now measured in the space the match is in, and the
space is printed per row.
- Scripts: `fetch.py`, `classify.py`, `place.py`, `regrade.py`, `s3e.py`, `reconcile.py`,
`aggregate.py` in `/root/crucible/q41/`; logs under `out/`. Re-runnable end to end.