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

Wallingford reference set: Get-Rich-Quick Wallingford (1908)

A hand-made comparison baseline for the story-to-pack pipeline, a sibling of the Jacobs set in ../jacobs/ and the Bierce set in ../bierce/. 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/get-rich-quick-wallingford.txt Project Gutenberg #37010, George Randolph Chester
split_gutenberg.py → stories.json (28 chapters, one "story" each) and chunks.json (334 scenes, same 320-word paragraph rule as ../chunk.py)
dump.py python3 dump.py A B prints scenes A..B for reading (copied from Jacobs)
claude/batches/sNN.json per chapter: {chunk, story, summary, predicament}, the same schema as ../jacobs/claude/batches/
claude/groups_src.py the schemes (ARCS), the groups, options and protagonist standing; python3 groups_src.py prints the scheme-level recurrence check
claude/build.py checks everything, then writes claude/records.json and claude/groups.json (unchanged from Jacobs)
claude/page.py → claude/REFERENCE.html, the readable page (Jacobs' page with the title and heading changed)

Rebuild: python3 split_gutenberg.py && cd claude && python3 build.py && python3 page.py && python3 groups_src.py.

What is in it

  • 334 predicaments: one sentence each (median 21 words, min 16, max 24), written to the redescribe.py rules: no names, jobs, titles, places or story-only objects. A carpet tack is "a trivial product", a patent is "legal protection", a traction line is "the great enterprise". The predicament is written from whichever side of the scheme the scene centres on, the schemer's or the target's. The topic_words leak check flags 141 of 334. Almost all are role words (partner 67, employee 17, rival, newcomer, employer, host, guest, widow, clerk), kept on purpose because the design's cast is roles. The rest are generic: house, dinner, room, lunch, party (as in a travelling party), station (social station), court and judge (as verbs), stage (a stage set).
  • 22 groups, each a situation that recurs in three or more schemes (see below). Each scene sits in at most one group: 191 are assigned and 143 fit nothing that recurs. All 28 chapters and all six schemes feed at least one group.
  • Options: 4 or 5 per group (12 have 5, 10 have 4), 100 in all. 89 come from what someone in a scene did or refused to do (scene:N), 6 are archetypes and 5 fill gaps. 11 scene options cite a scene outside their own group, and groups.json marks each one in_group: false. As in Bierce, most are a neighbouring scene where the character acts, or a scene held by a sibling group (the old man who cashes out, scene 278, is both the lone sceptic and an option in the speculative fever).
  • Moves: spine paths with a direction only (+, -, risk, set), no magnitudes. money is moved 59 times and standing 41, against Bierce's 9 and 65. This is the first reference set where money carries the weight. Relationship roles are generic (partner, investors, promoter, creditor, neighbours, newcomer, old_friend, bosses, victims and others), and flags record what the player did (living_on_credit, bill_outstanding, bought_in, mortgaged, complicit, sold_out, bad_check, went_straight).
  • Skills proposed for this corpus: charm, for the front that makes people trust, lend and give credit, and cunning, for paper tricks, reading a contract and seeing the catch. Jacobs' nerve fits less well: the swindler is a physical coward and wins on bearing, not courage.
  • Stage comes from protagonist standing, judged per scheme and recorded per chapter in STANDING (build.py expects chapter keys). The swindler arrives nearly penniless among small savers (tacks: low), runs two mid-sized schemes (insurance, recorder: middle), becomes the great man of a town and then of a farmers' movement (traction, wheat: high), and ends broke among cigar-shop keepers (cigars: low). The groups come out 8 low, 7 middle and 7 high.

Schemes and scheme-level recurrence

The book is a novel in linked episodes, not a story collection, so the unit for recurrence is the scheme, not the chapter. A situation seen in three chapters of one scheme has not recurred. ARCS in groups_src.py maps each chapter to one of six schemes, read from the text. The chapter titles suggest about seven; the seventh would be the honeymoon trip of chapter 17, but that only strands the swindler in the town of the traction scheme, so it belongs there.

Scheme Chapters Scenes (after overrides) What happens
tacks 0-6 83 A company floated on a worthless covered carpet tack, sold to a careful clerk and his lodge friends
insurance 7-10 40 A fraternal insurance order turned into a stock sale to its own members, a widow included
recorder 11-16 62 A real inventor's machine and his friends' savings, sold behind their backs to the monopoly
traction 17-20 61 A town lured into a land boom by a traction line never meant to be built
wheat 21-24 44 A farmers' association that holds wheat for $1.50 and is steered into buying the promoter out
cigars 25-27 44 A consolidation of small cigar shops, the last scheme, which lands the swindler in jail

Four chapters open or close on the neighbouring scheme, so ARC_OVERRIDE moves 15 scenes: 78-82 (the tack takings, spent and lost at the start of chapter 7) to tacks; 120-122 (the insurance takings, at the start of chapter 11) to insurance; 244-245 (the traction line sold for real, at the start of chapter 21) to traction; 290-294 (the cigar shop where the next scheme starts, at the end of chapter 24) to cigars.

Rule, applied per group: at least 5 scenes, at least 3 schemes, no scheme over 50% of the group. All 22 groups pass. 4 groups span 3 schemes, 10 span 4, 5 span 5 and 3 span 6. Seven sit exactly at the 50% ceiling (G01, G02, G06, G07, G14, G19, G21): each is a situation one scheme dramatises at length and the others touch briefly. Membership was trimmed to reach the ceiling; nothing above it was kept. Measured by chapter instead, as build.py reports, every group spans at least three chapters, which overstates recurrence for a novel. That is why the scheme count is the one to use.

Against the catalogue

The v2 catalogue has 82 entries (../catalogue/v2/catalogue_v2_src.py). Money and deals, the thinnest area for a career game, are this book's whole subject.

Eleven groups match an existing entry. Seven match closely: G08 partners who mean to cheat each other (your_scheme, as Jacobs G06), G11 charmed out of your doubts (sure_thing), G12 the lone sceptic (against_the_verdict), G13 cornered by the people you cheated (caught_out), G16 courting the rich newcomer (patron), G18 learning what your partner really does (what_they_hid) and G20 an old accomplice in trouble (plea_for_help). Four sharpen an entry rather than duplicate it, and could become sub-entries or widen its includes:

  • G01 keeping up a front of wealth on credit sharpens pretence: the front is not vanity but the thing that raises the money.
  • G03 a share in something that does not exist yet sharpens sure_thing: the decision is the fear of being left out of a paper venture, not trusting a stranger. With G11 this book gives sure_thing two distinct sides.
  • G07 working inside a crooked business sharpens compromise_for_money: you are already on the payroll when you understand it, and the options run from silence to staying on to rebuild it.
  • G09 out-swindled by someone you trusted sharpens outmatched: the sharper one is the placid broker or the mark you despised.

Eleven are new situation types:

  • Raising money: G04 raising money on a promise you cannot keep; G19 buying in with nothing (paying for a full share with a note or a postdated check); G10 let in on the inside (a mark made a partner).
  • Holding money: G02 the bill is due and you cannot pay; G06 sunk in, and asked for more; G14 wiped out; G22 selling out before the crash.
  • Markets and rivals: G05 a town caught in a speculative fever; G15 small against the giant.
  • Going straight: G17 a partner who wants to go straight; G21 the sham turns out to be real.

All nine situations the brief asked about were found and recur across schemes: raising money on a promise (G04), a share in what does not exist (G03), the employee who sees it is crooked (G07), the partner who wants to go straight (G17), the mark who becomes a partner (G10), the scheme that becomes a real business (G21), out-swindled by a supposed mark (G09), a front of wealth on credit (G01, with G02) and a speculative fever (G05).

How this corpus differs

It is one book, the case DESIGN.md calls hard ("one long novel is the hard case and is not the target"). It works better than that warning suggests because the book is built as six near-repeats of one plot: arrive broke, look rich, find marks, float a venture, sell out, leave. The same situations come round in every scheme, seen from new angles, so recurrence across schemes is real, not an artefact of chapter splitting. The cost is cast concentration. One schemer, his wife and his confederate are in almost every scene, so groups like G17 and G18 are one marriage seen six times. A pack built from it should vary the counterpart more than the book does.

Both sides of the swindle recur. Many groups come in pairs: raising money on a promise (G04) against buying a share in nothing (G03); the charmed doubter (G11) against the lone sceptic (G12); cheating a partner (G08) against being out-swindled (G09). Predicaments are written from the side the scene centres on, so a tool should expect a scheme's marks and its promoter in different groups.

143 scenes stay unassigned. Most are one-scheme set pieces with no second instance: the planted flaw the recruit "solves" (22-25), the widow's visit (91-94), the drugging of the lawyer (176-182), the honeymoon trip and the stranded private car (185-203), the fountain dedication (236-241) and the dice game (309-313). The rest are narration: the night drive, the parade speeches, the farm office tour.

Known defects

  • stories.json titles are capitalize()d by the splitter, so names come out lower-case ("In which j. rufus wallingford ..."). Left as split.
  • Because STANDING is keyed by chapter, the 15 overridden scenes take their chapter's stage, not their scheme's: the five cigar-shop scenes at the end of chapter 24 count as high (wheat) although the cigars scheme is low. This changes the stage of three groups. Counted by scheme, G09 would be low instead of high, and G11 and G15 would tie between low and middle instead of coming out middle. build.py was left unchanged, so groups.json carries the chapter-based stage.
  • Scene 116 is a single sentence (the swindler's bearing silencing the room), and scene 41 is two lines. Both were summarised anyway; 116 is in G13.