Preserve user text parts during local compaction - #48115
Merged
copyberry[bot] merged 1 commit intoSep 25, 2026
Merged
copyberry[bot] merged 1 commit into
copyberry[bot] merged 1 commit into
Conversation
## Why Local compaction flattened retained user messages into a single text part, losing their original content boundaries and per-part annotations. ## What changed Preserve the original content parts and annotations for text-only user messages that fit within the token budget. Borrow the original messages until selected history entries are materialized, and rebuild only the text fallback for truncated messages or messages containing media. ## Testing Extend unit coverage for text boundaries, empty parts, omitted media, and retained metadata. Update the compaction integration test to verify that a multipart user message survives unchanged in the next request and retains its content parts and annotations in persisted replacement history. GitOrigin-RevId: 39d9df9ae5360506c2a4bdeac76d89198dbbd39c
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/39d9df9ae5360506c2a4bdeac76d89198dbbd39c
branch
from
September 25, 2026 15:03
d7c3d67 to
bd3d4d1
Compare
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/39d9df9ae5360506c2a4bdeac76d89198dbbd39c
branch
September 25, 2026 15:03
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.
Preserve user text parts during local compaction
Why
Local compaction flattened retained user messages into a single text part, losing their original content boundaries and per-part annotations.
What changed
Preserve the original content parts and annotations for text-only user messages that fit within the token budget. Borrow the original messages until selected history entries are materialized, and rebuild only the text fallback for truncated messages or messages containing media.
Testing
Extend unit coverage for text boundaries, empty parts, omitted media, and retained metadata. Update the compaction integration test to verify that a multipart user message survives unchanged in the next request and retains its content parts and annotations in persisted replacement history.