diff --git a/codex-rs/core/src/features.rs b/codex-rs/core/src/features.rs index 81079439c9..5df11d4951 100644 --- a/codex-rs/core/src/features.rs +++ b/codex-rs/core/src/features.rs @@ -682,7 +682,11 @@ pub const FEATURES: &[FeatureSpec] = &[ FeatureSpec { id: Feature::EnhancedExecPolicySuggestions, key: "enhanced_exec_policy_suggestions", - stage: Stage::UnderDevelopment, + stage: Stage::Experimental { + name: "Enhanced exec policy suggestions", + menu_description: "When Codex proposes a reusable exec policy prefix, stop before the first flag-like argument and use the first segment of a compound shell command.", + announcement: "", + }, default_enabled: false, }, FeatureSpec { diff --git a/codex-rs/core/src/features_tests.rs b/codex-rs/core/src/features_tests.rs index b7784730e9..0debd60259 100644 --- a/codex-rs/core/src/features_tests.rs +++ b/codex-rs/core/src/features_tests.rs @@ -85,6 +85,29 @@ fn guardian_approval_is_experimental_and_user_toggleable() { assert_eq!(Feature::GuardianApproval.default_enabled(), false); } +#[test] +fn enhanced_exec_policy_suggestions_is_experimental_and_user_toggleable() { + let spec = Feature::EnhancedExecPolicySuggestions.info(); + let stage = spec.stage; + + assert!(matches!(stage, Stage::Experimental { .. })); + assert_eq!( + stage.experimental_menu_name(), + Some("Enhanced exec policy suggestions") + ); + assert_eq!( + stage.experimental_menu_description(), + Some( + "When Codex proposes a reusable exec policy prefix, stop before the first flag-like argument and use the first segment of a compound shell command." + ) + ); + assert_eq!(stage.experimental_announcement(), None); + assert_eq!( + Feature::EnhancedExecPolicySuggestions.default_enabled(), + false + ); +} + #[test] fn request_permissions_is_under_development() { assert_eq!(