fix(proxy): keep file-pin owner on soft 1011 reconnect - #1761
Conversation
A live input_file pin is hard ownership. Soft HTTP-bridge reconnect after upstream 1011 was treating that owner as skippable prompt-cache locality.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 117a475aa2
ℹ️ 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".
Move reconnect owner resolution out of mixin.py so the architecture check stays green, and update the remaining fresh-upstream call-shape assertion.
|
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 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". |
Fresh-upstream retry swallowed the required-owner envelope and the submit-on-closed path replaced it with generic upstream_unavailable.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6234fb98fa
ℹ️ 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".
Terminal reconnect selection failures (no_accounts, preferred miss, local cap) were still emitted as generic selection errors even when a live file pin made the owner required.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 65a634d888
ℹ️ 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".
Precreated retry already fail-closes when the required file owner cannot be selected; the envelope is now previous_response_owner_unavailable.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6230c97b9d
ℹ️ 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".
Selecting the file-pin owner and then failing to open its replacement socket still collapsed submit-on-closed into generic upstream_unavailable.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9eaac241bd
ℹ️ 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".
A budget-expired ClientError or TimeoutError while opening the file-pin owner's replacement socket still collapsed submit-on-closed to a generic upstream_unavailable envelope.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bca9ba7f22
ℹ️ 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".
A budget-expired RefreshError for the file-pin owner still collapsed submit-on-closed into generic upstream_unavailable.
|
@codex review |
|
Codex Review: Didn't find any major issues. You're on a roll. 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". |
Summary
A live
input_file.file_idpin is hard ownership. Soft HTTP-bridge reconnect after upstream1011treated that owner as skippable prompt-cache locality, so submit-on-closed recovery could send the file to another account.Type of change
fix:— bug fix (no behavior change beyond the bug)Linked issue: none — discovered on current
main; adjacent to #1521 (cross-replica pin persistence), not a duplicate.OpenSpec
shape, SSE framing, OAuth flow) and preserves upstream-equivalent behavior
Change directory:
openspec/changes/keep-file-pin-owner-on-soft-1011-reconnect/Changes
_reconnect_http_bridge_sessiontreatsfile_required_preferred_accountas a required owner (falls back to the current session account ifpreferred_account_idis missing)._retry_http_bridge_request_on_fresh_upstreamnow passesrequire_preferred_accountwhen a live file pin is present.1011reconnects without a file pin still skip the closed account.Test plan
Full local CI not run. GitHub required CI is the integration gate.
Related work
Checklist
<type>(<scope>)?: <subject>).