mirror of
https://github.com/openai/codex.git
synced 2026-10-19 16:17:49 +00:00
[0.155 hotfix] Restore none as the TUI reasoning summary default (#46467)
New local TUI sessions in 0.155 request detailed reasoning summaries by default, which causes request rejection on providers that do not support reasoning summaries. Restore `none` as the default while honoring explicit `auto`, `concise`, and `detailed` settings and concurrent delivery when summaries are explicitly enabled. This focused backport targets `release/0.155`, based on the content commit for `rust-v0.155.0`. It includes regression coverage for new-thread settings and the outbound Responses request. Validation: - Patch applies cleanly to the 0.155 release source; `git diff --check` passes. - All 9 focused reasoning-default and reasoning-status tests passed, including the outbound Responses request and existing snapshots. - `just fmt` completed; the hotfix Rust files were unchanged. Unrelated justfile rewrites from the locally installed formatter were discarded. - All 4,589 non-ignored TUI tests passed across the rerun and a follow-up of the remaining 196 tests after a runner disconnection. The earlier cursor failures were caused by `NO_COLOR=1` / `TERM=dumb`; the tests pass with normal terminal settings and no code or snapshot changes. - Release-build checks passed on Linux, macOS, and Windows. CI currently reports failures in unchanged release-base files: - [Codespell](https://github.com/openai/codex/actions/runs/35380630185/job/105715678757) flags the existing `OFlags::WRONLY` identifier. - [Manifest validation](https://github.com/openai/codex/actions/runs/35380630185/job/105715679235) finds a stale feature exception for `codex-rs/code-mode/Cargo.toml`. - [Dependency audit](https://github.com/openai/codex/actions/runs/35380630185/job/105715679009) reports RUSTSEC-2026-0285 for the existing `rustls 0.23.36` lockfile entry. - [cargo shear](https://github.com/openai/codex/actions/runs/35380630185/job/105716110806) reports an existing unlinked file, `codex-rs/login/src/internal_identity.rs`. Additional CI failures are also outside the changed TUI files: an unused `body_json` import in `core/tests/suite/openai_file_mcp.rs` (Bazel Clippy), a format-driver expectation in the Python SDK tests, and a transient `Text file busy` error while spawning a code-mode test helper (musl). These paths are unchanged from the release base.
This commit is contained in:
@@ -1913,7 +1913,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()),
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user