Files
weirsoe-party-protocol/docs/ISSUE-251-RELEASE-OFTEN-SPA-MVP-BATCH-PLAN.md
DEV-bot 1f98f01283
All checks were successful
CI / test-and-quality (push) Successful in 3m19s
CI / test-and-quality (pull_request) Successful in 3m32s
docs(#251): define release-often SPA MVP 3-batch micro-PR plan
2026-03-02 01:52:37 +00:00

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-routing
  • feat/issue-251-batch-2-session-sync
  • feat/issue-251-batch-3-ux-hardening-release

Denne issue-PR (#251) er plan-PRen, som gør lane-kørsel merge-klar.