Tighten empty interrupted fork snapshots

Keep interrupted fork snapshots empty when truncation leaves no history, so we do not manufacture a standalone <turn_aborted> marker without a prior turn boundary.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Charles Cunningham
2026-03-19 16:13:26 -07:00
parent 756f4a3ecf
commit 51ee2891f5
2 changed files with 3 additions and 10 deletions

View File

@@ -869,12 +869,7 @@ fn snapshot_fork_history(
snapshot_mode: ForkSnapshotMode,
) -> InitialHistory {
match (history, snapshot_mode) {
(InitialHistory::New, ForkSnapshotMode::Committed) => InitialHistory::New,
(InitialHistory::New, ForkSnapshotMode::Interrupted) => {
InitialHistory::Forked(vec![RolloutItem::ResponseItem(
interrupted_turn_history_marker(),
)])
}
(InitialHistory::New, _) => InitialHistory::New,
(InitialHistory::Forked(history), ForkSnapshotMode::Committed) => {
InitialHistory::Forked(history)
}

View File

@@ -210,9 +210,7 @@ fn interrupted_fork_snapshot_appends_interrupt_marker() {
.get_rollout_items()
)
.expect("serialize interrupted empty fork history"),
serde_json::to_value(vec![RolloutItem::ResponseItem(
interrupted_turn_history_marker(),
)])
.expect("serialize expected interrupted empty fork history"),
serde_json::to_value(Vec::<RolloutItem>::new())
.expect("serialize expected interrupted empty fork history"),
);
}