[codex] Send request-scoped turn state over WebSocket - #27996
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8923c8c496
ℹ️ 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".
8923c8c to
03b5d17
Compare
|
Codex Review: Didn't find any major issues. Keep them coming! 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". |
4e2195a to
3acc4ee
Compare
|
Pruned unrelated HTTP-only coverage; this PR now tests only the WebSocket behavior it changes. @codex review |
3acc4ee to
572f6ee
Compare
572f6ee to
00c8016
Compare
Context
Turn state is scoped to one logical turn, but the WebSocket path currently exchanges it through upgrade headers, which are scoped to the physical connection. A connection may be reused across turns, so its handshake cannot represent the turn lifecycle reliably.
Change
Exchange turn state on each WebSocket response request instead:
response.create.client_metadataresponse.metadataeventModelClientSessionOnceLockThis gives WebSocket requests the same first-value-wins contract as the existing HTTP path.
Test plan
Integration coverage verifies that:
CI validates the full change.
Stack
This is 1/2. #28002 builds on this request-scoped transport to carry established state through compact requests.