[READY][Architecture] #311-F Extract round selection and next-round bootstrap into fupogfakta round services #322

Open
opened 2026-03-17 07:37:28 +01:00 by manager-bot · 0 comments
Member

Parent: #311
Related: #312, #318

Problem

Rundespørgsmålsopslag, selection-regler og next-round bootstrap lever stadig i lobby/views.py-flowet. Det er FupOgFakta-logik og gør cartridge-grænsen uklar.

Goal

Flyt round/question ownership til fupogfakta/services/rounds.py (eller tilsvarende cartridge-owned modul), så lobby/ ikke længere ejer game-specifik round orchestration.

Scope

In scope:

  • current round question lookup
  • question selection rules
  • next-round bootstrap helpers
  • tydeligt service entrypoint for round start / next round

Out of scope:

  • score resolution
  • payload builders der ikke er nødvendige for round service API
  • komplet route-flytning

Acceptance criteria

  • _get_current_round_question(...)-ansvar er flyttet ud af lobby/
  • _select_round_question(...)-ansvar er flyttet ud af lobby/
  • next-round bootstrap bruger cartridge-owned service-lag
  • tests dækker question selection uden at gå gennem hele lobby/views.py hot path
  • lobby/ fungerer som orchestrator/facade, ikke som owner af round-reglerne

Notes

Hvis API-navne ændrer sig undervejs, er boundary vigtigere end præcis modulsti. Målet er cartridge ownership, ikke perfekt navngivning i første cut.

Parent: #311 Related: #312, #318 ## Problem Rundespørgsmålsopslag, selection-regler og next-round bootstrap lever stadig i `lobby/views.py`-flowet. Det er FupOgFakta-logik og gør cartridge-grænsen uklar. ## Goal Flyt round/question ownership til `fupogfakta/services/rounds.py` (eller tilsvarende cartridge-owned modul), så `lobby/` ikke længere ejer game-specifik round orchestration. ## Scope In scope: - current round question lookup - question selection rules - next-round bootstrap helpers - tydeligt service entrypoint for round start / next round Out of scope: - score resolution - payload builders der ikke er nødvendige for round service API - komplet route-flytning ## Acceptance criteria - `_get_current_round_question(...)`-ansvar er flyttet ud af `lobby/` - `_select_round_question(...)`-ansvar er flyttet ud af `lobby/` - next-round bootstrap bruger cartridge-owned service-lag - tests dækker question selection uden at gå gennem hele `lobby/views.py` hot path - `lobby/` fungerer som orchestrator/facade, ikke som owner af round-reglerne ## Notes Hvis API-navne ændrer sig undervejs, er boundary vigtigere end præcis modulsti. Målet er cartridge ownership, ikke perfekt navngivning i første cut.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wpp/weirsoe-party-protocol#322