Replace clustering with a catalogue, and hand-write the references to judge it against

The pipeline's embed-and-cluster step is dead, and this commit holds both the
evidence for that and the step proposed to replace it.

Predicaments. Scenes are re-described as "what the person is up against", with
no names, jobs or places, then embedded and clustered (redescribe.py,
topic_words.py, topic_share.py). The pilot chose qwen3:14b over 3b by reading
both side by side. Two defects the pilot exposed are fixed: split.py missed
titles in quotes and a contents subtitle after a dash, so three stories had been
merged into their neighbours, and strip_names.py read New York place names as
people. The corrected corpus is probe/v2 (97 stories, 839 scenes);
carry_summaries.py reuses the 829 unchanged v1 summaries. Topic share fell from
20% to 13% at k=60, short of the pre-registered 10%.

Hand references. Three corpora were read scene by scene and written up by hand,
under the same prompt rules the local models get, as a baseline to judge them
against: O. Henry (probe/v2/claude, 839 scenes, 20 situations), Wharton's
Descent of Man (probe/wharton, 262 scenes, 16 groups) and Jacobs's The Lady of
the Barge (probe/jacobs, 157 scenes, 19 groups). Each has its own README and a
readable page. No inference was used for any of them.

Catalogue. probe/catalogue maps every hand group in the three references onto 36
situation entries, with an answer key per corpus and one recurrence rule applied
to all three. classify.py assigns a scene one entry or none, leave-one-corpus-
out; score.py checks it against the key, with a self-test on random labels.

Why clustering is out: hand-written predicaments, embedded and clustered exactly
as the model's were, agree with the hand grouping at ARI 0.05 — no better than
the 14B text's 0.07. Better rewriting cannot rescue it. Embeddings cannot even
shortlist: the hand label is the nearest entry 13% of the time and in the top 8
half the time.

The classification runs are not here. The dev and test runs are pre-registered
in probe/catalogue/README.md with the bar set beforehand, and are blocked on the
inference host, whose GPU has fallen off the PCIe bus three times. The 30-scene
partial output in out/ is not a result.

