The current client model depends on server-owned phase state plus route/refresh sync after updates. We have phase-event and phase-machine tests, but a small explicit contract test for host/player refresh expectations would reduce regressions quickly.
Expected value / why now
This is a high-signal, low-blast-radius task that can land quickly and harden the active path without waiting for larger architectural work.
Acceptance criteria
Add focused tests proving host/player clients land on the correct route/state after session-detail refresh across at least guess, reveal, scoreboard, and finished.
Verify the intended interplay between session.status, phase_view_model.current_phase, and client route selection.
Ensure failures point to contract drift, not generic UI breakage.
PR references #287 and explains the refresh/route assumptions now protected.
Scope boundary
Not websocket redesign.
Not new gameplay features.
Not full e2e browser automation.
Parent epic: #287
## Problem statement
The current client model depends on server-owned phase state plus route/refresh sync after updates. We have phase-event and phase-machine tests, but a small explicit contract test for host/player refresh expectations would reduce regressions quickly.
## Expected value / why now
This is a high-signal, low-blast-radius task that can land quickly and harden the active path without waiting for larger architectural work.
## Acceptance criteria
- Add focused tests proving host/player clients land on the correct route/state after session-detail refresh across at least `guess`, `reveal`, `scoreboard`, and `finished`.
- Verify the intended interplay between `session.status`, `phase_view_model.current_phase`, and client route selection.
- Ensure failures point to contract drift, not generic UI breakage.
- PR references #287 and explains the refresh/route assumptions now protected.
## Scope boundary
- Not websocket redesign.
- Not new gameplay features.
- Not full e2e browser automation.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent epic: #287
Problem statement
The current client model depends on server-owned phase state plus route/refresh sync after updates. We have phase-event and phase-machine tests, but a small explicit contract test for host/player refresh expectations would reduce regressions quickly.
Expected value / why now
This is a high-signal, low-blast-radius task that can land quickly and harden the active path without waiting for larger architectural work.
Acceptance criteria
guess,reveal,scoreboard, andfinished.session.status,phase_view_model.current_phase, and client route selection.Scope boundary