houserules/packages/server/src
Joey Yakimowich-Payne 4c25277449
feat(thressgame-coverage): Wave 15 (e2e for 5 parity rules + lift T68/3 parry)
Closes 5 of 5 unit-only parity rules with real Playwright validation:

- T83/all_on_red: probabilistic on-turn-start arm seeds BlockAllExceptKing (verified via UI move attempt + restoration)
- T83/ice_physics: SlideMustBeMaxDistance forces sliders to max-distance ray step (verified via legal-move highlight + drag rejection)
- T68/3 parry (lifted from .fixme): capture triggers RPS → defender wins → cancel-capture restores defender + reverts attacker
- T84/religious_conversion: bishop move converts adjacent enemy non-king pieces (verified via data-piece color flip)
- T84/kamikaze: capture triggers AOE destroying adjacent non-king; king immune (verified via DOM + RNG seed)

Helper: .sisyphus/scripts/run-pw.sh — nohup-based Playwright runner with done-marker poll. Avoids 30min agent timeout when running long e2e suites.

Tests: 2865 -> 2866 (+1 unit). E2E: 8/8 pass (was 3 active + 1 fixme; now 8 active + 0 fixme). bun run check exit 0.
2026-04-26 18:06:05 -06:00
..
broadcast.test.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
broadcast.ts feat(thressgame-coverage): Wave 15 (e2e for 5 parity rules + lift T68/3 parry) 2026-04-26 18:06:05 -06:00
choice-timeout.test.ts feat(thressgame-coverage): Wave 8 (WS protocol v2 + suspended execution + request-choice) 2026-04-26 12:07:10 -06:00
choice-timeout.ts fix(thressgame-coverage): F1+F4 remediation (T58 RequestChoiceModal + coin-flip kind) 2026-04-26 14:09:28 -06:00
custom-modifier-wire-parity.test.ts test(server): add wire-parity fixtures for 7 new trigger primitive kinds 2026-04-21 16:58:17 -06:00
game-session.test.ts feat(multiplayer): game.action WS message for PlayerActions 2026-04-21 11:56:35 -06:00
game-session.ts feat(thressgame-coverage): Wave 8 (WS protocol v2 + suspended execution + request-choice) 2026-04-26 12:07:10 -06:00
index.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
layouts.test.ts feat(server): layout-aware room.create + resolved layout echoes (Phase C) 2026-04-18 20:01:01 -06:00
layouts.ts feat(server): layout-aware room.create + resolved layout echoes (Phase C) 2026-04-18 20:01:01 -06:00
logger.ts feat(server): scaffold Bun HTTP+WS server with health + logging (P4.1) 2026-04-16 17:03:42 -06:00
logging.test.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
logging.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
middleware.test.ts feat(server): add rate-limit, origin allow-list, message-size cap (P4.4) 2026-04-16 17:11:40 -06:00
middleware.ts feat(server): add rate-limit, origin allow-list, message-size cap (P4.4) 2026-04-16 17:11:40 -06:00
protocol.test.ts fix(thressgame-coverage): F1+F4 remediation (T58 RequestChoiceModal + coin-flip kind) 2026-04-26 14:09:28 -06:00
protocol.ts feat(thressgame-coverage): Wave 11 (4 critical integration fixes) 2026-04-26 14:49:07 -06:00
reconnect.test.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
reconnect.ts feat(server): add reconnection with 60s grace + snapshot resume (P4.7) 2026-04-16 17:38:26 -06:00
room.create-profile.test.ts feat(server): room-create accepts profile 2026-04-18 22:55:24 -06:00
rooms.test.ts feat(multiplayer): host color preference (white/black/random) 2026-04-21 10:51:45 -06:00
rooms.ts feat(thressgame-coverage): Wave 8 (WS protocol v2 + suspended execution + request-choice) 2026-04-26 12:07:10 -06:00
ws.cancel-capture-revert.test.ts feat(thressgame-coverage): Wave 15 (e2e for 5 parity rules + lift T68/3 parry) 2026-04-26 18:06:05 -06:00
ws.custom-modifier-register.test.ts feat(server): host-only custom modifier registration (Q4.4) 2026-04-20 17:49:55 -06:00
ws.custom-modifier-remove.test.ts feat(thressgame-coverage): Wave 11 (4 critical integration fixes) 2026-04-26 14:49:07 -06:00
ws.modifier-profile-consent.test.ts test(server): two-player consent flow (T3) 2026-04-19 09:25:48 -06:00
ws.modifier-profile-update.test.ts feat(server): turn-boundary queue for modifier profile updates 2026-04-19 09:06:15 -06:00
ws.request-choice.test.ts feat(thressgame-coverage): Wave 11 (4 critical integration fixes) 2026-04-26 14:49:07 -06:00