Move apply-patch file changes into turn items#20540
Merged
pakrym-oai merged 1 commit intomainfrom May 1, 2026
Merged
Conversation
3672fdb to
4df7086
Compare
4df7086 to
c30f9e4
Compare
This was referenced May 1, 2026
owenlin0
approved these changes
May 1, 2026
Collaborator
owenlin0
left a comment
There was a problem hiding this comment.
nice, this makes the app-server layer simpler too!
at some point (maybe once we migrate everything to CoreTurnItems?) we should persist these in the rollout instead of the legacy EventMsg ones
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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Why
Apply-patch file changes are now part of the core turn item stream, so v2 clients can consume the same first-class item lifecycle path used by other turn items instead of relying on app-server-specific remapping from legacy patch events.
What changed
TurnItem::FileChangecarrying apply-patch changes and completion metadata.ItemStarted/ItemCompletedwith the newFileChangeitem while preserving legacyPatchApplyBegin/PatchApplyEndfan-out.event_mappingfrom remapping old patch begin/end events into item notifications.Verification
cargo test -p codex-protocol -p codex-app-server-protocolcargo test -p codex-core --test all apply_patch_tool_executes_and_emits_patch_eventscargo test -p codex-app-server bespoke_event_handling