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
16 lines
3.4 KiB
JSON
16 lines
3.4 KiB
JSON
[
|
|
{"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."}
|
|
]
|