80764b6d39
gpt-5.6 on the Codex backend answers a large turn with a server-side `compaction` checkpoint and no message. The checkpoint rides the `codex_reasoning_items` sidecar, so the interim assistant message looks "replayable" and `interim_replayable` suppresses the continuation nudge. But replayable is not the same as different. A checkpoint carries no answer and no new instruction, and a replayed checkpoint makes `prune_pre_checkpoint_items` drop every pre-checkpoint item. Measured on a real 262-message session: the wire collapses from 489 items to 12 — all 186 `function_call` / `function_call_output` pairs deleted — and ends on an empty assistant turn. The model has nothing to answer, so it returns another empty response; the next attempt sends the same bytes (the provider's prefix cache reports 99-100% on the repeats) and returns the same nothing. Three attempts later the turn dies with "Codex response remained incomplete after 3 continuation attempts" and the whole turn's work is lost. Keep the first continuation bare — the model often just needs another turn, and nudging immediately would cut multi-phase work short. Once that bare retry has also come back incomplete, it is proven not to work for this turn, so every remaining attempt carries the nudge.