lv-krakauer: PARKED — research is not a voice (operator, henge id 82)

Operator ruling: "he's a great writer because of his research, not because he has a strong
identifiable voice."

That reason is about the AUTHOR rather than the data, and it is the better of the two on the
table -- the other being the unmeasurable fraction of quoted material. It also names a
selection criterion this line did not have: ask whether there IS a voice worth adapting
before investigating whether a clean corpus can be built. That question was never asked here.
I surveyed the holdings, built the corpus, measured all fifteen containment pairs, and fixed
three stripping defects the name guard caught -- all real work, none of it touching the thing
that decided it.

A voice adapter is worth its corpus-plus-training-plus-gate only when the target has a prose
signature a reader could pick out blind. McCarthy: 0.0 quote marks per 10k against Hemingway's
838. Hemingway: spare declaratives, heavy unattributed dialogue. Brontë: periodic sentences
built on semicolons and dashes. If that sentence is hard to write, the author is a park.

Nothing is deleted. The corpus (126 units, 422,880 words) and the builder stay committed and
re-runnable; the park entry records what exists, what was never started (D2), and what would
unpark it -- a re-extraction preserving indentation and italics, which would fix the quoted-
material problem but not the operator's objection. The builder's own docstring now carries a
stop notice so a future session finds the reason at the artifact rather than only in memory.
This commit is contained in:
vh
2026-09-17 08:34:47 -07:00
parent a5ddfed81e
commit 82aa0b6d76
2 changed files with 28 additions and 10 deletions
+13 -10
View File
@@ -1,6 +1,6 @@
# Persistent memory — eshpfi-management # Persistent memory — eshpfi-management
_Last updated: 2026-09-17 ~08:30 PT (lv-hemingway SHIPPED; the floor rule went pairwise, which retroactively passes lv-bronte; McCarthy and Krakauer D1 corpora BUILT — Krakauer's quoted-material scope is an open operator call.)_ _Last updated: 2026-09-17 ~08:45 PT (lv-hemingway SHIPPED; floor rule pairwise, which retroactively passes lv-bronte; lv-mccarthy D1 built and proceeding; lv-krakauer PARKED — research is not a voice.)_
> **Always check for `/tmp/infra-ops-handoff.md`** — if it exists and its > **Always check for `/tmp/infra-ops-handoff.md`** — if it exists and its
> `Written:` stamp is under **8 hours** old, read it (it carries the in-flight > `Written:` stamp is under **8 hours** old, read it (it carries the in-flight
@@ -152,16 +152,17 @@ runs no normalisation and asserts the quote density so a future change fails the
will pass the voice axis without learning a sentence. **Pre-register a punctuation-normalised will pass the voice axis without learning a sentence. **Pre-register a punctuation-normalised
secondary read before gating lv-mccarthy.** secondary read before gating lv-mccarthy.**
### ⚠ OPEN, OPERATOR'S CALL — is lv-krakauer's corpus trainable at all? ### ⛔ PARKED — `lv-krakauer` (operator, 2026-09-17). henge id **82**
An **unmeasured and unmeasurable** fraction of it is other people's prose: McCandless's *"he's a great writer because of his research, not because he has a strong identifiable
journals, Tillman's diaries, court transcripts, depositions, Mormon documents, paragraphs of voice."* ⭐ **The reason is about the AUTHOR, not the data, and it reframes the selection
Jack London and Stegner. Print set those as indented/italic block quotes; **the extraction criterion for the whole line:** ask whether there IS a voice worth adapting before any
lost both**, so they are ordinary paragraphs now. Only **52 words** were removable (epigraphs corpus work. That question was never asked here — corpus mechanics were investigated first.
with a surviving attribution line) — 0.01%, and that number is NOT the answer: the method → auto-memory `feedback_voice_worth_adapting_before_corpus`.
would report 0.0% for a book made entirely of block quotes. Same error class as excluding
*The Torrents of Spring* from Hemingway, distributed rather than concentrated. Scope is the The corpus (126 units, 422,880 words) and its builder stay committed and re-runnable. What
operator's call exactly as fiction-only was. **Nothing is blocked on it but D2.** would unpark it is a re-extraction preserving indentation and italics, which fixes the
unmeasurable-quoted-material problem but **not** the operator's objection.
### OPEN for the operator — two measured defects, neither acted on ### OPEN for the operator — two measured defects, neither acted on
@@ -207,6 +208,8 @@ before this session began. ⚠ **Do NOT commit them** — untouched and delibera
## Recent decisions ## Recent decisions
- `[2026-09-17]` ⭐⭐⭐ **PARKED lv-krakauer, and the reason is a selection criterion the line was missing: ask whether the author HAS a voice before investigating whether the corpus is clean.** Operator: *"he's a great writer because of his research, not because he has a strong identifiable voice."* A voice adapter is worth its ~6 hours only if the target has a prose signature a reader could pick out blind; Krakauer's excellence is reporting, which an adapter cannot carry. I surveyed, built, measured containment and fixed three stripping defects before anyone asked the question that decided it. **For each candidate, say what the voice IS in one sentence and how it shows up in char-bigram space, before the first catalogue query.** henge id 82. → auto-memory `feedback_voice_worth_adapting_before_corpus`.
- `[2026-09-17]` ⭐⭐ **A unit splitter must choose by SIZE, not by count — the inherited rule silently produced 22,000-word "chapters".** `scripts/r49-corpus/split_units.py`: a marker mode qualifies only if its median unit is inside [600, 12000] AND no unit holds half the work; among qualifying modes PRIORITY breaks the tie (contents > chapter-word > roman > bare-numeral > caps-title), and paragraph-block sections are the fallback for works with no divisions. ⭐ **Both rules exist because a control caught them**: scoring by "median closest to target" chose `caps-title` (6 units, one holding **97%** of the book) over True at First Light's real 20 chapters, because a median cannot see that distribution and a max bound can. Positive control: 8/10 Hemingway works reproduce the shipped mode and count exactly. Negative control: 40,000 words with no blank lines → 1 unit, refuses to fabricate divisions. Commit `705fa3a`. - `[2026-09-17]` ⭐⭐ **A unit splitter must choose by SIZE, not by count — the inherited rule silently produced 22,000-word "chapters".** `scripts/r49-corpus/split_units.py`: a marker mode qualifies only if its median unit is inside [600, 12000] AND no unit holds half the work; among qualifying modes PRIORITY breaks the tie (contents > chapter-word > roman > bare-numeral > caps-title), and paragraph-block sections are the fallback for works with no divisions. ⭐ **Both rules exist because a control caught them**: scoring by "median closest to target" chose `caps-title` (6 units, one holding **97%** of the book) over True at First Light's real 20 chapters, because a median cannot see that distribution and a max bound can. Positive control: 8/10 Hemingway works reproduce the shipped mode and count exactly. Negative control: 40,000 words with no blank lines → 1 unit, refuses to fabricate divisions. Commit `705fa3a`.
- `[2026-09-17]` ⭐ **lv-mccarthy D1 built — 167 units, 584,756 words — and the whole job was protecting a style that reads as damage.** 0.0 quote marks per 10k (Hemingway 838), `dont`/`aint`/`wont`. The builder runs NO typography normalisation and asserts the quote density afterwards. Two truncated catalogue rows dropped for complete mobi siblings; all 15 containment pairs measured (worst 0.10%); back matter in 4 of 6 works carried the author's name 26 times → 0. ⚠ The back-matter strip runs BEFORE the split here — Blood Meridian and The Crossing end with a dumped TOC of bare roman numerals, the exact shape of a chapter marker. Commit `f3bf3ca`. - `[2026-09-17]` ⭐ **lv-mccarthy D1 built — 167 units, 584,756 words — and the whole job was protecting a style that reads as damage.** 0.0 quote marks per 10k (Hemingway 838), `dont`/`aint`/`wont`. The builder runs NO typography normalisation and asserts the quote density afterwards. Two truncated catalogue rows dropped for complete mobi siblings; all 15 containment pairs measured (worst 0.10%); back matter in 4 of 6 works carried the author's name 26 times → 0. ⚠ The back-matter strip runs BEFORE the split here — Blood Meridian and The Crossing end with a dumped TOC of bare roman numerals, the exact shape of a chapter marker. Commit `f3bf3ca`.
- `[2026-09-17]` ⭐ **lv-krakauer D1 built — 126 units, 422,880 words — and its name guard caught three defects nothing else would have reported.** Back matter searched only the LAST unit while the apparatus sat in unit 37 of 41; relying on the splitter to drop front matter failed because the ebook TOC sits above the author's note and gave it a `Chapter Thirty-Two` to start on; and **zero was the wrong bar** — 2 survivors are Krakauer writing about his own father in Into the Wild's autobiographical chapters, so the allowance is pinned at 2 with every survivor printed. ⚠ Both strips are windowed in the OPPOSITE direction from McCarthy's, because Krakauer's `ALSO BY`/`Copyright`/`About the Author` sit at 0.0–0.6% of the file. Commit `4be0630`. - `[2026-09-17]` ⭐ **lv-krakauer D1 built — 126 units, 422,880 words — and its name guard caught three defects nothing else would have reported.** Back matter searched only the LAST unit while the apparatus sat in unit 37 of 41; relying on the splitter to drop front matter failed because the ebook TOC sits above the author's note and gave it a `Chapter Thirty-Two` to start on; and **zero was the wrong bar** — 2 survivors are Krakauer writing about his own father in Into the Wild's autobiographical chapters, so the allowance is pinned at 2 with every survivor printed. ⚠ Both strips are windowed in the OPPOSITE direction from McCarthy's, because Krakauer's `ALSO BY`/`Copyright`/`About the Author` sit at 0.0–0.6% of the file. Commit `4be0630`.
@@ -1,5 +1,20 @@
"""D1 for lv-krakauer: build the corpus from the licensed Kvasir masters. """D1 for lv-krakauer: build the corpus from the licensed Kvasir masters.
⛔⛔ PARKED 2026-09-17 — DO NOT CARRY THIS TO D2 WITHOUT A NEW OPERATOR RULING.
henge id 82, slug `lv-krakauer-voice-adapter-corpus-built-parked`.
The operator's reason is about the AUTHOR, not the data, and it is the better of the two:
*"he's a great writer because of his research, not because he has a strong identifiable
voice."* A voice adapter is worth its corpus-plus-training-plus-gate only if the target has a
prose signature a reader could pick out blind. Krakauer's excellence is reporting — access,
research, structure — and an adapter cannot carry any of it. **That question should have been
asked before any of the work below**; corpus quality was investigated first and the prior
question skipped.
Everything here still runs and the corpus still builds clean. What would unpark it is a
re-extraction of the four ebooks with indentation and italics preserved — which fixes the
quoted-material problem described below but NOT the operator's objection.
Same record schema as the Brontë, Yarros, Hemingway and McCarthy builders, so entities.py, Same record schema as the Brontë, Yarros, Hemingway and McCarthy builders, so entities.py,
rename.py, leak_gate.py and the trainers run unchanged. rename.py, leak_gate.py and the trainers run unchanged.