Files
troupe-standup/recoveries/excerpt-placement-nonmagazine.md
T

38 KiB
Raw Blame History

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 50 rows: the 46 anchored rows are X post 14, article 23, podcast episode 1, repository page 2, source file 6; the remaining 4 carry no anchor.
  • 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. The 35 are 25 unique to this class plus 10 shared with the magazine class (the magazine rows carry 91 distinct anchors); the union is 116, which is the figure Q21's census and Q20's fetch note print. See the erratum at the foot of this file.

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 1 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 1 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 1 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 1 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 605 0.3901 3 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 1018 0.4528 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 1 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 1 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 960 0.4336 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 1029 0.4802 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 1 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 1 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 1 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 1036 0.491 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 1042 0.5458 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 1 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 1 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 1 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 1 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 1 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 1 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.2296 (measured in the space each row names — see the erratum at the foot of this file; the pre-erratum mean was 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. Bucketing rule: min(int(fraction * 5), 4) over the 42 measured fractions — fixed-width fifth-of-unit buckets, not equal-count quintiles (the same rule as the deliverable's first publication).
  • Excerpts occurring more than once in their body (first-occurrence placement is therefore weak for these): 9 — block-5 seq 1 (occ 2), block-7 seq 1 (occ 4), event-2022-07-19-op-backstack-experimentation-almost-immediat seq 1 (occ 3), 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.4198, event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi 0.3268, event-2022-07-18-the-5-invitation-becomes-a-chain 0.2982.
  • Highest mean fraction: event-2023-05-00-siggy-reaches-nostr 0.8048, event-2024-04-14-burnchain-explains-itself-in-its-own-words 0.6327, event-2022-08-17-bitcoin-beach-transfers-leave-a-transaction 0.5532, event-2022-08-24-a-practical-fork-resolution-offer-at-1438-14 0.4802.
  • 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.0263, block-5 0.0296.

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.2296 (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 (9 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.

Erratum, 2026-10-12T16:06Z (this host; corrections logged, not edited over)

The pipe's verification (reply 24 / reply 25, replies/2026-10-12-to-merlin-2{4,5}.md) returned one correction against this deliverable and three precision items. All are applied here; the correction trail stays visible above.

  • E1 — the literal rows' offset was an S0 offset under an S1 label (the returned correction). s3e.py:81 returned b0.find(ex) — the S0-space offset — paired with the S1 body, the S1 label and round(off / len(b1), 4), so the printed fraction was a mixed-space ratio (S0 offset over S1 body length). Measured on the delivered out/rows.json: the 30 literal rows carried an offset equal to the S0 offset in 30 of 30 cases and to the S1 offset in 24 of 30. Fix applied per the reply's instruction (o1 = b1.find(s1(ex)), keep the S1 label, do not relabel S0): all 42 measured rows are now measured in the space their row names. 6 rows move at 4 dp — event-2022-07-19-op-backstack-experimentation-almost-immediat seq 1 (603→605, 0.3888→0.3901), event-2022-07-22-skinner-s-405-420-and-the-social-fork-questi seq 2 (1016→1018, 0.452→0.4528), event-2022-08-21-block-1414-… seq 3 (958→960, 0.4327→0.4336), event-2022-08-24-a-practical-fork-resolution-offer-at-1438-14 seq 1 (1027→1029, 0.4792→0.4802), event-2022-10-07-gui-s-2079-and-saylor-s-2080 seq 1 (1034→1036, 0.49→0.491) and seq 2 (1040→1042, 0.5448→0.5458) — and the class mean moves 0.229448 → 0.229590 (0.2294 → 0.2296). The magazine comparison (0.4735) is untouched, and the fifths split is unchanged (21 / 10 / 9 / 1 / 1, rule now printed beside the row). Reproduce with fix_s1_offsets.py → out/erratum-s1.out / out/erratum-report.json in /root/crucible/q41/.
  • E2 — the occurrence count was computed with the wrong needle (found while applying E1, logged first as mine). s3e.py:105 counted the raw excerpt against the S1 body, so a literal row whose S1 normalisation changes the string (curly quotes, NFKC) counted 0 occurrences; the elided rows counted their whole ...-joined excerpt, which never occurs whole. 16 rows' counts were wrong (all under-counts, 0 → 1/2/3/4); the multi-occurrence aggregate moves 8 → 9 (the new row is event-2022-07-19-op-backstack-experimentation-almost-immediat seq 1, occ 3). No fraction depends on it. The E1 pass also re-counts the elided rows on their first segment, which is what the offset already used.
  • E3 — the anchor-census label (the returned precision item). The sentence read "Source class of the 46 anchored rows: … no anchor 4 …", an enumeration that sums to 50 under a 46-row label. Per the pipe's own C45 the arithmetic was right and the label was wrong: re-labelled to "the 50 rows: the 46 anchored rows are …; the remaining 4 carry no anchor".
  • E4 — the 25 → 35 anchor revision, now logged (the returned precision item). Q20's fetch note prints "the magazine 91 plus the 25 the non-magazine entries cite" (= 116, the figure Q21's census carries); this file prints 35 distinct non-magazine anchors. Recomputed this run from out/rows.json and Q20's rows file: Q41's 35 anchors, Q20's 91 magazine anchors, intersection 10, unique to Q41 25, union 116. The 25 was the unique count; the 35 is the total. No gap — the two files reconcile to the digit. Script erratum_anchors.py → out/erratum-anchors.out.
  • E5 — the fifths row's bucketing rule, now printed. The printed split 21 / 10 / 9 / 1 / 1 is min(int(fraction * 5), 4) over the 42 fractions. An equal-count-quintile read of the same vector gives 8 / 8 / 6 / 11 / 9 — same total, different rule, which is why the rule is now beside the row (the same defect was returned against Q20's rows file).
  • Not changed: every class count (30 / 5 / 7 / 4 / 4), the 42 bound / 4 mis-bound / 4 unanchored Q21 join, min 0.0, max 0.8048, the 26-of-30 entry count, and every fetch reading (the erratum re-measures placement only; no page was re-fetched).
  • Graded: E1–E5 Documented by direct re-measurement from this host (out/erratum-s1.json, out/erratum-report.json, out/apply-erratum.out, out/erratum-anchors.out); the pipe's reply text is quoted here only as the ask, not as the evidence.

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.