# Jacobs reference set: *The Lady of the Barge* (1902)
A hand-made comparison baseline for the story-to-pack pipeline, the Jacobs twin of the O. Henry
reference in `../v2/claude/`. Every summary, predicament, group and option here was written by
Claude reading the scenes. **No local inference was used.** Compare the local-model runs against it.
Do not treat it as ground truth: it is one careful reading.
| File | What it is |
| --- | --- |
| `corpus/lady-of-the-barge.html` | Standard Ebooks single-page text (public domain) |
| `split_se.py` | → `stories.json` (12 stories, split on `
`) and `chunks.json` (157 scenes, same 320-word paragraph rule as `../chunk.py`) |
| `dump.py` | `python3 dump.py A B` prints scenes A..B for reading |
| `claude/batches/sNN.json` | per story: `{chunk, story, summary, predicament}`, the same schema as `../v2/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` |
| `claude/page.py` | → `claude/REFERENCE.html`, the readable page |
Rebuild: `python3 split_se.py && cd claude && python3 build.py && python3 page.py`.
## What is in it
- **157 predicaments**: one sentence each (median 19 words, max 24), written to the `redescribe.py`
rules: no names, jobs, places or story-only objects. The `topic_words` leak check flags 23 of 157.
All 23 are role words (rival, partner, guest, neighbour, suitor, newcomer), kept on purpose because
the design's cast is roles.
- **19 groups**, each a situation that recurs in **two or more stories**. Each scene sits in at most
one group: 137 are assigned and 20 fit nothing that recurs.
- **Options**: 3 to 5 per group, 79 in all. 61 come from what someone in a scene did (`scene:N`),
10 are archetypes and 8 fill gaps. **8 scene options cite a scene outside their own group.** That
is looser than DESIGN.md's "drawn from other scenes in the cluster", and `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. Skill labels proposed for this corpus: `nerve` and `cunning`.
- **Stage** comes from protagonist standing, judged **per story, not per scene**. That is the
coarsest judgement in the set, recorded in `STANDING` in `groups_src.py`.
## How this corpus differs from O. Henry
It is small, 12 stories against 97. It also mixes registers: comic waterfront and village yarns,
plus four horror or crime stories (*The Monkey's Paw*, *The Well*, *In the Library*,
*Captain Rogers*). So several groups straddle the two registers. G09 "Your scheme turns on you"
holds both a comic fake-drowning and a murderer caught out. A tool that groups by register or
mood, rather than by predicament, should split them.