Skip to content

fix: preserve Responses recovery across Helm relays - #972

Merged
mylukin merged 1 commit into
mainfrom
codex/fix-helm-hop-recovery
Oct 1, 2026
Merged

mylukin merged 1 commit into
mainfrom
codex/fix-helm-hop-recovery

Conversation

@mylukin

@mylukin mylukin commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

When a Responses continuation loses its original upstream WebSocket, the remote Helm knows the turn was not sent and asks the client to resend full history. A second Helm currently loses that signal when it receives a recovery disconnect, reports an unknown execution outcome, and blocks recovery.

Helm relays now request structured recovery errors and retain the reason and cooldown across SSE and HTTP error responses. Direct Codex clients keep their existing recovery disconnect behavior. Bare connection closures still remain non-replayable unknown outcomes; both Helm hops must be upgraded for the fix to take effect.

Validation: red-to-green regression with real local WebSockets, 362 focused provider/connector/bridge tests passed, shared/core/gateway typechecks passed, scoped Biome checks passed. Independent read-only P0/P1 review found no actionable issues. Production verification follows release deployment.

Co-Authored-By: Codex <noreply@openai.com>
@mylukin
mylukin merged commit c54b9f1 into main Oct 1, 2026
10 checks passed
@mylukin mylukin mentioned this pull request Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant