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

14 KiB
Raw Blame History

Excerpt fidelity and placement for the 91 magazine entries (Q20)

Screen. Every figure below carries a path, a URL with its HTTP status, byte size, sha256 and fetch clock, or the word unverified. All readings are from this host, 2026-10-12T04:41–04:43Z. Nothing secret is printed. Deliverable data file: recoveries/excerpt-placement-rows.md. Scratch tree /root/crucible/q20/. Nothing deployed, published, or re-run; decisions/ and inbox/ untouched.

Verdict: the magazine class is clean on both halves. 269/269 excerpts are literal quotations of the article they are printed against (0 paraphrase, 0 unreadable, 0 needing normalisation), and placement is measured for all 269 — a near-uniform distribution across the body with no entry quoting only its closing 20%. Three caveats are named below: the detagged body includes site chrome, 45 excerpts are short enough that placement is weak evidence, and 3 excerpts occur more than once.

What the item asked, and where the answer lands

Q3 left this residue open: "paraphrase fidelity of the 91 magazine entries (which article did each quote come from), and the absolute placement of the excerpt inside the original recording." Q8 then graded the archive's own summary prose for all 91 entries, and recoveries/quote-fidelity-live.md established that 269/269 excerpts are present in their cited articles with 91/91 article URLs live. Q20 asks the two questions neither test asked: is an excerpt a literal quotation or a paraphrase, and where inside its source does it sit.

  • Half 1 (literal vs paraphrase): literal, 269/269, with no normalisation needed at all.
  • Half 2 (placement): measured for 269/269, as an offset and a fraction of body length.

Note on the item's own wording: it says "placement inside the original recording". No magazine excerpt is bound to a recording — all 91 anchors are article URLs (see the census), so placement is measured against the detagged article body, which is the only source the class cites.

Sample rule, stated in advance

Every published magazine entry — 91 of 91, no sampling. 269 excerpts: 87 entries carry 3 excerpts, 4 carry 2 (magazine-080, magazine-082, magazine-083, magazine-084). The 8 block-* and 22 event-* entries are outside this item.

Excerpt unit: the quoted material inside the entry page's <blockquote>, with the <cite> citation display text removed. All 269 magazine blockquotes carry a <cite> whose text is the anchor URL. That URL is the citation, not quoted material — including it makes every row a mismatch (see my defect 1 below). This is the same unit Q21 used.

