mirror of
https://github.com/openai/codex.git
synced 2026-10-25 18:28:38 +00:00
Add safer TUI defaults for cyber models (#37055)
## What changed - Propagate the optional `modelSpecialty` field through the model catalog and app-server `model/list` response. - When a newly selected model has the `cyber` specialty, default an active TUI thread to workspace-write permissions with on-request approval. Use auto review when available, otherwise keep the user as reviewer, while respecting configured permission requirements. - Show a notice when auto review is applied and strengthen the full-access warning for cyber models. - Preserve explicitly selected permissions when only reasoning settings change. ## Testing - Cover auto-review defaults, requirement-aware fallback behavior, permission preservation across reasoning changes, and the new warning notice. GitOrigin-RevId: 8f25b0082d3051d9ff91f7355921236d0f82f758
This commit is contained in:
@@ -210,6 +210,8 @@ pub struct ModelPreset {
|
||||
pub display_name: String,
|
||||
/// Short human description shown in UIs.
|
||||
pub description: String,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub model_specialty: Option<String>,
|
||||
/// Reasoning effort applied when none is explicitly chosen.
|
||||
pub default_reasoning_effort: ReasoningEffort,
|
||||
/// Supported reasoning effort options.
|
||||
@@ -438,6 +440,8 @@ pub struct ModelInfo {
|
||||
pub use_responses_lite: bool,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub auto_review_model_override: Option<String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
pub model_specialty: Option<String>,
|
||||
#[serde(
|
||||
default,
|
||||
skip_serializing_if = "Option::is_none",
|
||||
@@ -721,6 +725,7 @@ impl From<ModelInfo> for ModelPreset {
|
||||
model: info.slug.clone(),
|
||||
display_name: info.display_name,
|
||||
description: info.description.unwrap_or_default(),
|
||||
model_specialty: info.model_specialty,
|
||||
default_reasoning_effort: info
|
||||
.default_reasoning_level
|
||||
.unwrap_or(ReasoningEffort::None),
|
||||
@@ -846,6 +851,7 @@ mod tests {
|
||||
supports_search_tool: false,
|
||||
use_responses_lite: false,
|
||||
auto_review_model_override: None,
|
||||
model_specialty: None,
|
||||
tool_mode: None,
|
||||
multi_agent_version: None,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user