1.8 KiB
1.8 KiB
Phase 8 Cutover and Rollback Runbook
Goal
Move from legacy-first UI to React-first UI safely, with a deterministic rollback path.
Preconditions
mainbranch green on:npm run testnpm run test:uinpm run frontend:react:check
- Milestone #7 issues required for cutover are accepted.
- Latest regression artifacts are present under
output/playwright/.
Cutover Gate Command
Run this gate command before enabling React as default:
npm run phase8:cutover:check
It writes a machine-readable report to:
output/phase8/cutover-check-report.json
Cutover Checklist
- Confirm release candidate commit hash and tag target.
- Run
npm run phase8:cutover:checkand archive report artifact. - Verify React path boots and legacy path still boots in dual-run.
- Verify save/load/import/export compatibility on fixture corpus.
- Confirm MCP tools still return stable API envelopes.
- Publish release notes with known limitations and rollback trigger criteria.
Rollback Triggers
Rollback immediately if any occur post-cutover:
- New blocker in compile/apply loop.
- UI interaction regressions that break editing workflows.
- Crossings/overlaps/readability regressions above agreed thresholds.
- API/MCP contract break for compile/analyze/layout endpoints.
Rollback Procedure
- Switch deployment back to previous stable tag.
- Re-enable legacy-first UI mode.
- Re-run:
npm run testnpm run test:ui
- Open incident issue with:
- failing commit/tag
- regression screenshots
- exact reproduction JSON
- Keep React path available in non-default dual-run mode until fix lands.
Evidence to Attach to Release
output/phase8/cutover-check-report.jsonoutput/playwright/ui-metrics-report.json- Updated
docs/release-checklist.mdcompletion notes