Disable reasoning summaries by default for new TUI threads (#46533)

## What changed

Default `model_reasoning_summary` to `none` instead of `detailed` when starting a new TUI thread, while preserving explicit settings. Enabling `features.concurrent_reasoning_summaries` alone no longer enables summaries.

## Testing

Update thread configuration and embedded app-server request tests to cover the disabled default, explicit summary settings, and concurrent summary delivery.

GitOrigin-RevId: 16b0711d92c28944afd6bc85d44a9de0282a6533
This commit is contained in:
Celia Chen
2026-09-18 18:22:11 +00:00
committed by copyberry
parent 01f92c5780
commit 61b08f1011
2 changed files with 22 additions and 5 deletions

View File

@@ -1944,7 +1944,7 @@ fn new_thread_reasoning_overrides(config: &Config) -> Option<HashMap<String, ser
let mut overrides = config_request_overrides_from_config(config).unwrap_or_default();
let summary = config
.model_reasoning_summary
.unwrap_or(codex_protocol::config_types::ReasoningSummary::Detailed);
.unwrap_or(codex_protocol::config_types::ReasoningSummary::None);
overrides.insert(
"model_reasoning_summary".to_string(),
serde_json::Value::String(summary.to_string()),

View File

@@ -10,14 +10,24 @@ use serde_json::json;
#[tokio::test]
async fn embedded_reasoning_defaults_reach_responses() -> Result<()> {
for (settings, summary, stream_options) in [
("", json!("detailed"), json!(null)),
("", json!(null), json!(null)),
(
"[features]\nconcurrent_reasoning_summaries = false",
json!("detailed"),
json!(null),
json!(null),
),
(
"[features]\nconcurrent_reasoning_summaries = true",
json!(null),
json!(null),
),
(
"model_reasoning_summary = 'detailed'",
json!("detailed"),
json!(null),
),
(
"model_reasoning_summary = 'detailed'\n[features]\nconcurrent_reasoning_summaries = true",
json!("detailed"),
json!({"reasoning_summary_delivery": "sequential_cutoff"}),
),
@@ -102,12 +112,19 @@ stream_max_retries = 0
}
#[tokio::test]
async fn new_tui_threads_request_summaries_unless_explicitly_disabled() {
async fn new_tui_threads_disable_summaries_unless_explicitly_enabled() {
let temp_dir = tempfile::tempdir().expect("tempdir");
for (config_text, expected_summary, expected_concurrent) in [
("", "detailed", false),
("", "none", false),
(
"[features]\nconcurrent_reasoning_summaries = true",
"none",
false,
),
("model_reasoning_summary = 'auto'", "auto", false),
("model_reasoning_summary = 'detailed'", "detailed", false),
(
"model_reasoning_summary = 'detailed'\n[features]\nconcurrent_reasoning_summaries = true",
"detailed",
true,
),