rollout: own turn lifecycle replay - #29725
Conversation
ecfa6f4 to
4bb96c6
Compare
4513560 to
1060c61
Compare
4bb96c6 to
4bc1eb0
Compare
1060c61 to
477f370
Compare
4bc1eb0 to
087929d
Compare
477f370 to
583cc81
Compare
087929d to
251071f
Compare
583cc81 to
063c4e1
Compare
251071f to
f925fca
Compare
063c4e1 to
ef724d0
Compare
f925fca to
4afbe9d
Compare
ef724d0 to
eb612f1
Compare
4afbe9d to
fe000bb
Compare
eb612f1 to
2424e1f
Compare
fe000bb to
c99a024
Compare
2424e1f to
3590cf4
Compare
c99a024 to
09e933f
Compare
3590cf4 to
1550250
Compare
09e933f to
817c284
Compare
1550250 to
a8788d4
Compare
817c284 to
45f10b6
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 45f10b61f3
ℹ️ 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".
4b7cb7b to
88479f3
Compare
## Why Core and tools need to request MCP elicitation without constructing app-server wire payloads. The request should remain a neutral protocol concept until app-server serializes it for a client. ## What changed - Switched core and tools to `codex_protocol::approvals::ElicitationRequest`. - Derived turn and server context inside core instead of carrying app-server request types through lower layers. - Kept the app-server payload unchanged through an explicit boundary conversion. - Removed the remaining production app-server-protocol dependency from tools. ## Stack This is PR 5 of 6, stacked on [PR #29723](#29723). Review only the delta from `codex/split-connector-metadata-types`. Next: [PR #29725](#29725). ## Validation - `codex-core` MCP coverage passed: 87 tests. - Tools elicitation and app-server round-trip coverage passed.
45f10b6 to
d33a0b4
Compare
d33a0b4 to
9285b7b
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! 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". |
## Why Core and tools need to request MCP elicitation without constructing app-server wire payloads. The request should remain a neutral protocol concept until app-server serializes it for a client. ## What changed - Switched core and tools to `codex_protocol::approvals::ElicitationRequest`. - Derived turn and server context inside core instead of carrying app-server request types through lower layers. - Kept the app-server payload unchanged through an explicit boundary conversion. - Removed the remaining production app-server-protocol dependency from tools. ## Stack This is PR 5 of 6, stacked on [PR openai#29723](openai#29723). Review only the delta from `codex/split-connector-metadata-types`. Next: [PR openai#29725](openai#29725). ## Validation - `codex-core` MCP coverage passed: 87 tests. - Tools elicitation and app-server round-trip coverage passed.
|
just going to remake this |
Why
Core needs turn lifecycle replay when resuming, forking, and truncating rollouts, but that logic currently comes from app-server's history reducer. Rollout replay should not require an app-server wire dependency.
What changed
RolloutTurnLifecycleTrackerincodex-rollout.Stack
This is PR 6 of 6, stacked on PR #29724. Review only the delta from
codex/split-mcp-elicitation-types.Validation
just test -p codex-rollout: 86 tests passed.just argument-comment-lint: all 690 Bazel targets passed.just fmtcodex-corethread-manager coverage passed: 24 tests.