mirror of
https://github.com/openai/codex.git
synced 2026-05-16 17:23:57 +00:00
Put NotNeeded first in pre-turn compaction outcome match
This commit is contained in:
@@ -4720,6 +4720,14 @@ async fn persist_pre_turn_items_for_compaction_outcome(
|
||||
response_item: ResponseItem,
|
||||
) {
|
||||
match outcome {
|
||||
PreTurnCompactionOutcome::NotNeeded => {
|
||||
if !pre_turn_context_items.is_empty() {
|
||||
sess.record_conversation_items(turn_context, pre_turn_context_items)
|
||||
.await;
|
||||
}
|
||||
sess.record_user_prompt_and_emit_turn_item(turn_context.as_ref(), input, response_item)
|
||||
.await;
|
||||
}
|
||||
PreTurnCompactionOutcome::CompactedWithIncomingItems => {
|
||||
// Pre-turn compaction includes incoming items only for the compaction request itself.
|
||||
// Persist canonical turn context directly above the incoming user item so context
|
||||
@@ -4732,14 +4740,6 @@ async fn persist_pre_turn_items_for_compaction_outcome(
|
||||
sess.record_user_prompt_and_emit_turn_item(turn_context.as_ref(), input, response_item)
|
||||
.await;
|
||||
}
|
||||
PreTurnCompactionOutcome::NotNeeded => {
|
||||
if !pre_turn_context_items.is_empty() {
|
||||
sess.record_conversation_items(turn_context, pre_turn_context_items)
|
||||
.await;
|
||||
}
|
||||
sess.record_user_prompt_and_emit_turn_item(turn_context.as_ref(), input, response_item)
|
||||
.await;
|
||||
}
|
||||
// TODO(ccunningham): Followup PR will use compacting excluding incoming items as a fallback
|
||||
// (even though it is out of distribution for current models).
|
||||
// Also future models may prefer compacting pre-turn history without incoming turn items.
|
||||
|
||||
Reference in New Issue
Block a user