fix(proxy): retry accepted capacity bridge failures - #1384
Conversation
251c570 to
4d3a04d
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aabc8da834
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
b119d6c to
8062265
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8062265485
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
8043fdc to
7563c32
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
abcd853 to
fc86a9d
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0148a2f96a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
a8fca26 to
c896bb9
Compare
|
@codex review |
b4d20d3 to
b2f0839
Compare
|
Thanks for the 08-14 rebase — conflicts are cleared, all review threads are resolved, and the eventless-deadline reset landed in
Also flagging: main's #1713 archived |
|
Rebase nudge: this was one review pass from mergeable on 08-16; now needs the rebase plus the ty fix. Still wanted. |
Summary
retry-server-is-overloadedRoot cause
The bridge handled failures before
response.created, but later accepted responses could still fail with overload/capacity or an abrupt close before any model output became visible. Those failures were surfaced as terminal even though the narrow output-free request was safe to replay. The direct non-streaming and initial-stream-EOF paths similarly returned before entering their bounded transient retry path.The retry path now preserves downstream continuity and refuses replay after downstream detach, deadline expiry, visible output, or an unsafe continuation. Local transport and reader closes remain account-neutral; real upstream account errors retain their existing health penalties.
Validation
4ee8538421eaa6a46cfa199055b435dd019deb45uv run pytest tests/unit/test_proxy_http_bridge.py tests/unit/test_proxy_utils.py -q-> 1239 passeduv run pytest tests/integration/test_http_responses_bridge.py tests/integration/test_proxy_api_extended.py tests/integration/test_proxy_transient_retry.py -q-> 183 passeduv run ruff check app/modules/proxy tests/unit/test_proxy_http_bridge.py tests/unit/test_proxy_utils.py tests/integration/test_http_responses_bridge.py tests/integration/test_proxy_api_extended.py tests/integration/test_proxy_transient_retry.py-> passeduv run ty check app/modules/proxy-> passedopenspec validate retry-server-is-overloaded --strict-> passedgit diff --check origin/main...HEAD-> passed