tools/playthrough.mjs exists to show a reader why a measured number is what it is. I cited it to another session — read seed 2, see the wipe the 45% row is made of — and the reproduction failed in front of them. They reported different outcomes at both seeds and guessed the cause correctly from outside: the two tools were not drawing from the same stream. They were not. simulate.mjs used a private mulberry32 makeRng; playthrough.mjs had its own LCG written to look like it. Both deterministic, both reproducible alone, and "seed 2" named a different fight in each — which breaks the only thing the tool is for. Its own comment claimed a seed here names the same fight there. check-focus carried a third copy of that LCG, so the two guards described the same game with different dice. makeRng is exported and both files use it. A playthrough seed is now exactly the first fight of simulate.mjs --seed <n>: --runs 1 --seed 2 and the playthrough give 9 rounds, 4 of 4 down, 1 dead, both. The other half was my citation rather than the code: the command I sent omitted --mode, so it plays both targeting arms and prints two fights. They read the last line, I quoted the first. The summary line now names the arm. check-focus re-recorded under the shared stream; figures move a point or two. What it buys is that the bimodality analysis now reproduces the published means exactly — 2.31, 3.03, 0.40, 0.42 against the four rows CLEAN GROUND publishes. Under the old LCG it agreed to within a decimal, which looked like corroboration and was two experiments landing near each other. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
304 lines
5.0 KiB
JSON
304 lines
5.0 KiB
JSON
{
|
|
"note": "Generated by tools/check-focus.mjs --update. Do not edit by hand.",
|
|
"party": [
|
|
"pc_holloway",
|
|
"pc_okonkwo",
|
|
"pc_nkemdirim",
|
|
"pc_ferriby"
|
|
],
|
|
"runs": 1000,
|
|
"seeds": [
|
|
11,
|
|
4242,
|
|
90210
|
|
],
|
|
"seedMode": "per-creature",
|
|
"measurableBand": [
|
|
15,
|
|
85
|
|
],
|
|
"creatures": {
|
|
"quiet_neighbours_npc": {
|
|
"n": 6,
|
|
"spread": 47,
|
|
"focus": 54.9,
|
|
"gain": 7.9,
|
|
"noise": 2.7
|
|
},
|
|
"keepers": {
|
|
"n": 5,
|
|
"spread": 60,
|
|
"focus": 69.8,
|
|
"gain": 9.8,
|
|
"noise": 2.7
|
|
},
|
|
"cleaner": {
|
|
"n": 6,
|
|
"spread": 59.4,
|
|
"focus": 70.1,
|
|
"gain": 10.7,
|
|
"noise": 1.4
|
|
},
|
|
"cleaner_marksman": {
|
|
"n": 5,
|
|
"spread": 51.8,
|
|
"focus": 61.9,
|
|
"gain": 10.1,
|
|
"noise": 0.5
|
|
},
|
|
"revenant": {
|
|
"n": 3,
|
|
"spread": 61.9,
|
|
"focus": 75.4,
|
|
"gain": 13.5,
|
|
"noise": 2.2
|
|
},
|
|
"duplicate": {
|
|
"n": 5,
|
|
"spread": 60.5,
|
|
"focus": 69.7,
|
|
"gain": 9.2,
|
|
"noise": 2.4
|
|
},
|
|
"barghest": {
|
|
"n": 3,
|
|
"spread": 24.8,
|
|
"focus": 36.5,
|
|
"gain": 11.8,
|
|
"noise": 3.5
|
|
},
|
|
"kelpie": {
|
|
"n": 3,
|
|
"spread": 52,
|
|
"focus": 67.1,
|
|
"gain": 15.1,
|
|
"noise": 2.8
|
|
},
|
|
"redcap": {
|
|
"n": 3,
|
|
"spread": 31.1,
|
|
"focus": 41.9,
|
|
"gain": 10.9,
|
|
"noise": 1.8
|
|
},
|
|
"boggart": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"churchgrim": {
|
|
"n": 3,
|
|
"spread": 43.7,
|
|
"focus": 55.7,
|
|
"gain": 12,
|
|
"noise": 2.1
|
|
},
|
|
"supporter": {
|
|
"n": 2,
|
|
"pinned": 4
|
|
},
|
|
"hollow_man": {
|
|
"n": 6,
|
|
"pinned": 91.8
|
|
},
|
|
"the_tenant": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"the_choir": {
|
|
"n": 6,
|
|
"pinned": 99.4
|
|
},
|
|
"precedent": {
|
|
"n": 3,
|
|
"spread": 61,
|
|
"focus": 72.2,
|
|
"gain": 11.2,
|
|
"noise": 0.7
|
|
},
|
|
"carrion_file": {
|
|
"n": 4,
|
|
"spread": 45.2,
|
|
"focus": 57.3,
|
|
"gain": 12.1,
|
|
"noise": 1.3
|
|
},
|
|
"the_understudy": {
|
|
"n": 5,
|
|
"spread": 61.5,
|
|
"focus": 73,
|
|
"gain": 11.5,
|
|
"noise": 6.3
|
|
},
|
|
"surveyor": {
|
|
"n": 2,
|
|
"spread": 28.8,
|
|
"focus": 34.4,
|
|
"gain": 5.6,
|
|
"noise": 1.9
|
|
},
|
|
"quarantine_unit": {
|
|
"n": 2,
|
|
"pinned": 0.2
|
|
},
|
|
"cuckoo_array": {
|
|
"n": 2,
|
|
"spread": 58.6,
|
|
"focus": 66.2,
|
|
"gain": 7.7,
|
|
"noise": 3.8
|
|
},
|
|
"long_walker": {
|
|
"n": 2,
|
|
"pinned": 0.1
|
|
},
|
|
"auditor": {
|
|
"n": 4,
|
|
"spread": 49.4,
|
|
"focus": 62.3,
|
|
"gain": 12.9,
|
|
"noise": 2.5
|
|
},
|
|
"washer_ford": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"lantern_man": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"grindylow": {
|
|
"n": 4,
|
|
"spread": 30.5,
|
|
"focus": 42.1,
|
|
"gain": 11.6,
|
|
"noise": 1.5
|
|
},
|
|
"knockers": {
|
|
"n": 6,
|
|
"pinned": 99.7
|
|
},
|
|
"spriggan": {
|
|
"n": 3,
|
|
"spread": 42.5,
|
|
"focus": 55.4,
|
|
"gain": 12.9,
|
|
"noise": 5.7
|
|
},
|
|
"nuckelavee": {
|
|
"n": 2,
|
|
"pinned": 8.2
|
|
},
|
|
"hedley_kow": {
|
|
"n": 6,
|
|
"pinned": 97.8
|
|
},
|
|
"apple_man": {
|
|
"n": 2,
|
|
"spread": 36.6,
|
|
"focus": 42.1,
|
|
"gain": 5.5,
|
|
"noise": 0.8
|
|
},
|
|
"the_committee": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"night_registry": {
|
|
"n": 4,
|
|
"spread": 63.1,
|
|
"focus": 73.9,
|
|
"gain": 10.7,
|
|
"noise": 2.5
|
|
},
|
|
"the_locum": {
|
|
"n": 5,
|
|
"spread": 49.2,
|
|
"focus": 63.1,
|
|
"gain": 13.9,
|
|
"noise": 1.9
|
|
},
|
|
"lost_property": {
|
|
"n": 2,
|
|
"spread": 54.3,
|
|
"focus": 63.2,
|
|
"gain": 8.9,
|
|
"noise": 1.3
|
|
},
|
|
"the_minutes": {
|
|
"n": 2,
|
|
"pinned": 100
|
|
},
|
|
"waiting_room": {
|
|
"n": 3,
|
|
"spread": 63.4,
|
|
"focus": 70.8,
|
|
"gain": 7.4,
|
|
"noise": 0.3
|
|
},
|
|
"the_predecessor": {
|
|
"n": 4,
|
|
"spread": 58.6,
|
|
"focus": 71,
|
|
"gain": 12.5,
|
|
"noise": 5.1
|
|
},
|
|
"switchboard": {
|
|
"n": 6,
|
|
"pinned": 86.9
|
|
},
|
|
"the_census": {
|
|
"n": 3,
|
|
"spread": 64.3,
|
|
"focus": 76.5,
|
|
"gain": 12.1,
|
|
"noise": 1
|
|
},
|
|
"the_courier": {
|
|
"n": 2,
|
|
"spread": 17.8,
|
|
"focus": 25,
|
|
"gain": 7.2,
|
|
"noise": 1.8
|
|
},
|
|
"the_relay": {
|
|
"n": 2,
|
|
"spread": 52.7,
|
|
"focus": 58.9,
|
|
"gain": 6.2,
|
|
"noise": 2.8
|
|
},
|
|
"the_stanchion": {
|
|
"n": 2,
|
|
"pinned": 5.8
|
|
},
|
|
"the_yield": {
|
|
"n": 2,
|
|
"spread": 46.8,
|
|
"focus": 57.8,
|
|
"gain": 11,
|
|
"noise": 1.5
|
|
},
|
|
"the_overwriter": {
|
|
"n": 3,
|
|
"spread": 64.1,
|
|
"focus": 72.7,
|
|
"gain": 8.6,
|
|
"noise": 1.9
|
|
},
|
|
"the_arrears": {
|
|
"n": 2,
|
|
"spread": 14.7,
|
|
"focus": 21,
|
|
"gain": 6.3,
|
|
"noise": 1.5
|
|
},
|
|
"the_margin": {
|
|
"n": 5,
|
|
"spread": 45.3,
|
|
"focus": 59.3,
|
|
"gain": 14.1,
|
|
"noise": 2.3
|
|
}
|
|
}
|
|
}
|