3.3 KiB
3.3 KiB
Issue #251 — Release-often lane for SPA MVP (3 micro-PR batches)
Formål
Bryde SPA MVP-arbejdet op i 3 merge-klare micro-PRs med tydelige acceptance criteria,
så vi kan levere værdi oftere, reducere review-risiko og holde main grøn.
Scope (issue-bound)
Denne plan dækker kun planlægning/acceptance for den kommende SPA MVP-lane. Implementering af de konkrete features sker i efterfølgende PRs.
Hard acceptance criteria for issue #251
- Der findes en dokumenteret plan med præcis 3 batches.
- Hver batch har:
- mål og afgrænsning
- konkrete leverancer (kodeområder)
- test/checks før merge
- "ikke med i denne batch" for at undgå scope creep
- Batch-rækkefølgen er dependencies-sikker (batch 2 bygger på batch 1, batch 3 på batch 2).
- Hver batch kan merges uafhængigt uden at blokere drift på
main.
Batch-plan (merge-klare micro-PRs)
Batch 1 — SPA shell + routing baseline
Mål: Et stabilt SPA-skelet med route-struktur og guard-basics.
Leverancer
- Frontend shell-komponenter og route-konfiguration for host/player entrypoints.
- Baseline route guards (kun ikke-destruktive sikkerhedschecks).
- Feature-flag/kompatibilitet så eksisterende flow ikke brydes.
Checks før merge
- Frontend build/lint/test grøn.
- Smoke: host route og player route kan åbnes uden runtime-fejl.
- Ingen regression i eksisterende server-rendered/default flow.
Ikke med i batch 1
- Fuld gameplay-state synkronisering.
- Audio/polish og i18n finpudsning ud over baseline wiring.
Batch 2 — Session-state + host/player sync MVP
Mål: Korrekt synkronisering af session-state mellem host og spillerklient.
Leverancer
- Klient-state wiring til eksisterende backend events/endpoints.
- Deterministiske overgangstilstande for centrale faser (join/lobby/round/score).
- Guardrails mod race conditions i route/session handoff.
Checks før merge
- Relevante unit/integration tests for state transitions grøn.
- Smoke: host handling afspejles hos spiller indenfor forventet latenstid.
- Ingen 500/JS runtime errors i happy-path MVP flow.
Ikke med i batch 2
- Avanceret UX-polish/animation.
- Udvidet observability udenfor MVP-kritiske logs.
Batch 3 — UX hardening + release readiness
Mål: Gøre SPA MVP release-klar med fokus på stabilitet og driftssikkerhed.
Leverancer
- Error/empty/loading states for kritiske skærme.
- Dokumenteret smoke-run + opdaterede release-noter/changelog input.
- Endelig cutover-checkliste for MVP-lane.
Checks før merge
- End-to-end MVP smoke-pass (host + mindst én spiller).
- Definerede fallback-paths ved manglende data/event-delay verificeret.
- Release artefakter opdateret (relevant docs/changelog-input).
Ikke med i batch 3
- Post-MVP featureudvidelser.
- Større refactors uden direkte release-værdi.
Merge-gate for alle 3 batches
- Små PRs (mål: reviewbar størrelse, helst < ~300 netto-linjer når muligt).
- Grøn CI/checks før review-request.
- Tydelig PR-beskrivelse med: scope, test evidence, out-of-scope.
- Ingen skjulte sideeffekter på tværs af apps/domæner.
Foreslået branch/PR navngivning
feat/issue-251-batch-1-spa-shell-routingfeat/issue-251-batch-2-session-syncfeat/issue-251-batch-3-ux-hardening-release
Denne issue-PR (#251) er plan-PRen, som gør lane-kørsel merge-klar.