From 303472f0aba4f8b37669cf0dc02d74028d6087c2 Mon Sep 17 00:00:00 2001 From: slaguru666 <111923774+slaguru666@users.noreply.github.com> Date: Sun, 13 Sep 2026 14:41:14 +0100 Subject: [PATCH] The bestiary said "in doubt" and the rule no longer means that R-280 widened admission from a [15,85] band to "the spread rate stands clear of both ends by more than its own noise", which admits fights that are nearly settled -- the_choir at 99.3%, the_stanchion at 6% -- as long as their noise is smaller still. The page went on saying "whose outcome was ever in doubt", which was a fair description of the band and is a loose one of the rule. It now says "whose odds leave room for a difference to show", and the provenance line prints the admission rule itself, read from the artifact rather than paraphrased, so the page cannot drift from the guard again. The rule is phrased as a clause in check-focus for that reason. Co-Authored-By: Claude Opus 5 --- docs/BESTIARY.md | 6 ++++-- tools/bestiary.mjs | 7 +++++-- tools/check-focus.mjs | 4 +++- tools/focus-baseline.json | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/BESTIARY.md b/docs/BESTIARY.md index 12e3202..a537ba4 100644 --- a/docs/BESTIARY.md +++ b/docs/BESTIARY.md @@ -88,7 +88,7 @@ measured in the simulator and came to nothing distinguishable from noise. **What you can do is kill them one at a time.** Against a pack, every agent putting their attacks into the same creature beats spreading them — in 38 of the -38 fights in this book whose outcome was ever in doubt, and by more +38 packs in this book whose odds leave room for a difference to show, and by more than the measurement’s own noise in 36 of them. It is worth about **6 points** of win rate against a pair and **10 points** against three or more; the best case in the book is @@ -96,7 +96,9 @@ than the measurement’s own noise in 36 of them. It is worth about above: a creature that is dead stops attacking, and one on half its hit points does not attack any less. Held at a fixed pack size the dodge ladder is worth a point or two. -*(1000 fights × 3 seeds per arm, re-measured by `check-focus` on every build.)* +*(1000 fights × 3 seeds per arm, re-measured by `check-focus` on every build. +A pack is measured when its spread-fire odds stand clear of 0% and 100% by more than its own noise, so a fight nobody could lose +and a fight nobody could win are both left out.)* The ones that take the most stripping: diff --git a/tools/bestiary.mjs b/tools/bestiary.mjs index 4d0d4fd..e91fc7c 100644 --- a/tools/bestiary.mjs +++ b/tools/bestiary.mjs @@ -162,14 +162,17 @@ function focusParagraph() { const every = helped === rows.length && clear === rows.length; return `**What you can do is kill them one at a time.** Against a pack, every agent putting\n` + `their attacks into the same creature beats spreading them \u2014 in ${every ? "**every one**" : `${helped}`} of the\n` - + `${rows.length} fights in this book whose outcome was ever in doubt${every ? ", without exception" : ""}, and by more\n` + + `${rows.length} packs in this book whose odds leave room for a difference to show` + + `${every ? ", without exception" : ""}, and by more\n` + `than the measurement\u2019s own noise ${every ? "each time" : `in ${clear} of them`}. It is worth about\n` + `**${mean(pairs.map(r => r.gain)).toFixed(0)} points** of win rate against a pair and\n` + `**${mean(packs.map(r => r.gain)).toFixed(0)} points** against three or more; the best case in the book is\n` + `${best.n} \u00d7 ${esc(bestName)}, which goes ${best.spread.toFixed(1)}% to ${best.focus.toFixed(1)}%. Most of that is not the ladder\n` + `above: a creature that is dead stops attacking, and one on half its hit points does not\n` + `attack any less. Held at a fixed pack size the dodge ladder is worth a point or two.\n\n` - + `*(${focus.runs} fights \u00d7 ${(focus.seeds ?? []).length} seeds per arm, re-measured by \`check-focus\` on every build.)*\n\n`; + + `*(${focus.runs} fights \u00d7 ${(focus.seeds ?? []).length} seeds per arm, re-measured by \`check-focus\` on every build.\n` + + `A pack is measured when ${focus.admission ?? "its odds can move"}, so a fight nobody could lose\n` + + `and a fight nobody could win are both left out.)*\n\n`; } { diff --git a/tools/check-focus.mjs b/tools/check-focus.mjs index 559cb57..e6d53ed 100644 --- a/tools/check-focus.mjs +++ b/tools/check-focus.mjs @@ -148,7 +148,9 @@ if (UPDATE) { await writeFile(BASELINE, JSON.stringify({ note: "Generated by tools/check-focus.mjs --update. Do not edit by hand.", party: PARTY_KEYS, runs: RUNS, seeds: SEEDS, seedMode: SEED_MODE, - admission: "spread clear of 0 and 100 by more than its own noise", + /* Phrased as a clause so the bestiary can print it in a sentence rather than + paraphrasing the rule and drifting from it. */ + admission: "its spread-fire odds stand clear of 0% and 100% by more than its own noise", /* R-281. The ratchet the claim check holds to: how many of the measurable packs showed a gain clearing their own noise when this was recorded. Focus fire may get more reliable and may not quietly get less. */ diff --git a/tools/focus-baseline.json b/tools/focus-baseline.json index 864bdd0..5cc8542 100644 --- a/tools/focus-baseline.json +++ b/tools/focus-baseline.json @@ -13,7 +13,7 @@ 90210 ], "seedMode": "per-creature", - "admission": "spread clear of 0 and 100 by more than its own noise", + "admission": "its spread-fire odds stand clear of 0% and 100% by more than its own noise", "reliable": { "aboveNoise": 36, "of": 38