mirror of
https://github.com/openai/codex.git
synced 2026-09-11 20:36:49 +00:00
fix(core): keep truncated forks materialized
This commit is contained in:
@@ -322,15 +322,19 @@ impl AgentControl {
|
||||
)
|
||||
.await;
|
||||
}
|
||||
if let SpawnAgentForkMode::LastNTurns(last_n_turns) = fork_mode {
|
||||
forked_rollout_items =
|
||||
truncate_rollout_to_last_n_fork_turns(&forked_rollout_items, *last_n_turns);
|
||||
match fork_mode {
|
||||
SpawnAgentForkMode::FullHistory => {
|
||||
let fork_boundary = fork_reference_user_message_boundary(&forked_rollout_items);
|
||||
forked_rollout_items.push(RolloutItem::ForkReference(ForkReferenceItem {
|
||||
rollout_path: rollout_path.clone(),
|
||||
nth_user_message: fork_boundary,
|
||||
}));
|
||||
}
|
||||
SpawnAgentForkMode::LastNTurns(last_n_turns) => {
|
||||
forked_rollout_items =
|
||||
truncate_rollout_to_last_n_fork_turns(&forked_rollout_items, *last_n_turns);
|
||||
}
|
||||
}
|
||||
let fork_boundary = fork_reference_user_message_boundary(&forked_rollout_items);
|
||||
forked_rollout_items.push(RolloutItem::ForkReference(ForkReferenceItem {
|
||||
rollout_path: rollout_path.clone(),
|
||||
nth_user_message: fork_boundary,
|
||||
}));
|
||||
|
||||
let mut output =
|
||||
FunctionCallOutputPayload::from_text(FORKED_SPAWN_AGENT_OUTPUT_MESSAGE.to_string());
|
||||
|
||||
@@ -35,7 +35,8 @@ fn test_config(codex_home: &Path) -> RolloutConfig {
|
||||
fn write_session_file(root: &Path, ts: &str, uuid: Uuid) -> std::io::Result<PathBuf> {
|
||||
let day_dir = root.join("sessions/2025/01/03");
|
||||
fs::create_dir_all(&day_dir)?;
|
||||
let path = day_dir.join(format!("rollout-{ts}-{uuid}.jsonl"));
|
||||
let file_ts = ts.replace(':', "-");
|
||||
let path = day_dir.join(format!("rollout-{file_ts}-{uuid}.jsonl"));
|
||||
let mut file = File::create(&path)?;
|
||||
let meta = serde_json::json!({
|
||||
"timestamp": ts,
|
||||
|
||||
Reference in New Issue
Block a user