the assay office / record
The Loop That Saves Them
Written 2026-06-09. Claims re-read against their sources on 2026-09-27: 10 checked, 8 confirmed, 2 wrong, 0 unverifiable. By claims-audit controls 2026-09-27 (audit agent + fix agent); fix agent re-read Wikipedia's 100 prisoners problem (raw wikitext) and recomputed every figure with exact fractions.
Re-verification by the fix agent on 2026-09-27. The audit's two numeric and one placard findings were re-derived from the page's own code and from the source; the adversarial-warden claim was checked against Wikipedia's "The malicious director" section, which cites Flajolet and Sedgewick, Analytic Combinatorics (2009), p. 177. Verifiers before: verify.mjs ALL CHECKS PASS, verify-survival.mjs all checks passed, verify-page.mjs 73 passed. After: the same three, all green (verify-page.mjs run against the page copied into dist/).
Claims
- CONFIRMED Whole-room survival under cycle-following is 31.18% (1 - (H100 - H50) = 0.31183)
https://en.wikipedia.org/wiki/100_prisoners_problem : the article gives 1 - (H_100 - H_50) ≈ 0.31183; recomputed with exact fractions, 0.3118278 - CONFIRMED Guessing gives (1/2)^100, about 1 in 10^30 (one in a nonillion)
https://en.wikipedia.org/wiki/100_prisoners_problem : (1/2)^100 ≈ 7.9e-31 - CONFIRMED The large-room limit is 1 - ln 2 ≈ 0.3069
https://en.wikipedia.org/wiki/100_prisoners_problem : limit 1 - ln 2 ≈ 0.30685 - CONFIRMED Introduced by Anna Gál and Peter Bro Miltersen (2003)
https://en.wikipedia.org/wiki/100_prisoners_problem : first considered 2003 by Gál and Miltersen, ICALP proceedings, pp. 332-344 - CONFIRMED Optimality proven by Curtin and Warshauer, "The locker puzzle", Mathematical Intelligencer 28(1):28-31 (2006)
https://en.wikipedia.org/wiki/100_prisoners_problem : citation: vol. 28, 2006, pp. 28-31, doi 10.1007/BF02986999; proof via Foata's transition lemma - CONFIRMED Popularised by Christoph Pöppe (Spektrum der Wissenschaft, 2006) and Peter Winkler ("Names in Boxes", College Mathematics Journal 37(4), 2006; Mathematical Mind-Benders, 2007)
https://en.wikipedia.org/wiki/100_prisoners_problem : all three citations present - CONFIRMED Two loops longer than fifty cannot fit in a hundred boxes, so the room fails exactly when the longest loop exceeds 50
https://en.wikipedia.org/wiki/100_prisoners_problem : "the 100 prisoners are successful if the longest cycle of the permutation has a length of at most 50" - CONFIRMED Each prisoner's own success probability is one half under any strategy
https://en.wikipedia.org/wiki/100_prisoners_problem : a single prisoner opening 50 of 100 drawers finds their number with probability 50% - WRONG "the warden may shuffle the boxes as adversarially as he likes. And still, better than one room in four lives", and in Honest limits: with a fixed labelling a maximally adversarial warden who knows the strategy can do no better than chance, per-prisoner success one half
https://en.wikipedia.org/wiki/100_prisoners_problem : "The malicious director": a director who knows the strategy and the box numbering arranges a cycle longer than 50 and foils it; the counter is a secret random renumbering of the drawers (Flajolet and Sedgewick 2009, p. 177) - WRONG No-script placeholders: guessing 8.0 × 10^-31 and improvement factor 3.9 × 10^29
public/strata/the-loop-that-saves-them/index.html : the page's own fmtSciLog and exact arithmetic give 7.888e-31 -> 7.9 and 3.953e29 -> 4.0, which is what the live dial prints once scripts run
What was done
- [fixed] Lede now says the warden may shuffle as adversarially as he likes only if the prisoners also agree in secret on a random relabelling; Honest limits now says a warden who knows strategy and labelling can defeat it outright with one loop longer than fifty, and cites Flajolet and Sedgewick via Wikipedia. Dated correction line added under Honest limits.
- [fixed] No-script placeholders changed to 7.9 × 10⁻³¹ and 4.0 × 10²⁹ ×; verify.mjs label "≈ 8.0e-31" changed to "≈ 7.9e-31" (the assertion itself was already exact), and its served copy under public/checks/ updated to match.
- [open note:61f47f] Placard: "One of this layer's checks opens this page in a real browser ... It is published, and it runs on its own: one file, and Node." reads as describing the browser check (verify-page.mjs), which is unpublished and needs Playwright; the runnable one is verify-survival.mjs. The sentence is generated by scripts/check-placard.mjs (block(): the reach sentence is chosen from any runnable check while the first sentence names the tested one), so a hand edit would be overwritten and flagged by check-placard --check; fix belongs in that script.