diff --git a/docs/scenarios/CLEAN_GROUND.md b/docs/scenarios/CLEAN_GROUND.md index 24fc48b..0d073c0 100644 --- a/docs/scenarios/CLEAN_GROUND.md +++ b/docs/scenarios/CLEAN_GROUND.md @@ -5,7 +5,7 @@ > and clean soil, and there is no north. Two weeks ago a contractor felled the tree the > whole arrangement was pegged to.* -**Status:** v0.6 — **absorbs all eight fixes from desk playtest 1** +**Status:** v0.7 — **absorbs all eight fixes from pass 1 and all seven from pass 2** (`CLEAN_GROUND_PLAYTEST_1.md`, GM chair, seed 4271). No clue is now behind a single roll, every roll in the document has a written miss, Act Four has a spine and its tell is ungated, and about 25 minutes of pre-written cuts are in the Pacing Note. **Still not @@ -26,6 +26,13 @@ premise (a walk north that never arrives) and the predator's method (imitation). - **Panic is live** — 0–5, up. Triggers marked per act. Act Four is where it bites. - **Coherence is the case.** The far side is a filed duplicate and it wants the agents written into it. Coherence loss is the clock on the whole scenario, not a side effect. +- **Opposed rolls here are a SCENARIO-LOCAL RULING, because the game does not have one.** + Two beats call for opposed POW×5 — the hollow man's swap in Act Three and rehearsal step + 5 — and `rules.mjs`, the single rule authority, defines no opposed roll at all. Until it + does, run it this way and say so at the table: **both sides roll; the better BAND wins + (critical beats special beats success); equal bands favour the agent; if both fail, + nothing happens and it may try again next round.** That uses only banding the game + already has. It is a local ruling, not a rule, and desk pass 2 is where it came from. - **Standing Order 9 is live**, and for once it is not a costume rule: the duplicate is a 1962 valley plus sixty years of decay. Modern kit works and is exactly why the column will follow the agents anywhere. @@ -177,7 +184,7 @@ Advance one step per act, plus one whenever the agents spend Coherence on the fa | **2** | It has a posture and a limp right. Someone sees "a colleague" a field away | | **3** | It takes an NPC. The NPC's file is still good, so the copy holds | | **4** | The copy is fluent. It is inside the cordon and helping | -| **5** | It reaches for an agent — opposed POW×5, as the hollow man's swap but permanent | +| **5** | It reaches for **the lowest POW in the room** — opposed POW×5, permanent. GM ESSENTIALS says how that resolves; Act Four beat 3 says who and why | | **6** | It leaves for the south road wearing a warrant card, and this is a campaign | --- @@ -424,8 +431,10 @@ wants somebody official to look at the place. Ashcroft's player aside for one minute. The record offers him the cleanest version of the lie: that he has always been the anchor for *this* valley, that the three years his body is older than his birthday were spent here, and that he may put the weight down now. - **Accepting costs nothing in the moment and 2 Coherence at the Close, and he has to - decide before he is told that.** `[CUS: Insight — it is being offered, not remembered]` + **Accepting costs nothing in the moment, 2 Coherence at the Close, and one more thing he + is not told: it makes him the understudy's preferred target in Act Four, resisting at + Difficult instead of his own 85%.** He decides before he knows any of that. + `[CUS: Insight — it is being offered, not remembered]` *Missed:* he takes it for a real memory, which is worse, and is the point. - Run it for any agent whose player wants it, but **it is written for Ashcroft**: desk pass 1 found that without this beat his sheet is a second Insight for five acts. @@ -479,8 +488,13 @@ of the children is sent over with bread. That works on almost everybody. nothing whatsoever, and the silence of that failure teaches more about what the record cares about than a correct roll would have. - Telling Ivy. Or not telling her. This is the act's real scene and it has no roll. -- **A hollow man tries the swap** — opposed POW×5, 2 Coherence. Survivable, and it is the - table's first sight of the mechanism the understudy will use properly. +- **A hollow man tries the swap** — opposed POW×5 (GM ESSENTIALS has the ruling), 2 + Coherence. Survivable, and it is the table's first sight of the mechanism the understudy + will use properly. + - **It cannot touch an agent carrying an anchor that is genuinely their own** — that is + its own statblock's clause, and it rules **Ashcroft out of this beat entirely**. Aim it + at somebody else and let Ashcroft notice that he was skipped. He will draw the wrong + conclusion from it, which is set up for Act Four. **CUT AS DEFAULT:** the walk to the northern seam. It was a fourth demonstration of a loop the lorry and the almanac have already proved, and desk pass 1 lost fifteen minutes to it. @@ -515,8 +529,15 @@ through with him. rolled well is owed that sentence rather than a shrug — desk pass 1 flagged this as feeling like a bug from the player's chair when it is in fact the thesis. - `[CUS: Psychology — it is not pretending to be human; it thinks it is the file]` + *Missed:* this line is far too good to lose to one 40% roll, and desk pass 2 lost it. If + it is failed or never attempted, **it surfaces in beat 3 instead** — the thing says it + itself, unprompted, while being examined, in the tone of a man correcting a clerical + error. - **Borrowed Authority** — pull the record. The copy checks out; *the column does not*. The instrument is working correctly and is useless. + **On a critical:** the record answers too well. Prichard's file has been *read* recently, + from inside the cordon, at a terminal nobody signed for. The thing has been studying the + paperwork of the man it is wearing, and it left a timestamp doing it. **Beat 3 — the tell, which is NOT gated.** Close, unhurried physical examination finds it: the hands are wrong, in the specific way of a thing that has learned hands by watching @@ -529,8 +550,19 @@ them. **Anyone who examines him properly finds this, with no roll.** for. **Desk pass 1 failed this roll and the act had no route left. That is what this fix is: the roll no longer holds the only key.** - If nobody examines him at all, **rehearsal step 5 arrives on schedule** and it reaches - for an agent in front of the whole cordon. The tell arrives as an event rather than a + for somebody in front of the whole cordon. The tell arrives as an event rather than a finding, which is worse for them and perfectly playable. +- **Who it reaches for: the lowest POW in the room.** For the cast as written that is + **Okonkwo, POW×5 55%** — and Ashcroft is the *hardest* at 85%. It has practised for thirty + years and it is not stupid: it takes the easiest file. The party's muscle being the + easiest thing in the room to take is a better scene than the anchor being it. + - **Exception — if Ashcroft accepted THE OFFER in Act Two, it reaches for him instead**, + because his file is already loose, and he resists **at Difficult** (85 → 42). That is + what accepting cost him, and he was never told it. +- **The anchor clause does NOT transfer, and the table will assume it does.** A hollow man + cannot swap with somebody holding an anchor that is genuinely theirs. **The understudy has + no such limit on its sheet.** Ashcroft is not safe here, and if he was skipped in Act + Three he will be certain that he is. Say it once, when it matters. **Beat 4 — what they do about it.** **REHEARSED** applies: it acts immediately before whoever it is copying, always. @@ -551,7 +583,15 @@ encounter in the case that is incapable of being dangerous. **MEASURED.** `tools/simulate.mjs`, 2000 runs each, seed 11, against the cast of six — Ashcroft, Bhattacharya, Renshaw, Braithwaite, Pollard, Okonkwo. Taken at commit 5450521 -with a clean tree, so the same command reproduces the same figures: +with a clean tree. + +> ⚠ **Correct as of 5450521, and due for re-measurement.** The harness is being reworked — +> hit location by species rather than body plan, armour per location rather than one +> scalar, flyers grounded by a lost wing — and both baselines are being re-recorded, so +> per-creature figures will move. **Re-run the command below and re-pin these numbers +> before the scenario is called convention-ready.** The shape of the finding is not in +> doubt (the understudy is harmless, the column is lethal, and the curve between six and +> ten is steep); the decimals are. ``` node tools/simulate.mjs --creature the_understudy \ @@ -615,8 +655,21 @@ losing. Both of the first two are live in this scenario. let the survivors keep walking north past them. Nobody at the Bureau will ask. -**Failure case:** if the party kills it clean in the first ten minutes, it does not -matter — the entry is still filed, and the second one is already practising. Go to Close. +**If they kill it in the first ten minutes** — the likeliest contrarian branch, and desk +pass 2 measured what it costs: about ten minutes of act and thirty-five of dead air, if the +GM takes "go to Close" literally. **Do not.** They have shot something wearing Sgt +Prichard's face, and the act carries on as Braithwaite's: + +- **What did they kill?** `[CUS: Xenology (Baseline) — the hands, and how recently they + learned to be hands]` *Missed:* an envsuit and an hour are enough. This is a body on a + table and it is not going anywhere. +- **Where is the real Prichard?** Nobody has asked yet. He is on the far side, alive, four + days into a walk north, with people who have been kind to him. +- **It is still filed.** The seam opens at dusk, something over there is already practising, + and somebody has to say that out loud before the Close. + +That is twenty minutes of the best forensic material in the scenario, and they earned it by +refusing the scene. **Then** go to Close. --- @@ -852,11 +905,12 @@ twice.* pack (A4, 11pt minimum) before a convention; the text is final. 4. ~~A written exposure model for Act Four.~~ **Done** — measured, 2000 runs a row at seed 11 against the named cast, reproducible from the command in the section. -5. **Desk playtest.** Pass 1 done and **failed** — see `CLEAN_GROUND_PLAYTEST_1.md`. The - eight fixes there come first; then a stress re-run of Act Four, then a player-chair - pass. A human-table pass is still a separate instrument from any of those, and fix 6 - (whether Act Four holds for 45 minutes with no mechanical threat) is the one a desk - cannot honestly settle. +5. **Desk playtest.** Pass 1 failed and its eight fixes are absorbed in v0.6 + (`CLEAN_GROUND_PLAYTEST_1.md`). Pass 2, the Act Four stress re-run, is done + (`CLEAN_GROUND_PLAYTEST_2.md`) and **its seven fixes are absorbed in v0.7**, including a + scenario-local ruling for the opposed roll `rules.mjs` does not define. Next is the + player-chair contrarian pass. A + human-table run remains a separate instrument from all of them. ## Open questions for Tim @@ -867,6 +921,10 @@ twice.* it is Bhattacharya's private box, so a player decides it, not the GM. Say if you would rather take that back and fix it yourself. - How hard do you want the PC-replacement? Default here is NPC-first. +- **Does `rules.mjs` want an opposed roll?** It has none, and the hollow man's own tactics + text, `slice-text.mjs` and this scenario all ask for one. GM ESSENTIALS carries a + scenario-local ruling so the case is playable, but that is a patch over a system gap and + the gap is yours to decide on. If the rule lands, delete the local ruling. - **Scent is unusable** (base 0, 1% floor). I moved Act Four's working test to Xenology (Baseline), which puts Braithwaite on the critical path. Worth deciding whether you want the whole scenario's one reliable test sitting on a single sheet. diff --git a/docs/scenarios/CLEAN_GROUND_PLAYTEST_2.md b/docs/scenarios/CLEAN_GROUND_PLAYTEST_2.md new file mode 100644 index 0000000..3de0a96 --- /dev/null +++ b/docs/scenarios/CLEAN_GROUND_PLAYTEST_2.md @@ -0,0 +1,193 @@ +# CLEAN GROUND — desk playtest 2 (Act Four stress re-run) + +**Scenario version:** v0.6, at commit 104b588 +**Date:** 13 September 2026 +**Scope:** Act Four only — the weakest act in pass 1 and the one the eight fixes changed +most. Pass 1 is `CLEAN_GROUND_PLAYTEST_1.md`. +**Method:** five **contrarian** branches rather than one linear run, per protocol: refuse +the expected route, shoot early, split, skip the examination. Seeded roller, **seed 9314** +(deliberately not pass 1's 4271 — re-running the same dice would re-test the same luck). +No simulator output is quoted; see the note at the foot. + +**Verdict: the fixes hold. Beat 3's ungated tell works, and the act no longer has a dead +end. But the stress found five new holes, one of them serious — beat 3's own fallback +depends on a mechanic this system does not have.** + +--- + +## Branch A — "we shoot it the moment it comes through" + +The collapse case pass 1 predicted but could not test. + +``` +Okonkwo Firearm (Rifle) — shot 1 53 vs 53 success +Understudy Dodge 43 vs 60 success (graded defence stops it outright) +Okonkwo Firearm (Rifle) — shot 2 76 vs 53 fail +``` + +- Two rounds in and it is untouched, which is about right: EXPOSURE puts the kill at a + median two rounds, so this is a normal rather than a lucky fight. +- It dies quickly and easily, as designed, and the text says the entry is still filed and + the second one is already practising — **go to Close.** +- ⚠ **And that under-runs.** A kill in beat 1 costs perhaps five minutes and then sends a + 45-minute act to a 25-minute Close. **Pass 1 worried about Act Four sprawling; the + stress shows the opposite branch leaves fifteen minutes of dead air.** "Go to Close" is + thematically correct and structurally empty. +- The material is right there and unwritten: **they have shot something wearing Sgt + Prichard's face.** Establishing what it was, and whether Prichard himself is alive on the + far side, is twenty minutes of Braithwaite's own act, and it is a better scene than the + one they refused. + +## Branch B — they run every test in beat 2 + +``` +Braithwaite Xenology (Baseline) — early private tell 45 vs 53 success +Renshaw Insight — reading the copy 43 vs 63 success +Renshaw Psychology — it thinks it is the file 80 vs 40 fail +Bhattacharya Research — Borrowed Authority on Prichard 2 vs 63 CRITICAL +Pollard Spot — watching the hands 78 vs 53 fail +``` + +- **The fix works.** Xenology succeeded, so the tell arrived early and privately, exactly + as the rewrite intends — a quiet word in the GM's ear during beat 2 instead of a public + discovery in beat 3. +- **Insight's fix also works, and needs the GM to perform it.** On a success the text now + requires the sentence *you read him carefully, and there is nothing wrong with him.* Said + aloud it lands as information. Left unsaid it is a shrug, and the whole point evaporates. +- ⚠ **Psychology failed and the scenario has no miss written for it.** This is the single + best line in the document — *it is not pretending to be human, it thinks it is the file* — + and it is behind a 40% roll with no fallback. In pass 1 it came up special and carried the + act; here it simply does not happen, and nothing replaces it. +- ⚠ **A critical on Borrowed Authority has no written result.** Bhattacharya rolled 2 on a + 63% skill. The text says only that the copy checks out and the column does not. A critical + on the department's own instrument ought to yield something specific, and a 63% skill + criticals roughly one roll in twenty-five. + +## Branch C — nobody examines him, so rehearsal step 5 fires + +The fallback the beat-3 fix depends on. + +``` +Understudy POWx5 — reaching 17 vs 75 success +Okonkwo POWx5 — resisting 15 vs 55 success +``` + +- ⚠⚠ **BOTH SUCCEEDED, AND NOTHING IN THIS SYSTEM SAYS WHO WINS.** `rules.mjs` is the single + rule authority and it contains **no opposed-roll rule at all** — searched for it, it is not + there. "Opposed POW×5" is phrasing the content uses (the hollow man's own tactics text in + `content.mjs`, `slice-text.mjs`, and twice in this scenario) that the rules never define. + **Beat 3's guaranteed fallback therefore resolves by GM invention**, which is the same + defect class as Scent and Science (Botany): a mechanic the scenario names that the game + cannot perform. +- ⚠ **And it does not say who it reaches for.** Step 5 reads "it reaches for an agent". The + cast's POW×5 runs **55% (Okonkwo) to 85% (Ashcroft)** — a thirty-point spread — so an + unwritten GM choice decides the outcome more than the dice do. +- The dramatic answer is also the honest one: it has been practising for thirty years and it + is not stupid. **It reaches for the weakest file in the room**, which is Okonkwo — and the + party's muscle being the easiest to take is a better scene than the anchor being it. + +## Branch D — step 5 against the hardest target instead + +``` +Understudy POWx5 — reaching 90 vs 75 fail +Ashcroft POWx5 — resisting 65 vs 85 success +``` + +- Clean resist, no ambiguity, because the reacher simply failed. Fine. +- ⚠ **But this exposes an anchor question players will certainly ask.** The hollow man's + statblock says it *cannot* swap with somebody carrying an anchor that is genuinely theirs. + Ashcroft's anchor is his own cut school tie — genuinely his. **The understudy's statblock + carries no such clause**, so it can take him, and a table that met the hollow man in Act + Three will reasonably assume immunity carries over. The scenario should say, once, that it + does not. + +## Branch E — THE OFFER, refused by the dice + +``` +Ashcroft Insight — THE OFFER (Act Two) 84 vs 63 fail +``` + +- The fix behaves: he takes the offered memory for a real one, which the text calls worse + and correct, and it finally gives his sheet something to do. +- ⚠ **But accepting has no mechanical consequence in Act Four, and the fiction and the + numbers now point in opposite directions.** A compromised anchor should be easier to take; + his POW×5 of 85 makes him the **hardest** person in the room to take. Either THE OFFER + should cost him something at step 5, or the scenario should stop implying he is the + natural victim. + +--- + +## Timing + +| Branch | Act Four | Note | +|---|---|---| +| Full run, all beats (B + C) | **~50 min** | Five over. Acceptable; the spine held the shape | +| Early kill (A) | **~10 min** | ⚠ Thirty-five minutes unspent and no written content | + +**The spine works.** Pass 1's sprawl did not recur — four named beats in order gave the act +a shape. The remaining timing risk is entirely the other direction now. + +## Fix list + +Nothing applied. Pass 2's fixes are a separate pass, as pass 1's were. + +1. **SERIOUS — resolve "opposed POW×5" or stop calling for it.** *Text hole, and a rules + gap beyond this scenario.* `rules.mjs` defines no opposed roll, yet the hollow man's + tactics text, `slice-text.mjs` and this scenario all use the phrase. Either the system + gains the rule — **which is Tim's call, not a scenario's** — or Act Three and Act Four + state a scenario-local resolution explicitly. My recommendation for the interim, flagged + in the text as local: *both roll; the higher band wins; equal bands favour the agent.* +2. **Write the early-kill continuation for Act Four.** *Timing + missing option.* They have + shot something wearing Prichard's face. Establishing what it was, and whether Prichard is + alive over there, is Braithwaite's twenty minutes and needs about a paragraph. +3. **Write a miss for Psychology.** *Text hole.* The best line in the scenario cannot sit + behind one 40% roll. It should surface at beat 3 alongside the tell if it was never + rolled or was failed. +4. **Write who step 5 reaches for.** *Text hole.* Recommend: the lowest POW in the room, and + say why — it has been practising, and it picks the easiest file. +5. **Say that the anchor clause does not transfer.** *Text hole.* One sentence in Act Four, + because a table that met a hollow man in Act Three will assume it does. +6. **Give Borrowed Authority a critical result.** *Text hole.* One roll in twenty-five on + Bhattacharya's sheet. +7. **Decide what THE OFFER costs at step 5**, or stop implying Ashcroft is the target. + *Missing option.* At present the fiction and his 85% point opposite ways. + +## Note on the EXPOSURE figures — they are going stale + +CLEAN_GROUND.md's exposure table is measured output pinned to commit 5450521, and says the +same command reproduces it. **That claim has an expiry date.** Another session is currently +rewriting `tools/simulate.mjs` — hit location by species rather than body plan, armour per +location rather than one scalar, and flyers grounded by a lost wing — and is re-recording +both baselines. Per-creature numbers will move. + +**Nothing in this pass depends on the simulator**; every figure above is dice I rolled. +But the exposure table should be re-measured and re-pinned once that work lands, and until +then it should be read as correct-as-of-5450521 rather than current. + +--- + +--- + +## FIXES APPLIED — v0.7 + +All seven applied. The two branches that pass 2 could not resolve now resolve, checked +against `rules.mjs`'s own banding rather than by eye: + +| Branch | Then | Now | +|---|---|---| +| **C** — step 5, nobody examined him | Understudy 17 vs 75 **success**, Okonkwo 15 vs 55 **success** — both succeeded and **nothing said who won** | Equal bands → favours the agent → **Okonkwo resists.** Determinate | +| **D** + fix 7 — Ashcroft accepted THE OFFER | He was the *hardest* target at 85%, contradicting the fiction | Reaches for him by preference, resisting **at Difficult** — `applyDifficulty(85,"difficult")` = **42**. Understudy 90 vs 75 fail, Ashcroft 65 vs 42 fail → nothing happens, it tries again next round. Determinate | + +The opposed ruling uses only banding the game already has (critical beats special beats +success, ties to the agent) and is labelled a **scenario-local ruling** in GM ESSENTIALS, not +a rule. `rules.mjs` is untouched: whether the system gains a real opposed roll is Tim's call, +and it is logged as an open question. **If that rule ever lands, delete the local ruling.** + +Also in: the early-kill continuation (Braithwaite's twenty minutes, and where the real +Prichard is), a miss for Psychology that surfaces the line in beat 3 instead, a critical +result for Borrowed Authority, step 5's target named as the lowest POW in the room, and one +sentence saying the hollow man's anchor immunity does **not** transfer to the understudy — +set up by Ashcroft being skipped in Act Three so he draws the wrong conclusion. + +*Next pass: the player-chair contrarian run — refuse the column, skip the depot, cut the +peg — the last pass before this is worth calling convention-ready.*