From 6f33525b3a00ddb54439e95dcd47162b9c0bd2c2 Mon Sep 17 00:00:00 2001 From: slaguru666 <111923774+slaguru666@users.noreply.github.com> Date: Sun, 13 Sep 2026 00:50:20 +0100 Subject: [PATCH] CLEAN GROUND v0.7: pass 2's seven fixes, and an opposed roll the game has not got MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Desk pass 2 stressed Act Four across five contrarian branches at seed 9314 and is committed alongside. The fixes from pass 1 held — beat 3's ungated tell worked and the four-beat spine stopped the sprawl — but the stress found seven more holes. The serious one: rehearsal step 5 is beat 3's guaranteed fallback, and in branch C both sides rolled successes, which rules.mjs has no way to resolve. It defines no opposed roll at all, while the hollow man's tactics text, slice-text.mjs and this scenario all ask for one. Same class as Scent and Science (Botany): content naming a mechanic the engine cannot perform. GM ESSENTIALS now carries a SCENARIO-LOCAL ruling so the case is playable — both roll, better band wins, ties to the agent, both fail and nothing happens — using only banding the game already has, labelled a local ruling rather than a rule. rules.mjs is untouched: whether the system gains a real opposed roll is not a scenario's call, it is logged as an open question, and the text says to delete the local ruling if that rule ever lands. Verified against rules.mjs's own banding rather than by eye. Branch C now resolves to Okonkwo resisting on equal bands. Branch D, with fix 7, has the understudy prefer Ashcroft if he accepted THE OFFER, resisting at Difficult — applyDifficulty(85,"difficult") is 42, the system's own grade and not a number I invented — which finally makes the fiction and the numbers agree, because a compromised anchor was previously the hardest man in the room to take. Also in: the early-kill branch, which pass 2 measured at ten minutes of act and thirty-five of dead air, now continues as Braithwaite's twenty minutes over a body wearing Prichard's face, with nobody having yet asked where the real Prichard is; a miss for Psychology, since the best line in the document cannot sit behind one 40% roll; a critical result for Borrowed Authority, which happens one roll in twenty-five; step 5's target named as the lowest POW in the room, Okonkwo at 55%, because a thing that has practised thirty years takes the easiest file; and one sentence saying the hollow man's anchor immunity does NOT transfer, set up by Ashcroft being skipped in Act Three so that he draws the wrong conclusion. The EXPOSURE table is marked correct-as-of-5450521 and still needs re-pinning: the harness rewrite landed at ad5fd57 and moved two of its four creatures. Not done here, because it was a note in pass 2 rather than one of the seven. Co-Authored-By: Claude Opus 5 --- docs/scenarios/CLEAN_GROUND.md | 88 ++++++++-- docs/scenarios/CLEAN_GROUND_PLAYTEST_2.md | 193 ++++++++++++++++++++++ 2 files changed, 266 insertions(+), 15 deletions(-) create mode 100644 docs/scenarios/CLEAN_GROUND_PLAYTEST_2.md 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.*