story-to-pack: add the corpora and the catalogue v2/v3

Fourteen corpora split and classified: aesop, bierce, chekhov, holmes,
keefe, lawson, lorimer, maupassant, nobody, plaintales, poe, torchy,
wallingford and winesburg, each with its splitter and the hand-written
groups and pages; catalogue v2 and v3; and the shared splitters
gutenberg_chunks.py, se_split.py and se_build.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rwKTmug58sEsJ72AuWsEi
This commit is contained in:
JesseMarkowitz
2026-10-07 06:05:51 -04:00
co-authored by Claude Opus 5.5
parent e5617b86ba
commit 3a4758172d
566 changed files with 303901 additions and 0 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,45 @@
[
{"chunk": 0, "story": 0,
"summary": "The father, seeing his son off to college, tells him to take every bit of education on offer, since it is the one thing in the world free for the hauling.",
"predicament": "Someone just starting out has been handed a rare chance to learn, and must decide how hard to apply themselves to it.",
"advice": [
{"move": "take every chance to learn that is offered", "outcome": "learning is the one thing you can have as much of as you will carry off", "quote": "it's about the only thing a fellow can have as much of as he's willing to haul away", "stance": "do"}]},
{"chunk": 1, "story": 0,
"summary": "Men learn the value of money, truth and sobriety by different roads; what matters is the soundness of the man inside, not the polish on him.",
"predicament": "Someone is tempted to trust polish and presentation to carry them, when it is soundness underneath that will be tested.",
"advice": [
{"move": "rely on sound character rather than polish", "outcome": "no amount of polish makes an unsound person any good", "quote": "it doesn't make any difference how much sugar and fancy pickle you soak into a fellow, he's no good unless he's sound and sweet at the core.", "stance": "do"}]},
{"chunk": 2, "story": 0,
"summary": "Character comes before learning; a preacher who pressed the father to be saved in public scared him off religion for five years; the son should test tempting things with his conscience.",
"predicament": "Someone newly out from under supervision meets fresh temptations every day and must judge alone what is sound and what only looks it.",
"advice": [
{"move": "test anything tempting against your conscience before taking it up", "outcome": "you will come to no harm", "quote": "probe into a thing which looks sweet and sound on the skin, to see if you can't fetch up a sour smell from around the bone, you'll be all right", "stance": "do"},
{"move": "press someone to do right loudly and in public", "outcome": "it drives them away from the very thing you want", "quote": "he scared me out of it for five years by asking me right out loud in Sunday School if I didn't want to be saved", "stance": "avoid"}]},
{"chunk": 3, "story": 0,
"summary": "The father would rather the son be a clean man than a scholar; the harm in college comes from its amusements, where he should go slow and choose.",
"predicament": "Someone with new freedom must decide how far to indulge in amusements, which do more harm than the hard work ever will.",
"advice": [
{"move": "go slow and choose carefully among amusements", "outcome": "the amusements, not the work, are where the harm lies", "quote": "It's down among the sweets, among his amusements and recreations, that he's going to find his stomach-ache, and it's there that he wants to go slow", "stance": "do"}]},
{"chunk": 4, "story": 0,
"summary": "Merchants doubt college because of its idle dandies, but training that teaches a young man to think quickly pays; college develops fools and bright men alike.",
"predicament": "Someone with an expensive education has to show those who might employ them that it made them useful and not merely polished.",
"advice": [
{"move": "train yourself to think quickly and get the answer first", "outcome": "it pays", "quote": "Anything that trains a boy to think and to think quick pays", "stance": "do"},
{"move": "live as an idle, late-hours dandy while being educated", "outcome": "employers come to doubt what the education is worth", "quote": "up-all-night-and-in-all-day boys that make 'em doubt the cash value of the college output", "stance": "avoid"},
{"move": "put your education to work in someone's business", "outcome": "you make the business hum", "quote": "the shirt-sleeves and high-water-pants boys, who take their college education and make some fellow's business hum with it", "stance": "do"}]},
{"chunk": 5, "story": 0,
"summary": "A trained fighter beats a brawler only if he keeps his muscle hard; a narrow, joyless businessman resolves to have his son's living handed to him and sends him through every school.",
"predicament": "A parent who has toiled all their life resolves that their child will be handed a living rather than earn one.",
"advice": [
{"move": "add training to hard effort and keep the effort up", "outcome": "the trained person wins, but goes under if they have gone soft", "quote": "the fellow with a little science is the better man, providing he's kept his muscle hard. If he hasn't, he's in a bad way", "stance": "do"}]},
{"chunk": 6, "story": 0,
"summary": "The father dies broke and the over-schooled son fails at banking, reporting, bookkeeping and selling; as a teacher he tells his principal he is doing it all wrong and loses that job too.",
"predicament": "A highly educated person thrown on their own finds that none of their learning turns into work anyone will pay for.",
"advice": [
{"move": "tell a new superior straight away that they are doing it all wrong", "outcome": "it sets them against you", "quote": "he told his principal right on the jump that he was doing it all wrong, and that made him sore", "stance": "avoid"}]},
{"chunk": 7, "story": 0,
"summary": "The moral of the over-schooled son: knowing a little and how to use it counts for more than knowing a great deal.",
"predicament": "Someone who knows a great deal has to learn that only the knowledge they can put to use will count for anything.",
"advice": [
{"move": "learn to use what you know rather than to know more", "outcome": "that is what counts", "quote": "it isn't so much knowing a whole lot, as knowing a little and how to use it that counts", "stance": "do"}]}
]
@@ -0,0 +1,45 @@
[
{"chunk": 8, "story": 1,
"summary": "The father has looked over the son's growing monthly expenses, which show no honours to justify them, and warns him that the old man will not pay once college ends.",
"predicament": "A young person spending freely on someone else's money is warned that the habit will break them once the support stops.",
"advice": [
{"move": "bring your spending down to what you will be able to earn", "outcome": "the sooner you do, the easier life will be", "quote": "The sooner you adjust your spending to what your earning capacity will be, the easier they will find it to live together.", "stance": "do"}]},
{"chunk": 9, "story": 1,
"summary": "The son will start at the bottom, at the mailing desk for eight dollars a week, like anyone else; there is room at the top but no elevator.",
"predicament": "Someone with a family tie to the owner learns they must start at the bottom like everyone else and earn each step up.",
"advice": [
{"move": "hand a favoured newcomer ready-made success", "outcome": "it does them no good and harms the firm", "quote": "I can't hand out any ready-made success to you. It would do you no good, and it would do the house harm.", "stance": "avoid"},
{"move": "do the lowest work properly before reaching for higher work", "outcome": "nobody who has skipped it is fit for the work above it", "quote": "the man who hasn't licked stamps isn't fit to write letters", "stance": "do"}]},
{"chunk": 10, "story": 1,
"summary": "A start is all the father can give; after that the son must fight his own way forward, learning earning before spending, because the saver is the one who buys into the firm.",
"predicament": "Someone given a start must decide whether to build on it by thrift or to spend ahead of what they earn.",
"advice": [
{"move": "keep saving up and expenses down", "outcome": "the saver ends up buying an interest in the business", "quote": "It's the man who keeps saving up and expenses down that buys an interest in the concern.", "stance": "do"},
{"move": "spend money as fast as it comes", "outcome": "the spendthrift gets only part value from every dollar and is always short", "quote": "Pay day is always a month off for the spend-thrift, and he is never able to realize more than sixty cents on any dollar that comes to him.", "stance": "avoid"}]},
{"chunk": 11, "story": 1,
"summary": "Young men alone think recklessness with money makes them good fellows; the father calls the man generous with unearned money the meanest alive, and says the same ambition has filled his office with second-rate clerks.",
"predicament": "Among free-spending companions, someone fears that being careful with money will get them thought mean.",
"advice": [
{"move": "spend freely to be thought a good fellow", "outcome": "those who do stay second-rate clerks", "quote": "That same ambition to be known as a good fellow has crowded my office with second-rate clerks, and they always will be second-rate clerks.", "stance": "avoid"}]},
{"chunk": 12, "story": 1,
"summary": "The father started on two dollars a week and knew every penny's worth; a butcher who charged the same for a fine roast and a poor one had no sense of values and is now very poor.",
"predicament": "Someone works hard and willingly but prices things carelessly, and so never gets ahead however much they toil.",
"advice": [
{"move": "price and trade without a clear sense of what things are worth", "outcome": "even a hard worker ends up poor", "quote": "Bill has always been a big, healthy, hard-working man, but to-day he is very, very poor.", "stance": "avoid"}]},
{"chunk": 13, "story": 1,
"summary": "Some clerks spend their energy devising reasons to draw ahead on their pay; if they spent half of it thinking for the firm they would double their salaries and rise.",
"predicament": "Someone always short before pay day spends their energy seeking advances instead of thinking about the work that pays them.",
"advice": [
{"move": "put your energy into thinking for the firm instead of seeking advances on your pay", "outcome": "you could double your pay and your employer's profits within a year", "quote": "they could double their salaries and my profits in a year", "stance": "do"}]},
{"chunk": 14, "story": 1,
"summary": "The son will say he must do as the others do; the father answers that the follower buys at the top and loses, while the one who thinks for himself ends up a director.",
"predicament": "Someone is pressed to do as everyone around them does and must decide whether to think and act for themselves instead.",
"advice": [
{"move": "do things just because everyone around you does them", "outcome": "you stay poor and serve others all your life", "quote": "The boy who does anything just because the other fellows do it is apt to scratch a poor man's back all his life.", "stance": "avoid"},
{"move": "think and act for yourself, against the crowd", "outcome": "you end up in the directors' meetings", "quote": "It's the fellow who has the spunk to think and act for himself", "stance": "do"}]},
{"chunk": 15, "story": 1,
"summary": "An old steer at the packing house leads each new herd up the runway to the killing pens and slips away at the top; every crowd of boys has one, and the son should keep away from any crowd following him.",
"predicament": "A group of companions is following a charming leader who will slip away when trouble comes and leave them to pay for it.",
"advice": [
{"move": "keep away from a crowd following a smooth leader, even if it leaves you alone", "outcome": "the followers are led into trouble the leader himself escapes", "quote": "If you find your crowd following him, keep away from it. There are times when it's safest to be lonesome.", "stance": "do"}]}
]
@@ -0,0 +1,131 @@
[
{
"chunk": 16,
"story": 2,
"summary": "The father refuses the son's proposed post-graduate course: a packer's advanced training is in the packing house, where theory tested against practice pays.",
"predicament": "Someone eager to go on studying must decide whether to start work now and learn the rest by doing it.",
"advice": [
{
"move": "test what you learned from books against practice",
"outcome": "that is what moves things forward and turns a profit",
"quote": "knows enough about practice to test his theories for blow-holes that gives the world a shove ahead, and finds a fair margin of profit in shoving it",
"stance": "do"
}
]
},
{
"chunk": 17,
"story": 2,
"summary": "Business has grown so fine-margined and specialised that it takes trained men of every kind to run it, and a young man among them must be sharp or be eaten up.",
"predicament": "Someone entering a field crowded with trained, sharp people must be as sharp as they are or be overtaken.",
"advice": [
{
"move": "keep yourself clean and sharp among able competitors",
"outcome": "otherwise someone else overtakes you",
"quote": "must be as clean and sharp as a hound's tooth, or some other fellow's simply going to eat him up",
"stance": "do"
}
]
},
{
"chunk": 18,
"story": 2,
"summary": "The son of a speculator ruined in a wheat corner asks the father for any post down to office boy, is put off politely, and keeps calling twice a week.",
"predicament": "Someone whose family fortune has collapsed asks for any work at all and is put off with polite excuses.",
"advice": []
},
{
"chunk": 19,
"story": 2,
"summary": "Worn down after a month, the father offers the young man heavy labour in a loading gang, expecting him to refuse; he accepts on the spot.",
"predicament": "Someone begging for work is offered only the hardest, lowest labour, by someone who expects them to turn it down.",
"advice": [
{
"move": "keep calling back on a reluctant employer",
"outcome": "they give way and offer you something",
"quote": "Finally, after about a month of this, he wore me down so that I stopped him one day",
"stance": "do"
}
]
},
{
"chunk": 20,
"story": 2,
"summary": "The young man invents an overhead system that does a gang's work, and later gets time clocks installed, abolishing his own job each time and winning a raise for the saving.",
"predicament": "Someone stuck at heavy, tedious work finds a way to make it unnecessary, and so talks themselves out of the job.",
"advice": [
{
"move": "find a way to do the work cheaper, even if it does away with your own job",
"outcome": "the saving is too big to fire you over, and you are raised and moved up",
"quote": "Jim was lazy, but he had put the house in the way of saving so much money that I couldn't fire him. So I raised his salary",
"stance": "do"
}
]
},
{
"chunk": 21,
"story": 2,
"summary": "Copying letters, he gets typewriters brought in; sent out selling a new product that will not move, he tells the boss the firm is doing it wrong and keeps pressing for advertising until allowed a small trial.",
"predicament": "Someone sure the firm is going about things the wrong way keeps pressing a new method on a superior who laughs at it.",
"advice": [
{
"move": "keep pressing a new idea on a sceptical superior",
"outcome": "you are eventually allowed to try it in a small way",
"quote": "Jim just kept plugging away at me between trips, until finally I took him off the road and told him to go ahead and try it in a small way",
"stance": "do"
}
]
},
{
"chunk": 22,
"story": 2,
"summary": "The young man spends the firm's money lavishly on extravagant advertising, keeping the owner in a chill and a sweat and always promising a fortune around the corner.",
"predicament": "Someone given charge of a new venture pours money into it far faster than it returns, alarming the one paying.",
"advice": []
},
{
"chunk": 23,
"story": 2,
"summary": "Just before he is fired, orders rise and the young man keeps a permanent place; the father admits he was not broad-minded enough to see a better way, and warns his son that popularity and sporty habits cost time and jobs.",
"predicament": "Someone in charge must decide whether to keep backing a costly new approach they do not understand until it proves itself.",
"advice": [
{
"move": "stay with a costly new approach through its early losses",
"outcome": "the business comes and the approach wins a permanent place",
"quote": "the orders for Extract began to look up, and he got a reprieve; then he began to make expenses, and he got a pardon",
"stance": "do"
},
{
"move": "dismiss a new way because it is not your way",
"outcome": "you nearly throw away a better way",
"quote": "it was a new way, and I hadn't been broad-gauged enough to see that it was a better way",
"stance": "avoid"
},
{
"move": "hire trained minds",
"outcome": "the better trained they are, the faster they earn their raises",
"quote": "I've learned now that the better trained they are the faster they find reasons for getting their salaries raised",
"stance": "do"
},
{
"move": "chase popularity among your peers",
"outcome": "it eats up time that work needs",
"quote": "while the most popular man in his class isn't always a failure in business, being as popular as that takes up a heap of time",
"stance": "avoid"
},
{
"move": "take up flashy dress and habits",
"outcome": "the employer will not hire you",
"quote": "There's nothing criminal about either, but I don't hire sporty clerks at all",
"stance": "avoid"
}
]
},
{
"chunk": 24,
"story": 2,
"summary": "The father closes trusting the son's good sense to see he has had enough college for now.",
"predicament": "Someone who has had their fill of preparation is told plainly that it is time to stop preparing and start working.",
"advice": []
}
]
@@ -0,0 +1,41 @@
[
{"chunk": 25, "story": 3,
"summary": "The son wants two months in Europe before starting work; the father cuts off his allowance in two weeks and says it is worry and drink after hours, not work, that break men's health.",
"predicament": "Someone who has never earned anything wants a long holiday before starting work, just as their support is being cut off.",
"advice": [
{"move": "wear yourself out after hours with worry or carousing", "outcome": "that, not the work, breaks down your health", "quote": "It's not what a man does during working-hours, but after them, that breaks down his health.", "stance": "avoid"}]},
{"chunk": 26, "story": 3,
"summary": "Men who carouse or brood after work always need holidays and get no good of them; a change of work is the best rest, and a job should be taken the moment it is offered and used as bait for a better one.",
"predicament": "Someone out of work, or about to start, must decide whether to take the first job offered or hold out for better.",
"advice": [
{"move": "spend your evenings carousing or brooding over troubles", "outcome": "you always need a rest and never get any good from one", "quote": "They're the men who are always needing vacations, and never getting any good out of them.", "stance": "avoid"},
{"move": "take the first job offered and use it to reach a better one", "outcome": "each small catch lands a bigger one", "quote": "to take the first job that offered, and to use it for bait. You can catch a minnow with a worm, and a bass will take your minnow", "stance": "do"}]},
{"chunk": 27, "story": 3,
"summary": "Take the medicine without playing with the spoon: putting off an easy thing makes it hard, and a hard one impossible.",
"predicament": "Someone facing an unwelcome task keeps finding reasons to put it off a little longer.",
"advice": [
{"move": "put off an unwelcome task", "outcome": "easy things become hard and hard ones impossible", "quote": "Putting off an easy thing makes it hard, and putting off a hard one makes it impossible.", "stance": "avoid"}]},
{"chunk": 28, "story": 3,
"summary": "An old storekeeper put off everything, from rising to prayers to firing and raising clerks to paying bills, and lost his meals, his church, his cash, his good men and his business.",
"predicament": "Someone in charge keeps putting off hard decisions about people and bills until the consequences arrive on their own.",
"advice": [
{"move": "put off dismissing bad staff", "outcome": "they make off with the cash", "quote": "he would keep putting off firing his bad clerks until they had lit out with the petty cash", "stance": "avoid"},
{"move": "put off raising good staff", "outcome": "a competitor hires them away", "quote": "he would keep putting off raising the salaries of his good ones until his competitor had hired them away", "stance": "avoid"},
{"move": "put off paying what you owe even when you have the money", "outcome": "the business is ruined", "quote": "Running a business on those lines is, of course, equivalent to making a will in favor of the sheriff and committing suicide so that he can inherit.", "stance": "avoid"}]},
{"chunk": 29, "story": 3,
"summary": "A mistake is excusable once; the father has seen hundreds of graduates go abroad for polish and come back with nothing but ill-fitting clothes, since culture is not a change of climate.",
"predicament": "Someone hopes a spell of travel and leisure will give them the polish they feel they lack before starting work.",
"advice": [
{"move": "make the same mistake twice", "outcome": "there is no excuse left but carelessness", "quote": "When a fellow makes the same mistake twice he's got to throw up both hands and own up to carelessness or cussedness.", "stance": "avoid"},
{"move": "go abroad expecting to come back polished", "outcome": "you bring back nothing worth having", "quote": "they didn't bring back a great deal except a few trunks of badly fitting clothes", "stance": "avoid"}]},
{"chunk": 30, "story": 3,
"summary": "On his one trip to Europe the father was marked as an easy mark, sold two fake old masters, and chose his trade mark over a purchased coat of arms.",
"predicament": "A newly prosperous person abroad is marked as an easy target by everyone with something to sell them.",
"advice": [
{"move": "buy the trappings of culture where you cannot judge their worth", "outcome": "you are taken for an easy mark and fleeced", "quote": "In London, for the first time in my life, I was taken for an easy thing. Every time I went into a store there was a bull movement.", "stance": "avoid"}]},
{"chunk": 31, "story": 3,
"summary": "The father prefers his trade mark, known everywhere for quality, to an inherited coat of arms; the son can travel once he has worked some years.",
"predicament": "Someone who has built a name by their work is tempted to buy the trappings of inherited rank instead.",
"advice": [
{"move": "build your name on the quality of your work instead of borrowed rank", "outcome": "it pays better, and the whole trade trusts it", "quote": "and it's a heap more profitable. It's got so now that every jobber in the trade knows that it stands for good quality", "stance": "do"}]}
]
@@ -0,0 +1,105 @@
[
{
"chunk": 32,
"story": 4,
"summary": "The son's brief letter pleases the father, who gives his rules for business talk: have something to say, say it, stop talking.",
"predicament": "Someone doing business must decide how much to say, knowing that every word past the point can be turned against them.",
"advice": [
{
"move": "start talking before you know what you want, or keep on after you have said it",
"outcome": "it lands you in a lawsuit or in poverty",
"quote": "Beginning before you know what you want to say and keeping on after you have said it lands a merchant in a lawsuit or the poorhouse",
"stance": "avoid"
}
]
},
{
"chunk": 33,
"story": 4,
"summary": "Listen more than you talk; in their first weeks new clerks either learn how little they can do and keep the job, or hold their place and start reaching for the next one.",
"predicament": "In their first weeks at a new job, someone learns either how little they can get away with or how to reach higher.",
"advice": [
{
"move": "say less and listen more than the other person",
"outcome": "you give nothing away and flatter the one talking",
"quote": "Say less than the other fellow and listen more than you talk; for when a man's listening he isn't telling on himself and he's flattering the fellow who is.",
"stance": "do"
},
{
"move": "hold your own job firmly while reaching for the one above",
"outcome": "it marks you as the one worth advancing",
"quote": "holding down his own place with one hand and beginning to reach for the job just ahead of him with the other",
"stance": "do"
}
]
},
{
"chunk": 34,
"story": 4,
"summary": "The first year should be driven like a trotting race: start steady, build pace, and be running hardest at the finish when promotions and raises are chosen.",
"predicament": "Someone starting their first year of work must pace themselves to finish strong when promotions are decided.",
"advice": [
{
"move": "start at a steady pace you can improve on, and build to the finish",
"outcome": "you are among those promoted at the year's end",
"quote": "Never start off at a gait that you can't improve on, but move along strong and well in hand to the quarter.",
"stance": "do"
}
]
},
{
"chunk": 35,
"story": 4,
"summary": "A good first impression matters, but there is no love at first sight in business: a job worth having takes coming early, staying late and long steady work.",
"predicament": "Someone new at work wants quick recognition, though nothing there is won without long, steady showing up.",
"advice": [
{
"move": "come early, stay late and keep at it a long time",
"outcome": "that is the only way to win a place worth having",
"quote": "A man's got to keep company a long time, and come early and stay late and sit close, before he can get a girl or a job worth having.",
"stance": "do"
}
]
},
{
"chunk": 36,
"story": 4,
"summary": "The father's old roommate neglected his counter job to dream up overnight fortunes, and was forever offering to let the father in on the ground floor for a small stake.",
"predicament": "A friend full of get-rich-quick schemes offers to let you in on the ground floor if you will stake them.",
"advice": [
{
"move": "accept an offer to be let in on the ground floor",
"outcome": "the safe course is to stay well clear",
"quote": "whenever any one offers to let you in on the ground floor it's a pretty safe rule to take the elevator to the roof garden",
"stance": "avoid"
}
]
},
{
"chunk": 37,
"story": 4,
"summary": "Years later the schemer, seedy and eager as ever, offers shares in a paper gold company and leaves with a ten-dollar loan; nobody can think for the firm by day and for himself by night.",
"predicament": "Someone spends their nights scheming at private ventures while drawing wages for the work they are paid to think about.",
"advice": [
{
"move": "lend a chronic schemer a little rather than hire them",
"outcome": "it costs you less",
"quote": "I have always found it cheaper to lend a man of that build a little money than to hire him.",
"stance": "do"
},
{
"move": "think for your employer by day and for your own schemes by night",
"outcome": "you end up poor at both, and the employer loses most",
"quote": "A man who tries that is usually a pretty poor thinker, and he isn't much good to either",
"stance": "avoid"
}
]
},
{
"chunk": 38,
"story": 4,
"summary": "The son is to report to a touchy foreman who resents taking on a man he has not chosen; the father will give him pointers first.",
"predicament": "Someone is being placed under a superior who resents having a newcomer imposed on them without being asked.",
"advice": []
}
]
@@ -0,0 +1,34 @@
[
{"chunk": 39, "story": 5,
"summary": "The son slipped a love note into a customer's envelope; the customer mocks it while pressing a claim, the father berates the foreman before learning it was his own son, and the son answered the foreman with a joke.",
"predicament": "Someone's careless personal slip at work has embarrassed their superiors before a customer, and they answered the rebuke with a joke.",
"advice": []},
{"chunk": 40, "story": 5,
"summary": "Personal business belongs outside working hours, which the employer has bought; the foreman says the son can work hard when he chooses but seldom chooses, and a wandering mind cannot do even trifling work right.",
"predicament": "Someone who can work well when they choose lets their mind wander at a dull task, and the mistakes surface later.",
"advice": [
{"move": "do your own business on your employer's time", "outcome": "it amounts to stealing from the employer", "quote": "Your time is money--my money--and when you take half an hour of it for your own purposes, that is just a petty form of petty larceny.", "stance": "avoid"},
{"move": "let your mind wander from a dull task", "outcome": "the work is done wrong", "quote": "A man can't have his head pumped out like a vacuum pan, or stuffed full of odds and ends like a bologna sausage, and do his work right.", "stance": "avoid"}]},
{"chunk": 41, "story": 5,
"summary": "Success lies in kneading commonplace virtues into the job; a clerk who crawls in each morning and springs out each night would not be trusted with a branch.",
"predicament": "Someone arrives at work sluggishly and leaves on the stroke, not seeing that this decides whether they are ever trusted with more.",
"advice": [
{"move": "work the plain, commonplace virtues into your job", "outcome": "it turns out well", "quote": "if a boy will take these commonplace generalities and knead them into his job, the mixture'll be cake", "stance": "do"},
{"move": "come in slow and leave the moment you can", "outcome": "you are not trusted with a post of your own", "quote": "I'm a little afraid that if I sent him off to take charge of a branch house he wouldn't always be around when customers were", "stance": "avoid"}]},
{"chunk": 42, "story": 5,
"summary": "A town sinner was always last to be saved at the yearly revival and first to backslide, and grew vain of how much effort his rescue took.",
"predicament": "Someone keeps reforming and relapsing, and grows proud of how much effort it takes other people to set them straight.",
"advice": []},
{"chunk": 43, "story": 5,
"summary": "One year the preacher refused to hold extra meetings for the backslider and left him to himself; a merchant likewise has too many promising young men to waste time on those who will not help themselves.",
"predicament": "Someone who keeps needing to be rescued finds that the people in charge have finally stopped spending time on them.",
"advice": [
{"move": "leave it to others to keep hauling you back into line", "outcome": "they soon stop wasting time on you", "quote": "Very few men are worth wasting time on beyond a certain point, and that point is soon reached with a fellow who doesn't show any signs of wanting to help.", "stance": "avoid"}]},
{"chunk": 44, "story": 5,
"summary": "The owner filling a vacancy picks the one who keeps work and play apart and gives full measure, and passes over the one late in and early out; the son's love note cost the firm sixty dollars on a disputed claim.",
"predicament": "Someone in line for the next opening does not see that small habits of punctuality and full effort decide who fills it.",
"advice": [
{"move": "keep work and play apart and give full measure", "outcome": "you are the one picked for the next vacancy", "quote": "He's pretty apt to pick some one who keeps separate ledger accounts for work and for fun, who gives the house sixteen ounces to the pound", "stance": "do"},
{"move": "come in late and leave early", "outcome": "you are passed over for the vacancy", "quote": "to pass by the one who is late at the end where he ought to be early, and early at the end where he ought to be late", "stance": "avoid"},
{"move": "let your personal affairs get mixed into the firm's business", "outcome": "it weakens the firm's hand and costs it money", "quote": "I just had to allow Donnelly his claim on those hams, though I was dead sure our weights were right, and it cost the house sixty dollars.", "stance": "avoid"}]}
]
@@ -0,0 +1,128 @@
[
{
"chunk": 45,
"story": 6,
"summary": "The son says he cannot work under the gruff foreman; the father replies that the firm cares how the boss likes him, not the reverse, that the foreman is rough but loyal and generous, and that everyone has a boss.",
"predicament": "Someone declares they cannot work under their gruff superior, not seeing that there will always be someone over them.",
"advice": [
{
"move": "complain that you cannot work under your superior",
"outcome": "it shows weakness, and the firm cares only how the superior rates you",
"quote": "the house isn't interested in knowing how you like your boss, but in how he likes you",
"stance": "avoid"
}
]
},
{
"chunk": 46,
"story": 6,
"summary": "Like the boss if you can but give him no cause for dislike; criticism comes from above; make room for older men, keep your temper, approach a kicker gently, and stay clear of the truly vicious.",
"predicament": "Someone has to get along with a difficult superior whose manner is rough but whose intentions may be good.",
"advice": [
{
"move": "report that your superior is no good",
"outcome": "the one above them already knows it",
"quote": "whenever you discover that your boss is no good you may rest easy that the man who pays his salary shares your secret",
"stance": "avoid"
},
{
"move": "give way to your seniors and let them have the best places",
"outcome": "they make room for you in turn",
"quote": "let the village fathers get their feet on the fender and the sawdust box in range, and you'll find them making a little room for you in turn",
"stance": "do"
},
{
"move": "keep your temper whether you are right or wrong",
"outcome": "when right you lose nothing by it; when wrong you cannot afford to lose it",
"quote": "Remember that when you're in the right you can afford to keep your temper, and that when you're in the wrong you can't afford to lose it.",
"stance": "do"
},
{
"move": "approach a touchy person gently and respectfully",
"outcome": "you get peace and what you came for",
"quote": "if you want peace and her nine quarts, you will naturally approach her from the side, and say, So-boss",
"stance": "do"
},
{
"move": "have any dealings with someone vicious on principle",
"outcome": "no approach is safe; keep away",
"quote": "There's never any use fooling with an animal of that sort, brute or human. The only safe place is the other side of the fence",
"stance": "avoid"
}
]
},
{
"chunk": 47,
"story": 6,
"summary": "A newcomer to a Missouri town, a good talker and bad listener, buys a mule with a bad character, ignoring what everyone says about it.",
"predicament": "Someone too busy telling others what they know ignores every warning about the risky new thing they have taken on.",
"advice": [
{
"move": "talk about what you know instead of listening",
"outcome": "you learn nothing about the new dangers around you",
"quote": "Jeff was a good talker, but a bad listener, and so we learned a heap about how things were done in Wisconsin, but he didn't pick up much information",
"stance": "avoid"
}
]
},
{
"chunk": 48,
"story": 6,
"summary": "The quiet-looking mule kicks, strikes and bites the newcomer senseless; the father warns that the dangerous people are not the rough ones but the over-smooth.",
"predicament": "Someone confidently approaches a quiet-looking danger and is badly hurt, learning that the smooth ones are the ones to fear.",
"advice": [
{
"move": "be on guard against anyone who is too smooth",
"outcome": "they, not the rough ones, are the ones carrying hidden weapons",
"quote": "those gentlemen who have more oil in their composition than any two-legged animal has a right to have, that you should be on the lookout for concealed deadly weapons",
"stance": "do"
}
]
},
{
"chunk": 49,
"story": 6,
"summary": "Tell the affable from the too affable; people are most of the business; the foreman is loyal, and loyalty is beyond price; job seekers who run down their old employer never get far with the father.",
"predicament": "Someone looking for a new place is tempted to win sympathy by running down the employer they are leaving.",
"advice": [
{
"move": "value loyalty in the people who work for you",
"outcome": "it is worth more than you could pay for it",
"quote": "It is the one commodity that hasn't any market value, and it's the one that you can't pay too much for.",
"stance": "do"
},
{
"move": "run down your last employer to a prospective one",
"outcome": "you are not hired, since you would run them down too",
"quote": "I never get very far with a critter of that class, because I know that he wouldn't like me or the house if he came to work for us.",
"stance": "avoid"
}
]
},
{
"chunk": 50,
"story": 6,
"summary": "Keep your likes and dislikes to yourself; stop being stiff and chesty around the office, since people of real worth need no airs; the branch is doing badly and its managers will suffer if it does not improve.",
"predicament": "Someone newly placed puts on airs among their colleagues and lets everyone know what they think of the people there.",
"advice": [
{
"move": "tell people your likes and dislikes",
"outcome": "it ruins you",
"quote": "It's generally expensive to have either, but it's bankruptcy to tell about them.",
"stance": "avoid"
},
{
"move": "put on airs around the office",
"outcome": "it shows there is little behind the show",
"quote": "it's good business, when a fellow hasn't much behind his forehead, to throw out his chest and attract attention to his shirt-front",
"stance": "avoid"
},
{
"move": "let the branch you run fall behind the others",
"outcome": "its managers will be thrown out",
"quote": "if they don't do better next month I am coming back here with a shotgun, and there's going to be a pretty heavy mortality among our head men",
"stance": "avoid"
}
]
}
]
@@ -0,0 +1,141 @@
[
{
"chunk": 51,
"story": 7,
"summary": "Taking the cure at a spa, the father mocks high-priced specialists and recalls a glut of canned beef that no booklet of new recipes could move, since every recipe came out as hash.",
"predicament": "Someone with more stock than buyers tries dressing the same goods up as something new, and the disguise fools nobody.",
"advice": [
{
"move": "try to sell a glut by passing the same thing off in new disguises",
"outcome": "it does not work",
"quote": "after he had schemed out ten different combinations, the other ninety turned out to be corned-beef hash. So that was no use.",
"stance": "avoid"
}
]
},
{
"chunk": 52,
"story": 7,
"summary": "A fancy gilt label and a higher price moved the glut at once; the father is glad the son has been promoted to the billing desk, but wary of how parents rate their children.",
"predicament": "Someone with goods that will not move tries giving them a grander label and a higher price instead of a lower one.",
"advice": [
{
"move": "give the goods a fancier label and charge more",
"outcome": "people want them",
"quote": "Of course, people just naturally wanted it. There's nothing helps convince some men that a thing has merit like a little gold on the label.",
"stance": "do"
}
]
},
{
"chunk": 53,
"story": 7,
"summary": "A widow whose husband left no insurance brings her son to the father for a job, praising him extravagantly; the father takes him on at her valuation.",
"predicament": "Someone is asked to take on a newcomer on the strength of a doting parent's glowing account of them.",
"advice": []
},
{
"chunk": 54,
"story": 7,
"summary": "The new errand boy is behind a string of mishaps but has an excuse every time and is let off with a warning; a big customer's pampered son wanders into the errand boys' lunchroom.",
"predicament": "A new hand keeps causing trouble with an excuse ready every time, and is let off because they are new.",
"advice": []
},
{
"chunk": 55,
"story": 7,
"summary": "The errand boys string the customer's son upside down in a game of pig-sticking; the customer cancels his contract, the boy is sent packing, and his mother blames the father.",
"predicament": "A newcomer taken on as a favour plays a reckless prank that costs an important customer and their own place.",
"advice": [
{
"move": "play a rough prank on a customer's family",
"outcome": "the customer takes their business away and you lose your place",
"quote": "Willie's father canceled his bologna contract and marched off",
"stance": "avoid"
}
]
},
{
"chunk": 56,
"story": 7,
"summary": "The father distrusts his own fond judgement and gets an outsider's valuation in figures; he put his son under the foreman to see him through unsentimental eyes, and the foreman rates him a billing clerk.",
"predicament": "Someone must judge the worth of something or someone they are fond of, and fondness is clouding their judgement.",
"advice": [
{
"move": "get a disinterested outsider's valuation of what you are fond of",
"outcome": "you see the solid facts once the sentiment is strained off",
"quote": "if you really want a look at the solid facts of a thing you must strain off the sentiment first",
"stance": "do"
}
]
},
{
"chunk": 57,
"story": 7,
"summary": "Sons do not always turn out as represented; it is best to let a boy follow his bent, because the way to show him he chose wrong is to let him try it.",
"predicament": "A young person is set on work their family thinks wrong for them, and the family must decide whether to forbid it.",
"advice": [
{
"move": "let someone try the work they are set on, instead of arguing",
"outcome": "if it is wrong they will quit on their own, and if it is right you had no business stopping them",
"quote": "If it really is the wrong thing you won't have to argue with him to quit, and if it isn't you haven't any right to.",
"stance": "do"
},
{
"move": "keep someone's leaning bottled up",
"outcome": "it comes out harder later",
"quote": "the longer you keep it bottled up the harder it comes",
"stance": "avoid"
}
]
},
{
"chunk": 58,
"story": 7,
"summary": "An old friend's son is sent to learn the hide trade at the father's firm and announces on arrival that whatever he wants to do, it is not leather; his father had brushed that aside.",
"predicament": "A young person placed in the family trade tells everyone plainly that it is not the work they want to do.",
"advice": []
},
{
"chunk": 59,
"story": 7,
"summary": "The friend's son quits just before being fired, the father loses his old friend's trade, and the young man turns up as a reporter who prints what the father might have said.",
"predicament": "Someone has taken on a friend's child as a favour, and the placement is failing in a way that will cost the friendship.",
"advice": [
{
"move": "hire friends or their children",
"outcome": "you lose the friendship and the friend's business",
"quote": "it cost me the old man's trade and friendship. I want to say right here that the easiest way in the world to make enemies is to hire friends.",
"stance": "avoid"
}
]
},
{
"chunk": 60,
"story": 7,
"summary": "As a war correspondent the young man makes news when there is none, and sends his paper a detailed account of his own capture and execution.",
"predicament": "Someone whose work rewards a good story learns they can invent the news when there is none, and is praised for it.",
"advice": []
},
{
"chunk": 61,
"story": 7,
"summary": "The invented death sells papers, brings a memorial service and a collection among the clerks; then a wire asks the father for money and to keep the survival quiet.",
"predicament": "A fabrication has been believed and mourned by everyone, and its author quietly asks the one person who knows to keep it dark.",
"advice": []
},
{
"chunk": 62,
"story": 7,
"summary": "The young man drifts back to life with a rescue story and earns ten thousand a year in New York; a dog born to point should not be run after foxes, and the son seems made for the family pack.",
"predicament": "A misfit in the family trade, once left to find their own way, prospers in work that suits their gifts.",
"advice": [
{
"move": "leave the trade you were placed in for one that suits your gifts",
"outcome": "you earn far more than you ever could have in the wrong trade",
"quote": "drawing ten thousand a year, which was more than he could have worked up to in the leather business in a century",
"stance": "do"
}
]
}
]
@@ -0,0 +1,40 @@
[
{"chunk": 63, "story": 8,
"summary": "A florist's bill for fifty-two dollars of roses sent to a speculator's showy daughter reaches the father, who judges her heart beats only for money.",
"predicament": "Someone on small pay is spending far beyond it courting a person who cares mainly about money.",
"advice": [
{"move": "tell a money-minded suitor exactly what you earn", "outcome": "they lose interest in you", "quote": "tell her you're making twelve a week and ain't going to get any more till you earn it, you'll find that you can't push within a mile of her", "stance": "do"}]},
{"chunk": 64, "story": 8,
"summary": "A twelve-dollar clerk owing for roses needs a keeper more than a wife; young men pick wives in dim parlours without looking at the family, and a speculating father-in-law will borrow.",
"predicament": "Someone barely earning is drifting toward marriage without a clear look at who, and whose family, they are taking on.",
"advice": [
{"move": "spend a large sum at once on courtship gifts", "outcome": "you come to regret the necessities it could have bought", "quote": "there always comes a time to the fellow who blows fifty-two dollars at a lick on roses when he thinks how many staple groceries he could have bought", "stance": "avoid"},
{"move": "marry into a family with a spendthrift or speculating head", "outcome": "they borrow money from you", "quote": "while he doesn't marry his wife's father, there's nothing in the marriage vow to prevent the old man from borrowing money of him", "stance": "avoid"}]},
{"chunk": 65, "story": 8,
"summary": "Never marry a poor girl raised like a rich one, nor marry for money or without it; the girl who marries the son for his father's money will be cheated.",
"predicament": "Someone of modest pay is choosing whom to marry, and money on either side threatens to spoil the match.",
"advice": [
{"move": "marry someone raised above the means they will actually have", "outcome": "you get the vices of the rich without their advantages", "quote": "Never marry a poor girl who's been raised like a rich one. She's simply traded the virtues of the poor for the vices of the rich", "stance": "avoid"}]},
{"chunk": 66, "story": 8,
"summary": "In the father's home town the owner's pampered little son thought himself a fine fellow.",
"predicament": "A pampered heir who thinks well of themselves is much admired by the young people of a small place.",
"advice": []},
{"chunk": 67, "story": 8,
"summary": "The pampered son is a smooth, easy charmer the other boys hate and the girls like, and he confides his heart's secrets to every girl in town.",
"predicament": "A smooth talker wins favour everywhere by telling each listener the same confidences as if meant for them alone.",
"advice": []},
{"chunk": 68, "story": 8,
"summary": "He wins sympathy by hinting at a tragic past until, at twenty-four, he courts a shrewd widow of forty and wakes up stepfather to her four children, kept firmly in hand and taken for her son.",
"predicament": "Someone who has trifled with everyone's affections is finally caught by a person far shrewder than they are.",
"advice": []},
{"chunk": 69, "story": 8,
"summary": "Widowed at over fifty, he marries a girl of eighteen, and on the honeymoon train travellers mock him by treating her as his daughter.",
"predicament": "An ageing person marries someone decades younger and finds everyone around them treating the match as a joke.",
"advice": []},
{"chunk": 70, "story": 8,
"summary": "The hotel clerk joins the joke; the moral is that you cannot trifle with a woman set on marrying, nor average out one marital mistake with another, and marrying the wrong one is for life.",
"predicament": "Someone who made one bad match tries to balance it with the opposite mistake, and is mocked for both.",
"advice": [
{"move": "trifle with someone who has made up their mind to marry", "outcome": "you end up married to them", "quote": "the foolishness of thinking you can take any chances with a woman who has really decided that she wants to marry", "stance": "avoid"},
{"move": "marry the wrong person", "outcome": "you live with the mistake all your life", "quote": "marrying the wrong girl is the one mistake that you've got to live with all your life", "stance": "avoid"}]}
]
@@ -0,0 +1,48 @@
[
{"chunk": 71, "story": 9,
"summary": "The son sets off on the road looking so cocky that the father fears he will answer complaints with repartee; a joke about the product, repeated, comes to be believed.",
"predicament": "Someone newly put in front of customers is tempted to answer their complaints with a smart retort.",
"advice": [
{"move": "answer customers with smart retorts", "outcome": "it makes business dull, and business needs orders", "quote": "Repartee makes reading lively, but business dull. And what the house needs is more orders.", "stance": "avoid"},
{"move": "joke about your own goods", "outcome": "people come to believe the joke", "quote": "Half the people in the world take a joke seriously from the start, and the other half if you repeat it often enough.", "stance": "avoid"}]},
{"chunk": 72, "story": 9,
"summary": "A man offered the father a toy spaniel for five hundred dollars; when the father joked that it should be a mastiff at that price, the man turned the old sausage joke on him.",
"predicament": "Someone makes a flippant remark while bargaining and hands the other side an opening to mock them.",
"advice": [
{"move": "joke while bargaining", "outcome": "you lay yourself open to being mocked", "quote": "I was pretty hot, I can tell you, but I had laid myself open", "stance": "avoid"}]},
{"chunk": 73, "story": 9,
"summary": "The trip is an experiment; a salesman is mostly judgement and a little talk, and buyers care about price, not a drummer's stories.",
"predicament": "Someone out selling for the first time assumes buyers want to be entertained rather than offered a better price.",
"advice": [
{"move": "show off before you have mastered the basics", "outcome": "you will never shine that way", "quote": "you will never become the pride of the pond by starting out to cut figure eights before you are firm on your skates", "stance": "avoid"},
{"move": "entertain buyers with stories instead of offering a price", "outcome": "a small price cut wins more than any joke", "quote": "I never saw one that liked a drummer's jokes more than an eighth of a cent a pound on a tierce of lard.", "stance": "avoid"}]},
{"chunk": 74, "story": 9,
"summary": "Be pleasant with the trade but not too pleasant; flattery makes a fool of the flatterer; never run down a competitor's goods; neither beg for business nor look down on it.",
"predicament": "Someone courting buyers must decide how far to flatter them, beg them, or run down the rival's goods to win an order.",
"advice": [
{"move": "win buyers with flattery", "outcome": "it only makes a fool of you", "quote": "I never knew smoking to do anything good except a ham, or flattery to help any one except to make a fool of himself", "stance": "avoid"},
{"move": "hold yourself too high to see small business", "outcome": "orders pass you by unseen", "quote": "don't hold your nose so high in the air that an order can travel under it without your seeing it", "stance": "avoid"}]},
{"chunk": 75, "story": 9,
"summary": "Customers' complaints are lies, exaggerations or the truth: settle the true one at once for less than first asked, soothe the exaggerator, ignore the liar, and learn fast which is which.",
"predicament": "A customer is complaining about the goods, and someone must judge whether the complaint is a lie, an exaggeration or the truth.",
"advice": [
{"move": "settle a genuine complaint on the spot, bargaining down from the first figure", "outcome": "you can usually settle for less than was asked", "quote": "a man who's making a claim never underestimates his case, and that you can generally compromise for something less than the first figure", "stance": "do"},
{"move": "fail to tell honest complaints from false ones", "outcome": "you will not last long with the firm", "quote": "if you don't learn pretty quick you'll not travel very far for the house", "stance": "avoid"}]},
{"chunk": 76, "story": 9,
"summary": "Send orders, not long letters; the firm does not want to hear how a competitor got an order after the fact. On his own first trip the father was sent to the river towns.",
"predicament": "Someone losing sales to competitors must decide whether to explain the setbacks at length or simply bring in business.",
"advice": [
{"move": "explain at length how a competitor beat you", "outcome": "nobody at headquarters wants to hear it", "quote": "We aren't specially interested in orders that the other fellow gets, or in knowing how it happened after it has happened.", "stance": "avoid"}]},
{"chunk": 77, "story": 9,
"summary": "In a ragged river town where everyone seemed to need clothes, the young father hinted to the storekeeper that the people dressed badly, and was nearly punched and mocked for his own flashy clothes.",
"predicament": "Someone new to a place offends the very people they hoped to sell to by hinting that they badly need it.",
"advice": [
{"move": "hint to customers that they are shabby and need your goods", "outcome": "they will not even look at what you offer", "quote": "he wouldn't even look at my samples, and when I began to hint that the people were pretty ornery dressers", "stance": "avoid"}]},
{"chunk": 78, "story": 9,
"summary": "The whole town laughed at him; he learned to dress like the locals and to sell where the money is, wrote home long explanations, and was asked by wire what he himself was doing, so he resigned.",
"predicament": "Someone whose sales are failing sends home long explanations about the competition instead of results.",
"advice": [
{"move": "dress as the local people of standing do, not as fashion says", "outcome": "you are not laughed at", "quote": "it's safer when you're out of his sphere of influence to follow the styles that the hotel clerk sets", "stance": "do"},
{"move": "go where the money already is rather than where the need seems greatest", "outcome": "that is where things sell", "quote": "the place to sell clothes is in the city, where every one seems to have plenty of them", "stance": "do"},
{"move": "send explanations in place of results", "outcome": "you are left with nothing to do but resign", "quote": "I saw then that the time for explaining was gone and that the moment for resigning had arrived", "stance": "avoid"}]}
]
@@ -0,0 +1,124 @@
[
{
"chunk": 79,
"story": 10,
"summary": "The son's selling costs came in within the limit only by decimals: he reached the tree ahead of the bull but is still stuck up it.",
"predicament": "Someone has barely scraped inside the limits set for them, which is both a relief and a precarious place to stay.",
"advice": []
},
{
"chunk": 80,
"story": 10,
"summary": "The son keeps skinning through instead of failing or succeeding outright; the father wants the second half of effort, full knowledge of the goods, belief in himself and total commitment.",
"predicament": "Someone doing just enough to avoid being dismissed must decide whether to put in the effort that actually brings results.",
"advice": [
{
"move": "do just enough work to keep from being dismissed",
"outcome": "you keep a half-way place on a half-way salary",
"quote": "you are bright enough to be a half-way man, and to hold a half-way place on a half-way salary by doing half the work you are capable of",
"stance": "avoid"
},
{
"move": "try with your whole effort, not half of it",
"outcome": "the second half of effort is what brings results",
"quote": "It looks to me as if you were trying only half as hard as you could, and in trying it's the second half that brings results.",
"stance": "do"
}
]
},
{
"chunk": 81,
"story": 10,
"summary": "Between trips the son should spend every spare minute learning the plant; knowledge beyond what the job needs buys a better job, and a seller needs to know the making.",
"predicament": "Someone who knows just enough of the business to hold their job must decide whether to learn the parts beyond it.",
"advice": [
{
"move": "learn more of the business than your own job requires",
"outcome": "it becomes the capital that buys you a better job",
"quote": "invests in more knowledge of the business than he has to have in order to hold his job has capital with which to buy a mortgage on a better one",
"stance": "do"
},
{
"move": "ask sensible questions",
"outcome": "nothing pays better",
"quote": "Nothing earns better interest than judicious questions",
"stance": "do"
}
]
},
{
"chunk": 82,
"story": 10,
"summary": "A smart buyer will show the son his own firm's lard as a rival's to make him run it down before a laughing audience; knowing his goods, he would have turned the joke and taken the order.",
"predicament": "A customer sets a trap to make an ill-informed seller look foolish in front of an audience.",
"advice": [
{
"move": "know your own goods well enough to recognise them anywhere",
"outcome": "you turn the trap round and take the order",
"quote": "And you'd have driven a spike right through that fellow's little joke and have nailed down his order hard and tight with the same blow.",
"stance": "do"
},
{
"move": "let a chance to learn a fact slip by",
"outcome": "you pay dearly before the next chance comes",
"quote": "if he misses the first opening he will lose a good deal of blood before he gets the second",
"stance": "avoid"
}
]
},
{
"chunk": 83,
"story": 10,
"summary": "A rail-thin village joker lived on tobacco and liked to scare the boys by pretending to be the devil.",
"predicament": "Someone known as the local joker lives on a habit the respectable people of the place all disapprove of.",
"advice": []
},
{
"chunk": 84,
"story": 10,
"summary": "The village preacher's religion allowed no compromises at all: no trading one vice for another, every habit had to go.",
"predicament": "Someone faces an authority who allows no bargaining at all, only complete surrender of every bad habit.",
"advice": []
},
{
"chunk": 85,
"story": 10,
"summary": "Lonely while the town was at the revival, the joker crept close, got converted, lost his tobacco and stuck to it for fear of being laughed at, then grew fat and kept retiring suits.",
"predicament": "Someone who has sworn off a habit in public sticks to it mostly for fear of being laughed at if they slip.",
"advice": []
},
{
"chunk": 86,
"story": 10,
"summary": "He saved fourteen outgrown suits to wear on the way down but never lost an ounce; you cannot count on coming back to something passed over, and thorough knowledge eventually wins the hardest buyer.",
"predicament": "Someone passes over a chance, sure they can come back for it later, and the chance never returns.",
"advice": [
{
"move": "pass something over, counting on coming back for it later",
"outcome": "the chance does not come again",
"quote": "a fellow can't bank on getting a chance to go back and take up a thing that he has passed over once",
"stance": "avoid"
},
{
"move": "know your own business thoroughly",
"outcome": "sooner or later you win a share of even the hardest customer's trade",
"quote": "will find an opportunity sooner or later of reaching the most hardened cuss of a buyer on his route and of getting a share of his",
"stance": "do"
}
]
},
{
"chunk": 87,
"story": 10,
"summary": "Like a juggler who keeps taking on more, a young man should not balk at extra work once he can handle the basics; the father wants the son to grow too big for the small trade.",
"predicament": "Someone managing adequately must decide whether to take on more than is asked and grow into a bigger role.",
"advice": [
{
"move": "keep taking on extra work cheerfully and learning beyond your post",
"outcome": "you grow so big that you force your promotion",
"quote": "I want to see you grow into a car-lot man--so strong and big that you will force us to see that you are out of place among the little fellows.",
"stance": "do"
}
]
}
]
@@ -0,0 +1,65 @@
[
{"chunk": 88, "story": 11,
"summary": "The father wants no more meek, wounded letters in answer to his criticism: a mule that takes the whip too quietly is only growing meaner inside.",
"predicament": "Someone under criticism answers with meek, wounded resignation instead of kicking back or doing better.",
"advice": [
{"move": "take criticism with sulky, long-suffering resignation", "outcome": "your superior reads it as meanness, not meekness", "quote": "I know it's not meekness, but meanness, that I've got to fight, and it's hard to tell which is the worst.", "stance": "avoid"}]},
{"chunk": 89, "story": 11,
"summary": "Idle young men claim others rose by pull and that jealous managers hold them down; no pull lifts a man higher than his own effort, and the man held down is usually one his boss cannot hold up.",
"predicament": "Someone who was passed over blames a rival's connections and a jealous superior for holding them back.",
"advice": [
{"move": "count on connections to lift you", "outcome": "no connection lifts you above what your own effort can", "quote": "I never saw one strong enough to lift a man any higher than he could raise himself by his boot straps", "stance": "avoid"},
{"move": "complain that you are being held down", "outcome": "it usually shows your superior cannot hold you up", "quote": "when a fellow whines that he's being held down, the truth is, as a general thing, that his boss can't hold him up", "stance": "avoid"}]},
{"chunk": 90, "story": 11,
"summary": "A good man bounces back like a thrown cat or a small football player who is always out from under the pile; one who knows his business needs no bragging.",
"predicament": "Someone knocked about by setbacks must decide whether to bounce back quietly or tell everyone how good they really are.",
"advice": [
{"move": "talk big about what you know", "outcome": "it shows how little you know", "quote": "It isn't what a man knows, but what he thinks he knows that he brags about. Big talk means little knowledge.", "stance": "avoid"}]},
{"chunk": 91, "story": 11,
"summary": "Facts must be sorted and half forgotten before they are useful; there is no cure for a big head, prosperity spoils men, and the son has sulked too soon.",
"predicament": "Someone who has taken in a great deal of knowledge, or a little success, begins to think too well of themselves.",
"advice": [
{"move": "let yourself get a big head", "outcome": "there is no cure, and it ends by bursting", "quote": "Education will broaden a narrow mind, but there's no known cure for a big head. The best you can hope is that it will swell up and bust", "stance": "avoid"}]},
{"chunk": 92, "story": 11,
"summary": "Knowing the business wins a buyer's attention, but confidence takes tact: a man who tried to please both wife and mother under one roof lost both, where tact would have kept them apart and each content.",
"predicament": "Someone must keep two parties content who each resent any favour shown to the other.",
"advice": [
{"move": "try openly to please two rivals at once", "outcome": "you make both of them angry", "quote": "when he tried to make them both happy he only succeeded in making them both mad", "stance": "avoid"},
{"move": "keep rivals apart and let each think they are getting slightly the better of it", "outcome": "each stays content", "quote": "kept them in separate houses, and have let each one think that she was getting a trifle the best of it", "stance": "do"}]},
{"chunk": 93, "story": 11,
"summary": "Calling a man a liar gets you knocked down, sneering gets you disliked, and a tactful double-edged compliment gets the trade; keep your opinions to yourself, and own up to a mistake at once.",
"predicament": "Someone is sure a person they must deal with is a liar, and must decide whether and how to say so.",
"advice": [
{"move": "tell someone plainly that they are a liar", "outcome": "you get knocked down", "quote": "Some men deal in facts, and call Bill Jones a liar. They get knocked down.", "stance": "avoid"},
{"move": "say something about a doubtful person that they will take as praise", "outcome": "you get their trade", "quote": "when that comes back to Bill he is half tickled to death, because he doesn't know that the higher criticism has hurt the Baron's reputation. That man gets the trade.", "stance": "do"},
{"move": "cover up a mistake", "outcome": "it breeds a lie, and the lie destroys the trust others had in you", "quote": "A mistake sprouts a lie when you cover it up. And one lie breeds enough distrust to choke out the prettiest crop of confidence that a fellow ever cultivated.", "stance": "avoid"}]},
{"chunk": 94, "story": 11,
"summary": "A salesman needs the confidence of both firm and buyer: cheat the buyer and lose the trade, trifle with the firm and lose the job; push business in good times and bad. A travelling quack comes to the father's boyhood town.",
"predicament": "Someone standing between their employer and the customers must keep the trust of both, when cheating either would be easy.",
"advice": [
{"move": "cheat the customer, or play games with your employer", "outcome": "you lose the customer's trade, or your job", "quote": "If you skin the buyer you will lose your trade; and if you play tag with the house you will lose your job.", "stance": "avoid"},
{"move": "push for business in good times and bad alike", "outcome": "in good times it comes easily, and in bad the orders are needed", "quote": "When business is good, that is the time to force it, because it will come easy; and when it is bad, that is the time to force it, too", "stance": "do"}]},
{"chunk": 95, "story": 11,
"summary": "The quack's tricks, songs and tales draw a crowd but sell nothing, since nobody is sick and a rival had already sold the town a cheaper cure.",
"predicament": "Someone with goods to sell draws a large, friendly crowd and still sells nothing, because nobody feels any need.",
"advice": []},
{"chunk": 96, "story": 11,
"summary": "Instead of moving on, the quack praises the town's health while listing every epidemic creeping toward it, and warns against imitations.",
"predicament": "Someone facing buyers who feel no need for the goods sets about making them feel one.",
"advice": []},
{"chunk": 97, "story": 11,
"summary": "The speech leaves the women uneasy, but the quack holds back from selling, entertains, and returns next day for a children's show, where a child starts howling.",
"predicament": "Someone who has stirred up worry in a crowd holds back the offer until exactly the right moment comes.",
"advice": []},
{"chunk": 98, "story": 11,
"summary": "The quack doses the crying child and pretends to draw a swallowed button-hook from his mouth; in the excitement every mother in town buys a bottle.",
"predicament": "Someone stages a convincing demonstration so that an uneasy crowd rushes to buy what it had just refused.",
"advice": [
{"move": "stage a demonstration that makes the need feel real", "outcome": "the whole crowd buys", "quote": "leaving his stock of the Priceless Boon distributed--for the usual consideration--among all the mothers in town", "stance": "do"}]},
{"chunk": 99, "story": 11,
"summary": "The family never owned a button-hook; the father offers the quack as a lesson in method, not morals: a good salesman creates an appetite, and new methods beat old ones.",
"predicament": "Someone selling to people who feel no need must decide whether to wait for demand or to create it.",
"advice": [
{"move": "create a demand where the buyer feels none", "outcome": "that is what makes a good salesman", "quote": "a good salesman is like a good cook--he can create an appetite when the buyer isn't hungry", "stance": "do"},
{"move": "keep doing things the same way year after year", "outcome": "people tire of it and want a change", "quote": "Doing the same thing in the same way year after year is like eating a quail a day for thirty days.", "stance": "avoid"}]}
]
@@ -0,0 +1,46 @@
[
{"chunk": 100, "story": 12,
"summary": "A big order earns the son a raise to thirty a week and a new suit at the father's cost, with a lecture on dress: people judge by clothes and will not stay to hear excuses.",
"predicament": "Someone whose work has begun to pay off is told their way of dressing is costing them the trust of people who matter.",
"advice": [
{"move": "go about looking slovenly", "outcome": "people assume the worst and never get close enough to learn otherwise", "quote": "If you look as if you had slept in your clothes, most men will jump to the conclusion that you have", "stance": "avoid"}]},
{"chunk": 101, "story": 12,
"summary": "A cheap shave can win a good job, and a speculator seen taking a morning drink lost his whole corner when rivals took it for bad news.",
"predicament": "Someone whose position rests on others' confidence is seen doing something that looks like a sign of trouble.",
"advice": [
{"move": "look neat and well kept when it counts", "outcome": "it can win you a good position", "quote": "a ten-cent shave and a five-cent shine get a thousand-dollar job", "stance": "do"},
{"move": "be seen doing something that looks like a sign of trouble", "outcome": "rivals act on it and your position collapses", "quote": "There wasn't even a grease spot left of that corner when they got through.", "stance": "avoid"}]},
{"chunk": 102, "story": 12,
"summary": "Success needs looking right as well as being right; you cannot have both leisure and money; and the higher you go, the straighter you must walk. The father once chewed tobacco in his office.",
"predicament": "Someone rising in the world finds that habits nobody minded before now count against them.",
"advice": [
{"move": "take care to look right as well as be right", "outcome": "most of success is making people think you are all right", "quote": "it isn't enough to be all right in this world; you've got to look all right as well, because two-thirds of success is making people think you are all right", "stance": "do"},
{"move": "expect both plenty of leisure and plenty of money", "outcome": "the more of one, the less of the other", "quote": "You can take your choice, but the two lines of business don't gee. The more money, the less fish.", "stance": "avoid"}]},
{"chunk": 103, "story": 12,
"summary": "The father caught a clerk chewing tobacco, stood over him until he had to spit, then instead of blasting him proposed they both swear off; the higher one climbs, the plainer one is seen, and the boss's son is watched by many hoping he fails.",
"predicament": "Someone in a conspicuous place catches a junior in the very habit they indulge in themselves.",
"advice": [
{"move": "give up the habit yourself as you correct someone else for it", "outcome": "they give it up too", "quote": "I just went up to the boy and put my hand on his shoulder and said, \"Let's swear off, son.\" Naturally, he swore off", "stance": "do"},
{"move": "do as you please once you are high up", "outcome": "everyone sees it", "quote": "a man can't do what he pleases in this world, because the higher he climbs the plainer people can see him", "stance": "avoid"}]},
{"chunk": 104, "story": 12,
"summary": "Success and failure are both unforgiven; most people judge by appearance, as the stockyard hands ignored dignitaries and cheered a prizefighter; look the part while young, but do not judge others by looks.",
"predicament": "Someone who is not yet anything in particular must decide how much to invest in looking the part.",
"advice": [
{"move": "look like someone of consequence before you are one", "outcome": "it is a valuable asset while you are still nobody", "quote": "while a young fellow isn't anything in particular, it is a mighty valuable asset if he looks like something special", "stance": "do"},
{"move": "be cautious rather than suspicious", "outcome": "suspicion makes trouble, caution saves it", "quote": "A suspicious man makes trouble for himself, but a cautious one saves it.", "stance": "do"}]},
{"chunk": 105, "story": 12,
"summary": "A horse buyer tests every hair and still offers less; men should be tried in harness before being trusted, as the father learned from a clean-shaven clerk hired on looks who could not add.",
"predicament": "Someone is about to take on a person who looks exactly right, without having tried them out first.",
"advice": [
{"move": "try someone out in the work before committing to them", "outcome": "you find out what looks cannot tell you", "quote": "There's nothing like trying a man in harness a while before you bind yourself to travel very far with him.", "stance": "do"},
{"move": "hire someone on looks alone", "outcome": "they turn out unfit and must be let go", "quote": "giving a nice-looking, clean-shaven fellow a job on the billing-desk, just on his looks, but he turned out such a poor hand at figures", "stance": "avoid"}]},
{"chunk": 106, "story": 12,
"summary": "A polished, careful collector charmed the father, who gave him fifty dollars and marked him for promotion; that evening he proved eight hundred short and gone.",
"predicament": "Someone trusted and rewarded for their polish turns out to have been quietly stealing all along.",
"advice": []},
{"chunk": 107, "story": 12,
"summary": "The collector had gambled away the collections; he wired polite thanks from across the border, and the father counts the lesson cheap at eight hundred and fifty dollars.",
"predicament": "Someone who trusted an employee for their manners learns, too late, that they paid for the getaway.",
"advice": [
{"move": "trust someone on their manner and polish", "outcome": "you are robbed and learn the lesson at a price", "quote": "I consider the little lesson that Charlie gave me as cheap at eight hundred and fifty dollars", "stance": "avoid"}]}
]
@@ -0,0 +1,57 @@
[
{"chunk": 108, "story": 13,
"summary": "A broker angling for the father's business lets slip that the son made a profit selling short; the father has the account closed and the profit given to an orphans' home.",
"predicament": "Someone has quietly made a profit gambling on prices, and it has come to the notice of the one they work for.",
"advice": []},
{"chunk": 109, "story": 13,
"summary": "The firm will fire the son if he trades again; margin trading is trading on nothing, speculators cannot stop, and being the son of a packer gives him no edge.",
"predicament": "Someone on modest pay is tempted to gamble on prices, sure that their inside view of the trade gives them an edge.",
"advice": [
{"move": "gamble on the market while employed by the firm", "outcome": "the firm will dismiss you", "quote": "the particular one is that Graham & Co. will fire you if you do", "stance": "avoid"},
{"move": "start speculating at all", "outcome": "winners cannot stop until they lose, and losers cannot stop until they win", "quote": "When a speculator wins he don't stop till he loses, and when he loses he can't stop till he wins.", "stance": "avoid"},
{"move": "count on inside knowledge of the trade to win at speculation", "outcome": "it gives you no edge", "quote": "Because you are the son of a pork packer you may think that you know a little more than the next fellow about paper pork. There's nothing in it.", "stance": "avoid"}]},
{"chunk": 110, "story": 13,
"summary": "A speculating clerk loses more than money: bad habits and self-respect; a man is broke only when character goes; the father has kept many clerks out of prison after they fed losses from his cash drawer.",
"predicament": "Someone who has lost money gambling is tempted to win it back by means they would once have refused.",
"advice": [
{"move": "chase your losses", "outcome": "you trade away your self-respect to win the money back", "quote": "if the market goes up, he's likely to go short his self-respect to win back his money", "stance": "avoid"},
{"move": "cover speculating losses from your employer's cash", "outcome": "it leads toward prison", "quote": "I've kept a heap smarter boys than you out of Joliet when they found it easy to feed the Board of Trade hog out of my cash drawer", "stance": "avoid"}]},
{"chunk": 111, "story": 13,
"summary": "A dollar earning twenty per cent is either very good or very foolish, and one earning a hundred is heading for ruin; sure things and tips bite. A pious, well-off deacon is introduced.",
"predicament": "Someone is offered a return on their money so high that it ought to make them ask what is wrong with it.",
"advice": [
{"move": "check hard before trusting any unusually high return", "outcome": "it may be very good or very foolish, and you must know which", "quote": "when it makes twenty you own a blame good critter or a mighty foolish one, and you want to make dead sure which", "stance": "do"},
{"move": "take up sure things and straight tips", "outcome": "they bite you", "quote": "looking as innocent as if they hadn't just killed a lamb, but they'll bite", "stance": "avoid"}]},
{"chunk": 112, "story": 13,
"summary": "The deacon preaches giving while hoarding safely, condemns his broker brother's high living, and goes to stay with him in the city because it is cheaper than a hotel.",
"predicament": "Someone who preaches thrift and virtue to others goes to stay with a relative whose way of life they condemn.",
"advice": []},
{"chunk": 113, "story": 13,
"summary": "Duty to most men is what the other fellow should do; a man's first duty is minding his own business. The deacon lectures his brother on cigars, fast horses and the sinful exchange.",
"predicament": "Someone accepts a relative's hospitality while lecturing them on the sinfulness of how they live.",
"advice": [
{"move": "spend your effort reforming other people's characters", "outcome": "you neglect building your own", "quote": "if a fellow's putting in five or six hours a day on his neighbor's character, he's mighty apt to scamp the building of his own", "stance": "avoid"}]},
{"chunk": 114, "story": 13,
"summary": "The broker pretends to take the sermon to heart and offers to quit; the deacon, heir to his money, starts to hedge; the broker confesses he speculated once, to make his brother a present.",
"predicament": "Someone who hopes to inherit a relative's money pushes them to reform, then fears the reform may cost the inheritance.",
"advice": []},
{"chunk": 115, "story": 13,
"summary": "Expecting to be asked to cover a loss, the deacon refuses gambling money on principle, then learns it was a two-hundred-dollar gain; the broker says he cannot now offer it or keep it.",
"predicament": "Someone who refused tainted money on principle learns it was a gain, not a loss, and regrets the stand they took.",
"advice": []},
{"chunk": 116, "story": 13,
"summary": "The deacon lies awake over the money and next morning questions his brother about how speculation works, hoping to find it respectable.",
"predicament": "Someone who condemned a way of making money hunts for reasons to call it respectable once some is on offer.",
"advice": []},
{"chunk": 117, "story": 13,
"summary": "Finding real grain somewhere behind the trading, the deacon declares speculation legitimate and accepts; the broker has already sent the money to the deacon's pastor, who spent it on the poor.",
"predicament": "Someone who talks themselves out of their principles to take easy money finds it already gone.",
"advice": [
{"move": "step off the straight path to pick up easy money", "outcome": "there is a string tied to it, and it is yanked away", "quote": "when he reaches down to pick up the money there's usually a string tied to it and a small boy in the bushes to give it a yank", "stance": "avoid"},
{"move": "count on easy money or easy loans", "outcome": "easy money earns nothing and easy loans cost dearly", "quote": "Easy-come money never draws interest; easy-borrowed dollars pay usury.", "stance": "avoid"}]},
{"chunk": 118, "story": 13,
"summary": "Exchanges have their uses, but not for someone who owns no more pork than is on his plate; until then he can go there only as a sucker.",
"predicament": "Someone with no stake in the real goods is tempted to trade in a market run by the people who hold them.",
"advice": [
{"move": "trade on a market where you hold none of the real goods", "outcome": "you are the sucker", "quote": "When you become a packer you may go on 'Change as a trader; until then you can go there only as a sucker.", "stance": "avoid"}]}
]
@@ -0,0 +1,45 @@
[
{"chunk": 119, "story": 14,
"summary": "The son is taken off the road and made assistant manager of a department at fifty a week; the job is to become indispensable to the manager and able to run things without him.",
"predicament": "Someone newly made second in command must become indispensable to their chief and ready to run things without them.",
"advice": [
{"move": "do your work so well the chief cannot manage without you, and you could manage without the chief", "outcome": "that is what the post requires of you", "quote": "to do your work so well that the manager can't run the department without you, and that you can run the department without the manager", "stance": "do"}]},
{"chunk": 120, "story": 14,
"summary": "The previous holder knew and loved his product and turned a rival product into an opportunity; enthusiasm lightens work; a boss is the one man who cannot do as he pleases or break his own rules.",
"predicament": "Someone newly given authority imagines that it means they can make the rules and do as they please.",
"advice": [
{"move": "bring enthusiasm to the job", "outcome": "it makes heavy work light", "quote": "Jack had enthusiasm, and enthusiasm is the best shortening for any job; it makes heavy work light.", "stance": "do"},
{"move": "break your own rules once you are the one who makes them", "outcome": "the one in charge is the one who can least afford to", "quote": "He can make rules, but he's the only man who can't afford to break them now and then.", "stance": "avoid"}]},
{"chunk": 121, "story": 14,
"summary": "A manager must give what he asks and set the example, treat each man as a special case, never wound pride, lead men to see their own faults, and never miss a chance to praise.",
"predicament": "Someone newly in charge of others must decide whether to drive them, shame them, or lead them by example and praise.",
"advice": [
{"move": "set the example yourself by coming early and working hard", "outcome": "your people work harder", "quote": "There's no alarm clock for the sleepy man like an early rising manager; and there's nothing breeds work in an office like a busy boss.", "stance": "do"},
{"move": "hurt the pride of someone under you", "outcome": "it is almost never forgiven", "quote": "A hundred men will forgive a blow in the face where one will a blow to his self-esteem.", "stance": "avoid"},
{"move": "tell someone the blunt truth about their faults", "outcome": "they will not believe you", "quote": "you won't shame the man you're trying to reach, because he won't believe you", "stance": "avoid"},
{"move": "set them on the road to seeing the truth for themselves", "outcome": "they reform before anyone else finds them out", "quote": "if you can start him on the road that will lead him to the truth he's mighty apt to try to reform himself", "stance": "do"},
{"move": "praise good work when you see it", "outcome": "it repays itself", "quote": "Praise judiciously bestowed is money invested.", "stance": "do"}]},
{"chunk": 122, "story": 14,
"summary": "Learn about your men only from themselves; be slow to hire and quick to fire, paying a month but not keeping a man a day; never threaten; keep close to your staff and do not rule by fear.",
"predicament": "Someone in charge has found that a person they hired is wrong for the place and is reluctant to let them go.",
"advice": [
{"move": "let a wrong hire go at once, with a month's pay", "outcome": "a dismissed person kept on becomes a centre of soreness", "quote": "Pay him an extra month, but don't let him stay another day. A discharged clerk in the office is like a splinter in the thumb--a centre of soreness.", "stance": "do"},
{"move": "threaten those under you", "outcome": "if you do not follow through it damages your credit with them", "quote": "Never threaten, because a threat is a promise to pay that it isn't always convenient to meet, but if you don't make it good it hurts your credit.", "stance": "avoid"},
{"move": "rule by fear", "outcome": "you are hated behind your back", "quote": "a man who is feared to his face is hated behind his back", "stance": "avoid"}]},
{"chunk": 123, "story": 14,
"summary": "Make salesmen write in daily so they run out of excuses and hustle; watch your own faults while watching others'. A mean, adulterating village grocer is introduced.",
"predicament": "Someone who keeps close watch on the faults of those under them has stopped looking at their own.",
"advice": [
{"move": "make those under you report every day", "outcome": "they run out of excuses and go after results", "quote": "When a fellow has to write in six times a week to the house, he uses up his explanations mighty fast, and he's pretty apt to hustle for business", "stance": "do"},
{"move": "let authority swell your head", "outcome": "you stop seeing your own faults", "quote": "Authority swells up some fellows so that they can't see their corns", "stance": "avoid"}]},
{"chunk": 124, "story": 14,
"summary": "Since everyone else's meanness was discussed in his store but his own, the grocer thought himself the only decent man and called for public opinion; the town wrecked his saloon and ran him out on a rail.",
"predicament": "Someone whose own conduct is the worst around loudly demands that everyone else clean up their ways.",
"advice": [
{"move": "call for public judgement of others' conduct when yours is worse", "outcome": "the judgement falls on you", "quote": "Most men get information when they ask for it, and in the end Lem fetched public opinion all right.", "stance": "avoid"}]},
{"chunk": 125, "story": 14,
"summary": "Having sized up others, step back and size yourself up, crediting them with unseen virtues and yourself with unseen faults.",
"predicament": "Someone busy judging other people's characters needs to take an honest measure of their own.",
"advice": [
{"move": "judge others generously and yourself strictly", "outcome": "you get a fairly accurate picture", "quote": "add fifty per cent. to your estimate of your neighbor for virtues that you can't see, and deduct fifty per cent. from yourself for faults", "stance": "do"}]}
]
@@ -0,0 +1,63 @@
[
{"chunk": 126, "story": 15,
"summary": "Taking a cure abroad, the father spent a seasick crossing befriending two hundred export steers below decks, which arrived in England in prime condition.",
"predicament": "Someone away from work for their health notices, by chance, a trade their own firm has been neglecting.",
"advice": []},
{"chunk": 127, "story": 15,
"summary": "The father wants the export cattle trade investigated at once: rivals have been taking it, a firm must do the whole thing to do anything, and anything with a profit is in their line.",
"predicament": "Someone discovers rivals profiting from a line of trade that their firm has left alone as not its business.",
"advice": [
{"move": "take up every profitable branch of your trade instead of leaving it to others", "outcome": "a business that does not do the whole thing cannot do anything", "quote": "Unless you do the whole thing you can't do anything in business as it runs to-day.", "stance": "do"},
{"move": "dismiss a profitable opening as not your line", "outcome": "the profit goes to someone else", "quote": "it won't do to say that it's not in our line, because anything which carries a profit on four legs is in our line", "stance": "avoid"}]},
{"chunk": 128, "story": 15,
"summary": "Think of a thing first and go for all the trade; success goes to some heads so that they use authority as a club; an assistant is blamed by both clerks and manager, and must neither explain orders nor make excuses.",
"predicament": "Someone newly placed between a manager and the staff finds each side blaming them for the other's faults.",
"advice": [
{"move": "go for all of the trade, not a share", "outcome": "that is how you get a share", "quote": "the way to get a share of the trade is to go for all of it", "stance": "do"},
{"move": "use your new authority to keep your people at a distance", "outcome": "the office fills with resentment", "quote": "a boss with a case of big-head will fill an office full of sore heads", "stance": "avoid"},
{"move": "explain your orders to those below, or excuse yourself to the one above", "outcome": "you lose your authority below, or your usefulness above", "quote": "if he explains his orders to the clerks he loses his authority, and if he excuses himself to the manager he loses his usefulness", "stance": "avoid"}]},
{"chunk": 129, "story": 15,
"summary": "An assistant must never need telling twice and should carry the petty details for the manager; one who serves the manager well and sees the good in the clerks is helped from both sides.",
"predicament": "Someone serving as a superior's deputy must win the goodwill of both the one above and those below.",
"advice": [
{"move": "need telling twice", "outcome": "the boss would sooner do it himself", "quote": "It's easier for a boss to do a thing himself than to tell some one twice to do it.", "stance": "avoid"},
{"move": "make yourself your superior's right hand", "outcome": "the rest of the organisation helps you in turn", "quote": "An assistant who becomes his manager's right hand is going to find the left hand helping him", "stance": "do"},
{"move": "look for the good points in those under you", "outcome": "they find good points in you", "quote": "it's not hard for a clerk to find good points in a boss who finds good ones in him", "stance": "do"}]},
{"chunk": 130, "story": 15,
"summary": "The papers show the son golfing on a working afternoon; play is dessert, not dinner, and the father warns him off the society bug.",
"predicament": "Someone rising at work has begun spending working afternoons at play among an idle, fashionable set.",
"advice": [
{"move": "let amusement take the place of work", "outcome": "you pay for it early", "quote": "Any one who lets sinkers take the place of bread and meat gets bilious pretty young", "stance": "avoid"}]},
{"chunk": 131, "story": 15,
"summary": "Society everywhere means descent from a moneymaker long enough dead to forget his shop; those who think themselves the choice cuts prove worthless once parted from their money.",
"predicament": "Someone is being drawn toward a fashionable set that looks down on anyone who works for a living.",
"advice": [
{"move": "rate people by the family and fortune behind them", "outcome": "without their money there is nothing to them", "quote": "when you separate them from their money there's nothing left, not even their friends", "stance": "avoid"}]},
{"chunk": 132, "story": 15,
"summary": "A boyhood friend who made a fortune in gold calls on the father under a grand new double-barrelled name.",
"predicament": "Someone suddenly rich sets out to buy their way into a society that has no use for newcomers.",
"advice": []},
{"chunk": 133, "story": 15,
"summary": "The newly rich friend explains his plans to be the grandest of swells in an old city; the father gives him congratulations rather than warnings, since that is what he came for.",
"predicament": "An old acquaintance, newly rich, wants congratulations on a foolish plan rather than an honest warning.",
"advice": [
{"move": "give people what they came for rather than advice they did not ask for", "outcome": "not stated", "quote": "it was congratulations and not explanations that he wanted, and I make it a point to show a customer the line of goods that he's looking for", "stance": "do"}]},
{"chunk": 134, "story": 15,
"summary": "Settled among old families, he gilds his railings, parades in a red-wheeled carriage and leaves cards up and down the street, but finds every family out every time.",
"predicament": "A newcomer keeps calling on neighbours who are always out, never guessing that they are refusing to know them.",
"advice": []},
{"chunk": 135, "story": 15,
"summary": "He throws a grand opening with a band, fireworks and beer; none of the invited come, ten thousand strangers do, and the neighbours call the police, who need the reserves to clear it.",
"predicament": "Someone snubbed by their neighbours throws a lavish public show to win them all over at once.",
"advice": [
{"move": "try to force your way into a closed circle with a lavish show", "outcome": "it ends in a riot and the police", "quote": "they had to turn in a riot call and bring out the reserves before they could break up Hank's little Boston tea-party", "stance": "avoid"}]},
{"chunk": 136, "story": 15,
"summary": "Fined on sixteen counts, he leaves town on a special train, posting a mocking notice for his neighbours.",
"predicament": "Someone whose attempt to buy acceptance ended in disgrace leaves town pretending it was their own choice.",
"advice": []},
{"chunk": 137, "story": 15,
"summary": "He blames the neighbours' manners; standing won in one world means nothing in another; good society is any congenial company, but the son should avoid people who make play their profession.",
"predicament": "Someone rising in the world must choose between congenial company and a fashionable set whose only business is play.",
"advice": [
{"move": "assume that standing earned in one world carries into another", "outcome": "it counts for nothing there", "quote": "Because a fellow cuts ice on the Arctic Circle, it doesn't follow that he's going to be worth beans on the Back Bay.", "stance": "avoid"}]}
]
@@ -0,0 +1,53 @@
[
{"chunk": 138, "story": 16,
"summary": "The son writes that he is doing famously; the father says he need not report his own merits, since real worth is found out and men who do big things are too busy to talk of them.",
"predicament": "Someone doing well in a new post keeps telling their superiors how well they are doing.",
"advice": [
{"move": "keep telling your superiors how good you are", "outcome": "it is needless, since real merit is found out anyway", "quote": "There's never any use trying to hide the fact that you're a jim-dandy--you're bound to be found out.", "stance": "avoid"},
{"move": "give more than you are paid for and let it speak", "outcome": "you need no explanations", "quote": "a man who's giving a dollar's worth of himself for ninety-nine cents doesn't need to throw in any explanations", "stance": "do"}]},
{"chunk": 139, "story": 16,
"summary": "Men who pass as good on their own say-so rise like balloons on hot air and fall hard; the slow path up a mountain is safer than any shortcut.",
"predicament": "Someone watches others rise fast on talk and show, and is tempted to take the same shortcut.",
"advice": [
{"move": "rise on talk and show", "outcome": "it carries you up but cannot keep you there, and the fall is hard", "quote": "Hot air can take up a balloon a long ways, but it can't keep it there.", "stance": "avoid"},
{"move": "climb slowly by the steady path", "outcome": "you rise more slowly but do not come down suddenly", "quote": "You don't get up so quick, but you don't come down so sudden.", "stance": "do"}]},
{"chunk": 140, "story": 16,
"summary": "Life is a long climb, not a spurt; some men rush at things with a whoop, announce their plans and peter out, like a crowing rooster, while the hen lays quietly.",
"predicament": "Someone rushes at each new undertaking with a great deal of noise, then loses interest before it is done.",
"advice": [
{"move": "announce your plans loudly and rush at them", "outcome": "you run out of wind before you finish", "quote": "They mistake intention for determination, and after they have told you what they propose to do and get right up to doing it, they simply peter out.", "stance": "avoid"},
{"move": "work quietly and speak only when there is a result", "outcome": "when you are heard from, there is something to show", "quote": "But when you hear from a hen, she's laid an egg, and she don't make a great deal of noise about it, either.", "stance": "do"}]},
{"chunk": 141, "story": 16,
"summary": "The son asks a job for a friend who will take nothing beneath his former position; the father refuses: the friend has sponged on his ruined father for years, and the only undignified job is loafing.",
"predicament": "Someone fallen from comfortable circumstances refuses any work beneath their old position and lives on a relative meanwhile.",
"advice": [
{"move": "hold out for work worthy of your old position while living on others", "outcome": "you sink to the bottom, and nobody will hire you", "quote": "He's one of those fellows who start in at the top and naturally work down to the bottom, because that is where they belong.", "stance": "avoid"}]},
{"chunk": 142, "story": 16,
"summary": "A boyhood glutton boasted of his courage but always found an excuse to dodge a fight; he feared everything except the food that was harming him.",
"predicament": "A boastful person who ducks every real test is afraid of everything except what is actually harming them.",
"advice": []},
{"chunk": 143, "story": 16,
"summary": "Dared to eat dirt, he did it rather than be called afraid, then made money at it and ended in a dime museum; many men eat a little dirt for show and more for easy money.",
"predicament": "Someone who dodges every real risk will take a dare to shame themselves rather than be laughed at.",
"advice": [
{"move": "do something shameful on a dare or for show", "outcome": "you go on doing more of it once you find easy money in it", "quote": "fellows who'll eat a little dirt \"for fun\" or to show off, and who'll eat a little more because they find that there's some easy money or times in it", "stance": "avoid"}]},
{"chunk": 144, "story": 16,
"summary": "Pride spurs the strong and drags the weak, making them fear a laugh, live on tomorrow's pay and ape richer men; the father was once caught stealing a watermelon and led home by the ear.",
"predicament": "Someone is ruled by fear of looking foolish, and it pushes them to pose and spend beyond their means.",
"advice": [
{"move": "let pride drive your work and your conscience", "outcome": "it keeps you straight and at your work", "quote": "it keeps his conscience straight and his back humped over his work; it makes him appreciate the little things and fight for the big ones", "stance": "do"},
{"move": "let pride make you keep up appearances", "outcome": "you live on money not yet earned, imitating richer people", "quote": "it makes him live to-day on to-morrow's salary; it makes him a cheap imitation of some Willie who has a little more money than he has", "stance": "avoid"}]},
{"chunk": 145, "story": 16,
"summary": "His mother thrashed him and confined him until he had learned a chapter of scripture and the commandments by heart.",
"predicament": "Someone caught in a petty theft is punished and set a hard task, which they master out of sheer necessity.",
"advice": []},
{"chunk": 146, "story": 16,
"summary": "In Sunday school he recited the whole chapter and was praised before everyone as an example, until his mother, at the back of the room, told him to tell them how he came to know it so well.",
"predicament": "Someone is being publicly praised for an accomplishment that was really a punishment, while the one who knows looks on.",
"advice": []},
{"chunk": 147, "story": 16,
"summary": "He confessed to stealing the watermelon before the laughing school, was punished again, and learned humility that lasted twenty years.",
"predicament": "Someone enjoying praise they did not earn is made to confess before everyone how they really came by it.",
"advice": [
{"move": "take the public humbling when you have claimed credit you did not earn", "outcome": "it purges false pride for years", "quote": "it sweat more cant and false pride out of my system than I could get back into it for the next twenty years", "stance": "do"}]}
]
@@ -0,0 +1,113 @@
[
{
"chunk": 148,
"story": 17,
"summary": "Newspapers say rivals have caught the father short on lard; he tells the son not to mind, since he never sells what he cannot lay hands on and is ready to fight.",
"predicament": "Rumours are spreading that rivals have caught someone overextended in the market and mean to break them.",
"advice": [
{
"move": "never commit to deliver what you cannot lay hands on",
"outcome": "rivals who try to squeeze you find you ready for them",
"quote": "I never sell goods without knowing where I can find them when I want them",
"stance": "do"
}
]
},
{
"chunk": 149,
"story": 17,
"summary": "Ignore both abuse and flattery, and please your own side since you cannot please both; a lady once asked to borrow a vacant lot of the father's for a day nursery, and he agreed.",
"predicament": "Someone is praised by one side and reviled by the other for the same act, and must decide whom to heed.",
"advice": [
{
"move": "ignore both abuse and flattery",
"outcome": "the one cannot harm you and the other cannot help you",
"quote": "There are two things you never want to pay any attention to--abuse and flattery. The first can't harm you and the second can't help you.",
"stance": "do"
},
{
"move": "please your own side rather than trying to please both",
"outcome": "you cannot please both anyway",
"quote": "As long as you can't please both sides in this world, there's nothing like pleasing your own side.",
"stance": "do"
}
]
},
{
"chunk": 150,
"story": 17,
"summary": "The lady returns for a building, then cows, then paint, each time making him feel mean for not offering; he paints an advertisement for the firm on the long shed wall.",
"predicament": "Someone who granted a small favour to a good cause finds the requests growing every time they give in.",
"advice": []
},
{
"chunk": 151,
"story": 17,
"summary": "She tells the town he gave a cheap shed and took a costly advertisement, and shames him into paying; he sells the lot and quits, noting that worry is the one thing he put into business that never paid.",
"predicament": "Someone who turned a charity to their own advantage is shamed into paying for it and gets out altogether.",
"advice": [
{
"move": "put worry into your business",
"outcome": "it is the one thing that never pays back",
"quote": "the only thing I've ever put into it which didn't draw dividends in fun or dollars was worry",
"stance": "avoid"
}
]
},
{
"chunk": 152,
"story": 17,
"summary": "Worry always picks the wrong thing: the refinery burns while you fret over the safe, and your health breaks while you fear for the business; a busy man leaves worrying to others.",
"predicament": "Someone lies awake over what might go wrong, while the real trouble comes from where they never looked.",
"advice": [
{
"move": "worry over what might go wrong",
"outcome": "the trouble comes from elsewhere, and worry itself ruins your health",
"quote": "you worry because you're afraid your business is going to smash, and your health busts up instead",
"stance": "avoid"
}
]
},
{
"chunk": 153,
"story": 17,
"summary": "A widow with fourteen children let them roam all day; when her youngest's clothes were found by the swimming hole, she asked to see the body before any funeral.",
"predicament": "Someone brought news of a disaster declines to grieve or spend anything until they see proof of it.",
"advice": []
},
{
"chunk": 154,
"story": 17,
"summary": "The town stops work to praise the drowned boy and drag the river; after a week the widow pays a fortune-teller to reach him, who fails.",
"predicament": "While everyone around makes a great show of grief and alarm, one person asks only for results.",
"advice": []
},
{
"chunk": 155,
"story": 17,
"summary": "She pays more each day, and the fortune-teller raises the dead father and famous ghosts, but never the boy.",
"predicament": "Someone paying for news finds the answers costing more each time without producing anything they asked for.",
"advice": []
},
{
"chunk": 156,
"story": 17,
"summary": "She concludes the boy is not dead, chases off the mourners, finds him hiding next morning and thrashes him; the men who had praised him cuff him for making fools of them.",
"predicament": "Someone who let everyone mourn them as lost turns up unharmed, and those who praised them feel made fools of.",
"advice": []
},
{
"chunk": 157,
"story": 17,
"summary": "The boy had run off to fight Indians and come back hungry; the time to worry is when a thing is over, and the way is to leave it to the neighbours.",
"predicament": "Someone facing an uncertain outcome must decide whether to worry about it now or wait until they know.",
"advice": [
{
"move": "hold off worrying until the outcome is known, and leave the fretting to others",
"outcome": "the feared loss may never have happened",
"quote": "the time to do your worrying is when a thing is all over, and that the way to do it is to leave it to the neighbors",
"stance": "do"
}
]
}
]
@@ -0,0 +1,64 @@
[
{"chunk": 158, "story": 18,
"summary": "On the voyage home the father met a sensible, pretty young woman who knows a great deal about the son; he asks the son's intentions, and says fifty a week will do with the right wife, but money must be considered.",
"predicament": "Someone on a modest salary seems serious about a sensible partner, and must weigh whether their means will carry a marriage.",
"advice": [
{"move": "leave money out of your thinking before you marry", "outcome": "you have to think about it far too much afterwards", "quote": "When a boy and a girl don't think enough about money before the ceremony, they're going to have to think altogether too much about it after", "stance": "avoid"},
{"move": "marry a sensible partner even on modest pay", "outcome": "a modest income buys a great deal of happiness", "quote": "you can buy a whole lot of happiness with fifty dollars a week when you have the right sort of a woman for your purchasing agent", "stance": "do"}]},
{"chunk": 159, "story": 18,
"summary": "Two cannot live as cheaply as one; an unmarried man is unimproved land, and many rich young men are made land, ooze and drink under their fathers' dollars, that women build on without testing.",
"predicament": "Someone is tempted to marry a charming heir whose inherited money covers a weak character underneath.",
"advice": [
{"move": "marry a pampered heir without first testing what lies under the money", "outcome": "the marriage cracks and falls in", "quote": "a lot of women will go right ahead without any preliminaries and wonder what's the matter when the walls begin to crack and tumble about their ears", "stance": "avoid"}]},
{"chunk": 160, "story": 18,
"summary": "The father was made trustee for a frivolous heir of a million until he turned twenty-five, and at a dance watched him court a young heiress with every sign of devotion.",
"predicament": "Someone made guardian of a charming, idle heir watches them court one person after another.",
"advice": []},
{"chunk": 161, "story": 18,
"summary": "Two other young women watch the heir jealously; next evening he raves to the father about the heiress, though a fortnight earlier he had called another girl a goddess.",
"predicament": "A charmer who swore devotion to one person a fortnight ago now swears the same devotion to another.",
"advice": []},
{"chunk": 162, "story": 18,
"summary": "Told to propose to the heiress and settle down, the heir confesses he is secretly engaged to one girl and has said things to another that she may take for a proposal.",
"predicament": "Someone who has made promises to several people at once wants to marry yet another, and looks for a way out.",
"advice": []},
{"chunk": 163, "story": 18,
"summary": "He kept both engagements quiet by telling each girl that his trustee disliked her and controlled his money; he has also as good as proposed to the heiress.",
"predicament": "Someone has kept several secret engagements quiet by telling each partner that a guardian stands in the way.",
"advice": []},
{"chunk": 164, "story": 18,
"summary": "The father dictates plain letters breaking off both engagements, makes the heir sign them, and has the butler post them before he can lose them.",
"predicament": "Someone tangled in several promises is made to write plainly to each person that it is over.",
"advice": []},
{"chunk": 165, "story": 18,
"summary": "Kept overnight at the father's house, the heir dreads the letters' arrival; one of the girls telephones him at breakfast.",
"predicament": "Someone who has broken off by letter dreads the reply and is caught before they can hide from it.",
"advice": []},
{"chunk": 166, "story": 18,
"summary": "Both girls, puzzled rather than angry, ask him to call and explain; the father tells him to be a man, say plainly he does not love them enough to marry, and hold firm.",
"predicament": "Someone who has broken off with two people is summoned by both to explain, and must stay firm in person.",
"advice": [
{"move": "tell each person plainly that you do not love them enough to marry, and stick to it", "outcome": "not stated", "quote": "Tell 'em plain and straight that you don't love 'em as you should to marry 'em", "stance": "do"}]},
{"chunk": 167, "story": 18,
"summary": "On his way to be firm the heir sends flowers to all three women, and returns hours later claiming a satisfactory beginning.",
"predicament": "Someone who promised to end things firmly sends each person flowers on the way to do it.",
"advice": []},
{"chunk": 168, "story": 18,
"summary": "The heir swears at the father's meddling and claims to be breaking off more gently; the father tells him he is tied tighter than ever, and goes to the evening's dance to watch.",
"predicament": "Someone who chose a gentler way of breaking promises finds they are more tightly bound than before.",
"advice": [
{"move": "break off gently and in person, with gifts and soft words", "outcome": "you end up more tightly bound than before", "quote": "You're tied up to them harder and tighter than ever.", "stance": "avoid"}]},
{"chunk": 169, "story": 18,
"summary": "At the dance one girl's married sister publicly congratulates the heir on his engagement while he is with the heiress; then the other girl appears, carrying his lilies.",
"predicament": "Someone courting a new partner in public is ambushed by others announcing that they are already engaged.",
"advice": []},
{"chunk": 170, "story": 18,
"summary": "A second man congratulates him on the other engagement, the heiress laughs at her twice-lucky suitor, and the heir flees to Europe, begging the father to hush it up.",
"predicament": "Someone whose double dealing has been exposed in public flees rather than face anyone involved.",
"advice": [
{"move": "try to hush up a scandal that is already public", "outcome": "it cannot be stopped", "quote": "Hush it up! You might as well say 'Shoo!' to the Limited and expect it to stop for you.", "stance": "avoid"}]},
{"chunk": 171, "story": 18,
"summary": "On the ship the heir is already charming another young woman; a widow has since tamed him; the father wants no second such case in the family and asks the son what's what.",
"predicament": "Someone who has barely escaped one tangle of promises is already charming the next person in sight.",
"advice": []}
]
@@ -0,0 +1,128 @@
[
{
"chunk": 172,
"story": 19,
"summary": "The father blesses the match and favours short engagements; the time to size up a partner is before the engagement, and the thing to learn is how they are at breakfast and with a baby.",
"predicament": "Someone about to be engaged must learn how their partner behaves in ordinary daily life, not only at their best.",
"advice": [
{
"move": "propose before you know the person as they are day to day",
"outcome": "you complain later that you are stuck",
"quote": "Some fellows propose to a girl before they know whether her front and her back hair match, and then holler that they're stuck",
"stance": "avoid"
}
]
},
{
"chunk": 173,
"story": 19,
"summary": "A man should know whether his partner will hear him about expenses and how she is when angry: the noisy temper blows over, the quiet one simmers, and nagging drives a man mad.",
"predicament": "Someone about to marry needs to know how their partner behaves when angry or crossed over money.",
"advice": [
{
"move": "cross the person a little before you commit, to see their temper",
"outcome": "you see how they are when angry",
"quote": "there's nothing like stirring her up a little now and then to see if she spits fire and heaves things when she's mad",
"stance": "do"
}
]
},
{
"chunk": 174,
"story": 19,
"summary": "The father judges the young woman pretty, sensible and without a fortune to make fools of them; he distrusts women in business, and recalls the picturesque, impractical cottage where he began married life.",
"predicament": "Someone starting married life on little money finds that a picturesque home is harder to live in than to admire.",
"advice": []
},
{
"chunk": 175,
"story": 19,
"summary": "The young couple took their fun as they went instead of deferring happiness; the father bought a pig to fatten on credit, and his wife made a pet of it.",
"predicament": "A young couple short of money must decide whether to enjoy the present or put off happiness until they are better off.",
"advice": [
{
"move": "put off being happy until later",
"outcome": "the later never comes; it is always put off again",
"quote": "Don't accept notes for happiness, because you'll find that when they're due they're never paid, but just renewed for another thirty days.",
"stance": "avoid"
}
]
},
{
"chunk": 176,
"story": 19,
"summary": "In autumn the fattened pet pig was butchered, and at dinner the father absent-mindedly offered his wife a piece of it by name.",
"predicament": "Someone turns to practical use a thing the household had grown fond of, without warning the one who loved it.",
"advice": []
},
{
"chunk": 177,
"story": 19,
"summary": "His wife wept, called him a cannibal and begged a burial; he reasoned her out of an expensive funeral but lost his appetite, and sold the pork at the crossroads store.",
"predicament": "Someone's practical decision about a household pet wounds their partner, who wants no part of what it brings in.",
"advice": []
},
{
"chunk": 178,
"story": 19,
"summary": "The father prefers to hire husbands rather than women, since a wife makes a man steadier and worth more pay; he will raise the son to seventy-five a week when he marries and stop writing letters.",
"predicament": "Someone about to marry learns their employer values a settled married worker above a single one.",
"advice": [
{
"move": "settle down and marry",
"outcome": "your employer rates you worth more pay",
"quote": "A married man is worth more salary than a single one, because his wife makes him worth more.",
"stance": "do"
}
]
},
{
"chunk": 179,
"story": 19,
"summary": "Not part of the letters: the father's sign-off, then the publisher's advertisements for other humour books.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 180,
"story": 19,
"summary": "Not part of the letters: publisher's advertisements for other humour books.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 181,
"story": 19,
"summary": "Not part of the letters: publisher's advertisements for books of verse.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 182,
"story": 19,
"summary": "Not part of the letters: publisher's advertisements for children's verse and a series of biographies.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 183,
"story": 19,
"summary": "Not part of the letters: press notices for the biography series.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 184,
"story": 19,
"summary": "Not part of the letters: the list of titles in the American biography series.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
},
{
"chunk": 185,
"story": 19,
"summary": "Not part of the letters: the list of titles in the English biography series.",
"predicament": "No situation: publisher's advertisements at the back of the volume, left inside the last letter by the split.",
"advice": []
}
]
@@ -0,0 +1,73 @@
186 scenes, 18 groups, 106 assigned, 80 unassigned: [0, 1, 2, 4, 12, 13, 16, 17, 21, 22, 23, 24, 27, 42, 54, 55, 60, 61, 66, 67, 68, 69, 73, 79, 83, 84, 85, 86, 96, 97, 110, 112, 113, 114, 115, 116, 118, 120, 123, 124, 125, 126, 132, 133, 136, 142, 143, 145, 150, 151, 152, 153, 154, 155, 156, 157, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185]
G01 6 scenes 3 letters stage low Spending ahead of what you earn
G02 7 scenes 4 letters stage low Starting at the bottom
G03 7 scenes 3 letters stage low Doing just enough
G04 5 scenes 3 letters stage low A hard boss
G05 6 scenes 3 letters stage high Talking yourself up
G06 5 scenes 3 letters stage low Saying too much
G07 4 scenes 3 letters stage middle A customer tries you
G08 6 scenes 3 letters stage middle Goods nobody wants
G09 6 scenes 3 letters stage low Easy money
G10 7 scenes 3 letters stage low Taking someone on
G11 8 scenes 4 letters stage middle Looking the part
G12 5 scenes 4 letters stage low Someone under you falls short
G13 5 scenes 3 letters stage high Caught between two sides
G14 6 scenes 3 letters stage high Sizing up a match
G15 8 scenes 4 letters stage low The wrong line of work
G16 6 scenes 3 letters stage low The fast set
G17 4 scenes 3 letters stage middle Rivals are taking the trade
G18 5 scenes 4 letters stage low Your mistake has come to light
group option sources: {'advice': 81, 'scene': 9} | scene/advice options citing a scene outside their group: 9
PILOT scenes with advice 127 of 186; advice items 202 (87 do, 115 avoid)
options 202 from 202 advice items (0 items unmapped: [])
stated 82 of 202 = 41%
catalogue entries covered 24 of 82: 73 options, stated 29 (40%)
compromise_for_money 2 options, 0 stated
sure_thing 4 options, 2 stated
after_your_money 2 options, 1 stated
pretence 11 options, 7 stated
caught_out 2 options, 1 stated
peace_at_home 2 options, 1 stated
power_over_you 7 options, 3 stated
owning_up 1 options, 0 stated
newcomer 4 options, 1 stated
overlooked 5 options, 0 stated
habit 2 options, 1 stated
warning 1 options, 0 stated
plea_for_help 3 options, 1 stated
gone_missing 1 options, 0 stated
not_who_they_seem 4 options, 1 stated
outmatched 1 options, 0 stated
used 1 options, 1 stated
self_betrayal 3 options, 2 stated
cover_up_spiral 2 options, 1 stated
bow_for_your_living 2 options, 2 stated
called_to_account 3 options, 0 stated
mistook_them 5 options, 3 stated
family_against_your_path 3 options, 0 stated
outside_looking_in 2 options, 1 stated
new: entries 19: 129 options, stated 53 (41%)
new:between_two_sides 7 options, 3 stated
new:difficult_customer 11 options, 3 stated
new:fast_set 9 options, 2 stated
new:gamble 3 options, 3 stated
new:goods_nobody_wants 5 options, 1 stated
new:in_charge 17 options, 8 stated
new:judging_others 4 options, 1 stated
new:just_enough 15 options, 7 stated
new:learning_that_pays 8 options, 4 stated
new:loose_tongue 6 options, 4 stated
new:new_idea 4 options, 2 stated
new:put_off 4 options, 2 stated
new:rivals_ahead 6 options, 1 stated
new:sizing_up_a_match 9 options, 3 stated
new:spending_ahead 6 options, 3 stated
new:starting_at_the_bottom 6 options, 2 stated
new:talking_yourself_up 4 options, 2 stated
new:tangled_promises 3 options, 1 stated
new:worry 2 options, 1 stated
STORY PACKS for comparison (option sources in groups.json):
lawson: 142 options in 31 groups: {'scene': 118, 'filled': 12, 'archetype': 12}
bierce: 128 options in 31 groups: {'filled': 17, 'archetype': 15, 'scene': 96}
@@ -0,0 +1,113 @@
#!/usr/bin/env python3
"""Check everything, then write records.json, groups.json and options_by_entry.json, and print the pilot
measurement. Adapted from ../../jacobs/claude/build.py: adds the advice field, 'advice:N' option sources,
and the advice-book pilot (options_src.py -> options_by_entry.json). No inference."""
import collections, glob, json, pathlib, re
from groups_src import G, STANDING
from options_src import O, NEW_ENTRIES
here = pathlib.Path(__file__).parent
probe = here.parent.parent
chunks = json.loads((here.parent / 'chunks.json').read_text())
stories = json.loads((here.parent / 'stories.json').read_text())
catalogue = {e['id']: e for e in json.loads((probe / 'catalogue/v2/catalogue.json').read_text())['entries']}
recs = [r for f in sorted(glob.glob(str(here / 'batches/s*.json'))) for r in json.loads(open(f).read())]
norm = lambda s: re.sub(r'\s+', ' ', s).strip()
# ---- batches ------------------------------------------------------------------------------------------
assert [r['chunk'] for r in recs] == list(range(len(chunks))), 'every scene, once, in order'
for r in recs:
assert chunks[r['chunk']]['story'] == r['story'], r['chunk']
assert set(r) == {'chunk', 'story', 'summary', 'predicament', 'advice'}, r['chunk']
p = r['predicament']
assert p.endswith('.') and '. ' not in p and 12 <= len(p.split()) <= 26, (r['chunk'], p)
for a in r['advice']:
assert set(a) == {'move', 'outcome', 'quote', 'stance'} and a['stance'] in ('do', 'avoid'), (r['chunk'], a)
assert norm(a['quote']) in norm(chunks[r['chunk']]['text']), (r['chunk'], 'quote not verbatim', a['quote'])
assert len(a['quote'].split()) <= 30, (r['chunk'], 'quote over 30 words')
by = {r['chunk']: r for r in recs}
# ---- groups -------------------------------------------------------------------------------------------
DIRS = {'+', '-', 'risk', 'set'}
SKILLS = {'judgment', 'hustle'}
def check_moves(mv, where):
for k, v in mv.items():
assert v in DIRS, (where, k, v)
assert k in ('money', 'standing') or k in SKILLS or k.startswith(('relationships.', 'flags.')), (where, k)
assert (v == 'set') == k.startswith('flags.'), (where, k, v)
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}'
out = []
for g in G:
assert 3 <= len(g['options']) <= 5, g['id']
st = sorted({by[m]['story'] for m in g['members']})
assert len(st) >= 3, (g['id'], 'fewer than three letters')
top = collections.Counter(by[m]['story'] for m in g['members']).most_common(1)[0][1]
assert top <= len(g['members']) / 2, (g['id'], 'one letter supplies over half')
stand = collections.Counter(STANDING[by[m]['story']] for m in g['members'])
opts = []
for t, s, mv in g['options']:
check_moves(mv, g['id'])
kind, _, n = s.partition(':')
assert kind in ('scene', 'advice', 'archetype', 'filled'), s
if kind == 'advice': assert by[int(n)]['advice'], (g['id'], s, 'scene has no advice')
opts.append({'text': t, 'source': s, 'moves': mv,
'in_group': (int(n) in g['members']) if kind in ('scene', 'advice') else None})
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': opts,
})
out.sort(key=lambda g: int(g['id'][1:]))
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))
# ---- the pilot: options_by_entry.json -----------------------------------------------------------------
entries, used = collections.defaultdict(list), set()
for key, c, i, text, mv, stated in O:
if key.startswith('new:'): assert key[4:] in NEW_ENTRIES, key
else: assert key in catalogue, f'unknown catalogue entry {key}'
assert (c, i) not in used, f'advice {c}:{i} used twice'
used.add((c, i))
check_moves(mv, key)
assert isinstance(stated, bool)
entries[key].append({'text': text, 'moves': mv, 'source': f'chunk:{c}', 'evidence': by[c]['advice'][i]['quote'],
'stated': stated})
assert set(NEW_ENTRIES) == {k[4:] for k in entries if k.startswith('new:')}, 'a new entry with no options'
all_items = [(r['chunk'], i) for r in recs for i in range(len(r['advice']))]
unmapped = [x for x in all_items if x not in used]
old = sorted((k for k in entries if not k.startswith('new:')), key=lambda k: list(catalogue).index(k))
new = sorted(k for k in entries if k.startswith('new:'))
obe = {k: entries[k] for k in old + new}
obe['_new_entries'] = {k: NEW_ENTRIES[k] for k in sorted(NEW_ENTRIES)}
(here / 'options_by_entry.json').write_text(json.dumps(obe, indent=1, ensure_ascii=False))
# ---- report -------------------------------------------------------------------------------------------
print(f'{len(recs)} scenes, {len(out)} groups, {sum(seen.values())} assigned, {len(unassigned)} unassigned: {unassigned}')
for g in out:
print(f"{g['id']} {len(g['members']):2} scenes {len(g['stories'])} letters stage {g['stage']:6} {g['name']}")
src = collections.Counter(o['source'].split(':')[0] for g in out for o in g['options'])
print('group option sources:', dict(src), '| scene/advice options citing a scene outside their group:',
sum(o['in_group'] is False for g in out for o in g['options']))
adv = [a for r in recs for a in r['advice']]
print(f"\nPILOT scenes with advice {sum(bool(r['advice']) for r in recs)} of {len(recs)}; advice items {len(adv)} "
f"({sum(a['stance'] == 'do' for a in adv)} do, {sum(a['stance'] == 'avoid' for a in adv)} avoid)")
opts = [o for k in old + new for o in entries[k]]
st = lambda os: sum(o['stated'] for o in os)
print(f' options {len(opts)} from {len(used)} advice items ({len(unmapped)} items unmapped: {unmapped})')
print(f' stated {st(opts)} of {len(opts)} = {st(opts)/len(opts):.0%}')
o_old = [o for k in old for o in entries[k]]; o_new = [o for k in new for o in entries[k]]
print(f' catalogue entries covered {len(old)} of {len(catalogue)}: {len(o_old)} options, stated {st(o_old)} ({st(o_old)/len(o_old):.0%})')
for k in old: print(f' {k:26s} {len(entries[k]):2d} options, {st(entries[k])} stated')
print(f' new: entries {len(new)}: {len(o_new)} options, stated {st(o_new)} ({st(o_new)/len(o_new):.0%})')
for k in new: print(f' {k:26s} {len(entries[k]):2d} options, {st(entries[k])} stated')
print('\nSTORY PACKS for comparison (option sources in groups.json):')
for corpus in ('lawson', 'bierce'):
gs = json.loads((probe / corpus / 'claude/groups.json').read_text())['groups']
c = collections.Counter(o['source'].split(':')[0] for g in gs for o in g['options'])
print(f' {corpus}: {sum(c.values())} options in {len(gs)} groups: {dict(c)}')
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,215 @@
"""Hand-built reference grouping of the Lorimer predicaments (Claude-written, no inference of any kind).
Lorimer's *Letters from a Self-Made Merchant to His Son* is an advice book, not a story collection: each of
its twenty letters is a "story", and the scenes are stretches of a father's advice and the anecdotes he
tells to carry it. Each scene is in at most one group; scenes that fit no recurring situation stay
unassigned. Every group spans at least three of the 20 letters, and no letter supplies more than half a
group's members.
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)
'advice:N' a move the book itself advises for or against in scene N (see batches/, `advice`)
'filled' written to fill a gap the scenes leave
`moves` names spine paths and a direction only (+ / - / risk / set). No magnitudes: the model never
chooses a number. Skill labels proposed for this corpus: judgment (sizing up goods, prices, people and
claims: the father's "one-part talk and nine-parts judgment") and hustle (drive, application, doing the
second half of the work).
"""
G = [
# ---- money habits ---------------------------------------------------------------------------------
dict(id='G01', name='Spending ahead of what you earn',
predicament='You are spending more than you earn, often to keep up with free-spending company, and the bills are coming due.',
actor='young earner', wants='to live well now', counterpart='their own pay packet, and the company they keep',
members=[8, 10, 11, 25, 63, 64],
options=[
('Bring your spending down to what you actually earn.', 'advice:8', {'money':'+', 'relationships.peers':'-'}),
('Keep saving, and keep expenses down.', 'advice:10', {'money':'+', 'flags.buying_in':'set'}),
('Spend freely, so nobody thinks you mean.', 'advice:11', {'relationships.peers':'+', 'money':'-', 'standing':'-'}),
('Ask for an advance on your pay.', 'scene:13', {'money':'+', 'relationships.boss':'-'}),
('Spend it as fast as it comes.', 'advice:10', {'money':'-', 'relationships.peers':'+'})]),
dict(id='G02', name='Starting at the bottom',
predicament='You are starting at the bottom on low pay and dull work, and must decide whether it is a first step or a resting place.',
actor='new hand', wants='to rise', counterpart='the boss who put them there',
members=[9, 19, 20, 26, 33, 34, 35],
options=[
('Take the first job offered and use it as bait for a better one.', 'advice:26', {'money':'+', 'standing':'+'}),
('Find a way to do the work cheaper, even if it abolishes your job.', 'advice:20', {'judgment':'+', 'money':'+', 'relationships.boss':'+'}),
('Learn how little you can do and still keep the job.', 'scene:33', {'relationships.boss':'-', 'standing':'-'}),
('Hold your own job firmly and reach for the next one.', 'advice:33', {'hustle':'+', 'relationships.boss':'+'}),
('Come early, stay late and keep at it.', 'advice:35', {'hustle':'+', 'standing':'+'})]),
dict(id='G03', name='Doing just enough',
predicament='You could keep your place with half your effort, and must decide whether the other half is worth giving.',
actor='settled employee', wants='to keep the job without killing themselves', counterpart='the boss deciding who rises',
members=[40, 41, 44, 80, 81, 87, 119],
options=[
('Do just enough to keep from being dismissed.', 'advice:80', {'relationships.boss':'-', 'standing':'-'}),
('Put in the second half of the effort.', 'advice:80', {'hustle':'+', 'relationships.boss':'+'}),
('Learn more of the business than your job needs.', 'advice:81', {'judgment':'+', 'flags.promoted':'set'}),
('Come in late, leave early, and do your own business in between.', 'advice:44', {'money':'+', 'flags.passed_over':'set'}),
('Take on every extra job going, and cheerfully.', 'advice:87', {'hustle':'+', 'flags.promoted':'set'})]),
# ---- those above you ------------------------------------------------------------------------------
dict(id='G04', name='A hard boss',
predicament='Your superior is gruff, demanding and unimpressed with you, and you are tempted to complain, sulk or go over their head.',
actor='subordinate', wants='fair treatment and a chance', counterpart='a gruff superior',
members=[38, 45, 46, 88, 89],
options=[
('Say you cannot work under them.', 'advice:45', {'relationships.boss':'-', 'standing':'-'}),
('Give way to them, and approach them with respect.', 'advice:46', {'relationships.boss':'+'}),
('Go over their head and report what is wrong with them.', 'advice:46', {'relationships.boss':'-', 'relationships.owner':'risk'}),
('Take the criticism in wounded silence.', 'advice:88', {'relationships.boss':'-'}),
('Complain that you are being held down.', 'advice:89', {'relationships.boss':'-', 'standing':'-'})]),
dict(id='G05', name='Talking yourself up',
predicament='You are doing well, or want to seem to, and are tempted to make sure everyone knows it.',
actor='rising employee', wants='to be noticed', counterpart='superiors and colleagues',
members=[50, 90, 91, 138, 139, 140],
options=[
('Tell your superiors how well you are doing.', 'advice:138', {'relationships.boss':'-'}),
('Say nothing, and let the results speak.', 'advice:140', {'standing':'+', 'hustle':'+'}),
('Put on airs around the office.', 'advice:50', {'standing':'-', 'relationships.peers':'-'}),
('Rise on talk and show while it works.', 'advice:139', {'standing':'risk'}),
('Give more than you are paid for.', 'advice:138', {'hustle':'+', 'standing':'+'})]),
dict(id='G06', name='Saying too much',
predicament='You are tempted to say more than you need to: a joke, a retort, an opinion, or a complaint about someone.',
actor='talker', wants='to be heard', counterpart='whoever is listening',
members=[32, 47, 49, 71, 72],
options=[
('Say what you came to say, and stop.', 'advice:32', {'judgment':'+', 'money':'+'}),
('Listen more than you talk.', 'advice:33', {'judgment':'+', 'relationships.counterpart':'+'}),
('Crack the joke.', 'advice:72', {'standing':'-', 'relationships.counterpart':'+'}),
('Run down the people you used to work for.', 'advice:49', {'relationships.boss':'-', 'flags.not_hired':'set'}),
('Answer back with a smart retort.', 'advice:71', {'relationships.counterpart':'-', 'money':'-'})]),
# ---- customers and the trade ----------------------------------------------------------------------
dict(id='G07', name='A customer tries you',
predicament='A customer complains, needles you or sets a trap, and how you answer decides whether you keep their trade.',
actor='seller', wants='to keep the trade', counterpart='a difficult customer',
members=[74, 75, 82, 93],
options=[
('Settle a fair complaint on the spot, bargaining down from the first figure.', 'advice:75', {'money':'-', 'relationships.customer':'+'}),
('Know your goods well enough to turn their trap round.', 'advice:82', {'judgment':'+', 'money':'+', 'standing':'+'}),
('Say something about them that they will take as praise.', 'advice:93', {'judgment':'+', 'relationships.customer':'+', 'money':'+'}),
('Flatter them.', 'advice:74', {'relationships.customer':'+', 'standing':'-'}),
('Tell them to their face that they are a liar.', 'advice:93', {'relationships.customer':'-', 'flags.fought':'set'})]),
dict(id='G08', name='Goods nobody wants',
predicament='You have goods to sell and buyers who feel no need of them.',
actor='seller', wants='to move the goods', counterpart='buyers who are not hungry',
members=[51, 52, 77, 95, 98, 99],
options=[
('Give them a grander label and a higher price.', 'advice:52', {'money':'+', 'judgment':'+'}),
('Tell the buyers plainly that they need it.', 'scene:77', {'relationships.customer':'-'}),
('Stage a show that makes the need feel real.', 'advice:98', {'money':'+', 'flags.sharp_practice':'set'}),
('Dress the same goods up as something new.', 'advice:51', {'money':'-'}),
('Take them where the money already is.', 'advice:78', {'money':'+', 'hustle':'+'})]),
dict(id='G09', name='Easy money',
predicament='Someone offers, or the market seems to offer, money for nothing, and you have a little you could stake.',
actor='person of small means', wants='to get rich quicker', counterpart='a schemer, a tipster, or the market',
members=[30, 36, 37, 109, 111, 117],
options=[
('Stay clear: take the elevator to the roof garden.', 'advice:36', {'judgment':'+', 'relationships.schemer':'-'}),
('Take a little flyer on it.', 'scene:108', {'money':'risk', 'relationships.boss':'-', 'flags.speculated':'set'}),
('Lend them a little rather than join in.', 'advice:37', {'money':'-', 'relationships.schemer':'+'}),
('Ask why the return is so high before you trust it.', 'advice:111', {'judgment':'+'}),
('Talk yourself into it, principles and all.', 'scene:117', {'money':'risk', 'standing':'-'})]),
dict(id='G17', name='Rivals are taking the trade',
predicament='Rivals are getting the better of you in the trade, and you must decide whether to explain it, shrug it off or go after them.',
actor='seller or manager', wants='the business', counterpart='rival firms',
members=[76, 78, 127, 148],
options=[
('Send in a full account of what the competition is doing.', 'advice:78', {'relationships.boss':'-', 'flags.resigned':'set'}),
('Go for all of the trade, not a share of it.', 'advice:128', {'hustle':'+', 'money':'+', 'relationships.rival':'-'}),
('Take up the line you left to them.', 'advice:127', {'money':'+', 'hustle':'+'}),
('Stand and fight: you never sold what you could not deliver.', 'advice:148', {'standing':'+', 'relationships.rival':'-'}),
('Go where the money already is.', 'advice:78', {'money':'+', 'judgment':'+'})]),
# ---- judging people -------------------------------------------------------------------------------
dict(id='G10', name='Taking someone on',
predicament='You are about to hire or trust someone on the strength of how they look, how they talk, or who vouches for them.',
actor='employer', wants='a good hand', counterpart='the candidate and whoever vouches for them',
members=[48, 53, 56, 59, 105, 106, 107],
options=[
('Take them on the word of whoever vouches for them.', 'scene:53', {'relationships.friend':'+', 'money':'risk'}),
('Try them out in the work before committing.', 'advice:105', {'judgment':'+'}),
("Get an outsider's valuation, in figures.", 'advice:56', {'judgment':'+', 'relationships.friend':'-'}),
('Trust the one with the polished manners.', 'advice:107', {'relationships.hire':'+', 'money':'risk'}),
('Be on your guard against anyone too smooth.', 'advice:48', {'judgment':'+', 'relationships.hire':'-'})]),
dict(id='G11', name='Looking the part',
predicament='You want to be taken for more than you yet are, and must decide how much to spend on looking the part.',
actor='person on the way up', wants='to be taken seriously', counterpart='the people who judge by appearances',
members=[31, 100, 101, 102, 104, 134, 135, 144],
options=[
('Get a sober, well-made suit and look the part.', 'scene:100', {'money':'-', 'standing':'+'}),
('Look like someone of consequence before you are one.', 'advice:104', {'standing':'+', 'money':'-'}),
('Build your name on your work, not on borrowed rank.', 'advice:31', {'standing':'+', 'hustle':'+'}),
('Throw a lavish show to win acceptance.', 'advice:135', {'money':'-', 'standing':'-', 'flags.public_scandal':'set'}),
('Keep up appearances beyond your means.', 'advice:144', {'money':'-', 'standing':'risk'})]),
# ---- in charge ------------------------------------------------------------------------------------
dict(id='G12', name='Someone under you falls short',
predicament='Someone under you is slack, wrong for the post, or in a bad habit, and it falls to you to act.',
actor='manager', wants='the work done well', counterpart='a subordinate falling short',
members=[28, 43, 103, 121, 122],
options=[
("Let a wrong hire go at once, with a month's pay.", 'advice:122', {'money':'-', 'relationships.staff':'+'}),
('Put it off a little longer.', 'advice:28', {'money':'-', 'flags.lost_good_hand':'set'}),
('Set the example yourself, starting with your own habits.', 'advice:103', {'hustle':'+', 'relationships.staff':'+'}),
('Tell them bluntly what is wrong with them.', 'advice:121', {'relationships.staff':'-'}),
('Threaten them.', 'advice:122', {'relationships.staff':'-', 'standing':'risk'})]),
dict(id='G13', name='Caught between two sides',
predicament='You stand between two sides who each want your loyalty, and favouring either openly will cost you with the other.',
actor='go-between', wants='to keep both sides', counterpart='those above and those below, or the firm and the customer',
members=[92, 94, 128, 129, 149],
options=[
('Try openly to please both sides.', 'advice:92', {'relationships.boss':'-', 'relationships.other_side':'-'}),
('Keep them apart, and let each think they have slightly the better of it.', 'advice:92', {'judgment':'+', 'relationships.boss':'+', 'relationships.other_side':'+'}),
('Please your own side and let the other grumble.', 'advice:149', {'relationships.boss':'+', 'relationships.other_side':'-'}),
('Cut a corner on one side to keep the other sweet.', 'advice:94', {'relationships.boss':'+', 'relationships.other_side':'-', 'flags.skinned_someone':'set'}),
('Explain yourself to both.', 'advice:128', {'relationships.other_side':'+', 'standing':'-'})]),
# ---- private life ---------------------------------------------------------------------------------
dict(id='G14', name='Sizing up a match',
predicament='You are drifting toward marrying someone and have not yet taken a clear look at them, their family, or what it will cost.',
actor='suitor', wants='to marry well', counterpart='the person they are courting, and that person\'s family',
members=[65, 70, 158, 159, 172, 173],
options=[
('Size them up before you are engaged, at breakfast as well as at the theatre.', 'advice:172', {'judgment':'+', 'relationships.partner':'risk'}),
('Marry someone raised above the means you can give them.', 'advice:65', {'relationships.partner':'+', 'money':'-'}),
('Tell them exactly what you earn.', 'advice:63', {'relationships.partner':'risk', 'judgment':'+'}),
('Marry a sensible partner, even on modest pay.', 'advice:158', {'relationships.partner':'+', 'money':'-'}),
('Propose first and find out later.', 'advice:172', {'relationships.partner':'+', 'flags.married_in_haste':'set'})]),
dict(id='G15', name='The wrong line of work',
predicament='You are in, or headed for, work that does not suit you, and must decide whether to push on, switch, or wait for something better.',
actor='misfit', wants='work that suits them', counterpart='a parent or an employer with other plans',
members=[5, 6, 7, 18, 57, 58, 62, 141],
options=[
('Try the work you are set on, whatever your family says.', 'advice:57', {'relationships.family':'-', 'money':'risk'}),
('Leave the family trade for one that suits your gifts.', 'advice:62', {'money':'+', 'relationships.family':'-'}),
('Hold out for work worthy of your old position.', 'advice:141', {'money':'-', 'standing':'-'}),
('Take whatever work is going, however heavy.', 'scene:19', {'money':'+', 'hustle':'+', 'standing':'-'}),
('Tell your new superior how it ought to be done.', 'advice:6', {'relationships.boss':'-', 'flags.dismissed':'set'})]),
dict(id='G16', name='The fast set',
predicament='The people around you are spending their time and money on amusement, and you must decide how far to go along.',
actor='young person', wants='to belong', counterpart='free-spending companions',
members=[3, 14, 15, 130, 131, 137],
options=[
('Do as everyone else does.', 'advice:14', {'relationships.peers':'+', 'money':'-', 'standing':'-'}),
('Keep away, even if it leaves you on your own.', 'advice:15', {'relationships.peers':'-', 'judgment':'+'}),
('Go slow, and pick your amusements.', 'advice:3', {'judgment':'+'}),
('Take working afternoons off to play.', 'advice:130', {'relationships.peers':'+', 'relationships.boss':'-'}),
('Cultivate the fashionable set.', 'advice:131', {'relationships.peers':'+', 'money':'-', 'standing':'risk'})]),
dict(id='G18', name='Your mistake has come to light',
predicament='A mistake of yours has come to light, and you can own up, joke it off, cover it, or let it pass.',
actor='person at fault', wants='to come out of it well', counterpart='the one who found out',
members=[29, 39, 108, 146, 147],
options=[
('Own up at once.', 'advice:93', {'standing':'-', 'relationships.boss':'+'}),
('Make a joke of it.', 'scene:39', {'relationships.boss':'-'}),
('Keep quiet and hope it passes.', 'advice:93', {'relationships.boss':'risk', 'flags.covered_up':'set'}),
('Take the public humbling.', 'advice:147', {'standing':'-', 'judgment':'+'}),
('Make sure it never happens twice.', 'advice:29', {'judgment':'+'})]),
]
# The son's standing by letter, for stage assignment (DESIGN.md "Stages"). Per letter, not per scene. The
# son is the protagonist even where a scene is an anecdote about someone else, so this stages the letter,
# not the anecdote. Letters 1-5 (0-4): a student, then a graduate about to start. Letters 6-9 (5-8): the
# mailing desk, then the billing desk. Letters 10-14 (9-13): a travelling salesman, raised to thirty a week
# in letter 13. Letters 15-20 (14-19): assistant manager of a department at fifty a week. "high" is only the
# top of this book's ladder, a junior manager, not the owner's chair.
STANDING = {0:'low', 1:'low', 2:'low', 3:'low', 4:'low', 5:'low', 6:'low', 7:'low', 8:'low',
9:'middle', 10:'middle', 11:'middle', 12:'middle', 13:'middle',
14:'high', 15:'high', 16:'high', 17:'high', 18:'high', 19:'high'}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,250 @@
"""The pilot: which catalogue v2 situations does Lorimer's advice supply options for, and can the text justify
their effect directions? (Claude-written, no inference of any kind.)
Each row is (entry, chunk, advice_index, option text, moves, stated):
entry a catalogue v2 id (../../catalogue/v2/catalogue_v2_src.py), or 'new:<id>' defined in NEW_ENTRIES
chunk, index the advice item in batches/ that the option comes from; build.py copies its quote as `evidence`
moves spine paths with a direction only, the same vocabulary as groups_src.py. They are the moves a
pack author would want for the option, written first; `stated` was judged afterwards, and no
direction was dropped to make an option count as stated.
stated True only if the quoted text itself says what the move leads to, in a way that justifies EVERY
direction in `moves`. Rules applied:
- a direction that is the move's own content (spending lowers money; practising a skill
raises it) counts as justified only when the quote names that content;
- a figure of speech counts only when it plainly maps onto one path ("bankruptcy" for
telling your dislikes does not; "the fellow ... is very, very poor" does);
- an outcome told outside the quoted words (the next sentence, the next scene) does not
count: the evidence has to carry it;
- "safe rule", "counts", "pays" with no path named do not count.
Mapping rule, as in the catalogue: an option joins an entry only when it is the same predicament seen from the
same side. Advice that fits no entry goes under a new: key.
"""
NEW_ENTRIES = {
'learning_that_pays': 'You have more schooling than experience, and must show it has made you useful and not merely polished.',
'starting_at_the_bottom': 'You are starting at the bottom on low pay and dull work, and must decide whether it is a first step or a resting place.',
'just_enough': 'You could keep your place with half your effort, and must decide whether the other half is worth giving.',
'fast_set': 'The people around you are spending their time and money on amusement, and you must decide how far to go along.',
'spending_ahead': 'You are spending more than you earn, often to keep up with free-spending company, and the bills are coming due.',
'talking_yourself_up': 'You are doing well, or want to seem to, and are tempted to make sure everyone knows it.',
'loose_tongue': 'You are tempted to say more than you need to: a joke, a retort, an opinion, or a complaint about someone.',
'difficult_customer': 'A customer is hard to please or out to test you, and how you handle them decides whether you keep their trade.',
'goods_nobody_wants': 'You have goods to sell and buyers who feel no need of them.',
'rivals_ahead': 'Rivals are getting the better of you in the trade, and you must decide whether to explain it, shrug it off or go after them.',
'new_idea': 'You, or someone under you, have a new way of doing things that the people in charge laugh at.',
'put_off': 'A task or a chance is in front of you now, and it would be easy to let it wait.',
'in_charge': 'Someone under you is slack, wrong for the post, or needs correcting, and it falls to you to act.',
'between_two_sides': 'You stand between two sides who each want your loyalty, and favouring either openly will cost you with the other.',
'gamble': 'You are tempted to gamble your small means on prices, sure that you know more than the market does.',
'worry': 'Something might go wrong, and you can fret over it now or leave it until you know.',
'judging_others': 'You are quick to see and correct other people\'s faults, and slow to see your own.',
'sizing_up_a_match': 'You are drifting toward marrying someone and have not yet taken a clear look at them, their family, or what it will cost.',
'tangled_promises': 'You have let more than one person believe you are theirs, and must untangle it before they find each other out.',
}
T, F = True, False
O = [
# ---- existing catalogue entries ---------------------------------------------------------------------------------------
('newcomer', 6, 0, 'Tell your new superior straight off that they are doing it wrong.', {'relationships.boss':'-'}, T),
('newcomer', 55, 0, 'Play a rough joke on a visitor.', {'relationships.customer':'-', 'flags.dismissed':'set'}, F),
('newcomer', 73, 0, 'Show off before you have mastered the basics.', {'standing':'-'}, F),
('newcomer', 78, 0, 'Dress as the local people of standing do.', {'standing':'+'}, F),
('warning', 47, 0, 'Talk over the warnings instead of listening to them.', {'judgment':'-'}, F),
('pretence', 1, 0, 'Rely on sound character rather than polish.', {'standing':'+'}, F),
('pretence', 29, 1, 'Go away somewhere grand to pick up polish.', {'money':'-'}, F),
('pretence', 31, 0, 'Build your name on the quality of your work, not on borrowed rank.', {'standing':'+', 'money':'+'}, T),
('pretence', 100, 0, 'Go about looking slovenly.', {'standing':'-'}, T),
('pretence', 101, 0, 'Turn yourself out neatly when it counts.', {'money':'+'}, T),
('pretence', 102, 0, 'Take as much care to look right as to be right.', {'standing':'+'}, T),
('pretence', 104, 0, 'Look like someone of consequence before you are one.', {'standing':'+', 'money':'-'}, F),
('pretence', 139, 0, 'Rise on talk and show.', {'standing':'risk'}, T),
('pretence', 139, 1, 'Climb slowly by the steady path.', {'standing':'+'}, T),
('pretence', 144, 0, 'Let your pride drive your work, not your show.', {'hustle':'+'}, T),
('pretence', 144, 1, 'Keep up appearances beyond your means.', {'money':'-', 'standing':'-'}, F),
('caught_out', 101, 1, 'Let yourself be seen doing something that looks like a sign of trouble.', {'money':'-'}, T),
('caught_out', 44, 2, "Let your private affairs get mixed into the firm's dealings.", {'relationships.boss':'-'}, F),
('owning_up', 147, 0, 'Confess in front of everyone how you really came by the praise.', {'standing':'-', 'flags.humbled':'set'}, F),
('cover_up_spiral', 93, 2, 'Keep the mistake to yourself.', {'relationships.boss':'-', 'flags.covered_up':'set'}, T),
('cover_up_spiral', 170, 0, 'Try to hush up a scandal that is already out.', {'standing':'-'}, F),
('power_over_you', 45, 0, 'Tell them you cannot work under them.', {'relationships.boss':'-', 'standing':'-'}, F),
('power_over_you', 46, 0, 'Go over their head and report that they are no good.', {'relationships.boss':'-'}, F),
('power_over_you', 46, 1, 'Give way to them and let them have the best place.', {'relationships.boss':'+'}, T),
('power_over_you', 46, 2, 'Keep your temper, whether you are right or wrong.', {'relationships.boss':'+', 'judgment':'+'}, F),
('power_over_you', 46, 3, 'Approach them gently and with respect.', {'relationships.boss':'+'}, T),
('power_over_you', 46, 4, 'Keep well away from one who is vicious on principle.', {'flags.kept_clear':'set'}, F),
('power_over_you', 88, 0, 'Take their criticism in sulky, long-suffering silence.', {'relationships.boss':'-'}, T),
('overlooked', 89, 0, 'Work your connections to get noticed.', {'relationships.patron':'+', 'standing':'risk'}, F),
('overlooked', 89, 1, 'Complain that you are being held down.', {'relationships.boss':'-', 'standing':'-'}, F),
('overlooked', 138, 0, 'Keep telling your superiors how good you are.', {'relationships.boss':'-'}, F),
('overlooked', 138, 1, 'Give more than you are paid for, and let it speak.', {'money':'-', 'standing':'+'}, F),
('overlooked', 140, 1, 'Work quietly and speak only when there is a result.', {'standing':'+'}, F),
('outmatched', 82, 0, 'Know your goods well enough to turn their trap round.', {'money':'+', 'standing':'+'}, F),
('sure_thing', 36, 0, 'Accept the offer to get in on the ground floor.', {'money':'risk', 'relationships.schemer':'+'}, F),
('sure_thing', 111, 0, 'Check hard why the return is so high before you trust it.', {'judgment':'+'}, F),
('sure_thing', 111, 1, 'Take up the sure thing or the straight tip.', {'money':'-'}, T),
('sure_thing', 117, 1, 'Count on the easy money, or the easy loan.', {'money':'-'}, T),
('compromise_for_money', 110, 0, 'Chase your losses, whatever it takes.', {'standing':'-', 'money':'risk'}, F),
('compromise_for_money', 117, 0, 'Talk yourself out of your principles to take the money.', {'money':'risk', 'standing':'-'}, F),
('self_betrayal', 109, 1, 'Start speculating at all.', {'money':'risk', 'flags.speculator':'set'}, T),
('self_betrayal', 110, 1, "Cover your losses out of your employer's cash.", {'flags.embezzled':'set', 'standing':'risk'}, T),
('self_betrayal', 143, 0, 'Do something shameful on a dare, or for show.', {'money':'+', 'standing':'-'}, F),
('after_your_money', 37, 0, 'Lend the schemer a little rather than hire them.', {'money':'-', 'relationships.schemer':'+'}, F),
('after_your_money', 63, 0, 'Tell them exactly what you earn.', {'relationships.partner':'-'}, T),
('mistook_them', 12, 0, 'Price things without a sense of what they are worth.', {'money':'-'}, T),
('mistook_them', 30, 0, 'Buy the fine things on offer where you cannot judge them.', {'money':'-'}, T),
('mistook_them', 56, 0, "Get an outsider's valuation of what you are fond of, in figures.", {'judgment':'+'}, F),
('mistook_them', 105, 1, 'Hire them on their looks.', {'flags.bad_hire':'set'}, T),
('mistook_them', 131, 0, 'Rate people by the family and fortune behind them.', {'judgment':'-'}, F),
('not_who_they_seem', 48, 0, 'Be on your guard against anyone too smooth.', {'judgment':'+', 'relationships.counterpart':'-'}, F),
('not_who_they_seem', 104, 1, 'Be cautious, but not suspicious.', {'judgment':'+'}, F),
('not_who_they_seem', 105, 0, 'Try them out in the work before you commit.', {'judgment':'+'}, F),
('not_who_they_seem', 107, 0, 'Trust them for their manners and polish.', {'money':'-'}, T),
('used', 15, 0, 'Keep away from the crowd following its charming leader, even if it leaves you alone.', {'relationships.peers':'-'}, T),
('plea_for_help', 19, 0, 'Keep calling back on the one who turned you away.', {'hustle':'+', 'flags.given_a_chance':'set'}, F),
('plea_for_help', 59, 0, "Take on a friend's child as a favour.", {'relationships.friend':'-', 'money':'-'}, T),
('plea_for_help', 141, 0, 'Hold out for work worthy of your old position, and live on others meanwhile.', {'standing':'-', 'money':'-'}, F),
('family_against_your_path', 57, 0, 'Let them try the work they are set on.', {'relationships.family':'+'}, F),
('family_against_your_path', 57, 1, 'Keep their leaning bottled up.', {'relationships.family':'-'}, F),
('family_against_your_path', 62, 0, 'Leave the family trade for work that suits you.', {'money':'+', 'relationships.family':'-'}, F),
('peace_at_home', 92, 0, 'Try openly to please both of them.', {'relationships.family':'-', 'relationships.partner':'-'}, T),
('peace_at_home', 92, 1, 'Keep them apart, and let each think they have slightly the better of it.', {'judgment':'+', 'relationships.family':'+', 'relationships.partner':'+'}, F),
('habit', 103, 0, 'Give the habit up yourself as you correct them for it.', {'relationships.staff':'+', 'flags.swore_off':'set'}, F),
('habit', 103, 1, 'Carry on as you please now that you are high up.', {'standing':'risk'}, T),
('bow_for_your_living', 23, 4, 'Keep your flashy clothes and habits.', {'flags.not_hired':'set'}, T),
('bow_for_your_living', 178, 0, 'Settle down and marry, as your employer would like.', {'money':'+'}, T),
('called_to_account', 29, 0, 'Make the same mistake a second time.', {'standing':'-'}, F),
('called_to_account', 76, 0, 'Explain at length how a rival beat you.', {'relationships.boss':'-'}, F),
('called_to_account', 78, 2, 'Send explanations in place of results.', {'flags.resigned':'set', 'relationships.boss':'-'}, F),
('outside_looking_in', 135, 0, 'Force your way in with a lavish public show.', {'money':'-', 'standing':'-', 'flags.police_called':'set'}, F),
('outside_looking_in', 137, 0, 'Count on standing won elsewhere to carry you here.', {'standing':'-'}, T),
('gone_missing', 157, 0, 'Hold off grieving until you know, and leave the fretting to others.', {'flags.kept_calm':'set'}, F),
# ---- new situations -----------------------------------------------------------------------------------------------------
('new:learning_that_pays', 0, 0, 'Take every chance to learn that is offered.', {'judgment':'+'}, F),
('new:learning_that_pays', 4, 0, 'Train yourself to think fast and answer first.', {'judgment':'+', 'money':'+'}, T),
('new:learning_that_pays', 4, 1, 'Live it up as an idle dandy while you study.', {'standing':'-'}, T),
('new:learning_that_pays', 4, 2, "Put your education to work in someone's business.", {'relationships.boss':'+', 'hustle':'+'}, F),
('new:learning_that_pays', 5, 0, 'Add training to hard work, and keep working hard.', {'hustle':'+', 'standing':'+'}, F),
('new:learning_that_pays', 7, 0, 'Learn to use what you know rather than to know more.', {'judgment':'+'}, F),
('new:learning_that_pays', 16, 0, 'Test what the books taught you against practice.', {'judgment':'+', 'money':'+'}, T),
('new:learning_that_pays', 23, 2, 'Get trained, and find ways to earn your raises.', {'money':'+'}, T),
('new:starting_at_the_bottom', 9, 1, 'Do the lowest work properly before reaching higher.', {'hustle':'+', 'relationships.boss':'+'}, F),
('new:starting_at_the_bottom', 20, 0, 'Find a way to do the work cheaper, even if it abolishes your job.', {'money':'+', 'relationships.boss':'+'}, T),
('new:starting_at_the_bottom', 26, 1, 'Take the first job offered and use it as bait for a better one.', {'money':'+', 'standing':'+'}, F),
('new:starting_at_the_bottom', 33, 1, 'Hold your own job firmly and reach for the next one.', {'hustle':'+', 'relationships.boss':'+'}, F),
('new:starting_at_the_bottom', 34, 0, 'Start at a pace you can improve on, and build to the finish.', {'hustle':'+', 'flags.promoted':'set'}, F),
('new:starting_at_the_bottom', 35, 0, 'Come early, stay late and keep at it for a long time.', {'hustle':'+', 'standing':'+'}, T),
('new:just_enough', 37, 1, 'Scheme for yourself at night while you work for the firm by day.', {'relationships.boss':'-', 'money':'risk'}, T),
('new:just_enough', 40, 0, "Do your own business on your employer's time.", {'relationships.boss':'-', 'flags.petty_theft':'set'}, F),
('new:just_enough', 40, 1, 'Let your mind drift from a dull task.', {'relationships.boss':'-'}, F),
('new:just_enough', 41, 0, 'Work the plain, everyday virtues into your job.', {'hustle':'+', 'standing':'+'}, F),
('new:just_enough', 41, 1, 'Come in slow and leave the moment you can.', {'relationships.boss':'-', 'standing':'-'}, T),
('new:just_enough', 43, 0, 'Leave it to others to keep hauling you back into line.', {'relationships.boss':'-'}, T),
('new:just_enough', 44, 0, 'Keep work and play apart, and give full measure.', {'relationships.boss':'+', 'flags.promoted':'set'}, T),
('new:just_enough', 44, 1, 'Come in late and leave early.', {'flags.passed_over':'set'}, T),
('new:just_enough', 80, 0, 'Do just enough to keep from being dismissed.', {'relationships.boss':'-', 'standing':'-'}, F),
('new:just_enough', 80, 1, 'Put in the second half of the effort.', {'hustle':'+', 'money':'+'}, F),
('new:just_enough', 81, 0, 'Learn more of the business than your own job needs.', {'judgment':'+', 'flags.promoted':'set'}, T),
('new:just_enough', 81, 1, 'Ask sensible questions.', {'judgment':'+'}, F),
('new:just_enough', 87, 0, 'Take on every extra job going, and cheerfully.', {'hustle':'+', 'flags.promoted':'set'}, F),
('new:just_enough', 119, 0, 'Make yourself indispensable to your chief.', {'relationships.boss':'+', 'hustle':'+'}, F),
('new:just_enough', 120, 0, 'Bring enthusiasm to the work.', {'hustle':'+'}, T),
('new:fast_set', 2, 0, 'Test anything tempting against your conscience first.', {'judgment':'+'}, F),
('new:fast_set', 3, 0, 'Go slow, and pick your amusements.', {'judgment':'+', 'relationships.peers':'-'}, F),
('new:fast_set', 14, 0, 'Do as everyone around you does.', {'relationships.peers':'+', 'money':'-'}, F),
('new:fast_set', 14, 1, 'Think and act for yourself, against the crowd.', {'relationships.peers':'-', 'standing':'+'}, F),
('new:fast_set', 23, 3, 'Chase popularity with the crowd.', {'relationships.peers':'+', 'hustle':'-'}, F),
('new:fast_set', 25, 0, 'Wear yourself out after hours with drink or worry.', {'flags.health_broken':'set'}, T),
('new:fast_set', 26, 0, 'Spend your evenings carousing with the crowd.', {'relationships.peers':'+', 'hustle':'-'}, F),
('new:fast_set', 102, 1, 'Make time for plenty of leisure.', {'money':'-'}, T),
('new:fast_set', 130, 0, 'Take working afternoons off to play.', {'relationships.boss':'-'}, F),
('new:spending_ahead', 8, 0, 'Bring your spending down to what you will earn.', {'money':'+'}, F),
('new:spending_ahead', 10, 0, 'Keep saving, and keep expenses down.', {'money':'+', 'flags.buying_in':'set'}, T),
('new:spending_ahead', 10, 1, 'Spend money as fast as it comes.', {'money':'-'}, T),
('new:spending_ahead', 11, 0, 'Spend freely, so nobody thinks you mean.', {'relationships.peers':'+', 'money':'-', 'standing':'-'}, F),
('new:spending_ahead', 13, 0, 'Put your energy into the work instead of into asking for advances.', {'money':'+'}, T),
('new:spending_ahead', 64, 0, 'Spend a large sum at once on gifts for the one you are courting.', {'relationships.partner':'+', 'money':'-'}, F),
('new:talking_yourself_up', 50, 1, 'Put on airs around the office.', {'standing':'-', 'relationships.peers':'-'}, F),
('new:talking_yourself_up', 90, 0, 'Talk big about what you know.', {'standing':'-'}, F),
('new:talking_yourself_up', 91, 0, 'Let success give you a big head.', {'standing':'-'}, T),
('new:talking_yourself_up', 140, 0, 'Announce your plans loudly and rush at them.', {'hustle':'-'}, T),
('new:loose_tongue', 32, 0, 'Start talking before you know what you want, and keep on after you have said it.', {'money':'-'}, T),
('new:loose_tongue', 33, 0, 'Say less, and listen more.', {'relationships.counterpart':'+'}, T),
('new:loose_tongue', 49, 1, 'Run down your last employer to a new one.', {'relationships.boss':'-', 'flags.not_hired':'set'}, T),
('new:loose_tongue', 50, 0, 'Let people know your likes and dislikes.', {'relationships.peers':'-', 'standing':'-'}, F),
('new:loose_tongue', 72, 0, 'Crack a joke while bargaining.', {'standing':'-'}, F),
('new:loose_tongue', 93, 0, 'Tell them to their face that they are a liar.', {'flags.fought':'set', 'relationships.counterpart':'-'}, T),
('new:difficult_customer', 71, 0, 'Answer their complaint with a smart retort.', {'relationships.customer':'-', 'money':'-'}, F),
('new:difficult_customer', 71, 1, 'Make a joke about your own goods.', {'standing':'-'}, F),
('new:difficult_customer', 73, 1, 'Entertain them with stories instead of a better price.', {'relationships.customer':'+', 'money':'-'}, F),
('new:difficult_customer', 74, 0, 'Win them with flattery.', {'relationships.customer':'+', 'standing':'-'}, F),
('new:difficult_customer', 74, 1, 'Hold yourself above the small orders.', {'money':'-'}, T),
('new:difficult_customer', 75, 0, 'Settle a fair complaint on the spot, bargaining down from the first figure.', {'money':'-', 'relationships.customer':'+'}, F),
('new:difficult_customer', 75, 1, 'Treat every complaint alike, without sorting honest from false.', {'standing':'-'}, T),
('new:difficult_customer', 77, 0, 'Hint that they badly need what you are selling.', {'relationships.customer':'-', 'money':'-'}, F),
('new:difficult_customer', 86, 1, 'Know your own business thoroughly.', {'judgment':'+', 'money':'+'}, F),
('new:difficult_customer', 93, 1, 'Say something about them that they will take as praise.', {'relationships.customer':'+', 'money':'+'}, T),
('new:difficult_customer', 133, 0, 'Give them what they came for, not advice they did not ask for.', {'relationships.customer':'+'}, F),
('new:goods_nobody_wants', 51, 0, 'Dress the same goods up as something new.', {'money':'-'}, F),
('new:goods_nobody_wants', 52, 0, 'Give them a grander label and a higher price.', {'money':'+'}, F),
('new:goods_nobody_wants', 78, 1, 'Take them where the money already is.', {'money':'+'}, T),
('new:goods_nobody_wants', 98, 0, 'Stage a show that makes the need feel real.', {'money':'+', 'flags.sharp_practice':'set'}, F),
('new:goods_nobody_wants', 99, 0, 'Create a demand where the buyer feels none.', {'money':'+', 'hustle':'+'}, F),
('new:rivals_ahead', 17, 0, 'Keep yourself as sharp as the ablest of them.', {'judgment':'+'}, F),
('new:rivals_ahead', 94, 1, 'Push for business in good times and bad.', {'hustle':'+', 'money':'+'}, T),
('new:rivals_ahead', 127, 0, 'Take up every profitable branch instead of leaving some to them.', {'money':'+', 'hustle':'+'}, F),
('new:rivals_ahead', 127, 1, 'Dismiss the opening as not your line.', {'money':'-'}, F),
('new:rivals_ahead', 128, 0, 'Go for all of the trade, not a share of it.', {'money':'+', 'relationships.rival':'-'}, F),
('new:rivals_ahead', 148, 0, 'Never promise what you cannot lay hands on.', {'money':'+'}, F),
('new:new_idea', 21, 0, 'Keep pressing your new idea on a sceptical superior.', {'hustle':'+', 'flags.idea_tried':'set'}, T),
('new:new_idea', 23, 0, 'Stay with the costly new approach through its early losses.', {'money':'risk'}, T),
('new:new_idea', 23, 1, 'Dismiss the new way because it is not your way.', {'money':'-'}, F),
('new:new_idea', 99, 1, 'Keep doing things the same way year after year.', {'relationships.customer':'-'}, F),
('new:put_off', 27, 0, 'Put off the unwelcome task.', {'hustle':'-'}, F),
('new:put_off', 28, 2, 'Put off paying what you owe, even when you have the money.', {'money':'-'}, T),
('new:put_off', 82, 1, 'Let the chance to learn something slip by.', {'judgment':'-'}, F),
('new:put_off', 86, 0, 'Pass the chance over, meaning to come back for it.', {'flags.missed_chance':'set'}, T),
('new:in_charge', 2, 1, 'Correct them loudly and in public.', {'relationships.staff':'-'}, T),
('new:in_charge', 9, 0, 'Hand a favoured newcomer a ready-made success.', {'relationships.staff':'+', 'money':'-'}, F),
('new:in_charge', 28, 0, 'Put off dismissing a bad worker.', {'money':'-'}, T),
('new:in_charge', 28, 1, 'Put off raising a good worker.', {'flags.lost_good_hand':'set'}, T),
('new:in_charge', 49, 0, 'Value loyalty in those under you above cleverness.', {'relationships.staff':'+'}, F),
('new:in_charge', 50, 2, 'Let the branch you run fall behind the others.', {'flags.dismissed':'set'}, T),
('new:in_charge', 120, 1, 'Break your own rules now and then.', {'relationships.staff':'-'}, F),
('new:in_charge', 121, 0, 'Set the example: come early and work hard.', {'hustle':'+', 'relationships.staff':'+'}, F),
('new:in_charge', 121, 1, 'Wound their pride.', {'relationships.staff':'-'}, T),
('new:in_charge', 121, 2, 'Tell them the blunt truth about their faults.', {'relationships.staff':'-'}, F),
('new:in_charge', 121, 3, 'Set them on the road to seeing it for themselves.', {'relationships.staff':'+', 'judgment':'+'}, F),
('new:in_charge', 121, 4, 'Praise good work when you see it.', {'relationships.staff':'+'}, F),
('new:in_charge', 122, 0, "Let the wrong hire go at once, with a month's pay.", {'money':'-', 'relationships.staff':'+'}, F),
('new:in_charge', 122, 1, 'Threaten them.', {'standing':'risk'}, T),
('new:in_charge', 122, 2, 'Rule by fear.', {'relationships.staff':'-'}, T),
('new:in_charge', 123, 0, 'Make them report to you every day.', {'relationships.staff':'-', 'money':'+'}, F),
('new:in_charge', 128, 1, 'Use your new authority to keep them at a distance.', {'relationships.staff':'-'}, T),
('new:between_two_sides', 94, 0, 'Skin one side to keep the other sweet.', {'relationships.customer':'-'}, T),
('new:between_two_sides', 128, 2, 'Explain your orders below, or excuse yourself above.', {'standing':'-', 'relationships.boss':'-'}, T),
('new:between_two_sides', 129, 0, 'Need telling twice.', {'relationships.boss':'-'}, F),
('new:between_two_sides', 129, 1, "Make yourself your superior's right hand.", {'relationships.boss':'+', 'relationships.staff':'+'}, F),
('new:between_two_sides', 129, 2, 'Look for the good in those under you.', {'relationships.staff':'+'}, T),
('new:between_two_sides', 149, 0, 'Ignore both the abuse and the flattery.', {'judgment':'+'}, F),
('new:between_two_sides', 149, 1, 'Please your own side and let the other grumble.', {'relationships.boss':'+', 'relationships.other_side':'-'}, F),
('new:gamble', 109, 0, 'Gamble on the market while you work for the firm.', {'flags.dismissed':'set', 'money':'risk'}, T),
('new:gamble', 109, 2, 'Trust your inside knowledge of the trade to win.', {'money':'risk'}, T),
('new:gamble', 118, 0, 'Trade where you hold none of the real goods.', {'money':'-'}, T),
('new:worry', 151, 0, 'Put your worry into the business.', {'hustle':'-'}, F),
('new:worry', 152, 0, 'Worry over what might go wrong.', {'flags.health_broken':'set'}, T),
('new:judging_others', 113, 0, "Spend your effort reforming other people's characters.", {'relationships.family':'-', 'judgment':'-'}, F),
('new:judging_others', 123, 1, 'Let authority swell your head.', {'judgment':'-'}, T),
('new:judging_others', 124, 0, 'Call for public judgement of others when your own conduct is worse.', {'standing':'-'}, F),
('new:judging_others', 125, 0, 'Judge others generously and yourself strictly.', {'judgment':'+'}, F),
('new:sizing_up_a_match', 64, 1, 'Marry into a family whose head speculates or spends.', {'relationships.partner':'+', 'money':'-'}, F),
('new:sizing_up_a_match', 65, 0, 'Marry someone raised above the means you can give them.', {'relationships.partner':'+', 'money':'-'}, F),
('new:sizing_up_a_match', 70, 1, 'Marry the wrong person.', {'flags.married':'set'}, T),
('new:sizing_up_a_match', 158, 0, 'Leave money out of it until after the wedding.', {'money':'-', 'relationships.partner':'-'}, F),
('new:sizing_up_a_match', 158, 1, 'Marry a sensible partner, even on modest pay.', {'relationships.partner':'+'}, T),
('new:sizing_up_a_match', 159, 0, 'Marry a pampered heir without testing what lies under the money.', {'relationships.partner':'-', 'money':'+'}, F),
('new:sizing_up_a_match', 172, 0, 'Propose before you know them as they are day to day.', {'relationships.partner':'-'}, T),
('new:sizing_up_a_match', 173, 0, 'Cross them a little before you commit, to see their temper.', {'judgment':'+', 'relationships.partner':'-'}, F),
('new:sizing_up_a_match', 175, 0, 'Put off being happy together until you can afford it.', {'money':'+', 'relationships.partner':'-'}, F),
('new:tangled_promises', 70, 0, 'Trifle with someone who has made up their mind to marry.', {'flags.married':'set'}, F),
('new:tangled_promises', 166, 0, 'Tell each of them plainly that you do not love them enough to marry, and hold to it.', {'relationships.partner':'-', 'standing':'-'}, F),
('new:tangled_promises', 168, 0, 'Break it off gently, in person, with gifts and soft words.', {'flags.still_engaged':'set'}, T),
]
@@ -0,0 +1,74 @@
#!/usr/bin/env python3
"""Render groups.json + records.json + options_by_entry.json as one self-contained page: REFERENCE.html.
Jacobs' page (../../jacobs/claude/page.py) with each scene's advice shown, 'advice:N' option sources, and a
second part for the pilot: the options this advice book supplies for catalogue v2 entries."""
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())}
obe = json.loads((here / 'options_by_entry.json').read_text())
new_defs = obe.pop('_new_entries')
stories = json.loads((here.parent / 'stories.json').read_text())
cat = {e['id']: e for e in json.loads((here.parent.parent / 'catalogue/v2/catalogue.json').read_text())['entries']}
e = html.escape
SRC = {'archetype': 'archetype', 'filled': 'filled gap'}
def src(o):
kind, _, n = o['source'].partition(':')
if kind in ('scene', 'advice'):
label = 'from scene' if kind == 'scene' else 'advice in scene'
return f'{label} {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 advice(a):
return (f'<li><b class="{a["stance"]}">{a["stance"]}</b> {e(a["move"])} → {e(a["outcome"])}'
f'<br><q>{e(a["quote"])}</q></li>')
def scene(c):
r = recs[c]
adv = f'<ul class="adv">{"".join(advice(a) for a in r["advice"])}</ul>' if r['advice'] else ''
return (f'<details><summary><b>{c}</b> · <i>{e(stories[r["story"]]["title"].split(":")[0])}</i> — {e(r["predicament"])}</summary>'
f'<p class="sum">{e(r["summary"])}</p>{adv}</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"])} letters
({e(", ".join(t.split(":")[0] for t in 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'])
def entry(k, opts):
if k.startswith('new:'): head, dfn = f'{k} <span class="warn">(proposed)</span>', new_defs[k[4:]]
else: head, dfn = f'{k} · {e(cat[k]["name"])}', cat[k]['definition']
n = sum(o['stated'] for o in opts)
rows = ''.join(f'<li>{e(o["text"])} <span class="src">{e(o["source"])} · '
f'{"<b class=do>stated</b>" if o["stated"] else "inferred"}</span><br>{moves(o["moves"])}'
f'<br><q>{e(o["evidence"])}</q></li>' for o in opts)
return f'<details><summary><b>{head}</b> — {len(opts)} options, {n} stated</summary><p class="sum">{e(dfn)}</p><ol>{rows}</ol></details>'
allopts = [o for v in obe.values() for o in v]
pilot = ''.join(entry(k, v) for k, v in obe.items())
page = f'''<!doctype html><html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1"><title>Lorimer Reference Groups</title>
<style>
:root{{--bg:#fbfaf7;--fg:#1d1d1b;--mute:#6b6760;--line:#e2ded6;--acc:#2f5d8a;--warn:#a4481c;--do:#2e6b3a}}
@media (prefers-color-scheme:dark){{:root{{--bg:#191917;--fg:#e8e6e1;--mute:#a09c94;--line:#34332f;--acc:#8ab4dc;--warn:#e6915f;--do:#8fcf9b}}}}
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,q{{color:var(--mute);font-size:.88rem}} .warn,.avoid{{color:var(--warn)}} .do{{color:var(--do)}}
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}}
ul.adv{{margin:.2rem 0 .6rem;font-size:.9rem}}
</style></head><body>
<h1>Letters from a Self-Made Merchant: reference groups and advice pilot</h1>
<p class="meta">George Horace Lorimer, 1902 (Project Gutenberg #21959). 20 letters, 186 scenes cut by the same rule as <code>chunk.py</code>.
Summaries, predicaments, advice, groups and options written by Claude by reading every scene: no 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 three or more letters. Scenes 179 to 185 are the publisher's advertisements, left in by the split.</p>{un}</section>
<section><h2>Pilot: options by catalogue entry</h2>
<p class="meta">{len(allopts)} options from the book's advice, {sum(o["stated"] for o in allopts)} of them with every direction stated by the quoted text.
{sum(not k.startswith("new:") for k in obe)} catalogue v2 entries receive options; {sum(k.startswith("new:") for k in obe)} proposed new entries hold the rest.</p>
{pilot}</section>
</body></html>'''
(here / 'REFERENCE.html').write_text(page, encoding='utf-8')
print('wrote', here / 'REFERENCE.html', len(page), 'bytes')
File diff suppressed because it is too large Load Diff