mirror of
https://github.com/openai/codex.git
synced 2026-10-26 18:38:47 +00:00
Add experimental context management activation (#42385)
## What changed - Add the under-development `features.context_management.experimental_mode` configuration and schema. - For eligible ChatGPT Plus, Pro, and Pro Lite sessions using the Codex backend, enable token-budget context, history notes, and the `new_context` tool when experimental context management is configured. - Keep the feature disabled for custom providers, provider credentials, non-Codex endpoints, and temporary structured threads. ## Testing - Cover subscription eligibility, backend restrictions, configuration resolution, token-budget guidance, and temporary-thread overrides. GitOrigin-RevId: 19402af19c4d69e09a7cdb3687ee7d233f6a562a
This commit is contained in:
@@ -407,7 +407,7 @@ async fn temporary_recap_threads_disable_memories_and_remote_mcp_servers() -> Re
|
||||
let codex_home = tempdir()?;
|
||||
std::fs::write(
|
||||
codex_home.path().join("config.toml"),
|
||||
"[mcp_servers.filesystem]\ncommand = 'true'\n",
|
||||
"features.context_management.experimental_mode = true\n[mcp_servers.filesystem]\ncommand = 'true'\n",
|
||||
)?;
|
||||
app.config.codex_home = codex_home.path().to_path_buf().abs();
|
||||
app.config.sqlite = codex_state::SqliteConfig::new_for_testing(codex_home.path().abs());
|
||||
@@ -433,6 +433,7 @@ async fn temporary_recap_threads_disable_memories_and_remote_mcp_servers() -> Re
|
||||
let starts = recorded_params(&requests, "thread/start");
|
||||
assert_eq!(starts.len(), 1);
|
||||
assert_eq!(starts[0]["config"]["features.memories"], false);
|
||||
assert_eq!(starts[0]["config"]["features.context_management"], false);
|
||||
assert!(starts[0]["config"].get("features.memory_tool").is_none());
|
||||
assert_eq!(
|
||||
starts[0]["config"]["mcp_servers"]["filesystem"]["enabled"],
|
||||
|
||||
@@ -60,6 +60,7 @@ pub(crate) async fn start_temporary_thread(
|
||||
("features.apps".to_string(), false.into()),
|
||||
("features.code_mode".to_string(), false.into()),
|
||||
("features.code_mode_only".to_string(), false.into()),
|
||||
("features.context_management".to_string(), false.into()),
|
||||
("features.current_time_reminder".to_string(), false.into()),
|
||||
("features.deferred_executor".to_string(), false.into()),
|
||||
("features.enable_fanout".to_string(), false.into()),
|
||||
|
||||
Reference in New Issue
Block a user