1.5 KiB
1.5 KiB
Issue #287 — Canonical round-flow backend artifact
State-transition matrix
| Trigger | From | To | Server-owned effect |
|---|---|---|---|
POST /lobby/sessions/{code}/rounds/start |
lobby |
lie |
Opretter RoundConfig, vælger/låser konkret RoundQuestion, eksponerer prompt + lie-deadline i samme svar |
Sidste gyldige submit_lie for aktivt spørgsmål |
lie |
guess |
Dedupe/shuffle correct_answer + lies, persisterer mixed_answers, broadcaster phase.guess_started |
Sidste gyldige submit_guess for aktivt spørgsmål |
guess |
reveal |
Beregner score deterministisk, persisterer ScoreEvent + opdaterede Player.score, returnerer canonical reveal payload |
Første canonical state-read efter resolved reveal (session_detail) |
reveal |
scoreboard |
Promoverer scoreboard som state, broadcaster phase.scoreboard, eksponerer leaderboard + readiness |
POST /lobby/sessions/{code}/next |
scoreboard |
lobby |
Increment round counter |
POST /lobby/sessions/{code}/finish |
scoreboard |
finished |
Fryser slutresultat og returnerer final leaderboard |
Flow-log (happy path)
- Host starter runde med kategori.
- Server vælger straks spørgsmål og går i
lie. - Spillere sender løgne; sidste submission auto-advancer til
guess. - Spillere sender gæt; sidste submission auto-advancer til
revealog scorer runden. - Næste
session_detail-read promoverer resolved reveal tilscoreboarduden host-knap. - Host kan nu kun vælge
next roundellerfinish game.