# Issue #278 Artifact — smoke/e2e gate for da+en locale flow and primary-only audio ## Scope Acceptance for `[READY][#175][P4]`: 1. Verify one MVP host+player smoke run in `en`. 2. Verify one MVP host+player smoke run in `da`. 3. Verify audio routing remains `primary-device only` so phone/player clients never take playback ownership. Dette er en gate-/evidensleverance. Ingen ny produktfunktion ud over test/verifikation. ## Implemented smoke gate Angular smoke spec: `frontend/angular/src/app/i18n-mvp-flow-smoke.spec.ts` The gate now runs two explicit locale scenarios: - `en`: host refresh/start-round copy + player submit-guess copy - `da`: samme flow med dansk copy Audio-policy delen af samme smoke-spec verificerer: - host/primary playback path er uændret før player mount - player mount installerer no-audio guard på secondary device - guard fjernes igen ved unmount, så primary path fortsat er eneste aktive output ## Recommended verification command Køres fra `frontend/angular`: ```bash npm test -- --run src/app/i18n-mvp-flow-smoke.spec.ts src/app/lobby-i18n.spec.ts src/app/features/player/player-shell.component.spec.ts ``` ## Why this is the gate - `i18n-mvp-flow-smoke.spec.ts` giver en lille, samlet smoke/e2e-lignende verifikation af host+player i begge locale-kontekster. - `lobby-i18n.spec.ts` holder shared locale propagation + contract fallback grøn. - `player-shell.component.spec.ts` dækker den dybere regressionflade for audio-guard på secondary device. ## Conclusion Gate’en verificerer nu eksplicit begge locale-runs (`da` + `en`) og bekræfter primary-only audio routing i MVP-flowet.