Partitions sessions into N rooms, runs gamesPerRoom games per room in parallel via Promise.allSettled so a failure in one room never unwinds the others. Errors roll up into ScenarioResult.errors. Verified via tsx: listScenarios() returns [populate], getScenario() resolves by name and returns undefined for unknown names. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Golf Soak & UX Test Harness
Runs 16 authenticated browser sessions across 4 rooms to populate staging scoreboards and stress-test multiplayer stability.
Spec: docs/superpowers/specs/2026-04-10-multiplayer-soak-test-design.md
Bring-up: docs/soak-harness-bringup.md
Quick start
cd tests/soak
bun install
bun run seed # first run only
TEST_URL=http://localhost:8000 bun run smoke
(The scripts also work with npm run, pnpm run, etc. — bun is what's installed
on this dev machine.)
Full documentation arrives with Task 31.