Files
weirsoe-party-protocol/docs/ISSUE-287-CANONICAL-ROUND-FLOW-BACKEND-ARTIFACT.md
DEV-bot ab08dc2b6d
Some checks failed
CI / test-and-quality (push) Failing after 10s
CI / test-and-quality (pull_request) Failing after 10s
feat(lobby): align canonical round flow for issue 287
2026-03-16 01:00:07 +00:00

1.8 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, og idempotent GET /scoreboard hvis state allerede er resolved) reveal scoreboard Promoverer scoreboard som state, broadcaster phase.scoreboard, eksponerer leaderboard + readiness
POST /lobby/sessions/{code}/next scoreboard lie Increment round counter, kopierer seneste RoundConfig, vælger/låser næste spørgsmål i samme kategori og broadcaster phase.lie_started
POST /lobby/sessions/{code}/finish scoreboard finished Fryser slutresultat og returnerer final leaderboard

Flow-log (happy path)

  1. Host starter runde med kategori.
  2. Server vælger straks spørgsmål og går i lie.
  3. Spillere sender løgne; sidste submission auto-advancer til guess.
  4. Spillere sender gæt; sidste submission auto-advancer til reveal og scorer runden.
  5. Næste canonical state-read promoverer resolved reveal til scoreboard; state findes uden separat debug-knap.
  6. Host kan nu kun vælge next round eller finish game.
  7. next round starter næste runde direkte i lie med nyt konkret spørgsmål; ingen mellem-hop tilbage til lobby.