diff --git a/codex-rs/core/src/thread_manager.rs b/codex-rs/core/src/thread_manager.rs index 35c1bcc99b..c3383ff560 100644 --- a/codex-rs/core/src/thread_manager.rs +++ b/codex-rs/core/src/thread_manager.rs @@ -877,7 +877,23 @@ fn snapshot_fork_history( history.push(RolloutItem::ResponseItem(interrupted_turn_history_marker())); InitialHistory::Forked(history) } - (InitialHistory::Resumed(_), _) => unreachable!("truncate_before_nth_user_message"), + (InitialHistory::Resumed(resumed), ForkSnapshotMode::Committed) => { + debug_assert!( + false, + "truncate_before_nth_user_message should not return InitialHistory::Resumed" + ); + InitialHistory::Forked(resumed.history) + } + (InitialHistory::Resumed(mut resumed), ForkSnapshotMode::Interrupted) => { + debug_assert!( + false, + "truncate_before_nth_user_message should not return InitialHistory::Resumed" + ); + resumed + .history + .push(RolloutItem::ResponseItem(interrupted_turn_history_marker())); + InitialHistory::Forked(resumed.history) + } } }