docs(#251): define release-often SPA MVP 3-batch micro-PR plan
This commit is contained in:
1
TODO.md
1
TODO.md
@@ -107,6 +107,7 @@ Byg **Weirsøe Party Protocol**: en dansk party-webapp platform ala Jackbox, hvo
|
|||||||
- [x] (Need-to-have) Tilføj spiller-auth/session-token for submit_lie (pt. baseret på player_id i payload)
|
- [x] (Need-to-have) Tilføj spiller-auth/session-token for submit_lie (pt. baseret på player_id i payload)
|
||||||
- [ ] (Nice-to-have) Endpoint til status/progress i løgnfasen (antal indsendt ud af total)
|
- [ ] (Nice-to-have) Endpoint til status/progress i løgnfasen (antal indsendt ud af total)
|
||||||
- [ ] (Need-to-have) [Fejltype: CI/lint F401] [Fil/område: core_admin/*, fupogfakta/tests.py+views.py, lobby/admin.py+models.py, realtime/*, voice/*] [Branch/PR: feature/f3-lobby-create-join, feature/fase0-mvp-fup-og-fakta, feature/lobby-mvp (ingen åbne PRs fundet)] Fjern ubrugte scaffold-imports (eller kør ruff check --fix) så quality gate kan blive grøn før merge.
|
- [ ] (Need-to-have) [Fejltype: CI/lint F401] [Fil/område: core_admin/*, fupogfakta/tests.py+views.py, lobby/admin.py+models.py, realtime/*, voice/*] [Branch/PR: feature/f3-lobby-create-join, feature/fase0-mvp-fup-og-fakta, feature/lobby-mvp (ingen åbne PRs fundet)] Fjern ubrugte scaffold-imports (eller kør ruff check --fix) så quality gate kan blive grøn før merge.
|
||||||
|
- [x] (Need-to-have) [Issue #251] Release-often lane: SPA MVP opdelt i 3 merge-klare micro-PR batches (plan + acceptance criteria dokumenteret i `docs/ISSUE-251-RELEASE-OFTEN-SPA-MVP-BATCH-PLAN.md`).
|
||||||
- [ ] (Need-to-have) Rate limiting på join/submit endpoints
|
- [ ] (Need-to-have) Rate limiting på join/submit endpoints
|
||||||
- [ ] (Need-to-have) Session-kode brute-force beskyttelse
|
- [ ] (Need-to-have) Session-kode brute-force beskyttelse
|
||||||
- [ ] (Need-to-have) Audit-log for host-handlinger (start/stop/skip)
|
- [ ] (Need-to-have) Audit-log for host-handlinger (start/stop/skip)
|
||||||
|
|||||||
89
docs/ISSUE-251-RELEASE-OFTEN-SPA-MVP-BATCH-PLAN.md
Normal file
89
docs/ISSUE-251-RELEASE-OFTEN-SPA-MVP-BATCH-PLAN.md
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user