253 lines
38 KiB
Markdown
253 lines
38 KiB
Markdown
# 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.
|
||
|