-
Notifications
You must be signed in to change notification settings - Fork 1.1k
fix(responses): enforce shared send budgets across retries and recovery #4621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
luvs01
wants to merge
28
commits into
lidge-jun:dev
Choose a base branch
from
luvs01:agent/key429-rotation-cap-20260914
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
78957f7
fix(responses): bound API-key 429 rotations across continuations
luvs01 e7dc2d7
fix(responses): retain every candidate after an unpooled key
luvs01 9336e38
fix(responses): enforce key rotation allowance in sidecar bridges
luvs01 c24a2d4
Merge commit 'aa91958e3b050084e1edc07dcd66b05ef6eac604' into agent/ke…
luvs01 855c435
fix(responses): refund unused key recovery admission reservations
luvs01 5efbb30
refactor: split changed contracts to respect the file-size ratchet
luvs01 613cea4
fix(responses): share reservation accounting across combo scopes
luvs01 90f6c2b
fix(responses): settle prepaid combo sends and preserve later targets
luvs01 63807e3
fix(responses): count reset-only key recovery sends
luvs01 0833f9f
fix(responses): settle OAuth replays and compact handoff sends once
luvs01 7682ad9
Merge dev and preserve shared send budgets across extracted owners
luvs01 6da3d84
fix(responses): preserve extracted budget wiring and pre-dispatch ref…
lidge-jun 3b08288
test(responses): match the oauth-429 dispatch ladder by shape, not by…
lidge-jun 9c749cc
fix(responses): retain prepaid compact recovery through combo scopes
luvs01 1c37fc2
fix(responses): transfer OAuth hop bookings into adapter send budgets
luvs01 7713419
test(responses): cover Kiro OAuth rotation during empty-completion retry
luvs01 67846b9
fix(responses): fund initial terminal repair from shared reserve
luvs01 6ce3aee
test(responses): verify retry budget wiring structurally
luvs01 107f5d8
fix(responses): preserve continuation recovery reservations
luvs01 8885847
fix(responses): settle passthrough recovery permit once
luvs01 bdf3dd9
fix(adapters): route caller-owned inference through supplied executor
luvs01 1e3f1e1
fix(adapters): admit each physical inference against shared budget
luvs01 7941c47
fix(responses): fund adapter recovery and reuse pacing slots
luvs01 9046c96
Merge current dev into Responses budget contract follow-up
luvs01 5eb1193
fix(responses): admit 401 recovery before credential mutation
luvs01 83c4b56
fix(responses): refund combo bookings on local refusal
luvs01 02c847f
Merge current dev account-scope guards into budget follow-up
luvs01 0c1690b
Merge current dev context and adapter updates into budget follow-up
luvs01 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 16631
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 35418
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 50376
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 50375
State the empty-completion trigger precisely.
The Responses empty-completion guard treats
text_deltawith non-empty text and all tool-call events as content. It retries only when no such event occurred. Therefore, a tool-call-only Kiro turn is not eligible for this retry.The phrase “without visible output” does not state that condition clearly and can be read as including a tool-call-only turn. Replace it with “without output text or a tool call” in
docs-site/src/content/docs/reference/configuration/providers.md:230, matchingsrc/server/responses/empty-completion-guard.tsandstructure/transports/streaming-health.md.🤖 Prompt for AI Agents