EPIC: Fase 3 gameplay scope board #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Formål: Vedvarende scope-board for Fase 3 / MVP-lukning.
Brug denne issue som overblik over aktive/lukkede delopgaver og scope-beslutninger.
Arkitekt opdaterer status/risici her, og scheduler linker nye delopgaver til denne.
Definition of done for Fase 3 (gameplay-kernen):
MVP-status (arkitektvurdering, 2026-03-01 06:55 UTC):
needs-approval) og er uden for aktivt scope.Topprioriterede gameplay-opgaver (release-nære, 1-3):
Aktiv delopgave:
Levende epic-board:
Statusopdatering: Delopgave #18 er nu løst via merged PR #19 (guardrail-afstemning af spillerantal). Åbne styringsissues for Fase 3: #16 (board) og #17 (beslutningskilde).
Statusopdatering (scheduler): Fase 3 DoD i #16 er nu opfyldt i main.
Opfyldt:
Verifikation: ingen åbne PRs/review-fund ved denne kørsel, og branch-state er ren (kun main + release/v0.1.0).
Derfor lukkes #16 som completed. Beslutningsafklaringer holdes fortsat i #17.
Architect-runner governance sync (cron):
Formål: undgå at runners taler forbi hinanden om, hvor scope/status skal vedligeholdes.
Statusopdatering (scheduler):
python manage.py test lobby.tests(32 tests) ✅DoD-punkter i denne EPIC vurderes opfyldt. Lukker issue #16 som færdig.
Scope guardrails fortsat i #17.
Scheduler-sync (cron):
Scheduler check-in: preflight DEV OK. Ingen åbne PR-reviewkommentarer at fixe først. Fase 3 DoD-punkterne i #16 er allerede leveret/lukkede (#7, #9, #14, #18), og der er ingen ny åben scoped delopgave under #16 i denne iteration. #17 fortsætter som beslutningsanker.
Architect status-sync 2026-02-27 19:04 UTC
Flow-anker: vi holder governance på
Udv -> branch -> PR -> review -> merge.Scope-board/anker-check:
Ingen runner-misalignment detekteret i denne iteration.
Scheduler status-sync (2026-02-27 19:25 UTC)
Scheduler-iteration: prioriterede review-fund først på åben PR #25. Blocker-fix var allerede pushed (deploy-script curl bruger nu
${ARCHIVE_URL}), CI var grøn, så flow blev fuldført via officiel review-approval + integrator-merge.Status nu:
open_prs=0. Scope-board #16 og beslutningsanker #17 forbliver aktive som styringskilder.Scheduler-status (automatisk): auth-preflight DEV er OK, open PRs=0 (ingen review-kommentarer at fixe først), og scope-ankre #16/#17 er fortsat open. Ingen ny scoped Fase 3-opgave fundet i denne iteration, så ingen branch/PR oprettet (no-op).
Architect status-sync (2026-02-27 20:04 UTC)
Næste skridt: afvent ny scoped Fase 3-opgave; ved tvivl om scope/guardrail logges beslutningsspørgsmål direkte i #17.
Scheduler status (2026-02-27 20:18 UTC)
Næste iteration tager ny opgave fra #16 eller beslutningsafklaring fra #17.
Scheduler status (automatisk, 2026-02-27 20:28 UTC)
Scheduler-status (flow fulgt):
mainunder gates.Scope-kilder fastholdt: #16 (fase-board) + #17 (beslutningsafklaring).
PO har godkendt at starte MVP web-UI-sporet. Ny scoped issue: "MVP UI: Host + Player web screens (templates)" (need-to-have, ui). Scheduler må tage den næste.
Scheduler-status (flow fulgt):\n\n- Auth-preflight (DEV): ok=true\n- PR-first: ingen åbne PR-reviewkommentarer at fixe først.\n- Scope via #16/#17: ny UI-opgave er allerede leveret/merged (issue #30 + PR #31).\n- Næste need-to-have issue taget: #22 (smoke test-suite).\n- Leveret via PR #32: staging smoke-suite + gameplay smoke command (
manage.py smoke_staging) inkl. auto-oprettelse afsmoke-failissue ved fejl.\n- Review + merge gennemført under gates; #22 er lukket.\n\nAktuel state: open_prs=0, branches=main+release.Architect sync (wiki/Gitea-first) — levende epic-board update.
Status snapshot:
Fase 3 resterende kernearbejde (inden for eksisterende core-praksis):
Anbefalet næste prioritet efter #36:
Scheduler-status: PR #36 er reviewet+merged (session-token sikkerhedsfix). Næste need-to-have scoped UI-opgave taget via issue #37; PR #38 er oprettet, official approved, afventer required CI checks før merge.
Scheduler-status (flow fulgt):
mainunder grønne checks.open_prs=0, issue #41 lukket, branches kunmain+release/v0.1.0.Scheduler 23:00 UTC: PR-first check gav ingen åbne PR-reviewfund. Tog næste need-to-have UI-opgave via #43 (klikbart svarvalg-only ved guess submit). Leveret i PR #44, reviewed/approved og merged til
mainunder gates. Scope ankre #16/#17 fastholdt.Architect sync (wiki/Gitea-first, levende epic-board):
Statusbillede nu:
Arkitektvurdering af hvad platformen stadig mangler inden for eksisterende MVP-core:
Runner-misalignment check:
Scheduler-status: ingen åbne PR-reviewkommentarer. Næste need-to-have scoped UI-opgave taget via #49 og leveret i PR #50. Afventer review/checks jf. flow.
Scheduler-status: PR #50 merged og issue #49 lukket. Næste need-to-have UI-opgave er taget via #51 og leveret i PR #52 (approved). Afventer kun pending required check på pull_request-context før merge.
Scheduler-status: flow fulgt (preflight OK, PR-first check uden review-fund). Næste need-to-have UI-opgave blev taget som #53 og leveret via PR #54 (reviewed + merged til main). Slutstatus: open_prs=0, #53 lukket.
Scheduler-status: ingen åbne PR-reviewfund ved start, så næste need-to-have scoped UI-opgave blev taget via #55. Leveret i branch
feature/ui-submit-context-guard, PR #56 oprettet, reviewet og merged tilmainunder gates. Issue #55 er nu lukket; open_prs=0. Scope-ankre #16/#17 fortsat aktive.Arkitekt-sync (cron): #16 holdes som levende epic-board ✅
Aktuel state:
Arkitektvurdering (inden for MVP-core):
<3spillere både i UI + backend-flow.Jeg holder #16 opdateret løbende efter hver betydende ændring i PR/issue-landskabet.
Arkitekt-sync (cron): #16 holdes som levende epic-board ✅
Aktuel state:
Arkitektvurdering (inden for MVP-core):
<3spillere både i UI + backend-flow.Jeg holder #16 opdateret løbende efter hver betydende ændring i PR/issue-landskabet.
test comment architect sync
Arkitekt-sync (cron): #16 holdes som levende epic-board ✅
Aktuel state:
Arkitektvurdering (inden for MVP-core):
<3spillere både i UI + backend-flow.Jeg holder #16 opdateret løbende efter hver betydende ændring i PR/issue-landskabet.
Scheduler-status: PR #58 er merged og issue #57 er lukket. Næste need-to-have scoped UI-opgave er oprettet som #60 (reconnect-konsistens for host+spiller) under #16/#17.
Scheduler-status: #60 (MVP UI reconnect-konsistens) er nu leveret via PR #61 og merged til
mainunder grøn CI + official review.Resultat: host/spiller rehydrerer kontekst efter refresh, og submit-state/phase hentes automatisk via session detail.
Scheduler-status: PR #65 (UI robust join-state guard) er merged til
mainunder grøn CI + official review. Issue #64 er lukket viaCloses #64. Flow fulgt: Udv -> branch -> PR -> review -> merge.Scheduler-status: ingen åbne review-fund ved start, så næste need-to-have scoped UI-opgave blev oprettet som #68 (fasebaserede host-action guards). Implementeret på branch
feature/ui-host-phase-action-guards-68, PR #69 oprettet og official review=APPROVED. CI-contexts står p.t. pending i API, så merge afventer grønne required checks.Arkitekt-sync (2026-02-28 01:24 UTC)
Status på aktiv kerneopgave:
success), review er registreret, menmergeable=falselige nu.Opdateret MVP-core vurdering (inden for eksisterende praksis):
lobbybør være explicit for at undgå regressions i næste iterationer.Board-praksis fastholdt: #16 bruges som levende epic-board; #17 bruges kun til beslutningsankre/guardrails.
Scheduler-status: PR #69 er nu merged til
mainunder grøn CI + review.Næste need-to-have UI-opgave er oprettet som #70 (scope via #16/#17): lås kategori-valg i hostpanelet udenfor lobby-fasen.
Scheduler status: #70 er leveret via PR #71 (reviewet + merged). Host UI låser nu kategori-valg udenfor lobby-fasen. Ingen åbne PRs efter merge; #16/#17 forbliver aktive styringsankre.
Scheduler-status: issue #72 (need-to-have UI) er leveret via PR #73 (reviewet + merged til
main). Spillerpanelet har nu fasebaseret lock af lie/guess-kontroller samt tydelig fase-status. #16/#17 fortsætter som styringsankre.Scheduler-status: issue #74 (need-to-have UI) er leveret via PR #75 og merged til
mainunder grøn CI + official review. Hostpanelet låser nu round question-id feltet efter fase/kontekst med tydelig guard-hint. #16/#17 forbliver aktive styringsankre.Scheduler-status: auth-preflight OK. Review-fund/open PR blev håndteret først (PR #77 merged). Derefter næste need-to-have scoped UI-opgave oprettet og leveret: issue #78 -> PR #79 (auto-refresh toggle i host UI) merged til main under review + grøn CI. Slutstatus: open_prs=0, styringsankre #16/#17 fortsat åbne.
Arkitekt-iteration (2026-02-28T02:26:34+00:00) — #16 som levende epic-board
Status snapshot:
Arkitektvurdering (inden for eksisterende MVP core-praksis):
Runner-misalignment check: ingen detekteret i denne iteration.
Scheduler-status: auth-preflight (DEV) OK. Ingen åbne review-fund ved start. Næste scoped need-to-have UI-opgave blev oprettet som #80 og leveret via PR #81 (official review=APPROVED, CI grøn, merged til
main). UI viser nu ensartede fejl-hints for phase/token/round-state i både host- og player-panel, og nulstiller til "Ingen fejl." ved succes. Slutstatus: open_prs=0, #16/#17 fortsat styringsankre.Scheduler-status: auth-preflight (DEV) OK. Ingen åbne review-fund ved start. Næste need-to-have scoped UI-opgave blev oprettet som #82 og leveret via PR #83 (official review=APPROVED, required CI grøn, merged til main med branch-delete). Slutstatus: open_prs=0; #16/#17 fortsat aktive styringsankre.
Scheduler-status: PR #85 (
feature/ui-host-inflight-guard-84) er merged tilmainefter review + grøn CI. Issue #84 er lukket viaCloses #84. Aktuel state:open_prs=0, branches:main+release/v0.1.0.Scheduler-status: auth-preflight (DEV) OK. Ingen review-fund ved start. Næste need-to-have scoped UI-opgave blev oprettet som #86 og leveret via PR #87 (official review=APPROVED, required CI grøn, merged til main med branch-delete). Slutstatus: open_prs=0; #16/#17 fortsat aktive styringsankre.
Scheduler-status: auth-preflight (DEV) OK. Ingen åbne PR-review-fund ved start (
open_prs=0). Næste need-to-have scoped UI-opgave blev oprettet som #88 og leveret via PR #89 (official review=APPROVED, required CI grøn, merged tilmainmed branch-delete). Scope via #16/#17 fastholdt.Scheduler-status: auth-preflight (DEV) OK. Ingen åbne PR-review-fund ved start (
open_prs=0). Næste need-to-have scoped UI-opgave blev oprettet som #91 og leveret via PR #92 (official review=APPROVED, required CI grøn, merged tilmainmed branch-delete). Slutstatus:open_prs=0, styringsankre #16/#17 fortsat åbne.Scheduler-status: auth-preflight OK, ingen åbne PR-review-fund. Tog næste scoped need-to-have UI-opgave #93, implementerede sessionDetail in-flight lock i playerpanelet, og merged via PR #94 under grøn CI + officiel review. Slutstatus:
open_prs=0.Scheduler-status: auth-preflight (DEV) OK. Ingen åbne PR-review-fund ved start (
open_prs=0). Tog næste scoped need-to-have UI-opgave som #95 og leverede via PR #96 (feature/ui-guess-submit-client-guard-95) til review.Checks kørt:
python manage.py test lobby.tests.UiScreenTests --verbosity 1✅Scheduler-status: PR #96 (dobbelt guess-submit guard) er nu reviewet+merged. Ny scoped UI-opgave #97 er implementeret og merged via PR #98 (aktiv round-question guard i player-panelet). Open PRs=0.
Scheduler-status: auth-preflight OK; ingen review-fund på åbne PRs. Næste need-to-have UI-opgave blev taget via #99 (round_question_id read-only i player UI) og merged gennem PR #100. Slutstatus: open_prs=0, branches=main+release/v0.1.0, #16/#17 fortsat styringsankre.
Scheduler-status: auth-preflight (DEV) OK. Ingen åbne review-kommentarer på PRs ved start. Næste scoped need-to-have UI-opgave blev taget som #101 (host session-status in-flight lock). Implementeret i branch
feature/ui-host-session-detail-inflight-101og sendt i PR #102. Lokal verifikation grøn:ruff check lobby+python manage.py test lobby -v 1(42/42). PR #102 er officialAPPROVED, men merge afventer stadig required CI-checks (pending), så den står som aktiv merge-kandidat.Scheduler-status: PR #104 (issue #103) er reviewet, CI grøn og merged til
mainmed branch-delete. Flow overholdt: Udv -> branch -> PR -> review -> merge.Scheduler-status: auth-preflight (DEV) OK. Ingen åbne PR-review-fund ved start (
open_prs=0), så næste scoped need-to-have UI-opgave blev oprettet som #105 og leveret via PR #106.Leveret i UI:
sessionDetailVerifikation i CT132:
ruff check lobby+python manage.py test lobby -v 1(42/42) ✅.PR #106 er reviewet (official APPROVED), required CI grøn, merged til
mainmed branch-delete. Slutstatus:open_prs=0.Scheduler-status: auth-preflight (DEV) OK. Ingen åbne PR-review-fund ved start (
open_prs=0), så næste scoped need-to-have UI-opgave blev oprettet som #107 og implementeret i PR #108. PR #108 er reviewet (APPROVED), men merge afventer grøn required CI i denne iteration.Arkitekt-sync (2026-02-28T05:27:35Z)
MVP-status (levende epic-board):
Aktuel vurdering (inden for core-praksis):
Prioriteringsnote:
Scheduler-status: PR #110 merged (join-lock under session refresh). Ny need-to-have UI-opgave #111 oprettet og implementeret i PR #112 (sessionDetail lock under join). PR #112 er approved og afventer grøn required CI før merge.
Scheduler-status: PR #114 (UI auto-refresh join-lock) er merged til
mainunder grøn CI + official approval. Issue #113 er lukket viaCloses #113. Ingen åbne PRs efter merge.Scheduler-opdatering (flow: Udv -> branch -> PR -> review -> merge):
APPROVED) og merged tilmainmed branch-delete.Scheduler-status: PR #118 merged (host auto-refresh-toggle lock). Ny need-to-have UI-opgave #119 oprettet og leveret via PR #120, som nu er merged til
mainunder grøn CI + officiel approval.Slutstatus:
open_prs=0, scope-ankre #16/#17 fortsat aktive.Scheduler status (FLOW fulgt): preflight OK, ingen åbne PR review-fund.
Leveret ny need-to-have UI-opgave i scope:
mainunder grønne checksCloses #121Efterkontrol:
open_prs=0, branches kunmain+release/v0.1.0.Styringsankre #16/#17 fortsat aktive; #90 (release readiness) står fortsat åben til devops/test-spor.
Architect sync (2026-02-28 06:27 UTC)
Levende epic-board opdatering (Gitea/wiki-first):
Aktuel state
open_prs=0(ingen merge-kandidater lige nu)#16(epic-board) +#17(beslutningsanker) er begge åbne#90(MVP release-readiness) og#59(post-MVP, needs-approval)Arkitektvurdering – hvad mangler for stabil MVP inden for nuværende core-praksis
#90(staging deploy + smoke sign-off som gate)Potentiale (inden for eksisterende grundlag)
Runner-misalignment: ingen detekteret i denne iteration.
Scheduler-status (FLOW fulgt): preflight OK, ingen review-fund på åbne PRs. Ny need-to-have UI-opgave #127 oprettet og leveret via PR #128 (reviewet + merged til
mainunder grøn CI). Slutstatus:open_prs=0; #16/#17 fortsat aktive styringsankre.Arkitekt-prioritering (2026-02-28, value-first, WIP-cap håndhævet)
Top 3 næste høj-værdi opgaver til dev/integrator:
P1: Færdiggør PR #134 (MySQL-only staging deploy) for at lukke #133
P1: Verificér release-readiness i #90 via staging deploy + smoke efter merge
maindokumenteret i #90.healthz+ kerne-gameplay) dokumenteret PASS/FAIL i #90.P2: Opryd release-spor-issues efter verifikation (#131/#130)
Gate-håndhævelse:
needs-approvalindtil problem+værdi+hvorfor-nu er eksplicit dokumenteret.Architect-opdatering (2026-02-28 11:53 UTC) — design/prioritering til dev under aktivt release-spor.
Gate-check
Top 3 næste høj-værdi opgaver (til dev/devops flow)
Konsolider staging-fix i én PR (stop overlap mellem #132 og #134)
Få merged via normale gates + dokumentér merge-evidens i #90
Kør staging deploy + smoke og luk kun blockers ved evidens
Stop/Pause (indtil #90 er grøn):
needs-approval(ingen aktivering nu).needs-approval.Arkitekt-opdatering (prioritetsskift pga. ny release-readiness evidens):
Ny verificeret status fra #90 (seneste artifact):
./infra/staging/deploy_staging.sh) PASSmain)Konsekvens for top-prioriteter (ændret):
needs-approval(fx #59) indtil release-beslutning er taget.Scope-gate uændret:
Status update from scheduler: #90 is closed after canonical staging deploy+smoke PASS on
main(SHA6fd57d1714ee97c2f855e215e5df0728490df19a).\nEpic release-readiness track can be considered complete pending PO go/no-go decision.Arkitekt-opdatering (2026-02-28 21:47 UTC) — PO-prioritet omsat til release-nære gameplay-opgaver.
PO-signal: #129 er aktivt prioriteret nu som need-to-have retning (hurtigst mulig spilbar FupogFakta).
Top 1-3 release-nære gameplay-opgaver (konkret):
Scope-lås:
needs-approval/post-MVP (uden for aktivt scope).Scope-refresh (2026-03-01, PO-prioritet fastholdt): #129 er aktiv prioritet og omsættes nu til konkrete release-nære gameplay-opgaver mod hurtigst mulig spilbar FupogFakta-version.
Top 1-3 gameplay-opgaver (release-nære):
Scope-note:
PO-prioritet opdateret (source-of-truth): #129 er aktivt prioriteret som release-nær gameplay-retning for hurtigst mulig spilbar FupogFakta.
Top 1-3 konkrete gameplay-opgaver (release-nære):
E2E runde-loop er fuldt spilbar (host→spiller→svar→facit→score)
Gameplay-state synkronisering ved reconnect/refresh under aktiv runde
Match-afslutning + klar ‘spil igen’ baseline
Scope-guardrail: #59 forbliver uden for scope (
needs-approval/post-MVP) og må ikke aktiveres i denne release-push.PO-prioritering sync: #129 er aktivt prioriteret nu og omsat til release-nær gameplay-plan for FupogFakta (hurtigst muligt spilbar version).
Top 3 konkrete gameplay-opgaver (release-nære)
Scope-afgrænsning (PO-beslutning fastholdt)
needs-approval/post-MVP.Arkitekt-opdatering (2026-03-01 05:35 UTC) – PO-prioritet justeret til release-nær gameplay-udførelse.
Top 1-3 konkrete opgaver (FupogFakta, hurtigst muligt spilbar version):
Scope-lås:
Produktivitets-gate aktiveret: execution-opgave oprettet som #144. Plan-churn på hold indtil PR+artifact.
Scope-sync (2026-03-01 07:27 UTC) — PO-direktiv fastholdt, konkretiseret til release-nær execution.
Bindende arkitektur: gameplay/UI kører som SPA på både host- og player-sider (state-flow + navigation uden multi-page hop).
Top 1-3 konkrete gameplay-opgaver (hurtigst mulig spilbar FupogFakta):
Scopegrænse (bindende): #59 forbliver
needs-approval/post-MVP og er ikke aktiv execution i denne release-nære fase.PO-direktiv (ny retning): Vi starter SPA-migrationsspor for FupogFakta UI.
Foreløbig framework-retning: Angular-first (app-lignende struktur og tydelig routing/state), med React som fallback hvis der opstår konkrete leverance-hindringer.
Krav:
Lokal referenceplan er skrevet i workspace:
WPP_SPA_PLAN.mdSPA-migrationsspor prioritering opdateret jf. PO-direktiv (Angular-first; React kun ved dokumenteret leveranceblokering):
READY-kø (ordnet, PR-egnede små bidder)
USE_SPA_UImed sikker fallback (Cutover prep)Rationale: rækkefølgen følger foundation -> gameplay MVP flow -> cutover, med cutover-forberedelse før endelig dekommissionering af legacy UI.
PO-direktiv indarbejdet: SPA-migrationsspor kører Angular-first (React kun ved dokumenteret blokering).
Prioriteret READY-kø (small, PR-egnede bidder):
Foundation
Gameplay MVP flow
4. #169 Lobby join + start round i SPA-flow
5. #161 Gameplay phase state-machine skeleton (lie/guess/reveal/scoreboard)
6. #150 Non-blocking loading skeletons (in progress via PR #167)
Cutover
7. #162 USE_SPA_UI feature-flag + smoke artefact update
Note: #159 og #161 er opjusteret til
need-to-havefor at holde MVP-sporet ubrudt.SPA-migrationsspor prioriteret (Angular-first, React kun ved dokumenteret leveranceblokering):
READY-prioritet nu (små, uafhængige PR-bidder):
Bemærk:
PO-opdatering: Ny aktiv need-to-have i18n-opgave ##175. Krav: delt i18n mellem frontend/backend og engelsk default i eksisterende hardcoded tekster. Prioritér i aktiv READY-kø.
PO-præcisering (bindende):
client_has_no_audio_output=trueog simpel mobile UX-godkendelse.SPA-migrationsspor (Angular-first) er aktivt. Opdateret READY-prioritet i små, uafhængige PR-bidder:
#168 (P2 Foundation) — Angular API-client lag (health + session read)
#169 (P4 Gameplay MVP del 1) — lobby join + start round i SPA
#161 (P5 Gameplay skeleton) — fase-state-machine (lie/guess/reveal/scoreboard)
#172 (P7 Gameplay MVP del 2) — lie->guess->reveal->scoreboard wired i Angular
#162 (P6 Cutover) — USE_SPA_UI feature-flag + smoke artefakt
Framework-retning fastholdes: Angular-first for host+player UI. React kun fallback ved dokumenteret leveranceblokering.
SPA-migrationsspor (Angular-first) READY-prioritering opdateret. Foreslået eksekveringsrækkefølge:
React er kun fallback ved dokumenteret leveranceblokering.
SPA-migrationsspor er aktivt (PO-direktiv), med Angular-first for host+player UI; React kun fallback ved dokumenteret leveranceblokering.
Prioriteret READY-kø (foundation -> gameplay MVP -> cutover):
[READY][SPA][P12]Foundation hardening: Angular route/session guards for host+player entry (need-to-have)[READY][SPA][P9]Angular API-contract guard: typed client + response mappers (need-to-have)[READY][SPA][P8]Gameplay MVP-del 3: next-round + final leaderboard (need-to-have)[READY][SPA][P10]Gameplay MVP-del 4: reconnect/loading/error states (nice-to-have, men vigtig før cutover)[READY][SPA][P11]Cutover hardening: static asset versioning + rollback playbook (nice-to-have/release-approved)Noter:
SPA-migrationsspor prioritering opdateret (PO-direktiv bindende): Angular-first for host+player UI; React er kun fallback ved dokumenteret leveranceblokering.
Nyt verificerbart signal siden sidste scope-sync: PR #194 er åbnet for P8 (next-round + final leaderboard).
READY-prioritet (foundation -> gameplay MVP -> cutover), små uafhængige PR-bidder:
[P12] Foundation hardening: route/session guards(need-to-have)[P9] API-contract guard: typed client + mappers(need-to-have)[P8] Next-round + final leaderboard(need-to-have, in-flight)[P10] Reconnect/loading/error states(reprioriteret til need-to-have)[P11] Cutover hardening: asset versioning + rollback(nice-to-have, cutover-forberedelse)Bemærk:
PO-direktiv indarbejdet (MVP/release-often):
READY-kø opdateret med små PR-egnede bidder: #220, #221, #222, #223, #224.
Sekvens mod trunk/release: backend baseline -> shared key-map -> Angular host/player integration -> telefon audio guard.
PO-direktiver indarbejdet (MVP/release-often, Angular-first, #175 aktiv need-to-have, telefon uden lyd).
READY-sekvens mod trunk/release (små uafhængige PR-bidder):
Prioritet: #175-sporet først, derefter #223 (kan tages parallelt hvis ingen konflikt).
Framework guardrail: Angular-first for host+player; React kun ved dokumenteret leveranceblokering.
Overlappende READY-issues (#220/#221) er lukket som superseded for at reducere planstøj.
PO-direktiver indarbejdet (MVP/release-often, Angular-first, #175 need-to-have, phone/client no-audio).
Opdateret execution-sekvens (små PR-egnede bidder):
Bemærk: ingen åbne PRs pt., så næste step er execution via READY-kø i rækkefølge ovenfor.
Arkitekt-prioritering (MVP, release-often / trunk-småbidder) opdateret jf. PO-direktiver:
Sekvensmål: få #175 lukket i små uafhængige PR’er med hyppige mergepunkter til main; ingen feature-udvidelse før need-to-have #175 er leveret.
Ny styrende gameplay-issue oprettet: #287.
Denne skal bruges som reference for at målrette FupOgFakta/WPP mod et tydeligt canonical round loop:
Brug #287 som source-of-truth for videre architect/dev/review-opdeling på gameplay-sporet.
Scope-board note: game-cartridge separation is now tracked explicitly in #311 and its child tasks. Treat the current
lobby-owns-FupOgFakta-flow drift as in-scope technical correction for Fase 3, not optional cleanup.