From 133c00628dd85c5abf7e2d4f593ebb3818d28ca1 Mon Sep 17 00:00:00 2001 From: Prateek Date: Mon, 16 Feb 2026 09:57:17 +0530 Subject: [PATCH] fix: clear stale rebaseError when rebase succeeds When a rebase succeeds, explicitly clear rebaseError and lastRebaseAttempt fields to prevent stale error data from persisting alongside rebaseStatus=clean. Since updateMetadata merges updates, we must set these fields to empty strings to remove them from the metadata file. Co-Authored-By: Claude Sonnet 4.5 --- packages/core/src/lifecycle-manager.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/src/lifecycle-manager.ts b/packages/core/src/lifecycle-manager.ts index 3dbf9c19f..c97bc4696 100644 --- a/packages/core/src/lifecycle-manager.ts +++ b/packages/core/src/lifecycle-manager.ts @@ -581,11 +581,13 @@ export function createLifecycleManager(deps: LifecycleManagerDeps): LifecycleMan }); if (result.success) { - // Silent success - update metadata + // Silent success - update metadata and clear error fields updateMetadata(sessionsDir, session.id, { lastRebaseTime: new Date().toISOString(), lastRebaseMainSHA: mainBranchSHA, rebaseStatus: "clean", + rebaseError: "", // Clear stale error from previous failure + lastRebaseAttempt: "", // Clear stale attempt timestamp }); // Clear reaction tracker for rebase-conflicts (prevents stale state on re-conflict)