fix(proxy): replay full resend after bridge owner conflict - #1557
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
22c0e9d to
1f2dbfe
Compare
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Two issues before this can land, beyond the rebase (#1562 rewrote the reconnect paths in streaming.py; #1394 merged on top):
The conflict->verified-full-resend lane itself keeps all the existing gates and looks sound for the observed one-turn 503; with the spec delta and the fork gates tightened (or the fork split into its own PR), this is close. |
Summary
HTTP bridge full-resend recovery now treats
continuity_owner_conflictthe same way as an unavailable required owner when the existing account-neutral replay safety checks pass. This prevents stale Codex session/turn affinity from surfacing a one-turn 503 when the client has resent enough plaintext context to start a fresh bridge safely.Type of change
fix:— bug fix (no behavior change beyond the bug)feat:— new user-facing feature or capabilityrefactor:— internal refactor (no behavior change, no API change)docs:— documentation onlychore:/ci:/build:— tooling, CI, packagingtest:— test-only change!after the type, e.g.feat!:or includeBREAKING CHANGE:footer)Linked issue: n/a
OpenSpec
Change directory: n/a
Changes
continuity_owner_conflict, while keeping the existing safety gates: no forwarded request, no input-file owner, matching stored context prefix fingerprint, retained prior output, and account-neutral replay payload.previous_response_id.Simplicity
simplicity-budget-approvedlabel).env.example/ dashboard nav within budget (orsimplicity-budget-approvedlabel requested)Test plan
Screenshots / output
Live symptom observed before the fix:
The regression proves this class now succeeds through an account-neutral full-resend replay instead of surfacing 503.
Checklist
<type>(<scope>)?: <subject>).uv run pre-commit run local-ci --hook-stage manual --all-filesor the relevantmake <target>subset locally.openspec validate --specspasses and/opsx:verifyis clean.