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
107 lines
7.8 KiB
Markdown
107 lines
7.8 KiB
Markdown
# Bierce reference set: *Tales of Soldiers and Civilians* (1891)
|
|
|
|
A hand-made comparison baseline for the story-to-pack pipeline, a sibling of the Jacobs set in
|
|
`../jacobs/` and the Wharton set in `../wharton/`. Claude read every scene and wrote each summary,
|
|
predicament, group and option. **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/tales-of-soldiers-and-civilians.txt` | Project Gutenberg #13334 ("Collected Works of Ambrose Bierce, Vol. II", which holds this book and nothing else) |
|
|
| `split_gutenberg.py` | → `stories.json` (26 stories: 15 "Soldiers", 11 "Civilians") and `chunks.json` (299 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 `../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` (unchanged from Jacobs: it resolves paths relative to itself) |
|
|
| `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
|
|
|
|
- **299 predicaments**: one sentence each (median 20 words, min 15, max 24), written to the
|
|
`redescribe.py` rules: no names, jobs, ranks, places or story-only objects. The `topic_words`
|
|
leak check flags 20 of 299. 18 are role or kin words (partner, newcomer, visitor, lover, father,
|
|
guest), kept on purpose because the design's cast is roles. The other 2 are "judge" used as a
|
|
verb. War roles are kept as roles, not ranks: *enemy*, *comrades*, *superior*, *subordinate*,
|
|
*prisoner*, *captor*.
|
|
- **31 groups**, each a situation that recurs in **three or more stories** (18 span 3, 10 span 4,
|
|
2 span 5, 1 spans 6). No story supplies more than half of any group's members. Each scene sits in at
|
|
most one group: **201 are assigned and 98 fit nothing that recurs**. All 26 stories feed at
|
|
least one group.
|
|
- **Options**: 3 to 5 per group, 128 in all (25 groups have 4, 5 have 5, 1 has 3). 96 come from what
|
|
someone in a scene did or refused to do (`scene:N`), 15 are archetypes and 17 fill gaps. **22
|
|
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`. As in Wharton,
|
|
most of these are the scene just before or after a member, where the character acts.
|
|
- **Moves**: spine paths with a direction only (`+`, `-`, `risk`, `set`). There are no magnitudes,
|
|
as the design requires. `standing` is moved 65 times, the two skills 66 times and `money` only 9.
|
|
Relationship roles are generic (`authority`, `comrades`, `loved_one`, `family`, `rival`, `captor`,
|
|
`doubters` and others), and flags record what the player did (`slept_on_watch`,
|
|
`duty_over_love`, `struck_blind`, `took_dare`, `guilty_secret`).
|
|
- **Skills** proposed for this corpus: `nerve`, reused from Jacobs, for holding steady under fear, and
|
|
`wits`, for reading signs and thinking coolly in a tight spot. `wits` fits Bierce's scouts,
|
|
trapped men and sceptics better than Jacobs' `cunning` would.
|
|
- **Stage** comes from protagonist standing, judged **per story, not per scene**, in `STANDING` in
|
|
`groups_src.py`. Enlisted men, a captive, a child, a pauper and two frontier loners rank low.
|
|
Officers and professionals rank middle. A planter, a governor, a camp's leading citizen, a rich
|
|
idler and an heiress rank high. The groups come out 19 middle, 9 low and 3 high. The skew is the
|
|
book's own: most soldier stories are told from an officer's side.
|
|
|
|
## Against the existing catalogue
|
|
|
|
The 36-entry catalogue (O. Henry, Wharton, Jacobs) is mostly courtship, secrets and schemes.
|
|
**Nine groups overlap an existing entry closely:** G04 private score (`power_over_you`),
|
|
G13 alone with the dead (`dread`), G19 truth nobody would believe (`cant_prove_it`), G21 judged
|
|
before heard (`wrongly_judged`), G22 tempting chance (`sure_thing` / `strings`), G26 devoted to
|
|
one who wronged you (`sacrifice`), G27 someone thought gone turns up (`past_comes_back`), G31 new
|
|
to a hardened company (`newcomer`) and G18 warning easy to laugh off (between `dread` and `sign`).
|
|
**Three overlap in part:** G03 told to obey without question (`pressed_to_wrong`, plus
|
|
`own_words_back` in scene 138), G05 stranger not what they seem (`sure_thing`) and G20 careless
|
|
words cost a life (`owning_up`).
|
|
|
|
**Nineteen are new situation types**:
|
|
|
|
- **Duty and orders:** G02 duty demands you harm someone you love; G06 your heart is on the other side.
|
|
- **Watch and danger:** G01 on watch, and your guard slips; G07 the only way to know is to go and look; G17 the danger you can only wait for; G16 cornered, looking for a way out; G15 condemned and waiting to die.
|
|
- **Courage and fear:** G09 refusing the safe way out lest it look like fear; G10 your courage called into question; G11 finding out you are afraid; G12 a gaze you cannot escape.
|
|
- **Harm to others:** G14 the one you struck in the dark (mistaken-identity violence); G08 one bold act sweeps everyone into slaughter.
|
|
- **Help and suffering:** G23 turned away when you need help most; G24 watching others suffer from safety; G25 trying to save someone who will not be saved.
|
|
- **Loss and isolation:** G28 coming home too late; G29 alone with an old grief; G30 lost in the dark, far from help.
|
|
|
|
## How this corpus differs from Jacobs and Wharton
|
|
|
|
It is the largest reference set so far, 26 stories against Jacobs' 12 and Wharton's 10. That is
|
|
the first corpus inside DESIGN.md's 20-30 range. So the bar was raised to three stories per group,
|
|
and 31 groups still cleared it.
|
|
|
|
**The register is war and horror, and the situations are mostly inner ones.** Where Jacobs and
|
|
Wharton recur on money, marriage and secrets, Bierce recurs on fear, duty, courage and dying. That
|
|
shows in the moves. `money` hardly appears, and `nerve` carries much of the weight. A pack built
|
|
from this corpus will need its numeric search to make `nerve` and `standing` do the work that
|
|
`money` does in the other packs.
|
|
|
|
**Groups straddle the two halves of the book**, and a tool that groups by setting or mood should
|
|
split them. G14 "the one you struck in the dark" holds a soldier who shoots his twin brother on
|
|
picket and a lawyer who shoots a woman he takes for a panther. G12 "a gaze you cannot escape"
|
|
holds a trapped scout staring into his own rifle, a guest facing a snake, a mother facing a
|
|
panther and a girl under a mesmerist. G10 "your courage called into question" holds a
|
|
battlefield suicide and a ghost-story dare.
|
|
|
|
**Twist endings concentrate meaning in the last scene.** Many stories turn on a final line: the
|
|
rider was his father, the snake was stuffed, the applicant was the founder, the child was a deaf
|
|
mute. Those closing scenes often belong to a different situation from the story's body, or to
|
|
none. That is one reason 98 scenes stay unassigned. Most of the rest are scene-setting narration
|
|
(the Chickamauga march, Owl Creek's dying dream, the Coulter's Notch gun duel) or one-story
|
|
material with no second instance, such as the mercy killing in *The Coup de Grâce*.
|
|
|
|
## Known defects
|
|
|
|
- Scene 166 ends with the stray part heading `CIVILIANS`. The in-story subtitles and section headings of
|
|
*A Son of the Gods*, *An Affair of Outposts*, *One Kind of Officer*, *George Thurston*, *The
|
|
Suitable Surroundings* and *The Eyes of the Panther* (for example "HOW TO SAY WHAT IS WORTH
|
|
HEARING") stay inline in scene text. They are
|
|
not removed, so that `chunks.json` stays the corpus as split.
|
|
- Scene 227 is only the mock-archaic epigraph of *The Man and the Snake*. It was summarised anyway
|
|
and is in no group.
|