Parent epic: #10
Normative spec: 09 — Production cutover
Decision dependency: #29
Scope
After explicit owner authorization and successful #73, execute final content sync and course DB delta under documented write freeze/outbound-email disable, reconcile all gates, enable new production stack internally, switch canonical DNS/edge while retaining course-host compatibility, enable workers/email once after outbox reconciliation, submit production sitemap, monitor quantitative SEO/application/data/email/security signals, exercise rollback when triggered, and retain legacy systems read-only through approved window before staged retirement.
Non-goals
No scope redesign/SEO experiments, speculative redirects, destructive reverse migrations, immediate legacy DB deletion, duplicate workers/email, or cutover without explicit human approval.
Acceptance criteria
Test scenarios
- Timed dress checklist using final-like snapshots and explicit go/no-go/abort roles.
- Production read-only smoke before switch; controlled dynamic registration/enrollment/email after enablement.
- Trigger representative rollback after new write and verify no data loss/duplicate email/canonical break.
- Monitor crawler/top URL/course API consumers and unknown legacy-host paths through observation window.
Playwright
Desktop/mobile production smoke across representative main/docs/FAQ/Podwiki/course/event/registration/learner/Studio routes before and after DNS; capture screenshots/headers/canonicals. Manual DNS/Search Console/provider checks stay [HUMAN].
Dependencies
Depends on #23, #26, #29, #71, and successful #73 plus explicit owner authorization. This issue must remain open until observation/retention obligations are met.
Parent epic: #10
Normative spec: 09 — Production cutover
Decision dependency: #29
Scope
After explicit owner authorization and successful #73, execute final content sync and course DB delta under documented write freeze/outbound-email disable, reconcile all gates, enable new production stack internally, switch canonical DNS/edge while retaining course-host compatibility, enable workers/email once after outbox reconciliation, submit production sitemap, monitor quantitative SEO/application/data/email/security signals, exercise rollback when triggered, and retain legacy systems read-only through approved window before staged retirement.
Non-goals
No scope redesign/SEO experiments, speculative redirects, destructive reverse migrations, immediate legacy DB deletion, duplicate workers/email, or cutover without explicit human approval.
Acceptance criteria
[HUMAN]owner authorizes the exact cutover window/runbook/exceptions and named roles.Test scenarios
Playwright
Desktop/mobile production smoke across representative main/docs/FAQ/Podwiki/course/event/registration/learner/Studio routes before and after DNS; capture screenshots/headers/canonicals. Manual DNS/Search Console/provider checks stay
[HUMAN].Dependencies
Depends on #23, #26, #29, #71, and successful #73 plus explicit owner authorization. This issue must remain open until observation/retention obligations are met.