Review page. The situation review is now a browser page rather than JSON edited
by hand (review_page.py, review_page_logic.cjs with Node tests, format schema
v2). It has never been rendered in a real browser.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014BygvsUXV9eU6oHkTCkKZ1
This commit is contained in:
JesseMarkowitz
2026-09-20 17:19:42 -04:00
co-authored by Claude Opus 5
parent fa3769d0fe
commit e5617b86ba
135 changed files with 82027 additions and 1778 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,86 @@
[
{
"chunk": 0,
"story": 0,
"summary": "A skipper waiting up for his late-returning mate and brother-in-law has just lost a shouted argument with a neighbouring crew; the mate arrives and answers his rebuke with cheek.",
"predicament": "Someone waiting up for a relative who comes in late wants to reproach him, and gets cheek back."
},
{
"chunk": 1,
"story": 0,
"summary": "The mate tells the skipper he has invited his sweetheart on the voyage without asking; the skipper is appalled and asks what his wife will say.",
"predicament": "A man learns a relative has promised a stranger his hospitality without asking, and fears what his spouse will say."
},
{
"chunk": 2,
"story": 0,
"summary": "The skipper tries to refuse the young woman passage but cannot bring himself to say so, and ends up eating supper with the couple.",
"predicament": "A man who wants to turn an unwelcome guest away cannot find the nerve to say it."
},
{
"chunk": 3,
"story": 0,
"summary": "The girl balks at her cramped quarters but stays; the skipper warns that his wife will blame him, and the mate says his sister can mind her own business.",
"predicament": "A man who has let something happen under his roof fears his spouse will hold him responsible for it."
},
{
"chunk": 4,
"story": 0,
"summary": "The skipper insists on chaperoning the girl at meals himself, leaving the mate to steer and eat cold leftovers while she laughs at the skipper's stories.",
"predicament": "A young man who brought the person he is courting along is pushed aside by an older man who takes charge of her."
},
{
"chunk": 5,
"story": 0,
"summary": "Jealous, the mate hints at the skipper's wife, is mocked by the pair, is rude to the girl, and is sent away.",
"predicament": "A jealous suitor tries to put his rival in his place, and only makes himself look childish."
},
{
"chunk": 6,
"story": 0,
"summary": "The girl snubs the mate as 'only the mate'; he turns the tables by threatening to let the skipper explain her presence to his wife alone.",
"predicament": "A spurned man realises he holds something over the rival who humiliated him, and decides to use it."
},
{
"chunk": 7,
"story": 0,
"summary": "The mate refuses to back the skipper's story; the skipper hides the girl below as they arrive to find his wife waiting on the quay.",
"predicament": "A man hiding an innocent but compromising secret is met by his spouse, while the one person who could clear him refuses to."
},
{
"chunk": 8,
"story": 0,
"summary": "The mate pulls meaningful faces behind the skipper's back until the wife grows suspicious; the skipper invents a toothache and tries to steer her away.",
"predicament": "A man tries to hurry his spouse away from a secret while someone signals behind his back that something is up."
},
{
"chunk": 9,
"story": 0,
"summary": "The wife stamps her foot, the hidden girl appears, and the mate lets his brother-in-law take the blame while pretending to shield him.",
"predicament": "A man caught with an innocent secret is disowned by the one person who could explain it."
},
{
"chunk": 10,
"story": 0,
"summary": "The wife abuses the girl, knocks her purse into the water, and orders her off; the mate, now remorseful, takes responsibility and defends her.",
"predicament": "A man whose spite has got an innocent person abused must decide whether to own up and defend her."
},
{
"chunk": 11,
"story": 0,
"summary": "The mate dives repeatedly for the purse to win the girl back; she begs him to come out but refuses to make up.",
"predicament": "A man tries to win back someone he wronged with a dangerous public show of devotion."
},
{
"chunk": 12,
"story": 0,
"summary": "The mate fakes drowning; the skipper rescues him, sees him wink while the girl kisses him, and the wife boxes his ears.",
"predicament": "A man pretends to be in danger to win sympathy, and the one who saved him sees through it."
},
{
"chunk": 13,
"story": 0,
"summary": "The wife takes the girl home to breakfast, leaving both men soaked, while the skipper fends off the mate's apologies with a boathook.",
"predicament": "Two men who quarrelled over a woman are both left out in the cold by the women they wronged."
}
]
@@ -0,0 +1,15 @@
[
{"chunk":14,"story":1,"summary":"An old man losing at chess to his son grumbles at the weather and their remote house while waiting for a guest, who arrives: an old friend back from long service abroad.","predicament":"A man losing a friendly contest tries to distract from his mistake, and is caught at it by his family."},
{"chunk":15,"story":1,"summary":"Warmed by whisky, the guest tells tales of distant lands; pressed by his host, he reluctantly produces a dried monkey's paw he calls magic.","predicament":"A guest who wants to leave a dangerous subject alone is coaxed by his hosts' curiosity into bringing it out."},
{"chunk":16,"story":1,"summary":"The guest explains the paw grants three men three wishes each, that he has had his, and that the last owner wished for death; asked if he would wish again, he wavers.","predicament":"Someone offered a thing that grants wishes is warned by the man who used it that it brings sorrow."},
{"chunk":17,"story":1,"summary":"The guest throws the paw on the fire; the host snatches it back and keeps it despite repeated warnings to wish sensibly or not at all.","predicament":"A man is offered a dangerous gift by someone who begs him to destroy it, and wants to keep it anyway."},
{"chunk":18,"story":1,"summary":"Egged on by his joking son, the old man wishes for two hundred pounds to clear the house; the paw twists in his hand, but no money appears.","predicament":"A man half-believing in a promise of easy money must decide whether to test it and what to ask for."},
{"chunk":19,"story":1,"summary":"An uneasy night passes; in the morning the family laugh off their fears, though the father recalls that the wishes come true in ways that look like coincidence.","predicament":"A family that tempted fate laughs off their fears in daylight while one of them cannot shake them."},
{"chunk":20,"story":1,"summary":"The son leaves for work; later the mother, half-hoping for money, sees a well-dressed stranger hesitate several times at the gate before coming in.","predicament":"A family waiting on a hoped-for windfall sees a stranger approach who might bring it, or bad news."},
{"chunk":21,"story":1,"summary":"The stranger, from the son's employers, tells the parents their only son has been killed in the machinery.","predicament":"Parents receive news that their only child has been killed, from someone who cannot bring himself to say it."},
{"chunk":22,"story":1,"summary":"The firm denies liability but offers compensation of exactly two hundred pounds; the father collapses. They bury their son and sink into silent grief.","predicament":"A man learns the money he wished for has come as compensation for his child's death."},
{"chunk":23,"story":1,"summary":"A week later the grieving mother remembers the paw's other two wishes and demands that her husband wish their son alive; he calls it madness.","predicament":"A grieving woman seizes on a desperate chance to undo a death, and her spouse is afraid of what it would bring back."},
{"chunk":24,"story":1,"summary":"The father tells her their son was mutilated beyond recognition, but she insists; terrified, he fetches the paw and makes the second wish.","predicament":"A man pressed by his grieving spouse must decide whether to do something he believes is wicked and dangerous."},
{"chunk":25,"story":1,"summary":"Nothing seems to happen; then a stealthy knock comes at the door, and the mother cries that it is their son while the father holds her back.","predicament":"A man who dreads what his wish may bring home must stop his spouse from opening the door to it."},
{"chunk":26,"story":1,"summary":"The mother breaks free and struggles with the bolt; the father finds the paw and makes the third wish, and the door opens on an empty road.","predicament":"A man must use his last chance to undo what his spouse most longs for, before she lets it in."}
]
@@ -0,0 +1,16 @@
[
{"chunk":27,"story":2,"summary":"An old watchman recalls a shipmate, an aged miser worth six hundred pounds, who fell ill a month out on the voyage home.","predicament":"A man who has hoarded his savings all his life falls ill far from anywhere he could spend them."},
{"chunk":28,"story":2,"summary":"The dying miser refuses to believe he is dying and leave his money; his shipmates circle hopefully, and one finds a money belt on him and guesses his plan to be buried with it.","predicament":"A dying miser, surrounded by people hoping to inherit, is determined that nobody will get his money."},
{"chunk":29,"story":2,"summary":"The miser dies boasting that he had a boy throw his banknotes overboard; one sailor scares the boy into silence, and the narrator threatens to tell unless let in on the scheme.","predicament":"Someone who spots a colleague quietly scheming to take unclaimed money must decide whether to expose him or join in."},
{"chunk":30,"story":2,"summary":"The schemer reveals he thinks the boy kept the money; the two agree to split it, and search the boy's bunk and pockets at night without success.","predicament":"Two partners convinced a weaker person is secretly holding a fortune want to find it before anyone else learns of it."},
{"chunk":31,"story":2,"summary":"A night search is foiled when a ticklish shipmate wakes screaming; a week of prodding the boy finds nothing, so they corner him and demand the money outright.","predicament":"A schemer whose secret searches keep failing decides to confront the person he suspects directly."},
{"chunk":32,"story":2,"summary":"The boy insists he threw the money overboard; they search him, offer him a third, then threaten to have him searched ashore and jailed.","predicament":"Someone suspected of hiding a windfall is pressed with bribes and threats by people who have no right to it."},
{"chunk":33,"story":2,"summary":"When the sailor heads to tell the captain, the boy gives in: he kept the money but, frightened by the searches, hid it in an officer's mattress where he cannot now reach it.","predicament":"Someone forced to share a hidden windfall admits it is now stuck where neither partner can get at it."},
{"chunk":34,"story":2,"summary":"Neither the man nor the boy can get aft unseen, the officer sleeps on the money every night, and the two partners blame each other.","predicament":"Distrustful partners stare at a fortune they cannot reach without getting caught, and blame each other for it."},
{"chunk":35,"story":2,"summary":"The boy proposes the man fake an accident to get quartered aft; the man refuses and secretly flatters the officer, asking to buy his mattress as a keepsake.","predicament":"A man wants something a superior owns without revealing why, and tries flattery to get it."},
{"chunk":36,"story":2,"summary":"The officer plays up the mattress's value and the sailor, afraid to seem eager, settles at two pounds, to be handed over ashore.","predicament":"A buyer who cannot reveal why he wants something is made to pay more by a seller who senses his eagerness."},
{"chunk":37,"story":2,"summary":"The sailor now plans to cut the boy out and split with the narrator alone, but the suspicious boy shadows him all the way into port.","predicament":"A man who wants to cheat his partner out of a shared prize is watched too closely to slip away."},
{"chunk":38,"story":2,"summary":"The officer delays the hand-over with a long speech until the boy arrives, sees the sack, and refuses to let them leave without his share.","predicament":"A man trying to slip away with a shared prize is held up until the partner he meant to cheat catches him."},
{"chunk":39,"story":2,"summary":"The boy stays on deck while the men cut the mattress open below; it is empty, and when they come up the boy has vanished.","predicament":"A man who schemed to cheat a partner finds the prize gone and realises he may have been cheated himself."},
{"chunk":40,"story":2,"summary":"The boy never returns, not even for his pay, and the officer smilingly asks the sailor how he slept.","predicament":"A schemer who was outwitted must stand and smile at the people who got the better of him."}
]
@@ -0,0 +1,16 @@
[
{"chunk":41,"story":3,"summary":"A rich man soon to marry sits with his idle, indebted cousin, who needles him about his wealth and his fiancée's goodness.","predicament":"A man about to marry is needled by a dependent relative who hints at something to his discredit."},
{"chunk":42,"story":3,"summary":"The cousin hints that the fiancée would drop him if she knew what he really was, then says he needs fifteen hundred pounds within a fortnight or faces prison.","predicament":"A man in desperate debt makes veiled hints to the relative he hopes will pay it."},
{"chunk":43,"story":3,"summary":"Refused, the cousin offers to sell compromising old letters, threatening to sell them to a rival suitor; the rich man seizes him and is stopped only by a servant entering.","predicament":"A man is blackmailed by a relative with old letters that could cost him the person he loves."},
{"chunk":44,"story":3,"summary":"The cousin walks out into the park to let him think it over; the rich man follows, and later tells his mother the cousin has gone for good after a quarrel over money.","predicament":"A man who has done something terrible in anger must cover for a relative's sudden disappearance."},
{"chunk":45,"story":3,"summary":"The man walks with his fiancée to a disused well in the park, her favourite spot; he urges her not to sit on its edge.","predicament":"A man with a guilty secret must keep calm while someone he loves insists on lingering right at the spot."},
{"chunk":46,"story":3,"summary":"She asks about the missing cousin and defends him; the man bursts out that the cousin was a blackmailer, a liar and a cur.","predicament":"A man hiding a crime hears it discussed innocently and betrays his feelings with an outburst."},
{"chunk":47,"story":3,"summary":"She is startled by a whisper she imagines saying 'Jem, help me out'; shaken, he tries to take her indoors, but she insists on staying.","predicament":"A guilty man tries to hurry someone away from the scene of his crime, and she insists on staying."},
{"chunk":48,"story":3,"summary":"She drops her mother's diamond bracelet down the well and wants it drained; he looks at her in horror, then covers it by saying he feared she was falling.","predicament":"A man hiding something learns it may be discovered by an innocent accident, and must not show his fear."},
{"chunk":49,"story":3,"summary":"He promises to recover the bracelet himself by morning and makes her swear to tell no one; his mother suggests filling the well in.","predicament":"A man must retrieve something from where his secret lies before anyone else goes looking."},
{"chunk":50,"story":3,"summary":"At night he secretly fishes the well with a line and hook, and dredges up keys instead of the bracelet.","predicament":"A man secretly searching where his crime lies keeps pulling up reminders of it."},
{"chunk":51,"story":3,"summary":"The hook snags; he gives up, spends a sleepless night, and at dawn meets his grooms, whom he has ordered to lower him into the well.","predicament":"A man who has failed to fix things quietly must now involve others while still keeping his secret."},
{"chunk":52,"story":3,"summary":"His groom offers to go down instead, since the master looks ill; he refuses curtly and starts to test the air with a candle.","predicament":"A man hiding something is offered help he cannot accept without being found out."},
{"chunk":53,"story":3,"summary":"The candle is lost; he stops the groom fetching another, strips, and sits a long time on the well's edge before going down.","predicament":"A man who must face the thing he did alone gathers his nerve while others watch and wonder."},
{"chunk":54,"story":3,"summary":"Below, something drags at the rope; the grooms haul up the dead cousin's face with their master behind it, let go in horror, and both fall back into the water.","predicament":"A man who hid a crime is dragged down by it at the moment he tries to undo its consequences."}
]
@@ -0,0 +1,74 @@
[
{
"chunk": 55,
"story": 4,
"summary": "A farmer's wife, her husband, and her retired-policeman uncle discuss a stolen brooch; the uncle has been hiding under their bed hoping to catch the thief, and the wife casts suspicion on a neighbour while accusing her husband of not caring.",
"predicament": "A woman who has lost something valuable suspects the people around her, and resents her spouse for not caring as much."
},
{
"chunk": 56,
"story": 4,
"summary": "The uncle declares everyone guilty until proven innocent; the wife recounts missing the brooch, accusing and sacking her servant, who cried on her box.",
"predicament": "Someone who has lost something accuses the most defenceless person nearby, and punishes her before any proof."
},
{
"chunk": 57,
"story": 4,
"summary": "The servant's box held nothing; the husband defends her and is snapped at, while the uncle, pencil and notebook out, pursues the investigation with great ceremony.",
"predicament": "A man who thinks a household fuss is foolish keeps defending the accused and is scolded for taking her side."
},
{
"chunk": 58,
"story": 4,
"summary": "The husband eats a lozenge from the evidence box and cannot stop laughing; the uncle establishes that no one could have entered the bedroom unheard.",
"predicament": "A man who finds a family inquiry ridiculous cannot keep a straight face in front of its self-important leader."
},
{
"chunk": 59,
"story": 4,
"summary": "Suspicion turns to a widow who visited that morning; the uncle finds muddy footprints on the stairs, which are in fact the husband's, and he stays guiltily quiet.",
"predicament": "A man who sees an innocent neighbour blamed for evidence he himself left must decide whether to own up."
},
{
"chunk": 60,
"story": 4,
"summary": "The husband slyly deflects the footprint evidence, then exchanges silent signals with his wife until the uncle demands to know what is funny.",
"predicament": "A man who knows more than he says can barely hide his amusement from the self-important person running the inquiry."
},
{
"chunk": 61,
"story": 4,
"summary": "The husband reveals he thinks the widow is after the uncle, not the brooch; the uncle is outraged, then proposes inviting her to tea to trap her into confessing.",
"predicament": "A self-important man, teased that a neighbour fancies him, resolves to prove his point by trapping her."
},
{
"chunk": 62,
"story": 4,
"summary": "The husband refuses to have a guest trapped in his house; the uncle secretly tells his niece he will search the widow's cottage without leave.",
"predicament": "A man refuses to let his home be used to entrap a friend, so the schemer plans to go behind his back."
},
{
"chunk": 63,
"story": 4,
"summary": "The husband, who resents the uncle living with them for his wife's hopes of an inheritance, plans to let the widow catch the uncle searching her house, and shadows him.",
"predicament": "A man stuck with an unwelcome relative in his home sees a chance to have him disgraced and driven off."
},
{
"chunk": 64,
"story": 4,
"summary": "The husband brings the widow home early; the uncle, trapped inside, hides in the larder, and the husband settles in for beer and begins praising him.",
"predicament": "A man who has trapped his rival in an embarrassing hiding place decides to make the most of it."
},
{
"chunk": 65,
"story": 4,
"summary": "Within the uncle's hearing, the husband tells the widow the uncle is shy and devoted to her, and has been asking whether she likes jewellery.",
"predicament": "A trapped man must listen in silence while someone tells a neighbour a story about him that he cannot deny."
},
{
"chunk": 66,
"story": 4,
"summary": "Asked for bread and cheese, the widow opens the larder, the uncle bursts out, and her friend takes his hiding there as a bashful suitor's courtship.",
"predicament": "A man caught somewhere he should not be is handed an embarrassing explanation, and has no better one to offer."
}
]
@@ -0,0 +1,15 @@
[
{"chunk":67,"story":5,"summary":"Late at night one co-owner of a house and a business sits hating his partner, who has discovered his embezzlement and ordered him to leave both by morning.","predicament":"A man found out in wrongdoing is ordered by his partner to give up everything and leave by morning."},
{"chunk":68,"story":5,"summary":"The honest partner refuses to cover the theft quietly, offers the exile two hundred pounds, and mentions the servants are away until morning.","predicament":"A man offered a harsh but fair way out of his disgrace wants a quieter bargain the other will not give."},
{"chunk":69,"story":5,"summary":"The exile demands the matter be hushed up, draws a sword from the wall, and stabs his partner when he refuses.","predicament":"A man facing ruin threatens the only person who can expose him, and must choose whether to go through with it."},
{"chunk":70,"story":5,"summary":"Sickened, the killer turns out the lights, flees to the gate, and sees a constable coming up the road.","predicament":"A man who has just done something terrible in rage panics and must steady himself when a figure of the law appears."},
{"chunk":71,"story":5,"summary":"He bids the constable good night, returns inside, and gathers his cash and valuables, reckoning he has eight hours' start.","predicament":"A man with a crime behind him and a few hours' start must decide what to take and where to run."},
{"chunk":72,"story":5,"summary":"He plans his escape, weighing a crowded district against the seaside, and finds every choice may mean life or death.","predicament":"A fugitive planning his escape finds that every choice might be the one that gets him caught."},
{"chunk":73,"story":5,"summary":"At one o'clock he hears creaks on the stairs, and fears the dead man is moving about the house.","predicament":"A man alone with what he has done hears noises in the dark and fears it has come back for him."},
{"chunk":74,"story":5,"summary":"Finding the library door open, he locks someone inside, then realises it is a burglar he can blame for the killing.","predicament":"A guilty man realises a stranger's blunder gives him someone else to blame."},
{"chunk":75,"story":5,"summary":"He fires through the door, raises the alarm, and the police break in and seize the terrified intruder.","predicament":"A man framing an innocent person must act the outraged victim in front of the law."},
{"chunk":76,"story":5,"summary":"The intruder swears the body was there when he arrived; the sergeant uncovers it, and the killer feigns horror.","predicament":"A man must play the shocked innocent while the person he framed pleads the truth."},
{"chunk":77,"story":5,"summary":"The killer names his friend and accuses the intruder, who accuses him back; the sergeant seems to side with the killer.","predicament":"Someone falsely accused points to the real culprit, who must hold his nerve and keep up his story."},
{"chunk":78,"story":5,"summary":"The sergeant takes the pistol, handcuffs the killer without warning, and sends for a doctor, since the victim is not dead.","predicament":"A man who thought he had got away with it learns the one witness who could hang him is still alive."},
{"chunk":79,"story":5,"summary":"The dying partner opens his eyes and speaks; the sergeant takes notes and leads the killer away.","predicament":"A man whose deceit has collapsed can only watch as the truth comes out and he is taken away."}
]
@@ -0,0 +1,86 @@
[
{
"chunk": 80,
"story": 6,
"summary": "A ragged stranger swaggers into the best inn in a small town, bullies the waiter who tries to turn him out, and demands to see the landlord.",
"predicament": "A penniless newcomer forces his way into a place he does not belong, counting on a secret to back him."
},
{
"chunk": 81,
"story": 6,
"summary": "The stranger greets the landlord by another name, a wanted pirate's, and demands clothes, lodging and money in return for silence.",
"predicament": "A man who has built a respectable new life is found by an old associate who threatens to expose his past."
},
{
"chunk": 82,
"story": 6,
"summary": "The landlord gives him money; the blackmailer draws a pistol, declares he will take half of everything from now on, and settles in.",
"predicament": "A man pays off a blackmailer and learns the price will be half of everything, for good."
},
{
"chunk": 83,
"story": 6,
"summary": "The landlord says he has lived honestly for fifteen years and warns the man not to wake the devil in him; the blackmailer meets the landlord's stepdaughter and says he will stay.",
"predicament": "A reformed man warns a blackmailer not to push him too far, while the blackmailer sets his sights on the man's family."
},
{
"chunk": 84,
"story": 6,
"summary": "The blackmailer orders the best supper and room, and sleeps with his door barricaded and a pistol under his pillow.",
"predicament": "A man who has seized power over another knows the danger he is in, and guards himself even as he gloats."
},
{
"chunk": 85,
"story": 6,
"summary": "He pushes in at the family breakfast table, eyes the stepdaughter, hints at the landlord's past before her, and goes out to buy new clothes.",
"predicament": "A household must make polite space for someone who holds them hostage."
},
{
"chunk": 86,
"story": 6,
"summary": "Within a month the blackmailer runs the inn; the landlord, failing in health, backs him in sacking a loyal old servant, and his daughter demands to know who is master.",
"predicament": "Someone watches a person she trusts give way at every turn to an intruder, and demands that he stand up for himself."
},
{
"chunk": 87,
"story": 6,
"summary": "The landlord sides with the blackmailer, who threatens to ruin the girl and have the landlord hanged; the landlord pleads for peace.",
"predicament": "A man who is being blackmailed hears his tormentor threaten someone he loves, and must choose between swallowing it and hitting back."
},
{
"chunk": 88,
"story": 6,
"summary": "The inn decays under the blackmailer's rule; the landlord collapses with a fit, which upsets the blackmailer's plans.",
"predicament": "A blackmailer's hold depends on his victim's life, and that victim suddenly collapses."
},
{
"chunk": 89,
"story": 6,
"summary": "The landlord lies dying, anxious to please the blackmailer, while his daughter nurses him; the blackmailer resolves to get the hidden money before he dies.",
"predicament": "A blackmailer whose victim is dying must grab what he can before his hold disappears."
},
{
"chunk": 90,
"story": 6,
"summary": "The blackmailer threatens to inform; the dying man begs for time and promises to reveal his money that night if his daughter gets a share.",
"predicament": "A dying man pressed by his tormentor bargains for time and for provision for someone he loves."
},
{
"chunk": 91,
"story": 6,
"summary": "At night the blackmailer drugs the nurse and demands the money; the landlord extracts his promise about the daughter.",
"predicament": "A man who thinks his helpless victim is at his mercy leans in close to hear the secret."
},
{
"chunk": 92,
"story": 6,
"summary": "The 'dying' landlord seizes and strangles him, revealing he has been shamming weakness and planning to blame the killing on the blackmailer's own followers.",
"predicament": "A man who pretended to be helpless strikes at the tormentor who threatened his family."
},
{
"chunk": 93,
"story": 6,
"summary": "He stages the scene as a robbery and returns to bed as the drugged nurse unwittingly provides his alibi.",
"predicament": "A man who has done a desperate thing arranges things so that suspicion falls elsewhere."
}
]
@@ -0,0 +1,18 @@
[
{"chunk":94,"story":7,"summary":"An old villager chats with a travelling painter repainting the inn sign, which had been mistaken for a portrait of a king.","predicament":"A craftsman told his work looks like something else quietly fixes it before anyone else notices."},
{"chunk":95,"story":7,"summary":"The painter shares his beer, and the old man begins the tale of a travelling circus that stopped in the village.","predicament":"An old man looking for a free drink offers a story in exchange."},
{"chunk":96,"story":7,"summary":"News comes that the circus tiger has escaped nearby; a tramp comes running to the inn shouting that the tiger is after him, and the drinkers rush indoors.","predicament":"People who laughed at a distant danger panic when it seems to have arrived on their doorstep."},
{"chunk":97,"story":7,"summary":"The landlord bars the door against the tramp; a man knocks the landlord down to get out to protect the families, and the tramp gets in.","predicament":"Someone must choose between keeping himself safe behind a barred door and letting in a stranger in danger."},
{"chunk":98,"story":7,"summary":"The tramp, revived with free brandy, tells a vivid tale of fleeing the tiger, and the men are afraid to go home.","predicament":"A stranger with a thrilling tale of danger is rewarded by a frightened crowd without anyone checking it."},
{"chunk":99,"story":7,"summary":"The men sleep at the inn; the tramp is gone by morning; the village lives in fear, though the local rogue laughs at the whole thing.","predicament":"A community living in fear of an unseen threat ignores the one doubter, because he has a bad name."},
{"chunk":100,"story":7,"summary":"A villager's hens are taken; he carries the evidence to the constable in the next village, who shoves him away as drunk.","predicament":"A man who has suffered a loss goes to the authorities for help and is brushed off as a nuisance."},
{"chunk":101,"story":7,"summary":"Pigs vanish night after night; the authorities do nothing, and neighbours squabble over whether to take animals indoors.","predicament":"A community suffering repeated losses cannot get help, and cannot agree how to protect itself."},
{"chunk":102,"story":7,"summary":"Children claim sightings, and a villager staggers in describing how the tiger chased him up a tree.","predicament":"A man tells a dramatic story of narrow escape to an audience eager to believe it."},
{"chunk":103,"story":7,"summary":"When one man questions the story, the rogue 'confirms' it, claiming he watched from another tree; the storyteller, caught out, goes home silent.","predicament":"A man caught in a boastful lie is 'backed up' by a rival, who now has him trapped by it."},
{"chunk":104,"story":7,"summary":"The neighbouring town and the clergyman say there was no tiger; after more losses a former militiaman raises a band of seventeen to hunt it.","predicament":"People told their fears are nonsense by outsiders decide to take matters into their own hands."},
{"chunk":105,"story":7,"summary":"The hunt searches the wood timidly and finds nothing; back at the inn, an old man reports the tiger has just gone into the rogue's cottage.","predicament":"A band that set out to face a danger returns relieved to have found nothing, and is then called to face it for real."},
{"chunk":106,"story":7,"summary":"The armed men crowd into the rogue's cottage, pushing him ahead of them, despite his protests.","predicament":"A man with something to hide has an armed crowd force its way into his home."},
{"chunk":107,"story":7,"summary":"His kitchen is full of pork and poultry; accused of theft, he brazenly claims to have gone into the meat trade.","predicament":"A man caught with the evidence of his thefts brazens it out and dares his accusers to prove anything."},
{"chunk":108,"story":7,"summary":"He turns their own tiger sightings against them: those who swore they saw it would have to repeat it on oath.","predicament":"A man accused of wrongdoing turns his accusers' own exaggerations into his defence."},
{"chunk":109,"story":7,"summary":"He claims to have receipts, offers to sell them the meat, and gets away with it; he and the tramp turn out to have known each other.","predicament":"People who know they were swindled cannot prove it, and must watch the swindler profit."}
]
@@ -0,0 +1,14 @@
[
{"chunk":110,"story":8,"summary":"A retired officer, dressed with great care, sets out on a hot afternoon and overtakes a friend who stares uneasily at his loud tie.","predicament":"A man nervously setting out to do something that matters to him is stopped by a friend with questions."},
{"chunk":111,"story":8,"summary":"The officer confides he is going to propose to a widow; his friend, equally dressed up, says he is on the same errand, and the two race along the road.","predicament":"A man discovers a friend is after the same person he is, on the same day, and each races to get there first."},
{"chunk":112,"story":8,"summary":"Followed by jeering boys, they stop and agree they cannot propose together, but neither will yield the day, each pleading an excuse.","predicament":"Two rivals agree someone must go first, and neither will be the one to wait."},
{"chunk":113,"story":8,"summary":"Each claims precedence; the officer vows that if they go together he will match any proposal on the spot, and refuses to be put off.","predicament":"Two rivals for the same prize trade claims of priority, and each suspects the other of a trick."},
{"chunk":114,"story":8,"summary":"The officer proposes they play one game of chess for the right to propose first; the friend agrees, on condition that if the winner is refused, the loser may not propose without his permission.","predicament":"Two rivals agree to settle who goes first by a game, and one slips in a condition the other does not examine."},
{"chunk":115,"story":8,"summary":"The officer offers his rival a large brandy, which the rival sets aside; after a long game the rival checkmates him with a bishop the officer had forgotten.","predicament":"A man who tried to tip a contest in his favour loses it through his own oversight."},
{"chunk":116,"story":8,"summary":"The winner tidies himself in the loser's house and goes off to propose; the loser waits up all night and next morning goes to hear the result.","predicament":"A man who lost the right to try first must wait while his rival takes his chance."},
{"chunk":117,"story":8,"summary":"The rival was refused, but holds the officer to the condition and plans to keep proposing until the widow accepts him.","predicament":"A man finds the rival he lost to has been refused, but can still use the terms of their bargain to keep him out."},
{"chunk":118,"story":8,"summary":"The rival says he will warn the widow off the officer, suggests the officer court her companion instead, and the officer storms out and sulks for weeks.","predicament":"A man bound by a promise he made watches a rival use it to keep him from what he wants."},
{"chunk":119,"story":8,"summary":"Meeting the widow by chance, the officer confesses the chess game to explain his absence; she is indignant, then laughs.","predicament":"A man who has been avoiding someone he cares for must explain why, and the only honest answer is embarrassing."},
{"chunk":120,"story":8,"summary":"She says she is angry with him for losing, and proposes a plan so that he can win at cards what he lost at chess, under the rival's eyes.","predicament":"A man bound by a rash promise finds the person he hoped to win is willing to help him get round it."},
{"chunk":121,"story":8,"summary":"Playing cards, the widow asks the officer if he would like her hand; he takes it and kisses it, she 'meant the cards', then lets him keep it, and the rival is left fuming.","predicament":"Someone arranges to accept the suitor she prefers in a way his rival cannot object to."}
]
@@ -0,0 +1,15 @@
[
{"chunk":122,"story":9,"summary":"A man wakes up thirsty in a cramped, reeking bunk, with a stranger's face swearing at him, and cannot tell where he is.","predicament":"A man wakes up somewhere strange with no idea how he got there."},
{"chunk":123,"story":9,"summary":"He realises he is on a ship, dressed in rags; he finds his friend among the sleepers and learns the ship's name.","predicament":"A man in an unknown place looks for his one companion and a first clue to how they came to be there."},
{"chunk":124,"story":9,"summary":"Seasick and far from land, he goes aft and demands to be taken home; the officer calls him mad and orders him forward.","predicament":"A man who has always been obeyed tries to give orders somewhere nobody knows or believes who he is."},
{"chunk":125,"story":9,"summary":"His friend tries to threaten legal consequences but is too sick to finish; the two bicker over which of them was drunk.","predicament":"Two people in trouble together try to put on a united front and end up blaming each other."},
{"chunk":126,"story":9,"summary":"The captain says they signed on as cook and seaman, calls them drunk impostors, and threatens jail; they are put to work.","predicament":"Two people who claim to be respected professionals are treated as impostors and forced to do menial work."},
{"chunk":127,"story":9,"summary":"The crew mocks their claims of being drugged and of sobriety; their airs make the officers dislike them all the more.","predicament":"People brought low insist on their old status, and are mocked for it by those around them."},
{"chunk":128,"story":9,"summary":"The captain humiliates the cook; the cook obeys, tidies the cabin, and comes back with a secret smile and something in his pocket, telling his friend it won't be for long.","predicament":"A humiliated man pretends to submit while he quietly prepares his revenge."},
{"chunk":129,"story":9,"summary":"The captain is struck with violent pains; the cook refuses to treat him, as he 'only shipped as cook', until he agrees to pay a professional fee.","predicament":"A man mocked for claiming skill is suddenly needed for it, and names his price."},
{"chunk":130,"story":9,"summary":"The cook prescribes, collects his fee, scares the captain about making a will, and has the mate sent out for snuffling.","predicament":"A man who has gained the upper hand over those who humiliated him enjoys every moment of it."},
{"chunk":131,"story":9,"summary":"The cook hints he dosed the food from the medicine chest; the mate falls ill too, and the cook demands to be treated as surgeon.","predicament":"A man who has secretly caused the trouble only he can cure makes the most of it."},
{"chunk":132,"story":9,"summary":"The mate haggles over the fee; the second officer falls ill too; the sick captain scolds the sick mate for being ill at all.","predicament":"A man who swore he would never pay the person he scorned is forced by suffering to haggle with him."},
{"chunk":133,"story":9,"summary":"The cook treats and weakens all three officers; the captain and mate pay the other man to draw up their wills; they recover slowly as they reach port.","predicament":"People who scorned two outsiders now depend on them completely, and pay for the privilege."},
{"chunk":134,"story":9,"summary":"Ashore, the cook tells the captain he ate something that disagreed with him, and leaves with a wave.","predicament":"A man who got even with his tormentors leaves them knowing they were had."}
]
@@ -0,0 +1,15 @@
[
{"chunk":135,"story":10,"summary":"At a crowded family breakfast, a poor widow living with her sister's family gets a letter and reads it so slowly that the others nearly burst with impatience.","predicament":"Someone given news that might change their life cannot take it in, while the people around them itch to know."},
{"chunk":136,"story":10,"summary":"The widow fears the letter is a hoax; her brother-in-law thinks so too, until her sister reads it and rejoices.","predicament":"Someone who has never had luck is told of a windfall and is afraid to believe it."},
{"chunk":137,"story":10,"summary":"The widow has inherited two thousand pounds from a former employer; the brother-in-law grumbles that nobody ever left him anything, and spreads the news through the town.","predicament":"A man sees a relative come into money and resents that luck never comes his way."},
{"chunk":138,"story":10,"summary":"Local men suddenly befriend the brother-in-law; his wife points out that two old dealers are courting the heiress for her money.","predicament":"A man flattered by new friends is told they are really after a relative's money."},
{"chunk":139,"story":10,"summary":"The brother-in-law watches the two suitors flatter the widow and tries to undercut them by announcing her age, nearly giving away his wife's.","predicament":"A man trying to expose flattering suitors trips over his own family's sensibilities."},
{"chunk":140,"story":10,"summary":"The suitors outbid each other with compliments; the wife's temper frays, and the visitors are shown out with the door shut hard.","predicament":"Two rivals courting the same person keep topping each other's compliments while the family grows fed up."},
{"chunk":141,"story":10,"summary":"The family, wanting to keep the money, fail to warn the widow; the slow dealer, losing ground to his glib rival, hatches a plan and enlists a small-time dealer.","predicament":"A slow-talking man losing a contest to a glib rival looks for a trick instead of better words."},
{"chunk":142,"story":10,"summary":"The dealer bribes an accomplice, who holds out for a bigger fee, to tell the rival in confidence that the widow has lost her fortune; the rival swallows it.","predicament":"A man hires someone to spread a false rumour that will drive off his rival, and the hireling drives a hard bargain."},
{"chunk":143,"story":10,"summary":"With the rival gone, the dealer courts the widow alone, preaching the virtues of poverty, and loses seven games of draughts to her on purpose.","predicament":"A man courting for money pretends not to care about it and flatters the one he courts by letting her win."},
{"chunk":144,"story":10,"summary":"He blows her kisses and fusses over a bumped head, invites himself back, and walks home sure the money is his.","predicament":"A schemer who thinks his deal is done walks away gloating too soon."},
{"chunk":145,"story":10,"summary":"He spreads the rumour of her ruin through the town, then proposes publicly 'now that she is poor', to look noble.","predicament":"A man makes a public show of selfless devotion, sure that it will cost him nothing."},
{"chunk":146,"story":10,"summary":"She accepts; the family, touched, apologise for misjudging him, then mention a letter that arrived.","predicament":"A schemer whose plan has worked is thanked for his goodness while the ground starts to shift under him."},
{"chunk":147,"story":10,"summary":"The lawyers' letter says a later will was found and she has nothing; the dealer, now engaged to a poor woman, is left alone with her to court.","predicament":"A man who faked a disaster to win a prize learns the disaster is real, and he is bound to his promise."}
]
@@ -0,0 +1,56 @@
[
{
"chunk": 148,
"story": 11,
"summary": "In an inn, men trade ghost stories; a sceptical old sailor mocks sailors' visions, then admits one uncanny experience on land.",
"predicament": "A sceptic among believers is pressed to admit whether he has ever seen anything he could not explain."
},
{
"chunk": 149,
"story": 11,
"summary": "As a young man back from abroad, the narrator found his relatives away, took lodgings at a dull inn, and set out on a long country walk.",
"predicament": "A young man who arrived to find no one expecting him has to fill empty days in a strange place."
},
{
"chunk": 150,
"story": 11,
"summary": "He loses his way in the marshes as fog and night come down, and at last finds a road and hears footsteps.",
"predicament": "A traveller lost in the dark and the cold must find shelter before night closes in."
},
{
"chunk": 151,
"story": 11,
"summary": "A countryman sets him on the road but warns him away from a lit house nearby, said to hide something monstrous; tired, he goes to it anyway.",
"predicament": "A worn-out traveller must choose between a long walk on and a nearby shelter he has been warned against."
},
{
"chunk": 152,
"story": 11,
"summary": "A grim old woman and a huge old man answer; after a furtive exchange the man insists he stay for dinner, and he feels trapped.",
"predicament": "A stranger taken in by odd hosts who seem keen to keep him wonders whether he has walked into a trap."
},
{
"chunk": 153,
"story": 11,
"summary": "The host says his son will dine with them in the dark because of his eyes; he puts out the candles, and a strange voice speaks.",
"predicament": "A guest must sit down in the dark with someone he cannot see, on hosts' terms he does not understand."
},
{
"chunk": 154,
"story": 11,
"summary": "The host leaves him alone with the unseen son, and the guest thinks he sees wild eyes shining at him across the table.",
"predicament": "A guest left alone with a stranger he cannot see grows afraid, and must decide whether to trust his hosts."
},
{
"chunk": 155,
"story": 11,
"summary": "The screen falls, and firelight shows the son's ruined face; the father lights the candles and explains his son was disfigured in a fire.",
"predicament": "A frightened man sees what he feared, and learns it is someone who was hurt and ashamed to be seen."
},
{
"chunk": 156,
"story": 11,
"summary": "The guest apologises warmly; they celebrate the son's birthday until midnight, and the father toasts the children his son saved.",
"predicament": "A man who shrank from someone must make amends, and finds they deserve his respect."
}
]
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""Assemble records.json and groups.json from batches/ and groups_src.py, and check them."""
import collections, glob, json, pathlib
from groups_src import G, STANDING
here = pathlib.Path(__file__).parent
chunks = json.loads((here.parent / 'chunks.json').read_text())
stories = json.loads((here.parent / 'stories.json').read_text())
recs = [r for f in sorted(glob.glob(str(here / 'batches/s*.json'))) for r in json.loads(open(f).read())]
assert [r['chunk'] for r in recs] == list(range(len(chunks))), 'every scene, once, in order'
assert all(chunks[r['chunk']]['story'] == r['story'] for r in recs)
seen = collections.Counter(m for g in G for m in g['members'])
dup = [m for m, n in seen.items() if n > 1]
assert not dup, f'scenes in two groups: {dup}'
by = {r['chunk']: r for r in recs}
out = []
for g in G:
assert 3 <= len(g['options']) <= 5, g['id']
st = sorted({by[m]['story'] for m in g['members']})
stand = collections.Counter(STANDING[by[m]['story']] for m in g['members'])
out.append({
'id': g['id'], 'name': g['name'], 'predicament': g['predicament'],
'sentence': f"A {g['actor']} wants {g['wants']} from {g['counterpart']}.",
'actor': g['actor'], 'wants': g['wants'], 'counterpart': g['counterpart'],
'stories': st, 'story_titles': [stories[s]['title'] for s in st],
'standing': dict(stand), 'stage': stand.most_common(1)[0][0],
'members': [{'chunk': m, 'story': by[m]['story'], 'predicament': by[m]['predicament']} for m in g['members']],
'options': [{'text': t, 'source': s, 'moves': mv,
'in_group': (int(s.split(':')[1]) in g['members']) if s.startswith('scene:') else None}
for t, s, mv in g['options']],
})
unassigned = [r['chunk'] for r in recs if r['chunk'] not in seen]
(here / 'records.json').write_text(json.dumps(recs, indent=1, ensure_ascii=False))
(here / 'groups.json').write_text(json.dumps({'groups': out, 'unassigned': unassigned}, indent=1, ensure_ascii=False))
multi = sum(len(g['stories']) >= 2 for g in out)
print(f'{len(recs)} scenes, {len(out)} groups ({multi} span 2+ stories), '
f'{sum(seen.values())} assigned, {len(unassigned)} unassigned: {unassigned}')
for g in out:
print(f"{g['id']} {len(g['members']):2} scenes {len(g['stories'])} stories stage {g['stage']:6} {g['name']}")
src = collections.Counter(o['source'].split(':')[0] for g in out for o in g['options'])
print('option sources:', dict(src), '| scene options citing a scene outside their group:',
sum(o['in_group'] is False for g in out for o in g['options']))
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,192 @@
"""Hand-built reference grouping of the Jacobs predicaments (Claude-written, no local inference).
Each scene is in at most one group; scenes that fit no recurring situation stay unassigned.
Options follow DESIGN.md: 3-5 per group, each marked by where it came from --
'archetype' a fixed, setting-free option
'scene:N' what someone in scene N actually did (or refused to do)
'filled' written to fill a gap the scenes leave
`moves` names spine paths and a direction only (+ / - / risk). No magnitudes: the model never
chooses a number. Skill labels proposed for this corpus: nerve, cunning.
"""
G = [
dict(id='G01', name='Someone who knows your past names a price',
predicament='Someone who knows what you did wants paying to keep quiet, and you have a life to lose.',
actor='respectable person', wants='silence', counterpart='someone who knows their past',
members=[43, 67, 68, 81, 82, 83, 87, 90],
options=[
('Pay what they ask.', 'scene:82', {'money':'-', 'standing':'+', 'relationships.blackmailer':'+'}),
('Refuse, and dare them to tell.', 'scene:43', {'nerve':'+', 'standing':'risk'}),
('Seem to give in, and wait for your moment.', 'scene:87', {'cunning':'+', 'relationships.family':'-'}),
('Try to take the evidence off them by force.', 'scene:43', {'nerve':'+', 'flags.violent':'set', 'standing':'risk'}),
('Tell the truth yourself before they can.', 'filled', {'standing':'-', 'relationships.blackmailer':'-'})]),
dict(id='G02', name='Hiding something from someone close who keeps getting near it',
predicament='You are hiding something, and someone you care for keeps innocently coming close to it.',
actor='person with a secret', wants='to keep it hidden', counterpart='someone close to them',
members=[7, 8, 45, 46, 47, 48, 49, 50, 51, 52],
options=[
('Change the subject and steer them away.', 'scene:47', {'cunning':'+', 'relationships.close':'-'}),
('Keep your face still and say nothing.', 'archetype', {'nerve':'+'}),
('Promise to deal with it yourself, alone.', 'scene:49', {'nerve':'+', 'flags.secret_kept':'set'}),
('Tell them the truth.', 'filled', {'relationships.close':'risk', 'standing':'-'})]),
dict(id='G03', name='Someone innocent is taking the blame for what you did',
predicament='Suspicion has fallen on someone else for what you did, and you could let it stay there.',
actor='person at fault', wants='to escape blame', counterpart='an innocent suspect',
members=[10, 44, 59, 74, 75, 76, 77, 93],
options=[
('Own up.', 'scene:10', {'standing':'-', 'relationships.suspect':'+'}),
('Say nothing and let it pass.', 'archetype', {'relationships.suspect':'-', 'flags.guilty_secret':'set'}),
('Quietly steer suspicion away from them without confessing.', 'scene:60', {'cunning':'+'}),
('Point at them outright.', 'scene:75', {'standing':'+', 'relationships.suspect':'-', 'flags.guilty_secret':'set'})]),
dict(id='G04', name='A rival is after the same person',
predicament='Someone else wants the person you want, and only one of you can have them.',
actor='suitor', wants='the person they are courting', counterpart='a rival',
members=[4, 5, 111, 112, 113, 116, 117, 118, 140, 141, 142],
options=[
('Race them to it.', 'scene:111', {'nerve':'+', 'relationships.rival':'-'}),
('Settle it between you by a game or a bargain.', 'scene:114', {'relationships.rival':'+', 'standing':'risk'}),
('Put the rival in a bad light.', 'scene:142', {'cunning':'+', 'relationships.rival':'-', 'money':'-'}),
('Outdo their compliments.', 'scene:140', {'relationships.courted':'+'}),
('Step aside.', 'archetype', {'relationships.rival':'+', 'relationships.courted':'-'})]),
dict(id='G05', name='A deal you could tip in your favour',
predicament='You want something from someone and could quietly tip the deal your way.',
actor='bargainer', wants='the better end of a deal', counterpart='the other party',
members=[35, 36, 114, 115, 143],
options=[
('Deal straight.', 'archetype', {'standing':'+'}),
('Hide why you want it and haggle.', 'scene:36', {'cunning':'+', 'money':'-'}),
('Butter them up first: let them win, fill their glass.', 'scene:143', {'cunning':'+', 'relationships.other':'+'}),
('Slip in a condition they will not notice.', 'scene:114', {'cunning':'+', 'relationships.other':'risk'})]),
dict(id='G06', name='Partners who do not trust each other over a shared prize',
predicament='You and a partner are after the same prize, and neither of you trusts the other.',
actor='partner', wants='their share, or all of it', counterpart='their partner',
members=[30, 33, 34, 37, 38, 125],
options=[
('Split it fairly and keep your word.', 'archetype', {'relationships.partner':'+', 'money':'+'}),
('Cut your partner out.', 'scene:37', {'cunning':'+', 'money':'risk', 'relationships.partner':'-'}),
('Keep your partner where you can see them.', 'scene:38', {'nerve':'+'}),
('Threaten to tell unless they cut you in.', 'scene:29', {'money':'+', 'relationships.partner':'-'})]),
dict(id='G07', name='People are after your money',
predicament='You have money, or people think you do, and everyone around you suddenly wants a piece.',
actor='person with money', wants='to keep it', counterpart='people courting it',
members=[27, 28, 32, 138, 139],
options=[
('Enjoy the attention while it lasts.', 'scene:138', {'relationships.flatterer':'+', 'money':'risk'}),
('Tell them plainly what you think they are after.', 'filled', {'nerve':'+', 'relationships.flatterer':'-'}),
('Make sure nobody gets it.', 'scene:28', {'money':'+', 'standing':'-'}),
('Deny you have anything.', 'scene:32', {'cunning':'+'})]),
dict(id='G08', name='A windfall with a catch',
predicament='Something could change your fortunes overnight, and you are not sure what it will cost.',
actor='person of small means', wants='a change of fortune', counterpart='whoever offers it',
members=[16, 17, 18, 20, 22, 135, 136, 137],
options=[
('Try it and see.', 'scene:18', {'money':'+', 'flags.tempted_fate':'set'}),
('Throw it away.', 'scene:17', {'nerve':'+'}),
('Ask someone who knows before you decide.', 'scene:16', {'relationships.adviser':'+'}),
('Keep it quiet until you are sure.', 'filled', {'cunning':'+'})]),
dict(id='G09', name='Your scheme turns on you',
predicament='A plan you were sure of is coming apart, and the people you meant to fool are watching.',
actor='schemer', wants='to come out ahead', counterpart='the people they tried to fool',
members=[12, 39, 40, 54, 78, 79, 88, 91, 144, 145, 146, 147],
options=[
('Keep smiling and take your loss.', 'scene:40', {'standing':'-', 'nerve':'+'}),
('Brazen it out.', 'scene:107', {'nerve':'+', 'standing':'risk'}),
('Double down on the plan.', 'scene:145', {'cunning':'+', 'money':'risk'}),
('Own up and ask for mercy.', 'filled', {'standing':'-', 'relationships.fooled':'+'})]),
dict(id='G10', name='Treated with contempt by those over you',
predicament='People with power over you treat you with contempt, and you want to turn the tables.',
actor='person brought low', wants='respect, or revenge', counterpart='those in charge',
members=[64, 92, 124, 126, 127, 128, 129, 130, 131, 133, 134],
options=[
('Swallow it and do as you are told.', 'scene:128', {'relationships.authority':'+', 'standing':'-'}),
('Insist on who you really are.', 'scene:124', {'standing':'risk', 'relationships.authority':'-'}),
('Wait until they need you, then name your price.', 'scene:129', {'money':'+', 'cunning':'+'}),
('Get even quietly.', 'scene:131', {'cunning':'+', 'relationships.authority':'-', 'flags.revenge':'set'})]),
dict(id='G11', name='Someone unwelcome has settled into your home',
predicament='Someone you do not want has settled into your home, and you cannot seem to make them go.',
actor='householder', wants='them gone', counterpart='an unwelcome guest',
members=[2, 63, 85, 86],
options=[
('Tell them to go.', 'filled', {'nerve':'+', 'relationships.guest':'-'}),
('Put up with it.', 'scene:85', {'relationships.household':'-'}),
('Arrange for them to disgrace themselves.', 'scene:63', {'cunning':'+', 'relationships.guest':'-'}),
('Stand up for the people they are hurting.', 'scene:86', {'relationships.household':'+', 'nerve':'+'})]),
dict(id='G12', name='Something may be waiting in the dark',
predicament='Something frightening may be close by in the dark, and you must decide whether to face it.',
actor='frightened person', wants='to be safe', counterpart='whatever is out there',
members=[19, 25, 26, 73, 96, 97, 99, 151, 152, 153, 154, 155],
options=[
('Open the door and look.', 'scene:155', {'nerve':'+', 'flags.faced_fear':'set'}),
('Bar the door and stay put.', 'scene:97', {'nerve':'-'}),
('Go on through the dark anyway.', 'scene:151', {'nerve':'+', 'standing':'risk'}),
('Laugh it off in front of the others.', 'scene:19', {'standing':'+'})]),
dict(id='G13', name='Pressed to do something you believe is wrong',
predicament='Someone is pressing you to do something you believe is wrong or dangerous.',
actor='reluctant person', wants='to do right without losing them', counterpart='the one pressing',
members=[23, 24, 29, 62, 69],
options=[
('Refuse flatly.', 'scene:62', {'nerve':'+', 'relationships.presser':'-'}),
('Do it, to keep the peace.', 'scene:24', {'relationships.presser':'+', 'flags.did_wrong':'set'}),
('Go along, for a share.', 'scene:29', {'money':'+', 'flags.did_wrong':'set'}),
('Agree, then quietly undo it.', 'scene:26', {'cunning':'+', 'relationships.presser':'risk'})]),
dict(id='G14', name='A story nobody can check',
predicament='You have a story to tell that nobody can check, and people are ready to believe it.',
actor='storyteller', wants='to be believed', counterpart='a listening crowd',
members=[95, 98, 102, 103, 148],
options=[
('Tell it big.', 'scene:102', {'standing':'+', 'flags.tall_tale':'set'}),
('Tell it straight.', 'archetype', {'standing':'+'}),
('Get someone to vouch for you.', 'scene:103', {'relationships.voucher':'risk'}),
('Say you have seen nothing worth telling.', 'scene:148', {'nerve':'+'})]),
dict(id='G15', name='Caught where you should not be',
predicament='You have been caught where you should not be, and need an explanation right now.',
actor='person caught out', wants='to get away with it', counterpart='whoever caught them',
members=[9, 14, 58, 60, 65, 66, 106, 107, 108, 119],
options=[
('Brazen it out.', 'scene:107', {'nerve':'+', 'standing':'risk'}),
('Take the embarrassing explanation you are offered.', 'scene:66', {'standing':'-', 'relationships.catcher':'+'}),
('Tell the plain truth.', 'scene:119', {'standing':'-', 'relationships.catcher':'+'}),
('Say nothing and slip away.', 'archetype', {'relationships.catcher':'-'})]),
dict(id='G16', name='Blamed at home',
predicament='Someone at home holds you responsible for trouble you think is not your fault.',
actor='person being blamed', wants='peace at home', counterpart='the one blaming them',
members=[0, 1, 3, 55, 57],
options=[
('Put it on someone else.', 'scene:9', {'relationships.spouse':'+', 'relationships.other':'-'}),
('Keep your head down until it blows over.', 'archetype', {'relationships.spouse':'-'}),
('Speak up for yourself.', 'scene:57', {'nerve':'+', 'relationships.spouse':'risk'}),
('Smooth it over with a peace offering.', 'filled', {'money':'-', 'relationships.spouse':'+'})]),
dict(id='G17', name='You are sure who did it and cannot prove it',
predicament='You are sure who wronged you, and you cannot prove it.',
actor='wronged person', wants='what was taken, or justice', counterpart='the suspect',
members=[31, 56, 61, 100, 109],
options=[
('Search them.', 'scene:31', {'relationships.suspect':'-', 'standing':'risk'}),
('Accuse them openly.', 'scene:56', {'nerve':'+', 'relationships.suspect':'-'}),
('Set a trap.', 'scene:61', {'cunning':'+'}),
('Take it to the authorities.', 'scene:100', {'relationships.authority':'risk'}),
('Let it drop.', 'archetype', {'money':'-', 'standing':'-'})]),
dict(id='G18', name='Lost, far from anything you know',
predicament='You find yourself lost, far from anyone you know, and must get your bearings.',
actor='stranded person', wants='to get back', counterpart='whoever is nearby',
members=[122, 123, 149, 150],
options=[
('Ask the first person you meet for help.', 'scene:151', {'relationships.stranger':'+'}),
('Find your companion and make a plan together.', 'scene:123', {'relationships.companion':'+'}),
('Push on alone.', 'scene:150', {'nerve':'+', 'standing':'risk'}),
('Demand to be taken back at once.', 'scene:124', {'standing':'risk', 'relationships.authority':'-'})]),
dict(id='G19', name='Making amends',
predicament='You have wronged someone, and want them to forgive you.',
actor='person in the wrong', wants='forgiveness', counterpart='the person they wronged',
members=[11, 13, 156],
options=[
('Apologise plainly.', 'scene:156', {'relationships.wronged':'+'}),
('Make a grand gesture.', 'scene:11', {'nerve':'+', 'relationships.wronged':'risk'}),
('Pay for the damage.', 'filled', {'money':'-', 'relationships.wronged':'+'}),
('Leave it and hope it is forgotten.', 'archetype', {'relationships.wronged':'-'})]),
]
# Protagonist standing by story, for stage assignment (DESIGN.md "Stages"). Per story, not per
# scene: a coarse first cut, and the one place this grouping uses a judgement not in the text.
STANDING = {0:'middle', 1:'middle', 2:'low', 3:'high', 4:'middle', 5:'high', 6:'middle',
7:'low', 8:'high', 9:'low', 10:'low', 11:'middle'}
# Story 9's professionals are treated as crew for the whole voyage, so they rank low.
@@ -0,0 +1,49 @@
#!/usr/bin/env python3
"""Render groups.json + records.json as one self-contained page: REFERENCE.html."""
import html, json, pathlib
here = pathlib.Path(__file__).parent
d = json.loads((here / 'groups.json').read_text())
recs = {r['chunk']: r for r in json.loads((here / 'records.json').read_text())}
stories = json.loads((here.parent / 'stories.json').read_text())
e = html.escape
SRC = {'archetype': 'archetype', 'filled': 'filled gap'}
def src(o):
if o['source'].startswith('scene:'):
n = o['source'].split(':')[1]
return f'from scene {n}' + ('' if o['in_group'] else ' <span class="warn">(outside this group)</span>')
return SRC[o['source']]
def moves(m): return ' '.join(f'<code>{e(k)} {e(v)}</code>' for k, v in m.items())
def scene(c):
r = recs[c]
return (f'<details><summary><b>{c}</b> · <i>{e(stories[r["story"]]["title"])}</i> — {e(r["predicament"])}</summary>'
f'<p class="sum">{e(r["summary"])}</p></details>')
out = []
for g in d['groups']:
out.append(f'''<section><h2>{g["id"]} · {e(g["name"])}</h2>
<p class="pred">{e(g["predicament"])}</p>
<p class="meta">{e(g["sentence"])} · {len(g["members"])} scenes from {len(g["stories"])} stories
({e(", ".join(g["story_titles"]))}) · stage <b>{g["stage"]}</b></p>
<h3>Options</h3><ol>{"".join(f"<li>{e(o['text'])} <span class='src'>{src(o)}</span><br>{moves(o['moves'])}</li>" for o in g["options"])}</ol>
<h3>Scenes</h3>{"".join(scene(m["chunk"]) for m in g["members"])}</section>''')
un = ''.join(scene(c) for c in d['unassigned'])
page = f'''<!doctype html><html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1"><title>Jacobs Reference Groups</title>
<style>
:root{{--bg:#fbfaf7;--fg:#1d1d1b;--mute:#6b6760;--line:#e2ded6;--acc:#2f5d8a;--warn:#a4481c}}
@media (prefers-color-scheme:dark){{:root{{--bg:#191917;--fg:#e8e6e1;--mute:#a09c94;--line:#34332f;--acc:#8ab4dc;--warn:#e6915f}}}}
body{{background:var(--bg);color:var(--fg);font:16px/1.5 Georgia,serif;max-width:52rem;margin:0 auto;padding:1rem 16px 4rem}}
h1{{font-size:1.5rem}} h2{{font-size:1.15rem;margin:0 0 .3rem}} h3{{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:.9rem 0 .3rem}}
section{{border-top:1px solid var(--line);padding:1.2rem 0}} .pred{{font-size:1.05rem;margin:.2rem 0}}
.meta,.src,.sum{{color:var(--mute);font-size:.88rem}} .warn{{color:var(--warn)}}
code{{font:12px ui-monospace,monospace;border:1px solid var(--line);border-radius:3px;padding:0 .3em;margin-right:.2em}}
li{{margin:.35rem 0}} details{{margin:.2rem 0}} summary{{cursor:pointer}} .sum{{margin:.2rem 0 .5rem 1.2rem}}
</style></head><body>
<h1>The Lady of the Barge: reference groups</h1>
<p class="meta">W. W. Jacobs, 1902 (Standard Ebooks text). 12 stories, 157 scenes cut by the same rule as <code>chunk.py</code>.
Summaries, predicaments, groups and options written by Claude by reading every scene: no local inference.
A comparison baseline, not a pack. Option moves give a direction only, never a number.</p>
{"".join(out)}
<section><h2>Unassigned ({len(d["unassigned"])})</h2><p class="meta">Scenes that fit no situation recurring in two or more stories.</p>{un}</section>
</body></html>'''
(here / 'REFERENCE.html').write_text(page, encoding='utf-8')
print('wrote', here / 'REFERENCE.html', len(page), 'bytes')
@@ -0,0 +1,944 @@
[
{
"chunk": 0,
"story": 0,
"summary": "A skipper waiting up for his late-returning mate and brother-in-law has just lost a shouted argument with a neighbouring crew; the mate arrives and answers his rebuke with cheek.",
"predicament": "Someone waiting up for a relative who comes in late wants to reproach him, and gets cheek back."
},
{
"chunk": 1,
"story": 0,
"summary": "The mate tells the skipper he has invited his sweetheart on the voyage without asking; the skipper is appalled and asks what his wife will say.",
"predicament": "A man learns a relative has promised a stranger his hospitality without asking, and fears what his spouse will say."
},
{
"chunk": 2,
"story": 0,
"summary": "The skipper tries to refuse the young woman passage but cannot bring himself to say so, and ends up eating supper with the couple.",
"predicament": "A man who wants to turn an unwelcome guest away cannot find the nerve to say it."
},
{
"chunk": 3,
"story": 0,
"summary": "The girl balks at her cramped quarters but stays; the skipper warns that his wife will blame him, and the mate says his sister can mind her own business.",
"predicament": "A man who has let something happen under his roof fears his spouse will hold him responsible for it."
},
{
"chunk": 4,
"story": 0,
"summary": "The skipper insists on chaperoning the girl at meals himself, leaving the mate to steer and eat cold leftovers while she laughs at the skipper's stories.",
"predicament": "A young man who brought the person he is courting along is pushed aside by an older man who takes charge of her."
},
{
"chunk": 5,
"story": 0,
"summary": "Jealous, the mate hints at the skipper's wife, is mocked by the pair, is rude to the girl, and is sent away.",
"predicament": "A jealous suitor tries to put his rival in his place, and only makes himself look childish."
},
{
"chunk": 6,
"story": 0,
"summary": "The girl snubs the mate as 'only the mate'; he turns the tables by threatening to let the skipper explain her presence to his wife alone.",
"predicament": "A spurned man realises he holds something over the rival who humiliated him, and decides to use it."
},
{
"chunk": 7,
"story": 0,
"summary": "The mate refuses to back the skipper's story; the skipper hides the girl below as they arrive to find his wife waiting on the quay.",
"predicament": "A man hiding an innocent but compromising secret is met by his spouse, while the one person who could clear him refuses to."
},
{
"chunk": 8,
"story": 0,
"summary": "The mate pulls meaningful faces behind the skipper's back until the wife grows suspicious; the skipper invents a toothache and tries to steer her away.",
"predicament": "A man tries to hurry his spouse away from a secret while someone signals behind his back that something is up."
},
{
"chunk": 9,
"story": 0,
"summary": "The wife stamps her foot, the hidden girl appears, and the mate lets his brother-in-law take the blame while pretending to shield him.",
"predicament": "A man caught with an innocent secret is disowned by the one person who could explain it."
},
{
"chunk": 10,
"story": 0,
"summary": "The wife abuses the girl, knocks her purse into the water, and orders her off; the mate, now remorseful, takes responsibility and defends her.",
"predicament": "A man whose spite has got an innocent person abused must decide whether to own up and defend her."
},
{
"chunk": 11,
"story": 0,
"summary": "The mate dives repeatedly for the purse to win the girl back; she begs him to come out but refuses to make up.",
"predicament": "A man tries to win back someone he wronged with a dangerous public show of devotion."
},
{
"chunk": 12,
"story": 0,
"summary": "The mate fakes drowning; the skipper rescues him, sees him wink while the girl kisses him, and the wife boxes his ears.",
"predicament": "A man pretends to be in danger to win sympathy, and the one who saved him sees through it."
},
{
"chunk": 13,
"story": 0,
"summary": "The wife takes the girl home to breakfast, leaving both men soaked, while the skipper fends off the mate's apologies with a boathook.",
"predicament": "Two men who quarrelled over a woman are both left out in the cold by the women they wronged."
},
{
"chunk": 14,
"story": 1,
"summary": "An old man losing at chess to his son grumbles at the weather and their remote house while waiting for a guest, who arrives: an old friend back from long service abroad.",
"predicament": "A man losing a friendly contest tries to distract from his mistake, and is caught at it by his family."
},
{
"chunk": 15,
"story": 1,
"summary": "Warmed by whisky, the guest tells tales of distant lands; pressed by his host, he reluctantly produces a dried monkey's paw he calls magic.",
"predicament": "A guest who wants to leave a dangerous subject alone is coaxed by his hosts' curiosity into bringing it out."
},
{
"chunk": 16,
"story": 1,
"summary": "The guest explains the paw grants three men three wishes each, that he has had his, and that the last owner wished for death; asked if he would wish again, he wavers.",
"predicament": "Someone offered a thing that grants wishes is warned by the man who used it that it brings sorrow."
},
{
"chunk": 17,
"story": 1,
"summary": "The guest throws the paw on the fire; the host snatches it back and keeps it despite repeated warnings to wish sensibly or not at all.",
"predicament": "A man is offered a dangerous gift by someone who begs him to destroy it, and wants to keep it anyway."
},
{
"chunk": 18,
"story": 1,
"summary": "Egged on by his joking son, the old man wishes for two hundred pounds to clear the house; the paw twists in his hand, but no money appears.",
"predicament": "A man half-believing in a promise of easy money must decide whether to test it and what to ask for."
},
{
"chunk": 19,
"story": 1,
"summary": "An uneasy night passes; in the morning the family laugh off their fears, though the father recalls that the wishes come true in ways that look like coincidence.",
"predicament": "A family that tempted fate laughs off their fears in daylight while one of them cannot shake them."
},
{
"chunk": 20,
"story": 1,
"summary": "The son leaves for work; later the mother, half-hoping for money, sees a well-dressed stranger hesitate several times at the gate before coming in.",
"predicament": "A family waiting on a hoped-for windfall sees a stranger approach who might bring it, or bad news."
},
{
"chunk": 21,
"story": 1,
"summary": "The stranger, from the son's employers, tells the parents their only son has been killed in the machinery.",
"predicament": "Parents receive news that their only child has been killed, from someone who cannot bring himself to say it."
},
{
"chunk": 22,
"story": 1,
"summary": "The firm denies liability but offers compensation of exactly two hundred pounds; the father collapses. They bury their son and sink into silent grief.",
"predicament": "A man learns the money he wished for has come as compensation for his child's death."
},
{
"chunk": 23,
"story": 1,
"summary": "A week later the grieving mother remembers the paw's other two wishes and demands that her husband wish their son alive; he calls it madness.",
"predicament": "A grieving woman seizes on a desperate chance to undo a death, and her spouse is afraid of what it would bring back."
},
{
"chunk": 24,
"story": 1,
"summary": "The father tells her their son was mutilated beyond recognition, but she insists; terrified, he fetches the paw and makes the second wish.",
"predicament": "A man pressed by his grieving spouse must decide whether to do something he believes is wicked and dangerous."
},
{
"chunk": 25,
"story": 1,
"summary": "Nothing seems to happen; then a stealthy knock comes at the door, and the mother cries that it is their son while the father holds her back.",
"predicament": "A man who dreads what his wish may bring home must stop his spouse from opening the door to it."
},
{
"chunk": 26,
"story": 1,
"summary": "The mother breaks free and struggles with the bolt; the father finds the paw and makes the third wish, and the door opens on an empty road.",
"predicament": "A man must use his last chance to undo what his spouse most longs for, before she lets it in."
},
{
"chunk": 27,
"story": 2,
"summary": "An old watchman recalls a shipmate, an aged miser worth six hundred pounds, who fell ill a month out on the voyage home.",
"predicament": "A man who has hoarded his savings all his life falls ill far from anywhere he could spend them."
},
{
"chunk": 28,
"story": 2,
"summary": "The dying miser refuses to believe he is dying and leave his money; his shipmates circle hopefully, and one finds a money belt on him and guesses his plan to be buried with it.",
"predicament": "A dying miser, surrounded by people hoping to inherit, is determined that nobody will get his money."
},
{
"chunk": 29,
"story": 2,
"summary": "The miser dies boasting that he had a boy throw his banknotes overboard; one sailor scares the boy into silence, and the narrator threatens to tell unless let in on the scheme.",
"predicament": "Someone who spots a colleague quietly scheming to take unclaimed money must decide whether to expose him or join in."
},
{
"chunk": 30,
"story": 2,
"summary": "The schemer reveals he thinks the boy kept the money; the two agree to split it, and search the boy's bunk and pockets at night without success.",
"predicament": "Two partners convinced a weaker person is secretly holding a fortune want to find it before anyone else learns of it."
},
{
"chunk": 31,
"story": 2,
"summary": "A night search is foiled when a ticklish shipmate wakes screaming; a week of prodding the boy finds nothing, so they corner him and demand the money outright.",
"predicament": "A schemer whose secret searches keep failing decides to confront the person he suspects directly."
},
{
"chunk": 32,
"story": 2,
"summary": "The boy insists he threw the money overboard; they search him, offer him a third, then threaten to have him searched ashore and jailed.",
"predicament": "Someone suspected of hiding a windfall is pressed with bribes and threats by people who have no right to it."
},
{
"chunk": 33,
"story": 2,
"summary": "When the sailor heads to tell the captain, the boy gives in: he kept the money but, frightened by the searches, hid it in an officer's mattress where he cannot now reach it.",
"predicament": "Someone forced to share a hidden windfall admits it is now stuck where neither partner can get at it."
},
{
"chunk": 34,
"story": 2,
"summary": "Neither the man nor the boy can get aft unseen, the officer sleeps on the money every night, and the two partners blame each other.",
"predicament": "Distrustful partners stare at a fortune they cannot reach without getting caught, and blame each other for it."
},
{
"chunk": 35,
"story": 2,
"summary": "The boy proposes the man fake an accident to get quartered aft; the man refuses and secretly flatters the officer, asking to buy his mattress as a keepsake.",
"predicament": "A man wants something a superior owns without revealing why, and tries flattery to get it."
},
{
"chunk": 36,
"story": 2,
"summary": "The officer plays up the mattress's value and the sailor, afraid to seem eager, settles at two pounds, to be handed over ashore.",
"predicament": "A buyer who cannot reveal why he wants something is made to pay more by a seller who senses his eagerness."
},
{
"chunk": 37,
"story": 2,
"summary": "The sailor now plans to cut the boy out and split with the narrator alone, but the suspicious boy shadows him all the way into port.",
"predicament": "A man who wants to cheat his partner out of a shared prize is watched too closely to slip away."
},
{
"chunk": 38,
"story": 2,
"summary": "The officer delays the hand-over with a long speech until the boy arrives, sees the sack, and refuses to let them leave without his share.",
"predicament": "A man trying to slip away with a shared prize is held up until the partner he meant to cheat catches him."
},
{
"chunk": 39,
"story": 2,
"summary": "The boy stays on deck while the men cut the mattress open below; it is empty, and when they come up the boy has vanished.",
"predicament": "A man who schemed to cheat a partner finds the prize gone and realises he may have been cheated himself."
},
{
"chunk": 40,
"story": 2,
"summary": "The boy never returns, not even for his pay, and the officer smilingly asks the sailor how he slept.",
"predicament": "A schemer who was outwitted must stand and smile at the people who got the better of him."
},
{
"chunk": 41,
"story": 3,
"summary": "A rich man soon to marry sits with his idle, indebted cousin, who needles him about his wealth and his fiancée's goodness.",
"predicament": "A man about to marry is needled by a dependent relative who hints at something to his discredit."
},
{
"chunk": 42,
"story": 3,
"summary": "The cousin hints that the fiancée would drop him if she knew what he really was, then says he needs fifteen hundred pounds within a fortnight or faces prison.",
"predicament": "A man in desperate debt makes veiled hints to the relative he hopes will pay it."
},
{
"chunk": 43,
"story": 3,
"summary": "Refused, the cousin offers to sell compromising old letters, threatening to sell them to a rival suitor; the rich man seizes him and is stopped only by a servant entering.",
"predicament": "A man is blackmailed by a relative with old letters that could cost him the person he loves."
},
{
"chunk": 44,
"story": 3,
"summary": "The cousin walks out into the park to let him think it over; the rich man follows, and later tells his mother the cousin has gone for good after a quarrel over money.",
"predicament": "A man who has done something terrible in anger must cover for a relative's sudden disappearance."
},
{
"chunk": 45,
"story": 3,
"summary": "The man walks with his fiancée to a disused well in the park, her favourite spot; he urges her not to sit on its edge.",
"predicament": "A man with a guilty secret must keep calm while someone he loves insists on lingering right at the spot."
},
{
"chunk": 46,
"story": 3,
"summary": "She asks about the missing cousin and defends him; the man bursts out that the cousin was a blackmailer, a liar and a cur.",
"predicament": "A man hiding a crime hears it discussed innocently and betrays his feelings with an outburst."
},
{
"chunk": 47,
"story": 3,
"summary": "She is startled by a whisper she imagines saying 'Jem, help me out'; shaken, he tries to take her indoors, but she insists on staying.",
"predicament": "A guilty man tries to hurry someone away from the scene of his crime, and she insists on staying."
},
{
"chunk": 48,
"story": 3,
"summary": "She drops her mother's diamond bracelet down the well and wants it drained; he looks at her in horror, then covers it by saying he feared she was falling.",
"predicament": "A man hiding something learns it may be discovered by an innocent accident, and must not show his fear."
},
{
"chunk": 49,
"story": 3,
"summary": "He promises to recover the bracelet himself by morning and makes her swear to tell no one; his mother suggests filling the well in.",
"predicament": "A man must retrieve something from where his secret lies before anyone else goes looking."
},
{
"chunk": 50,
"story": 3,
"summary": "At night he secretly fishes the well with a line and hook, and dredges up keys instead of the bracelet.",
"predicament": "A man secretly searching where his crime lies keeps pulling up reminders of it."
},
{
"chunk": 51,
"story": 3,
"summary": "The hook snags; he gives up, spends a sleepless night, and at dawn meets his grooms, whom he has ordered to lower him into the well.",
"predicament": "A man who has failed to fix things quietly must now involve others while still keeping his secret."
},
{
"chunk": 52,
"story": 3,
"summary": "His groom offers to go down instead, since the master looks ill; he refuses curtly and starts to test the air with a candle.",
"predicament": "A man hiding something is offered help he cannot accept without being found out."
},
{
"chunk": 53,
"story": 3,
"summary": "The candle is lost; he stops the groom fetching another, strips, and sits a long time on the well's edge before going down.",
"predicament": "A man who must face the thing he did alone gathers his nerve while others watch and wonder."
},
{
"chunk": 54,
"story": 3,
"summary": "Below, something drags at the rope; the grooms haul up the dead cousin's face with their master behind it, let go in horror, and both fall back into the water.",
"predicament": "A man who hid a crime is dragged down by it at the moment he tries to undo its consequences."
},
{
"chunk": 55,
"story": 4,
"summary": "A farmer's wife, her husband, and her retired-policeman uncle discuss a stolen brooch; the uncle has been hiding under their bed hoping to catch the thief, and the wife casts suspicion on a neighbour while accusing her husband of not caring.",
"predicament": "A woman who has lost something valuable suspects the people around her, and resents her spouse for not caring as much."
},
{
"chunk": 56,
"story": 4,
"summary": "The uncle declares everyone guilty until proven innocent; the wife recounts missing the brooch, accusing and sacking her servant, who cried on her box.",
"predicament": "Someone who has lost something accuses the most defenceless person nearby, and punishes her before any proof."
},
{
"chunk": 57,
"story": 4,
"summary": "The servant's box held nothing; the husband defends her and is snapped at, while the uncle, pencil and notebook out, pursues the investigation with great ceremony.",
"predicament": "A man who thinks a household fuss is foolish keeps defending the accused and is scolded for taking her side."
},
{
"chunk": 58,
"story": 4,
"summary": "The husband eats a lozenge from the evidence box and cannot stop laughing; the uncle establishes that no one could have entered the bedroom unheard.",
"predicament": "A man who finds a family inquiry ridiculous cannot keep a straight face in front of its self-important leader."
},
{
"chunk": 59,
"story": 4,
"summary": "Suspicion turns to a widow who visited that morning; the uncle finds muddy footprints on the stairs, which are in fact the husband's, and he stays guiltily quiet.",
"predicament": "A man who sees an innocent neighbour blamed for evidence he himself left must decide whether to own up."
},
{
"chunk": 60,
"story": 4,
"summary": "The husband slyly deflects the footprint evidence, then exchanges silent signals with his wife until the uncle demands to know what is funny.",
"predicament": "A man who knows more than he says can barely hide his amusement from the self-important person running the inquiry."
},
{
"chunk": 61,
"story": 4,
"summary": "The husband reveals he thinks the widow is after the uncle, not the brooch; the uncle is outraged, then proposes inviting her to tea to trap her into confessing.",
"predicament": "A self-important man, teased that a neighbour fancies him, resolves to prove his point by trapping her."
},
{
"chunk": 62,
"story": 4,
"summary": "The husband refuses to have a guest trapped in his house; the uncle secretly tells his niece he will search the widow's cottage without leave.",
"predicament": "A man refuses to let his home be used to entrap a friend, so the schemer plans to go behind his back."
},
{
"chunk": 63,
"story": 4,
"summary": "The husband, who resents the uncle living with them for his wife's hopes of an inheritance, plans to let the widow catch the uncle searching her house, and shadows him.",
"predicament": "A man stuck with an unwelcome relative in his home sees a chance to have him disgraced and driven off."
},
{
"chunk": 64,
"story": 4,
"summary": "The husband brings the widow home early; the uncle, trapped inside, hides in the larder, and the husband settles in for beer and begins praising him.",
"predicament": "A man who has trapped his rival in an embarrassing hiding place decides to make the most of it."
},
{
"chunk": 65,
"story": 4,
"summary": "Within the uncle's hearing, the husband tells the widow the uncle is shy and devoted to her, and has been asking whether she likes jewellery.",
"predicament": "A trapped man must listen in silence while someone tells a neighbour a story about him that he cannot deny."
},
{
"chunk": 66,
"story": 4,
"summary": "Asked for bread and cheese, the widow opens the larder, the uncle bursts out, and her friend takes his hiding there as a bashful suitor's courtship.",
"predicament": "A man caught somewhere he should not be is handed an embarrassing explanation, and has no better one to offer."
},
{
"chunk": 67,
"story": 5,
"summary": "Late at night one co-owner of a house and a business sits hating his partner, who has discovered his embezzlement and ordered him to leave both by morning.",
"predicament": "A man found out in wrongdoing is ordered by his partner to give up everything and leave by morning."
},
{
"chunk": 68,
"story": 5,
"summary": "The honest partner refuses to cover the theft quietly, offers the exile two hundred pounds, and mentions the servants are away until morning.",
"predicament": "A man offered a harsh but fair way out of his disgrace wants a quieter bargain the other will not give."
},
{
"chunk": 69,
"story": 5,
"summary": "The exile demands the matter be hushed up, draws a sword from the wall, and stabs his partner when he refuses.",
"predicament": "A man facing ruin threatens the only person who can expose him, and must choose whether to go through with it."
},
{
"chunk": 70,
"story": 5,
"summary": "Sickened, the killer turns out the lights, flees to the gate, and sees a constable coming up the road.",
"predicament": "A man who has just done something terrible in rage panics and must steady himself when a figure of the law appears."
},
{
"chunk": 71,
"story": 5,
"summary": "He bids the constable good night, returns inside, and gathers his cash and valuables, reckoning he has eight hours' start.",
"predicament": "A man with a crime behind him and a few hours' start must decide what to take and where to run."
},
{
"chunk": 72,
"story": 5,
"summary": "He plans his escape, weighing a crowded district against the seaside, and finds every choice may mean life or death.",
"predicament": "A fugitive planning his escape finds that every choice might be the one that gets him caught."
},
{
"chunk": 73,
"story": 5,
"summary": "At one o'clock he hears creaks on the stairs, and fears the dead man is moving about the house.",
"predicament": "A man alone with what he has done hears noises in the dark and fears it has come back for him."
},
{
"chunk": 74,
"story": 5,
"summary": "Finding the library door open, he locks someone inside, then realises it is a burglar he can blame for the killing.",
"predicament": "A guilty man realises a stranger's blunder gives him someone else to blame."
},
{
"chunk": 75,
"story": 5,
"summary": "He fires through the door, raises the alarm, and the police break in and seize the terrified intruder.",
"predicament": "A man framing an innocent person must act the outraged victim in front of the law."
},
{
"chunk": 76,
"story": 5,
"summary": "The intruder swears the body was there when he arrived; the sergeant uncovers it, and the killer feigns horror.",
"predicament": "A man must play the shocked innocent while the person he framed pleads the truth."
},
{
"chunk": 77,
"story": 5,
"summary": "The killer names his friend and accuses the intruder, who accuses him back; the sergeant seems to side with the killer.",
"predicament": "Someone falsely accused points to the real culprit, who must hold his nerve and keep up his story."
},
{
"chunk": 78,
"story": 5,
"summary": "The sergeant takes the pistol, handcuffs the killer without warning, and sends for a doctor, since the victim is not dead.",
"predicament": "A man who thought he had got away with it learns the one witness who could hang him is still alive."
},
{
"chunk": 79,
"story": 5,
"summary": "The dying partner opens his eyes and speaks; the sergeant takes notes and leads the killer away.",
"predicament": "A man whose deceit has collapsed can only watch as the truth comes out and he is taken away."
},
{
"chunk": 80,
"story": 6,
"summary": "A ragged stranger swaggers into the best inn in a small town, bullies the waiter who tries to turn him out, and demands to see the landlord.",
"predicament": "A penniless newcomer forces his way into a place he does not belong, counting on a secret to back him."
},
{
"chunk": 81,
"story": 6,
"summary": "The stranger greets the landlord by another name, a wanted pirate's, and demands clothes, lodging and money in return for silence.",
"predicament": "A man who has built a respectable new life is found by an old associate who threatens to expose his past."
},
{
"chunk": 82,
"story": 6,
"summary": "The landlord gives him money; the blackmailer draws a pistol, declares he will take half of everything from now on, and settles in.",
"predicament": "A man pays off a blackmailer and learns the price will be half of everything, for good."
},
{
"chunk": 83,
"story": 6,
"summary": "The landlord says he has lived honestly for fifteen years and warns the man not to wake the devil in him; the blackmailer meets the landlord's stepdaughter and says he will stay.",
"predicament": "A reformed man warns a blackmailer not to push him too far, while the blackmailer sets his sights on the man's family."
},
{
"chunk": 84,
"story": 6,
"summary": "The blackmailer orders the best supper and room, and sleeps with his door barricaded and a pistol under his pillow.",
"predicament": "A man who has seized power over another knows the danger he is in, and guards himself even as he gloats."
},
{
"chunk": 85,
"story": 6,
"summary": "He pushes in at the family breakfast table, eyes the stepdaughter, hints at the landlord's past before her, and goes out to buy new clothes.",
"predicament": "A household must make polite space for someone who holds them hostage."
},
{
"chunk": 86,
"story": 6,
"summary": "Within a month the blackmailer runs the inn; the landlord, failing in health, backs him in sacking a loyal old servant, and his daughter demands to know who is master.",
"predicament": "Someone watches a person she trusts give way at every turn to an intruder, and demands that he stand up for himself."
},
{
"chunk": 87,
"story": 6,
"summary": "The landlord sides with the blackmailer, who threatens to ruin the girl and have the landlord hanged; the landlord pleads for peace.",
"predicament": "A man who is being blackmailed hears his tormentor threaten someone he loves, and must choose between swallowing it and hitting back."
},
{
"chunk": 88,
"story": 6,
"summary": "The inn decays under the blackmailer's rule; the landlord collapses with a fit, which upsets the blackmailer's plans.",
"predicament": "A blackmailer's hold depends on his victim's life, and that victim suddenly collapses."
},
{
"chunk": 89,
"story": 6,
"summary": "The landlord lies dying, anxious to please the blackmailer, while his daughter nurses him; the blackmailer resolves to get the hidden money before he dies.",
"predicament": "A blackmailer whose victim is dying must grab what he can before his hold disappears."
},
{
"chunk": 90,
"story": 6,
"summary": "The blackmailer threatens to inform; the dying man begs for time and promises to reveal his money that night if his daughter gets a share.",
"predicament": "A dying man pressed by his tormentor bargains for time and for provision for someone he loves."
},
{
"chunk": 91,
"story": 6,
"summary": "At night the blackmailer drugs the nurse and demands the money; the landlord extracts his promise about the daughter.",
"predicament": "A man who thinks his helpless victim is at his mercy leans in close to hear the secret."
},
{
"chunk": 92,
"story": 6,
"summary": "The 'dying' landlord seizes and strangles him, revealing he has been shamming weakness and planning to blame the killing on the blackmailer's own followers.",
"predicament": "A man who pretended to be helpless strikes at the tormentor who threatened his family."
},
{
"chunk": 93,
"story": 6,
"summary": "He stages the scene as a robbery and returns to bed as the drugged nurse unwittingly provides his alibi.",
"predicament": "A man who has done a desperate thing arranges things so that suspicion falls elsewhere."
},
{
"chunk": 94,
"story": 7,
"summary": "An old villager chats with a travelling painter repainting the inn sign, which had been mistaken for a portrait of a king.",
"predicament": "A craftsman told his work looks like something else quietly fixes it before anyone else notices."
},
{
"chunk": 95,
"story": 7,
"summary": "The painter shares his beer, and the old man begins the tale of a travelling circus that stopped in the village.",
"predicament": "An old man looking for a free drink offers a story in exchange."
},
{
"chunk": 96,
"story": 7,
"summary": "News comes that the circus tiger has escaped nearby; a tramp comes running to the inn shouting that the tiger is after him, and the drinkers rush indoors.",
"predicament": "People who laughed at a distant danger panic when it seems to have arrived on their doorstep."
},
{
"chunk": 97,
"story": 7,
"summary": "The landlord bars the door against the tramp; a man knocks the landlord down to get out to protect the families, and the tramp gets in.",
"predicament": "Someone must choose between keeping himself safe behind a barred door and letting in a stranger in danger."
},
{
"chunk": 98,
"story": 7,
"summary": "The tramp, revived with free brandy, tells a vivid tale of fleeing the tiger, and the men are afraid to go home.",
"predicament": "A stranger with a thrilling tale of danger is rewarded by a frightened crowd without anyone checking it."
},
{
"chunk": 99,
"story": 7,
"summary": "The men sleep at the inn; the tramp is gone by morning; the village lives in fear, though the local rogue laughs at the whole thing.",
"predicament": "A community living in fear of an unseen threat ignores the one doubter, because he has a bad name."
},
{
"chunk": 100,
"story": 7,
"summary": "A villager's hens are taken; he carries the evidence to the constable in the next village, who shoves him away as drunk.",
"predicament": "A man who has suffered a loss goes to the authorities for help and is brushed off as a nuisance."
},
{
"chunk": 101,
"story": 7,
"summary": "Pigs vanish night after night; the authorities do nothing, and neighbours squabble over whether to take animals indoors.",
"predicament": "A community suffering repeated losses cannot get help, and cannot agree how to protect itself."
},
{
"chunk": 102,
"story": 7,
"summary": "Children claim sightings, and a villager staggers in describing how the tiger chased him up a tree.",
"predicament": "A man tells a dramatic story of narrow escape to an audience eager to believe it."
},
{
"chunk": 103,
"story": 7,
"summary": "When one man questions the story, the rogue 'confirms' it, claiming he watched from another tree; the storyteller, caught out, goes home silent.",
"predicament": "A man caught in a boastful lie is 'backed up' by a rival, who now has him trapped by it."
},
{
"chunk": 104,
"story": 7,
"summary": "The neighbouring town and the clergyman say there was no tiger; after more losses a former militiaman raises a band of seventeen to hunt it.",
"predicament": "People told their fears are nonsense by outsiders decide to take matters into their own hands."
},
{
"chunk": 105,
"story": 7,
"summary": "The hunt searches the wood timidly and finds nothing; back at the inn, an old man reports the tiger has just gone into the rogue's cottage.",
"predicament": "A band that set out to face a danger returns relieved to have found nothing, and is then called to face it for real."
},
{
"chunk": 106,
"story": 7,
"summary": "The armed men crowd into the rogue's cottage, pushing him ahead of them, despite his protests.",
"predicament": "A man with something to hide has an armed crowd force its way into his home."
},
{
"chunk": 107,
"story": 7,
"summary": "His kitchen is full of pork and poultry; accused of theft, he brazenly claims to have gone into the meat trade.",
"predicament": "A man caught with the evidence of his thefts brazens it out and dares his accusers to prove anything."
},
{
"chunk": 108,
"story": 7,
"summary": "He turns their own tiger sightings against them: those who swore they saw it would have to repeat it on oath.",
"predicament": "A man accused of wrongdoing turns his accusers' own exaggerations into his defence."
},
{
"chunk": 109,
"story": 7,
"summary": "He claims to have receipts, offers to sell them the meat, and gets away with it; he and the tramp turn out to have known each other.",
"predicament": "People who know they were swindled cannot prove it, and must watch the swindler profit."
},
{
"chunk": 110,
"story": 8,
"summary": "A retired officer, dressed with great care, sets out on a hot afternoon and overtakes a friend who stares uneasily at his loud tie.",
"predicament": "A man nervously setting out to do something that matters to him is stopped by a friend with questions."
},
{
"chunk": 111,
"story": 8,
"summary": "The officer confides he is going to propose to a widow; his friend, equally dressed up, says he is on the same errand, and the two race along the road.",
"predicament": "A man discovers a friend is after the same person he is, on the same day, and each races to get there first."
},
{
"chunk": 112,
"story": 8,
"summary": "Followed by jeering boys, they stop and agree they cannot propose together, but neither will yield the day, each pleading an excuse.",
"predicament": "Two rivals agree someone must go first, and neither will be the one to wait."
},
{
"chunk": 113,
"story": 8,
"summary": "Each claims precedence; the officer vows that if they go together he will match any proposal on the spot, and refuses to be put off.",
"predicament": "Two rivals for the same prize trade claims of priority, and each suspects the other of a trick."
},
{
"chunk": 114,
"story": 8,
"summary": "The officer proposes they play one game of chess for the right to propose first; the friend agrees, on condition that if the winner is refused, the loser may not propose without his permission.",
"predicament": "Two rivals agree to settle who goes first by a game, and one slips in a condition the other does not examine."
},
{
"chunk": 115,
"story": 8,
"summary": "The officer offers his rival a large brandy, which the rival sets aside; after a long game the rival checkmates him with a bishop the officer had forgotten.",
"predicament": "A man who tried to tip a contest in his favour loses it through his own oversight."
},
{
"chunk": 116,
"story": 8,
"summary": "The winner tidies himself in the loser's house and goes off to propose; the loser waits up all night and next morning goes to hear the result.",
"predicament": "A man who lost the right to try first must wait while his rival takes his chance."
},
{
"chunk": 117,
"story": 8,
"summary": "The rival was refused, but holds the officer to the condition and plans to keep proposing until the widow accepts him.",
"predicament": "A man finds the rival he lost to has been refused, but can still use the terms of their bargain to keep him out."
},
{
"chunk": 118,
"story": 8,
"summary": "The rival says he will warn the widow off the officer, suggests the officer court her companion instead, and the officer storms out and sulks for weeks.",
"predicament": "A man bound by a promise he made watches a rival use it to keep him from what he wants."
},
{
"chunk": 119,
"story": 8,
"summary": "Meeting the widow by chance, the officer confesses the chess game to explain his absence; she is indignant, then laughs.",
"predicament": "A man who has been avoiding someone he cares for must explain why, and the only honest answer is embarrassing."
},
{
"chunk": 120,
"story": 8,
"summary": "She says she is angry with him for losing, and proposes a plan so that he can win at cards what he lost at chess, under the rival's eyes.",
"predicament": "A man bound by a rash promise finds the person he hoped to win is willing to help him get round it."
},
{
"chunk": 121,
"story": 8,
"summary": "Playing cards, the widow asks the officer if he would like her hand; he takes it and kisses it, she 'meant the cards', then lets him keep it, and the rival is left fuming.",
"predicament": "Someone arranges to accept the suitor she prefers in a way his rival cannot object to."
},
{
"chunk": 122,
"story": 9,
"summary": "A man wakes up thirsty in a cramped, reeking bunk, with a stranger's face swearing at him, and cannot tell where he is.",
"predicament": "A man wakes up somewhere strange with no idea how he got there."
},
{
"chunk": 123,
"story": 9,
"summary": "He realises he is on a ship, dressed in rags; he finds his friend among the sleepers and learns the ship's name.",
"predicament": "A man in an unknown place looks for his one companion and a first clue to how they came to be there."
},
{
"chunk": 124,
"story": 9,
"summary": "Seasick and far from land, he goes aft and demands to be taken home; the officer calls him mad and orders him forward.",
"predicament": "A man who has always been obeyed tries to give orders somewhere nobody knows or believes who he is."
},
{
"chunk": 125,
"story": 9,
"summary": "His friend tries to threaten legal consequences but is too sick to finish; the two bicker over which of them was drunk.",
"predicament": "Two people in trouble together try to put on a united front and end up blaming each other."
},
{
"chunk": 126,
"story": 9,
"summary": "The captain says they signed on as cook and seaman, calls them drunk impostors, and threatens jail; they are put to work.",
"predicament": "Two people who claim to be respected professionals are treated as impostors and forced to do menial work."
},
{
"chunk": 127,
"story": 9,
"summary": "The crew mocks their claims of being drugged and of sobriety; their airs make the officers dislike them all the more.",
"predicament": "People brought low insist on their old status, and are mocked for it by those around them."
},
{
"chunk": 128,
"story": 9,
"summary": "The captain humiliates the cook; the cook obeys, tidies the cabin, and comes back with a secret smile and something in his pocket, telling his friend it won't be for long.",
"predicament": "A humiliated man pretends to submit while he quietly prepares his revenge."
},
{
"chunk": 129,
"story": 9,
"summary": "The captain is struck with violent pains; the cook refuses to treat him, as he 'only shipped as cook', until he agrees to pay a professional fee.",
"predicament": "A man mocked for claiming skill is suddenly needed for it, and names his price."
},
{
"chunk": 130,
"story": 9,
"summary": "The cook prescribes, collects his fee, scares the captain about making a will, and has the mate sent out for snuffling.",
"predicament": "A man who has gained the upper hand over those who humiliated him enjoys every moment of it."
},
{
"chunk": 131,
"story": 9,
"summary": "The cook hints he dosed the food from the medicine chest; the mate falls ill too, and the cook demands to be treated as surgeon.",
"predicament": "A man who has secretly caused the trouble only he can cure makes the most of it."
},
{
"chunk": 132,
"story": 9,
"summary": "The mate haggles over the fee; the second officer falls ill too; the sick captain scolds the sick mate for being ill at all.",
"predicament": "A man who swore he would never pay the person he scorned is forced by suffering to haggle with him."
},
{
"chunk": 133,
"story": 9,
"summary": "The cook treats and weakens all three officers; the captain and mate pay the other man to draw up their wills; they recover slowly as they reach port.",
"predicament": "People who scorned two outsiders now depend on them completely, and pay for the privilege."
},
{
"chunk": 134,
"story": 9,
"summary": "Ashore, the cook tells the captain he ate something that disagreed with him, and leaves with a wave.",
"predicament": "A man who got even with his tormentors leaves them knowing they were had."
},
{
"chunk": 135,
"story": 10,
"summary": "At a crowded family breakfast, a poor widow living with her sister's family gets a letter and reads it so slowly that the others nearly burst with impatience.",
"predicament": "Someone given news that might change their life cannot take it in, while the people around them itch to know."
},
{
"chunk": 136,
"story": 10,
"summary": "The widow fears the letter is a hoax; her brother-in-law thinks so too, until her sister reads it and rejoices.",
"predicament": "Someone who has never had luck is told of a windfall and is afraid to believe it."
},
{
"chunk": 137,
"story": 10,
"summary": "The widow has inherited two thousand pounds from a former employer; the brother-in-law grumbles that nobody ever left him anything, and spreads the news through the town.",
"predicament": "A man sees a relative come into money and resents that luck never comes his way."
},
{
"chunk": 138,
"story": 10,
"summary": "Local men suddenly befriend the brother-in-law; his wife points out that two old dealers are courting the heiress for her money.",
"predicament": "A man flattered by new friends is told they are really after a relative's money."
},
{
"chunk": 139,
"story": 10,
"summary": "The brother-in-law watches the two suitors flatter the widow and tries to undercut them by announcing her age, nearly giving away his wife's.",
"predicament": "A man trying to expose flattering suitors trips over his own family's sensibilities."
},
{
"chunk": 140,
"story": 10,
"summary": "The suitors outbid each other with compliments; the wife's temper frays, and the visitors are shown out with the door shut hard.",
"predicament": "Two rivals courting the same person keep topping each other's compliments while the family grows fed up."
},
{
"chunk": 141,
"story": 10,
"summary": "The family, wanting to keep the money, fail to warn the widow; the slow dealer, losing ground to his glib rival, hatches a plan and enlists a small-time dealer.",
"predicament": "A slow-talking man losing a contest to a glib rival looks for a trick instead of better words."
},
{
"chunk": 142,
"story": 10,
"summary": "The dealer bribes an accomplice, who holds out for a bigger fee, to tell the rival in confidence that the widow has lost her fortune; the rival swallows it.",
"predicament": "A man hires someone to spread a false rumour that will drive off his rival, and the hireling drives a hard bargain."
},
{
"chunk": 143,
"story": 10,
"summary": "With the rival gone, the dealer courts the widow alone, preaching the virtues of poverty, and loses seven games of draughts to her on purpose.",
"predicament": "A man courting for money pretends not to care about it and flatters the one he courts by letting her win."
},
{
"chunk": 144,
"story": 10,
"summary": "He blows her kisses and fusses over a bumped head, invites himself back, and walks home sure the money is his.",
"predicament": "A schemer who thinks his deal is done walks away gloating too soon."
},
{
"chunk": 145,
"story": 10,
"summary": "He spreads the rumour of her ruin through the town, then proposes publicly 'now that she is poor', to look noble.",
"predicament": "A man makes a public show of selfless devotion, sure that it will cost him nothing."
},
{
"chunk": 146,
"story": 10,
"summary": "She accepts; the family, touched, apologise for misjudging him, then mention a letter that arrived.",
"predicament": "A schemer whose plan has worked is thanked for his goodness while the ground starts to shift under him."
},
{
"chunk": 147,
"story": 10,
"summary": "The lawyers' letter says a later will was found and she has nothing; the dealer, now engaged to a poor woman, is left alone with her to court.",
"predicament": "A man who faked a disaster to win a prize learns the disaster is real, and he is bound to his promise."
},
{
"chunk": 148,
"story": 11,
"summary": "In an inn, men trade ghost stories; a sceptical old sailor mocks sailors' visions, then admits one uncanny experience on land.",
"predicament": "A sceptic among believers is pressed to admit whether he has ever seen anything he could not explain."
},
{
"chunk": 149,
"story": 11,
"summary": "As a young man back from abroad, the narrator found his relatives away, took lodgings at a dull inn, and set out on a long country walk.",
"predicament": "A young man who arrived to find no one expecting him has to fill empty days in a strange place."
},
{
"chunk": 150,
"story": 11,
"summary": "He loses his way in the marshes as fog and night come down, and at last finds a road and hears footsteps.",
"predicament": "A traveller lost in the dark and the cold must find shelter before night closes in."
},
{
"chunk": 151,
"story": 11,
"summary": "A countryman sets him on the road but warns him away from a lit house nearby, said to hide something monstrous; tired, he goes to it anyway.",
"predicament": "A worn-out traveller must choose between a long walk on and a nearby shelter he has been warned against."
},
{
"chunk": 152,
"story": 11,
"summary": "A grim old woman and a huge old man answer; after a furtive exchange the man insists he stay for dinner, and he feels trapped.",
"predicament": "A stranger taken in by odd hosts who seem keen to keep him wonders whether he has walked into a trap."
},
{
"chunk": 153,
"story": 11,
"summary": "The host says his son will dine with them in the dark because of his eyes; he puts out the candles, and a strange voice speaks.",
"predicament": "A guest must sit down in the dark with someone he cannot see, on hosts' terms he does not understand."
},
{
"chunk": 154,
"story": 11,
"summary": "The host leaves him alone with the unseen son, and the guest thinks he sees wild eyes shining at him across the table.",
"predicament": "A guest left alone with a stranger he cannot see grows afraid, and must decide whether to trust his hosts."
},
{
"chunk": 155,
"story": 11,
"summary": "The screen falls, and firelight shows the son's ruined face; the father lights the candles and explains his son was disfigured in a fire.",
"predicament": "A frightened man sees what he feared, and learns it is someone who was hurt and ashamed to be seen."
},
{
"chunk": 156,
"story": 11,
"summary": "The guest apologises warmly; they celebrate the son's birthday until midnight, and the father toasts the children his son saved.",
"predicament": "A man who shrank from someone must make amends, and finds they deserve his respect."
}
]