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
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
e5617b86ba
commit
3a4758172d
@@ -0,0 +1,111 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user