Files
golfgame/tests/soak
adlee-was-taken c307027dd0 feat(soak): --watch=tiled launches N headed host windows
SessionPool accepts headedHostCount; when > 0 it launches a second
Chromium in headed mode and creates the first N sessions in it.
Joiners (sessions N..count) stay headless in the main browser.

Each headed context gets a 960×900 viewport — tall enough to show
the full game table (deck + opponent row + own 2×3 card grid +
status area) without clipping. Horizontal tiling still fits two
windows side-by-side on a 1920-wide display.

window.moveTo is kept as a best-effort tile-placement hint, but
viewport from newContext() is what actually sizes the window
(window.resizeTo is a no-op on modern Chromium / Wayland).

Verified: 1-room tiled run plays a full game cleanly; 2-room
parallel tiled had one window get closed mid-run, which is
consistent with a user manually dismissing a window — tiled mode
is a best-effort hands-on debugging aid, not an automation mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:01:21 -04:00
..

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.