One generator, so a citation names one fight (R-265)
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>
This commit is contained in:
co-authored by
Claude Opus 5
parent
796bb7df73
commit
8627fa3536
@@ -5765,3 +5765,47 @@ than the page needs to: the bestiary prints the above-noise COUNT from the artif
|
||||
cannot overstate it however it moves, and what the page actually asserts outright is that
|
||||
concentrating fire helps. The guard now checks exactly that, and the page rewrote itself
|
||||
to "in 28 of them" on regeneration.
|
||||
|
||||
## R-265 — two generators, so a citation named two different fights
|
||||
|
||||
`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 the 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 linear congruential generator, written to look like it. Both deterministic, both
|
||||
reproducible on their own, and **"seed 2" named a different fight in each** — which
|
||||
quietly breaks the only thing the tool is for. Its own comment claimed "a seed here names
|
||||
the same fight there". `check-focus` had a third copy of the same LCG, so the two lethality
|
||||
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>`: verified by running `--runs 1 --seed 2` and the
|
||||
playthrough side by side — 9 rounds, 4 of 4 down, 1 dead, both.
|
||||
|
||||
**The other half was my citation, not 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 — `→ [random] PARTY WIPED …` — so a quotation
|
||||
cannot be ambiguous.
|
||||
|
||||
**What it cost.** check-focus re-recorded under the shared stream: 31 of 47 measurable
|
||||
again, and the numbers move by a point or two each. What it buys is that every figure in
|
||||
the focus baseline is now drawn from the same dice as the lethality baseline, and the
|
||||
bimodality analysis below reproduces the published means **exactly** — 2.31, 3.03, 0.40 and
|
||||
0.42 of 4 or 6 down, against the four rows CLEAN GROUND publishes. Under the old LCG it
|
||||
agreed to within a decimal, which looked like corroboration and was really two different
|
||||
experiments landing near each other.
|
||||
|
||||
**The finding that started it survives, and is now checkable.** The four-player cut against
|
||||
three of the column is bimodal: 23.1% of fights end with nobody down, 45.0% with everybody
|
||||
down, and 11% land on the published mean of 2.31. Six players against six of the column is
|
||||
not bimodal at all — 10 to 18% at every outcome — so this is a property of the cut rather
|
||||
than of the creature. The mechanism is a race: put one of the three down inside five rounds
|
||||
and the wipe rate falls from 58.5% to 19.7%; put down two and it is zero in 2000 fights.
|
||||
68% of fights reach round five with none of them down.
|
||||
|
||||
**The lesson is the one this log keeps recording, one layer out.** A number that cannot be
|
||||
reproduced is a claim, whoever holds it. It was caught because another session tried the
|
||||
citation rather than trusting it, which is exactly what a citation is for.
|
||||
|
||||
Reference in New Issue
Block a user