From 451a8c055d24a2d0aa1e3491721f06e65ebde996 Mon Sep 17 00:00:00 2001 From: Rohit Arunachalam Date: Fri, 17 Apr 2026 15:27:23 -0700 Subject: [PATCH] Fix prefix compaction CI after main merge --- .../json/v2/ThreadTurnsListResponse.json | 17 +++++++++++ codex-rs/core/tests/suite/compact_remote.rs | 28 ++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnsListResponse.json b/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnsListResponse.json index 2c1dfb14f8..185b49d911 100644 --- a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnsListResponse.json +++ b/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnsListResponse.json @@ -335,6 +335,13 @@ ], "type": "string" }, + "ContextCompactionKind": { + "enum": [ + "classic", + "prefix" + ], + "type": "string" + }, "DynamicToolCallOutputContentItem": { "oneOf": [ { @@ -1267,6 +1274,16 @@ "id": { "type": "string" }, + "kind": { + "anyOf": [ + { + "$ref": "#/definitions/ContextCompactionKind" + }, + { + "type": "null" + } + ] + }, "type": { "enum": [ "contextCompaction" diff --git a/codex-rs/core/tests/suite/compact_remote.rs b/codex-rs/core/tests/suite/compact_remote.rs index 756a9530ef..95195a54d6 100644 --- a/codex-rs/core/tests/suite/compact_remote.rs +++ b/codex-rs/core/tests/suite/compact_remote.rs @@ -1612,8 +1612,18 @@ async fn running_prefix_compact_is_abandoned_when_auto_compact_fires() -> Result .expect("request lock poisoned") .clone(); assert_eq!(compact_requests.len(), 2); - assert_eq!(compact_requests[0]["mode"], json!("prefix")); - assert!(compact_requests[1].get("mode").is_none()); + assert!( + compact_requests + .iter() + .any(|request| request["mode"] == json!("prefix")), + "expected one background prefix compact request" + ); + assert!( + compact_requests + .iter() + .any(|request| request.get("mode").is_none()), + "expected one foreground fallback compact request" + ); let requests = responses_mock.requests(); assert_eq!(requests.len(), 3); @@ -1688,8 +1698,18 @@ async fn running_prefix_compact_started_on_follow_up_boundary_is_abandoned_when_ .expect("request lock poisoned") .clone(); assert_eq!(compact_requests.len(), 2); - assert_eq!(compact_requests[0]["mode"], json!("prefix")); - assert!(compact_requests[1].get("mode").is_none()); + assert!( + compact_requests + .iter() + .any(|request| request["mode"] == json!("prefix")), + "expected one background prefix compact request" + ); + assert!( + compact_requests + .iter() + .any(|request| request.get("mode").is_none()), + "expected one foreground fallback compact request" + ); let requests = responses_mock.requests(); assert_eq!(requests.len(), 3);