Files
TheLadder/tools/story-to-pack/probe/holmes/README.md
T
JesseMarkowitzandClaude Opus 5.5 3a4758172d story-to-pack: add the corpora and the catalogue v2/v3
Fourteen corpora split and classified: aesop, bierce, chekhov, holmes,
keefe, lawson, lorimer, maupassant, nobody, plaintales, poe, torchy,
wallingford and winesburg, each with its splitter and the hand-written
groups and pages; catalogue v2 and v3; and the shared splitters
gutenberg_chunks.py, se_split.py and se_build.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rwKTmug58sEsJ72AuWsEi
2026-10-07 06:05:51 -04:00

112 lines
7.8 KiB
Markdown

# Holmes reference set: *The Adventures of Sherlock Holmes* (1892)
A hand-made comparison baseline for the story-to-pack pipeline, the fourth beside O. Henry
(`../v2/claude/`), Wharton (`../wharton/`) and Jacobs (`../jacobs/`). Every summary, predicament,
group and option here was written by Claude reading the scenes. **No local or hosted inference
was used.** It is one careful reading, not ground truth: another reader would draw some group
boundaries differently.
| File | What it is |
| --- | --- |
| `corpus/adventures-of-sherlock-holmes.txt` | Project Gutenberg #1661, plain text (public domain) |
| `split_gutenberg.py` | → `stories.json` (12 stories, split on the roman-numeral story headers in the body) and `chunks.json` (391 scenes, same 320-word paragraph rule as `../chunk.py`, median 286 words) |
| `claude/batches/sNN.json` | per story: `{chunk, story, summary, predicament}`, the same schema as `../jacobs/claude/batches/` |
| `claude/groups_src.py` | the groups, options and per-story protagonist standing |
| `claude/build.py` | checks everything, then writes `claude/records.json` and `claude/groups.json` (Jacobs' script, unchanged) |
| `claude/page.py` | → `claude/REFERENCE.html`, the readable page |
Rebuild: `python3 split_gutenberg.py && cd claude && python3 build.py && python3 page.py`.
## What is in it
- **391 predicaments**: one sentence each (median 19 words, min 13, max 24), written to the
`redescribe.py` rules: no names, jobs, places or story-only objects. The `topic_words` leak
check flags 96 of 391. Almost all are role or relationship words kept on purpose (bride,
groom, thief, partner, employer, newcomer, suitor, sister) or generic settings (house, room,
street). Three real leaks were found and rewritten ("shopkeeper" twice, "cell" once). "Officer",
"servant", "church" and "dog" were also replaced before the check was run.
- **32 groups**, each a situation that recurs in **two or more stories** (26 in three or more).
Each scene sits in at most one group: 232 are assigned and 159 fit nothing that recurs.
Under the catalogue's single recurrence rule (at least 5 scenes, at least 3 stories, no story
over 50%), 20 of the 32 pass.
- **Why so many unassigned.** About two-fifths of this corpus is the investigator explaining his
reasoning, the narrator setting a scene, or a client reciting background. Those scenes were
summarised like any other, but they are narration, not predicaments, and none is forced into
a group.
- **Options**: 3 to 5 per group, 138 in all. 119 come from what someone in a scene did
(`scene:N`), 9 are archetypes and 10 fill gaps. **21 scene options cite a scene outside their
own group**, often a neighbouring scene in the same story, as Wharton found. `groups.json` marks
each one `in_group: false`.
- **Moves**: spine paths with a direction only (`+`, `-`, `risk`, `set`). There are no magnitudes,
as the design requires. Directions used: 131 `+`, 74 `-`, 25 `set`, 18 `risk`.
- **Skills**: `nerve` (27 moves) and `cunning` (15) are reused from Jacobs. One new label is
proposed for this corpus: **`observation`** (19), for noticing what others miss and reading a
person or a scene. The spine holds two skills, so a pack from this corpus would keep two of the
three. `nerve` and `observation` fit its register best. `cunning` covers the deceptions:
disguise, bluff, deflecting blame. Dropping it would push those moves onto `nerve` or leave them
without a skill. That choice is left open.
- **Stage** comes from protagonist standing, judged **per story, not per scene**, and recorded in
`STANDING` in `groups_src.py`. The investigator is the same in all twelve stories, so standing
is judged from the client whose trouble drives each one: 5 low, 4 middle, 3 high. Groups come
out 13 low, 11 middle, 8 high.
## Situation types new to the catalogue
The existing 36-entry catalogue (O. Henry, Wharton, Jacobs) is mostly courtship, secrets and
schemes. Holmes adds investigation and danger. Groups that match no catalogue entry, or only
partly:
- **G02 The truth would clear you, and cost someone else**: accused, and silent to protect a
secret. It is close to `their_secret`, but here the silence is what keeps suspicion on you.
- **G04 A warning nobody else takes seriously**: a death-token or night sign that the
authorities or family dismiss. It is only partly `dread`.
- **G07 You have seen too much**: you found what your host meant to hide, and they may know it.
- **G08 Waiting in the dark for them to come**: an ambush vigil.
- **G09 Someone dangerous is after the person you are helping**: protecting a client from a
pursuer.
- **G10 Asked to act without being told why**: loyal help on a plan you are not told. It differs
from `pressed_to_wrong`: nobody is pressing you, you are trusting a friend.
- **G11 Someone close is not who they seem**: a helper, suitor or friend who is an impostor.
- **G12 A stranger who will not give a true name.**
- **G14 Holding something too valuable to lose**: a custodian's worry.
- **G16 Mercy or the law**: letting a culprit go, keeping a confession back, or trading silence
for restitution.
- **G17 Someone close has vanished.**
- **G18 Keeping faith when everyone says give up.**
- **G19 A guardian who lives on your money**: a guardian loses the income if the ward marries.
It recurs in three stories and is the most distinctive of Holmes's situations.
- **G20 Everyone has decided, and you think they are wrong**: standing against an official
consensus.
- **G21 A frightened stranger at your door**: the opening of seven of the twelve stories.
- **G29 Arriving too late**, **G30 Getting them to give it away**, **G31 You were only a pawn**,
**G32 Someone on the inside helps you get away.**
- **G22 Read at a glance** and **G23 Tested by someone sharper** recur strongly but are low-stakes
social moments. They could be flavour events rather than full situations.
Groups that **overlap existing entries**: G01 → `wrongly_judged` (a formal-accusation variant,
with evidence and arrest); G03 → `past_comes_back`; G05 → `sure_thing` and `strings`; G06 →
`newcomer`; G13 → `patron`; G15 → `caught_out` and `your_scheme`; G24 → `pretence` (pretending to
be humbler, to get information); G25 → `hiding_from_close`; G26 → `let_another_take_blame`;
G27 → `power_over_you`; G28 → `cant_prove_it`.
## How this corpus differs
- **One protagonist, many clients.** Every story has the same investigator and narrator, so each
scene has two candidate protagonists: the client in trouble and the investigator deciding what
to do. Predicaments follow whoever has the most at stake in that scene. Some groups hold both
views of one situation: G20 holds both the doubter and the officials he doubts. A tool that
keys groups to a single actor would split them.
- **Recurrence is by plot structure, not by relationships.** Wharton's groups turn on a spouse or
a mother. Holmes's turn on stages of an inquiry: the stranger arrives (G21), the offer that pays
too well (G05), the sinister house (G06), what you have seen (G07), the unmasking (G15), and
what to do with the culprit (G16). Three stories, *The Red-Headed League*, *The Engineer's
Thumb* and *The Copper Beeches*, share one arc: the offer that pays too well (G05), then the
discovery that you were only a pawn (G31). The last two also share the sinister house (G06)
between those steps. That gives a small
corpus unusually clean recurrence, but the groups are also more tied to one genre's plot beats.
- **The predicaments transplant well.** Almost nothing depends on the period. The dangers are
generic (a threat nobody believes, a job that pays too well, a guardian who needs you single),
and the frontier or corporate reading is usually obvious.
- **Twelve stories is still below the design's 20-30.** Six groups rest on only two stories
(G06, G08, G12, G27, G28, G32).