From e431d8cb67d226ba2db63e8a9bcd2ba51db56dc6 Mon Sep 17 00:00:00 2001 From: notgitika Date: Tue, 23 Jun 2026 11:57:58 -0400 Subject: [PATCH] fix(deploy): resolve online-eval step on re-deploys with no new configs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The TUI deploy screen renders an "Enable online evaluation" step whenever projectSpec.onlineEvalConfigs is non-empty, but the step was only transitioned to a terminal status inside the `if (newOnlineEvalFullSpecs > 0 ...)` branch. On a re-deploy where every configured online eval was already deployed in a prior run, that branch is skipped and the step stays in 'pending', so areStepsComplete() never returns true and the deploy phase never reaches 'complete' — the TUI hangs after the AWS deploy itself succeeds. Mirror the dataset-sync block above by marking the step success when there are configs but nothing new to enable. --- src/cli/tui/screens/deploy/useDeployFlow.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cli/tui/screens/deploy/useDeployFlow.ts b/src/cli/tui/screens/deploy/useDeployFlow.ts index 25323e9e5..9b2ebd719 100644 --- a/src/cli/tui/screens/deploy/useDeployFlow.ts +++ b/src/cli/tui/screens/deploy/useDeployFlow.ts @@ -656,6 +656,10 @@ export function useDeployFlow(options: DeployFlowOptions = {}): DeployFlowState logger.endStep('error', message); setOnlineEvalStep(prev => ({ ...prev, status: 'error', error: message })); } + } else if (onlineEvalFullSpecs.length > 0) { + // Step is rendered whenever onlineEvalConfigs is non-empty, but only runs for newly + // deployed configs. With nothing new to enable, mark it terminal so the deploy completes. + setOnlineEvalStep(prev => ({ ...prev, status: 'success' })); } // Config bundles are now managed via CloudFormation; their state is parsed