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
@@ -0,0 +1,31 @@
[
{"chunk":0,"story":0,"summary":"A scholar returns from a rare holiday alone, secretly delighted by a private idea he has hidden from his wife and colleagues.","predicament":"Someone carries home a private excitement they mean to keep from everyone who knows them."},
{"chunk":1,"story":0,"summary":"Alone in the woods for the first time since his marriage, a scholar indulges an idea he has never had the freedom to pursue.","predicament":"Someone long hemmed in by routine finally has time to themselves and means to use it."},
{"chunk":2,"story":0,"summary":"A comfortable, dutiful marriage leaves a scholar no companion in the thinking that is his real life.","predicament":"Someone whose home life is secure but closed to what they care about lives the real part of life alone."},
{"chunk":3,"story":0,"summary":"A scholar's modest earnings must support his family, and his wife economises to keep up appearances while taking pride in his obscure reputation.","predicament":"Someone's serious work earns respect but not enough money to satisfy the family that depends on it."},
{"chunk":4,"story":0,"summary":"Overworked supporting his family, a scholar breaks down, and in the enforced rest surveys how his field is seen by the public.","predicament":"Someone forced to stop working steps back and wonders what their life's labour has amounted to in others' eyes."},
{"chunk":5,"story":0,"summary":"A scholar observes that his once-private discipline has become a popular fashion that everyone reads and holds opinions on.","predicament":"Someone finds the thing they devoted themselves to taken up and cheapened by a crowd that does not understand it."},
{"chunk":6,"story":0,"summary":"Angered and amused by popular pseudo-science, a scholar resolves to write a parody of it so absurd the public will laugh at its own prophets.","predicament":"Someone offended by a popular falsehood decides to mock it, trusting that the crowd will see the joke."},
{"chunk":7,"story":0,"summary":"A scholar brings his manuscript to an old college friend now a prosperous popular publisher, keeping its satirical purpose a secret.","predicament":"Someone approaches an old friend for a favour, counting on the friend being unchanged by years of success."},
{"chunk":8,"story":0,"summary":"The publisher warns the book may be too learned to sell, but agrees to take it; the author waves off the question of payment.","predicament":"Someone offers their work on the strength of friendship and refuses to haggle, trusting the other to see its worth."},
{"chunk":9,"story":0,"summary":"The publisher has rushed the book into print and congratulates the author on abandoning the scepticism of his youth.","predicament":"Someone discovers that the person they confided in has completely misread what they meant."},
{"chunk":10,"story":0,"summary":"The publisher takes the parody for a sincere confession of faith; the author, realising, bursts out laughing.","predicament":"Someone learns their joke has been taken in earnest by exactly the audience it mocked."},
{"chunk":11,"story":0,"summary":"The author explains the book is a satire; the publisher, offended, suggests it need not be read ironically at all.","predicament":"Someone explains their true intent and is told it hardly matters, since no one else will see it either."},
{"chunk":12,"story":0,"summary":"The publisher offers to sell the book as sincere, promising a mass success, and asks the author to let it stand as his real conviction.","predicament":"Someone is offered success on condition they let the world believe something they do not believe."},
{"chunk":13,"story":0,"summary":"The author agrees to stay silent, telling himself the joke has only grown larger and that nothing in the book will change.","predicament":"Someone talks themselves into a deception by calling it a bigger version of what they meant all along."},
{"chunk":14,"story":0,"summary":"Short of money after illness, the author accepts a large advance, sure his colleagues will see through the book and his reputation will be safe.","predicament":"Someone in a money pinch accepts a well-paid compromise, telling themselves it will cost them nothing that matters."},
{"chunk":15,"story":0,"summary":"The book is already printing, so resistance seems futile; his wife, having seen a glowing review, asks why he kept it from her.","predicament":"Someone who has kept a compromising success from their family is confronted by a proud spouse who found out elsewhere."},
{"chunk":16,"story":0,"summary":"The publisher's advertising campaign floods the country, making the book impossible to escape.","predicament":"Someone watches something they quietly agreed to grow far larger and louder than they ever meant."},
{"chunk":17,"story":0,"summary":"The author hides in his work on publication day, then reads a serious review praising his mock platitudes as noble truths.","predicament":"Someone embarrassed by their own success reads praise for the very thing they meant as a sham."},
{"chunk":18,"story":0,"summary":"Every paper follows the first review, and the publisher predicts the book will sell for years; the author is alarmed by its staying power.","predicament":"Someone who accepted a passing embarrassment learns it will follow them for years."},
{"chunk":19,"story":0,"summary":"The publisher praises the book's sentiment and pays more; the author, pestered by journalists, is asked by his wife whether interviews pay.","predicament":"Someone resisting the demands of fame finds their family eager for the money it could bring."},
{"chunk":20,"story":0,"summary":"His wife confesses their son has run into debt since the book's fame; the author offers to write a lucrative popular series to cover it.","predicament":"Someone's family has run up costs on the strength of their success, and the only quick remedy is more of what they despise."},
{"chunk":21,"story":0,"summary":"Having sworn not to extend the fraud, the author begins the popular series within the hour, mainly to be rid of his wife's demands.","predicament":"Someone breaks their own resolution because giving in is the quickest way to get peace at home."},
{"chunk":22,"story":0,"summary":"Fame opens society to the author; charmed by clever women, he grows used to telling how the book first came to him.","predicament":"Someone enjoying the attention their false reputation brings slips into living the part."},
{"chunk":23,"story":0,"summary":"The author gives paid interviews on every subject and lends his face to advertisements, which keeps his household solvent.","predicament":"Someone sells their name more and more freely because it keeps the household comfortable."},
{"chunk":24,"story":0,"summary":"The author leads a double life, courted by the public while his real research goes on unnoticed by colleagues who ignore the book.","predicament":"Someone keeps a public persona and a private vocation apart, and wonders what their peers really think."},
{"chunk":25,"story":0,"summary":"The author's earnings buy him instruments for real research; nearing a genuine discovery, he confides it to one trusted colleague.","predicament":"Someone uses ill-gotten means to fund their real ambition and needs an honest judge to test it."},
{"chunk":26,"story":0,"summary":"A colleague urges him to drop everything and write his serious book; the author asks his publisher for an advance and is refused.","predicament":"Someone ready to do their real work finds the backer they relied on now wants something first."},
{"chunk":27,"story":0,"summary":"The publisher says the old book is fading and offers a big advance only for a sequel; the author declares he will write a serious book instead.","predicament":"Someone is offered money to repeat a sham and must choose between it and the real work they want to do."},
{"chunk":28,"story":0,"summary":"Warned that popularity perishes, the author wavers, takes the advance on the sequel, and tells himself the serious book can wait six months.","predicament":"Someone who meant to refuse a tempting compromise gives in, promising themselves it is only a delay."}
]