Files
codex/codex-rs
jif 2a6ecbb93c Preserve recent speech when trimming realtime transcripts (#54257)
## Why

Trimming interleaved realtime transcripts by utterance order can discard the latest speech from an earlier utterance. Evicting after each delta can also drop one speaker before the other speaker's delta from the same frame arrives, losing recent instructions at handoff.

## What changed

Use raw frame recency to trim timed frameless bidirectional transcripts within the 8 KiB budget. Defer eviction until the frame advances or the transcript is consumed, and retain both speakers' suffixes when they share the newest frame. Preserve conversation order and fall back to FIFO eviction when timing is unavailable.

Track trimmed prefixes so final transcripts can extend retained speech without making delayed finals appear newer.

## Testing

Add regression coverage for frame recency, same-frame event ordering, UTF-8 truncation, delayed finals, and untimed fallback. Add an app-server handoff test verifying that both speakers' recent speech and the latest user instruction survive while live transcript notifications remain unchanged.

GitOrigin-RevId: b01b729d8bdd4acb26e0385442ce40819355deac
2026-10-15 10:46:59 +00:00
..
…
…