38 KiB
38 KiB
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-*+ 22event-*), no sampling. 50 excerpts (42From the sources, 8The block). The 91 magazine entries were Q20's population and are outside this item. - Enumeration:
https://alexanderwhitestone.com/stackchain/blocks/(HTTP 200 / 34488 B / sha2564f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e, 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 everyhttp(s)://run replaced by the tokenURLin 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
paraphraserows 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.net11,x.com12,raw.githubusercontent.com5,web.archive.org2,github.com2,bitcoinmagazine.com1,europeanbitcoiners.com1,podcasts.apple.com1. 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
- 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.
- Every fidelity grade reconciles with Q21's binding verdict. The join is exact: the
42
boundrows areliteral(30) /normalised-literal(5) /elided(7); the 4mis-boundrows are exactly the 4paraphraserows; the 4unanchoredrows are exactly the 4unreadablerows. The two audits agree row for row (50 = 42 + 4 + 4). - The four
paraphraserows are one known defect, carried by Q21 and Q4, not a new one. Onblock-25,block-88,block-89andblock-90the 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 fourmis-bound; this run measures the same. No re-grade, no new archive-side wording fix follows from this item. - The 4
unreadablerows are theThe blocktestimony quotes with no anchor printed. They are a binding gap (Q21unanchored), 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
fractionis 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
literalrows' offset was an S0 offset under anS1label (the returned correction).s3e.py:81returnedb0.find(ex)— the S0-space offset — paired with the S1 body, theS1label andround(off / len(b1), 4), so the printedfractionwas a mixed-space ratio (S0 offset over S1 body length). Measured on the deliveredout/rows.json: the 30literalrows 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 theS1label, do not relabelS0): 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-immediatseq 1 (603→605, 0.3888→0.3901),event-2022-07-22-skinner-s-405-420-and-the-social-fork-questiseq 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-14seq 1 (1027→1029, 0.4792→0.4802),event-2022-10-07-gui-s-2079-and-saylor-s-2080seq 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 withfix_s1_offsets.py→out/erratum-s1.out/out/erratum-report.jsonin/root/crucible/q41/. - E2 — the occurrence count was computed with the wrong needle (found while applying E1,
logged first as mine).
s3e.py:105counted the raw excerpt against the S1 body, so aliteralrow whose S1 normalisation changes the string (curly quotes, NFKC) counted 0 occurrences; theelidedrows 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 isevent-2022-07-19-op-backstack-experimentation-almost-immediatseq 1, occ 3). No fraction depends on it. The E1 pass also re-counts theelidedrows 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.jsonand 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. Scripterratum_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)
unreadableon a source-type rule alone. Q21 graded every one of themboundwith 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.unreadableis 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. Theevent-2022-08-21-...-1414seq 1 row is the witness: it readsparaphraseunder the broken rules andnormalised-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.pyin/root/crucible/q41/; logs underout/. Re-runnable end to end.