Detag / normalisation ladder (printed in full in the rows file's header so the numbers are re-runnable): S0 raw — strip <script> <style> <svg> <noscript>; <br> and block closers to a space; remaining tags to nothing; 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. S2 url-tokenised — S1 with every http(s)://... run replaced by the token URL in both strings. All placement numbers are measured in S1 space, on both sides.

Class vocabulary, in match order: literal (exact S0 substring) → normalised-literal (S1 or S2 substring, normalisation named) → elided (marked ... honoured, segments in order) → paraphrase (no stated normalisation resolves it; differing tokens quoted) → unreadable (image, recording or X-post source, or a target that did not answer 200; stated plainly, never graded).

Census

measure value
ledger index https://alexanderwhitestone.com/stackchain/blocks/ — 200 / 34,488 B / sha256 4f764ef4dfb9c08b2654ff0783550d20ad1bb7a31cb0c32070974a5fe451557e / 2026-10-12T04:41:37Z
entry slugs on the index 121 = 8 block- + 22 event- + 91 magazine-
entry pages fetched 121 / 121 HTTP 200, first attempt, 04:41:37–04:41:48Z; magazine pages 3,680–5,146 B (census in recoveries/excerpt-placement-rows.md)
magazine blockquotes 269; 269 carry a <cite>; 0 anchorless; 0 whose text still contains its anchor URL
distinct anchors (magazine) 91, all www.stackchainmagazine.net, all HTTP 200, 04:41:48–04:43:06Z, 123,566–184,748 B
article bodies (S1) 1,099–30,128 characters
excerpts per entry 3 for 87 entries, 2 for 4
unreadable rows 0 — no magazine excerpt cites an image, a recording or an X post

Fetch note: one pass, no retry needed; every one of the 121 entry pages and all 116 distinct anchors in the tree (the magazine 91 plus the 25 the non-magazine entries cite) answered HTTP 200 on the first attempt. Entry pages, article pages and byte counts are dated readings, not identifiers — each carries its own clock.

Class counts

class rows
literal 269
normalised-literal 0
elided 0
paraphrase 0
unreadable 0

No row needed quote-style, dash, whitespace or URL normalisation: the excerpt text as the entry page prints it is already an exact substring of the detagged article body at S0. The residues Q8 named in this class — the 072 Dustin cell's added ellipsis and 015's unmarked elision — are summary-prose defects, not excerpt defects, and this run does not reproduce them in the excerpts.

Placement

measure value
rows with a placement number 269 / 269
offset range (S1 space) 0 – 20,641 characters
fraction range 0.0000 – 0.9472
mean fraction 0.4735
fraction buckets 0.00–0.20: 53 · 0.20–0.40: 65 · 0.40–0.60: 51 · 0.60–0.80: 61 · 0.80–1.00: 39
entries quoting only the first 20% 2 — magazine-043, magazine-050
entries quoting only the last 20% 0
widest per-entry spread magazine-057 0.8923, then magazine-072 0.8675, magazine-038 0.8630
narrowest per-entry spread magazine-027 0.0094, then magazine-050 0.0489, magazine-043 0.0574
highest mean fraction magazine-019 0.7905, then magazine-044 0.7377, magazine-070 0.7353
lowest mean fraction magazine-050 0.0394, then magazine-043 0.1501, magazine-061 0.1560

The distribution is close to uniform, which is the answer to the load-bearing half of the item: the archive does not systematically quote its sources' openings or closings. No entry quotes only its closing 20%, so the shape that broke magazine-040's gloss in Q4 — an interpretive clause resting on a closing line — is not a property of the excerpt placement either.

Findings

1. Zero paraphrases in the magazine class; the excerpt is the archive's strongest surface. For all 91 entries the quoted material is a literal quotation of the cited article, needing no normalisation. Combined with Q21's binding census (311/319 excerpts bound to the anchor printed inside their own blockquote) and quote-fidelity-live.md (269/269 present, 91/91 URLs live), the excerpt pipeline survives three independent tests on two different days.

2. Placement, measured rather than asserted. Every excerpt now carries an offset and a fraction, so "where it sits" is a number a reader can re-derive. The distribution is near-uniform; no entry quotes only the tail; two entries (magazine-043, magazine-050) quote only the opening.

3. Every magazine blockquote prints its own anchor URL as the citation text. 269/269 blockquotes carry <cite><a href="…">https://www.stackchainmagazine.net/…</a></cite>, so the URL appears twice per excerpt on the rendered page: once as the link, once as the visible text. That is a presentation choice, not a defect — but it means any external matcher must strip the <cite> before comparing, or it will report 269 false paraphrases. Recorded so the next auditor does not repeat my first pass.

4. Two excerpts are article titles, not passages. magazine-080 seq 1 ("SEED CIPHER #888888 Stackchain Magazine EP. 6 cover art") and magazine-082 seq 1 ("Roll Your own 24 Word Bitcoin Seed Phrase Offline") each occur 4 times in their article, at offset 0 — they are the article's own headline. Their fraction of 0.0000 is a document position, not a placement inside the prose. Named so the number is not read as "the archive quotes the opening of the piece".

5. One excerpt is a refrain. magazine-040 seq 2 ("And there was evening, and there was morning— Tick Tock Next Block.") occurs 6 times in the-genesis-block; the placement number is its first occurrence. The item's placement rule is first-occurrence-in-document-order, stated in advance; for this row that is the earliest of six, and the other five are at higher offsets.

6. Independent second method, 269/269. Stripping both strings to lowercase letters and digits only — immune to quote style, dash style, whitespace and markup — the excerpt's image is a substring of the article's image and a prefix of the image of the body slice that starts at the reported offset, for all 269 graded rows. This tests the offset arithmetic rather than re-running the same matcher.

7. Cross-check against Q21's published record. recoveries/excerpt-binding-audit.md carries 269 magazine rows, all bound, all with settling evidence "verbatim at" (2026-10-10). Two days, two independent fetch passes, the same verdict on the same population.

Limits

  • The detagged body includes site chrome. fraction is offset over the whole detagged document — navigation, header, footer and related-link blocks included — so it is a document-position measure, not a position within the article's prose. A prose-only variant would need the article container isolated, which the item's own wording ("characters from the top of the detagged body") does not ask for.
  • Placement is first-occurrence. 3 rows have more than one occurrence (findings 4 and 5); the offset is the earliest.
  • 45 excerpts are under 40 characters (shortest 9, magazine-008 seq 2 "eat tacos"). For these the placement number is weak evidence of representativeness, though the match itself is exact and confirmed by the second method.
  • Byte counts and hashes are dated readings taken 2026-10-12T04:41–04:43Z. X-free, archive-host pages re-render; nothing here rests on a byte figure.
  • Scope: the 25 non-magazine anchors (X posts, Wayback captures, SIP files, a podcast episode) are fetched in this tree but not graded — Q20's population is the 91 magazine entries. Those are the rows where unreadable would actually fire, and they belong to Q10/Q21's classes.

My own defects, logged first

  1. The excerpt unit included the <cite> URL, and every row read paraphrase. My first parse took the whole <blockquote> text, citation display text included, so all 269 magazine excerpts carried a trailing https://www.stackchainmagazine.net/… that the article body does not contain. Caught by reading the page HTML for magazine-091 rather than trusting the tally; fixed by stripping <cite> content, which is the unit Q21 used. Finding 3 is the permanent record of the trap.
  2. Offsets were taken in S0 space and divided by an S1 body length. An em dash becomes - under S1, so every article carrying one before an excerpt shifted all later S0 offsets, and every fraction was wrong. 72 of 269 offsets moved when the measurement was re-run in one space. The class verdicts were unaffected (all 269 resolved at S0, and S0 ⊆ S1 in the sense used here), but the placement half — the load-bearing half — was incorrect until corrected. All numbers in this record are post-correction.
  3. My first second-method test was itself wrong. It required the index of the excerpt's last four tokens minus the index of its first four to equal len(first four) + 1, so the "gap" it printed was the excerpt's own middle and 12 of 15 sampled rows failed. Comparator defect, not a data finding; replaced by the character-class method in finding 6.

Landing evidence

Appended after commit and read back over the anonymous raw path (https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup/raw/branch/main/<path>), no credential — each HTTP 200 and cmp byte-identical to disk.

file status / bytes sha256
recoveries/excerpt-placement-audit.md 200 / (this file — see the self-reference note below) —
recoveries/excerpt-placement-rows.md 200 / 74,561 880223f35f9b660e54df9fe21f3de372468fc610fb7d19cf7b820d82935c7123
WORK-QUEUE.md 200 / 551,128 895620dd5b40a50ee6dbe4ebfbb534fe4eaad714a3b83c2fb9a92b300ba0f3fb
checkins/2026-10-12-merlin.md 200 / (see the check-in's own landing table) —

All four read at commit 9a1de9a, and again after each later append — 200 and cmp byte-identical to disk every time. Self-reference note, and why this file's own row is blank: a file cannot cite its own final digest, because writing the citation changes the digest. This record was amended three times while its landing table was being filled in — 9dced5eb… / 12,914 B → e72062a3… / 13,062 B → 2e5241c9… / 13,738 B — each revision read back 200 and byte-identical. Rather than chase the regress a fourth time, this row defers to the check-in's landing table, which records the revisions and their bytes, and this note records the chain. The two artifacts that do not move — the rows file and the queue — carry their digests above and reproduce byte-identically. The first readback attempt was taken before git push and returned 404 for the two new files and the pre-push queue revision (548,438 B) — logged because a readback that runs before the push measures nothing; every figure above is a post-push read.

— Merlin