Pegasus → Monorepo Cutover Tracking
Single source of truth for testing, stabilizing, and cutting customer traffic from the
legacy app (hh-pegasus, Astro + Vue SPA at web.hungryhub.com) to the successor
(hh-pegasus-monorepo — Vue 3 + Ionic, deploys to ionic.hungryhub.com).
Project note: Improvement Hybrid App · ClickUp
86d2ry9qu· Owner: Tompi (Growth) · Started 2026-06-15
Guiding principle
No traffic moves until each gate passes. Cutover is incremental (canary), never big-bang. Legacy stays warm and instantly re-routable until 100% soak completes.
Reality baseline (verified 2026-06-15)
The project note and CLAUDE.md advertise “Cypress E2E + Vitest unit coverage” — that
infra does not exist yet in apps/ionic:
- No Vitest / Cypress / Playwright in dependencies
- No
test/test:unit/test:e2escripts - Zero test files, no test config
- Only live quality gates:
lint+typecheck(Turbo) - 11 loose
*MIGRATION*.mddocs at repo root = piecemeal porting, no parity tracker - 127 open GitHub issues + ~57 ClickUp subtasks in flight (snapshot 2026-06-15) — see 08-issue-index.md. The ClickUp “Test Case” subtask (QA: Detta, wiwik, Rina) is not started — corroborates the test gap.
→ Phase 0 (stand up test infra) is the critical path. Everything else depends on it.
Documents
| File | Purpose | Primary owner |
|---|---|---|
| 01-phases-and-gates.md | The 5 phases, each task, hard go/no-go gates | Tompi |
| 02-timeline.md | Week-by-week schedule + milestones | Tompi |
| 03-test-strategy.md | Test pyramid, coverage targets, tooling, CI gates | Detta / Saiqul |
| 04-parity-checklist.md | Screen-by-screen legacy→monorepo parity tracker | Tompi |
| 05-canary-cutover-runbook.md | Traffic rollout steps + rollback triggers | Irfan |
| 06-owners-raci.md | Who is Responsible/Accountable/Consulted/Informed | Tompi |
| 07-risk-register.md | Risks, likelihood, mitigation, owner | Tompi |
| 08-issue-index.md | Live GitHub backlog ↔ ClickUp subtask cross-reference | Afif |
| 09-cross-reference-log.md | Audit log of GitHub↔ClickUp cross-posts | Saiqul |
| 10-parity-extraction-runbook.md | opencode procedure to extract the legacy parity inventory (feeds 04) | Saiqul / Afif |
How to use
- Tompi assigns each phase’s tasks from
01-phases-and-gates.mdto owners in RACI. - Owners update status columns inline (PR-reviewed, like any doc change).
- A gate flips to ✅ only when its named owner signs off — recorded in the gate table.
- Cutover (Phase 4) does not start until Gates 0–3 are all ✅.
Status at a glance
| Gate | Phase | State | Owner |
|---|---|---|---|
| Gate 0 | Test infra working | ⬜ not started | Saiqul |
| Gate 1 | Parity inventory + pyramid | ⬜ not started | Tompi / Detta |
| Gate 2 | E2E critical flows green | ⬜ not started | Detta |
| Gate 3 | Non-functional hardening | ⬜ not started | Saiqul / Irfan |
| Gate 4 | 100% soak → decommission | ⬜ not started | Tompi / Irfan |
Legend: ⬜ not started · 🟡 in progress · ✅ passed · 🔴 blocked