| node tests/sim.test.js | Windows 11, Node 24 (final checkpoint cp12) | 38 passed, 0 failed | passed |
| node tools/playthrough.js | Windows 11, Node 24 (cp12) | 19 checks passed: a learned slow approach then blackout, and a long silence then the bell, pay off on every night in both the granted and the ignored route; mashing gives nervous laughter; same seed and inputs give identical events; all three endings reached | passed |
| node tools/fuzz.js | Windows 11, Node 24 (cp12) | 300 random campaigns, 1,500 nights, 1,309,010 checked steps: no exception, every view value in range, determinism, skipTo equals stepping, snapshots continue identically, campaign snapshot at most 2,093 bytes | passed |
| node tests/integration.test.js; node tests/text.test.js | Windows 11, Node 24 (cp12) | 17 integration checks and every text group passed: all 25 plate ids, every reaction kind, night and voice request have text; three campaigns end in the three endings | passed |
| node dev/browser-check.js (headless Chrome, real pointer and keyboard events) | Windows 11, Chrome (cp11 plus the final README) | 184 checks passed, 0 failed, no page errors: every night to the reveal and ending, the unbidden plates, faces in the smoke, the voice's request granted, slow approach beats rushing, mashing, saves, pointer ownership, mute, keyboard rules with the book and help open, and the layout rules on desktop, phone portrait and phone landscape | passed |
| node tools/release-real-time.js (real mouse and keyboard, no time shortcuts on night one) | Windows 11, Chrome 1280x720 (cp11) | Night one played in 185 real seconds from raised curtain to ticket page (Paid 40, Heard 41); two size-3 screams from the learned blackout; nights two to five then reached the ending and replay; 138 audio playback calls succeeded | passed |
| node tools/chaos.js --seconds 60 (public play-host headers, three viewports) | Windows 11, Chrome (cp11) | Zero page errors, console errors, CSP violations or failed responses at 1280x720, 844x390 and 390x844; all 28 sound files decoded; every night and the ending reached; no stuck screen | passed |
| node tools/perf.js --seconds 40 | Windows 11, headless Chrome, GPU off (cp11) | Mean frame 16.67 ms on desktop and phone size, slowest 1 percent 16.8 ms, no task over 50 ms; not a physical phone benchmark | passed |
| node dev/mix-check.js (OfflineAudioContext, 24 timings, served and file routes) | Windows 11, headless Chrome (cp11) | Stacked scream, thunder, bell and the loudest beds peak at 0.84 of full scale served and 0.87 from a file; zero renders over full scale (before the limiter: up to 1.17 and 21 of 48 over); no listening test was done | passed |
| node tools/verify/check-mobile.mjs <url> <dir> --click "Begin the show" | Windows 11, Chromium iPhone-sized emulation, portrait and landscape (cp11) | MOBILE CHECK PASS: no sideways scroll, 0% of the play area covered, tap targets at least 40 px, no text under 12 px, no console errors | passed |
| node tools/verify/check-contrast.mjs (title card and show screen) | Windows 11, Chrome (cp11) | 0 text elements under their contrast target; smallest text 13 px | passed |
| python -X utf8 -I tools/verify/run_unslop.py | Windows 11 (cp12) | Gate pass: 0 high and 0 medium findings in the shipped interface and text; 3 low findings (long identifiers) left as readable names; the five text flags are code fragments and two multi-line strings, judged not tells | passed |
| node tools/screen.js (release screen) and python website/tools/package_game.py | Windows 11 (cp12) | 12 shipped source files clear; the package of 71 files screened with 0 findings (no network calls, dynamic code, secrets or local paths; the only web address is the Jam page link) | passed |