Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Timeline

Indicative ~8 weeks to first canary, assuming Phase 0 lands Week 1–2 and screen ports continue in parallel. Test infra is the critical path — slip it and everything slips.

Week 1 = w/c 2026-06-16. Adjust dates as the team commits; this is a planning skeleton, not a contract.

WeekDates (w/c)FocusExit milestone
12026-06-16Phase 0: Vitest + Cypress + Playwright scaffolding; CI checks wiredPlaceholder tests run green in CI
22026-06-23Phase 0 done · Phase 1 starts: parity checklist + critical-path rankingGate 0 ✅ ; parity checklist drafted
32026-06-30Phase 1: unit/component tests land with each portCoverage climbing per layer target
42026-07-07Phase 1 done · Phase 2 starts · feature freeze on legacyGate 1 ✅ ; freeze announced
52026-07-14Phase 2: E2E critical flows on stagingDiscovery + booking E2E green
62026-07-21Phase 2 done · Phase 3 startsGate 2 ✅ (QA sign-off)
72026-07-28Phase 3: perf budgets, error monitoring, load test, rollback drillGate 3 ✅
82026-08-04Phase 4: internal dogfood → 5% canaryFirst real traffic on monorepo
9–102026-08-11 →Phase 4: 25% → 50% → 100% → 1-week soakGate 4 ✅ → decommission legacy

Milestones

  • M1 (end W2): Test infra proven — Gate 0 ✅
  • M2 (end W4): Parity defined + feature freeze — Gate 1 ✅
  • M3 (end W6): Critical flows green on staging — Gate 2 ✅
  • M4 (end W7): Non-functional hardening done — Gate 3 ✅
  • M5 (W8): First canary traffic (5%)
  • M6 (~W10): 100% + soak complete — Gate 4 ✅, legacy decommissioned

Dependencies / sequencing notes

  • Phase 1 ports depend on Phase 0 test infra (TDD per PR requires Vitest/Cypress working).
  • Phase 2 E2E depends on a stable staging deploy (hh-ionic-staging.pages.dev).
  • Phase 4 canary depends on Cloudflare weighted routing — coordinate with hungryhub-terraform/hh-cloudflare ahead of W8 (Irfan).
  • Feature freeze (2.1) must hold from W4 until cutover, or parity becomes a moving target.