diff --git a/docs/STAGING_GAMEPLAY_SMOKE_ARTIFACT.md b/docs/STAGING_GAMEPLAY_SMOKE_ARTIFACT.md index cc693f9..082177b 100644 --- a/docs/STAGING_GAMEPLAY_SMOKE_ARTIFACT.md +++ b/docs/STAGING_GAMEPLAY_SMOKE_ARTIFACT.md @@ -39,6 +39,19 @@ Formål: levere et lille, ensartet evidensformat for release-nær gameplay-smoke - next round transitions: - final leaderboard visible: +#### Smoke-gate decision (før `USE_SPA_UI=true`) +- Gate status: +- Gate criteria met: + - [ ] Cutover route sanity = PASS (OFF + ON) + - [ ] Full gameplay round = PASS + - [ ] Next-round/final leaderboard sanity = PASS + - [ ] Ingen nye blocker-regressioner i host/player flow + +#### Rollback checkpoint +- Rollback required: +- Trigger reason (if yes): +- Rollback done (`USE_SPA_UI=false`) verified: + #### Evidence pointers - Command(s): `` - UI notes/screenshots/log refs: diff --git a/docs/UI_SMOKE.md b/docs/UI_SMOKE.md index 1fd23c4..48446be 100644 --- a/docs/UI_SMOKE.md +++ b/docs/UI_SMOKE.md @@ -20,4 +20,17 @@ 9. Host: Beregn score og Vis scoreboard. 10. Host: Næste runde eller Afslut spil. +## Smoke-gate (staging cutover) +`USE_SPA_UI` må kun aktiveres i staging når følgende er opfyldt: +- Cutover route sanity er PASS for både OFF (legacy) og ON (SPA shell). +- Én fuld gameplay-runde til scoreboard er PASS. +- Next-round/final leaderboard sanity er PASS. +- Ingen nye blocker-regressioner i host/player kerneflow. + +## Rollback check points +Skift straks tilbage til `USE_SPA_UI=false` hvis en gate fejler: +1. Verificér legacy routes (`/lobby/ui/host` + `/lobby/ui/player`) fungerer igen. +2. Log rollback trigger + kort repro i smoke artifact. +3. Opret/link blocker issue før nyt cutover-forsøg. + Resultat: En fuld runde kan køres uden rå API-kald fra terminal. diff --git a/docs/spa-cutover-flag.md b/docs/spa-cutover-flag.md index f8c35e5..6bf8420 100644 --- a/docs/spa-cutover-flag.md +++ b/docs/spa-cutover-flag.md @@ -12,6 +12,31 @@ Sæt env var pr. miljø: Backward compatibility under cutover: - Hvis `USE_SPA_UI` ikke er sat, bruges `WPP_SPA_ENABLED` som fallback. +## Staging rollout-checkliste (`USE_SPA_UI`) +1. **Baseline (flag OFF)** + - Bekræft at staging kører med `USE_SPA_UI=false`. + - Kør gameplay smoke på legacy routes (`/lobby/ui/host` + `/lobby/ui/player`). +2. **Smoke-gate før aktivering (skal være grøn)** + - Cutover route sanity = PASS for både OFF og ON checks. + - Full gameplay round (join/start/round/scoreboard) = PASS. + - Next-round/final leaderboard sanity = PASS. + - Ingen nye blocker-regressioner i host/player kerneflow. +3. **Kontrolleret aktivering i staging** + - Sæt `USE_SPA_UI=true` i staging miljøet. + - Kør smoke-flow igen med SPA-route-verifikation. +4. **Post-cutover dokumentation** + - Log evidens med commit/head SHA, UTC timestamp og gate-status. + +## Rollback-checkpoints (staging) +Rollback til legacy (`USE_SPA_UI=false`) udføres straks hvis et checkpoint fejler: +- Forkert route/shell for valgt flag i cutover route sanity. +- Gameplay smoke kan ikke gennemføres til scoreboard/final leaderboard. +- Kritisk regression i host/player flow under smoke. + +Efter rollback: +- Bekræft legacy routes virker igen (`/lobby/ui/host` + `/lobby/ui/player`). +- Log rollback-trigger + repro + blocker-link i smoke artifact. + ## Verifikation - Flag OFF: `UiScreenTests.test_legacy_templates_are_used_when_spa_flag_is_off` - Flag ON (host): `UiScreenTests.test_host_screen_can_render_angular_shell_when_feature_flag_enabled`