mirror of
https://github.com/openai/codex.git
synced 2026-05-04 13:21:54 +03:00
Move previous turn context tracking into ContextManager history (#12179)
## Summary - add `previous_context_item: Option<TurnContextItem>` to `ContextManager` - expose session/state accessors for reading and updating the stored previous context item - switch settings diffing to use `TurnContextItem` instead of `TurnContext` - remove submission-loop local `previous_context` and persist the previous context item in history ## Testing - `just fmt` - `just fix -p codex-core` - `cargo test -p codex-core --test all model_switching::` - `cargo test -p codex-core --test all collaboration_instructions::` - `cargo test -p codex-core --test all personality::` - `cargo test -p codex-core --test all permissions_messages::permissions_message_not_added_when_no_change`
This commit is contained in:
committed by
GitHub
parent
f6fd4cb3f5
commit
f2d5842ed1
@@ -118,13 +118,7 @@ async fn run_compact_task_inner(
|
||||
// Reuse one client session so turn-scoped state (sticky routing, websocket append tracking)
|
||||
// survives retries within this compact turn.
|
||||
|
||||
// TODO: If we need to guarantee the persisted mode always matches the prompt used for this
|
||||
// turn, capture it in TurnContext at creation time. Using SessionConfiguration here avoids
|
||||
// duplicating model settings on TurnContext, but an Op after turn start could update the
|
||||
// session config before this write occurs.
|
||||
let collaboration_mode = sess.current_collaboration_mode().await;
|
||||
let rollout_item =
|
||||
RolloutItem::TurnContext(turn_context.to_turn_context_item(collaboration_mode));
|
||||
let rollout_item = RolloutItem::TurnContext(turn_context.to_turn_context_item());
|
||||
sess.persist_rollout_items(&[rollout_item]).await;
|
||||
|
||||
loop {
|
||||
|
||||
Reference in New Issue
Block a user