From 63d167d7207a675bf60ae713f5c06bd086138612 Mon Sep 17 00:00:00 2001 From: chick Date: Sat, 18 Jul 2026 18:02:59 +0800 Subject: [PATCH] fix(cutover): persist rollback completion state --- apps/api/src/cutover-orchestrator.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/api/src/cutover-orchestrator.ts b/apps/api/src/cutover-orchestrator.ts index 6688b19..090c62f 100644 --- a/apps/api/src/cutover-orchestrator.ts +++ b/apps/api/src/cutover-orchestrator.ts @@ -486,5 +486,14 @@ export async function rollback(plan: CutoverPlan, system: CutoverSystem): Promis throw new Error(`Gateway PID identity mismatch; refusing to signal PID ${state.gatewayPid}`); system.signal(state.gatewayPid, 'SIGTERM'); await system.waitGone(state.gatewayPid); - return restoreLegacy(plan, system); + const legacyPid = await restoreLegacy(plan, system); + await durableState(plan, { + version: STATE_VERSION, + phase: 'prepared', + legacyPid, + legacyCommand: plan.legacyCommand, + legacyIdentity: await system.identity(legacyPid), + legacyStart: plan.legacyStart, + }); + return legacyPid; }