From 6eb72a830ece3e2b4c6c85e5a9c2b72b59e0dae9 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 22 Jun 2026 09:27:29 +0800 Subject: [PATCH] fix: gate fallback fast reset notices --- extensions/codex/src/app-server/run-attempt.ts | 4 +++- src/auto-reply/reply/agent-runner-cli-dispatch.ts | 4 +++- src/auto-reply/reply/followup-runner.ts | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/extensions/codex/src/app-server/run-attempt.ts b/extensions/codex/src/app-server/run-attempt.ts index 1e684a7141cf..c3f0f2834ba4 100644 --- a/extensions/codex/src/app-server/run-attempt.ts +++ b/extensions/codex/src/app-server/run-attempt.ts @@ -3129,7 +3129,9 @@ export async function runCodexAppServerAttempt( systemPromptReport, }; } finally { - await maybeEmitFastModeAutoResetBestEffort(); + if (params.isFinalFallbackAttempt !== false) { + await maybeEmitFastModeAutoResetBestEffort(); + } codexModelCallDiagnostics.emitError( "codex app-server run completed without model-call terminal event", ); diff --git a/src/auto-reply/reply/agent-runner-cli-dispatch.ts b/src/auto-reply/reply/agent-runner-cli-dispatch.ts index ffa03a7476bb..2d177607f2b8 100644 --- a/src/auto-reply/reply/agent-runner-cli-dispatch.ts +++ b/src/auto-reply/reply/agent-runner-cli-dispatch.ts @@ -540,7 +540,9 @@ async function runCliAgentWithLifecycleInternal( for (const bridge of bridges) { bridge.unsubscribe(); } - await maybeEmitFastModeAutoReset(); + if (params.runParams.isFinalFallbackAttempt !== false) { + await maybeEmitFastModeAutoReset(); + } if (emitLifecycleTerminal && !lifecycleTerminalEmitted) { emitAgentEvent({ runId: params.runId, diff --git a/src/auto-reply/reply/followup-runner.ts b/src/auto-reply/reply/followup-runner.ts index f1eadfd67536..6d47d53840e9 100644 --- a/src/auto-reply/reply/followup-runner.ts +++ b/src/auto-reply/reply/followup-runner.ts @@ -1066,6 +1066,7 @@ export function createFollowupRunner(params: { fastModeStartedAtMs, fastModeAutoOnSeconds: candidateFastMode.fastModeAutoOnSeconds, fastModeAutoProgressState, + isFinalFallbackAttempt: runOptions?.isFinalFallbackAttempt, timeoutMs: run.timeoutMs, runTimeoutOverrideMs: run.runTimeoutOverrideMs, runId,