Files
TheLadder/tools/story-to-pack/probe/holmes
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
..

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).