chore(config) include_collaboration_mode_instructions (#22383)

## Summary
Adds include_collaboration_mode_instructions, which is a config
equivalent to include_permissions_instructions for collaboration modes.
Desired for situations where we want to disable this instruction from
entering the context

## Testing
- [x] Added unit test
This commit is contained in:
Dylan Hurd authored and GitHub committed 2026-05-12 15:50:10 -07:00
1 parent 862b2122ee
commit 8123bddb16
10 files changed
+90 -2

No files matched your search

+7
View File
@@ -7353,6 +7353,7 @@ async fn test_precedence_fixture_with_o3_profile() -> std::io::Result<()> {
guardian_policy_config: None,
include_permissions_instructions: true,
include_apps_instructions: true,
include_collaboration_mode_instructions: true,
include_skill_instructions: true,
include_environment_context: true,
compact_prompt: None,
@@ -7799,6 +7800,7 @@ async fn test_precedence_fixture_with_gpt3_profile() -> std::io::Result<()> {
guardian_policy_config: None,
include_permissions_instructions: true,
include_apps_instructions: true,
include_collaboration_mode_instructions: true,
include_skill_instructions: true,
include_environment_context: true,
compact_prompt: None,
@@ -7959,6 +7961,7 @@ async fn test_precedence_fixture_with_zdr_profile() -> std::io::Result<()> {
guardian_policy_config: None,
include_permissions_instructions: true,
include_apps_instructions: true,
include_collaboration_mode_instructions: true,
include_skill_instructions: true,
include_environment_context: true,
compact_prompt: None,
@@ -8104,6 +8107,7 @@ async fn test_precedence_fixture_with_gpt5_profile() -> std::io::Result<()> {
guardian_policy_config: None,
include_permissions_instructions: true,
include_apps_instructions: true,
include_collaboration_mode_instructions: true,
include_skill_instructions: true,
include_environment_context: true,
compact_prompt: None,
@@ -9341,6 +9345,7 @@ async fn prompt_instruction_blocks_can_be_disabled_from_config_and_profiles() ->
codex_home.path().join(CONFIG_TOML_FILE),
r#"include_permissions_instructions = false
include_apps_instructions = false
include_collaboration_mode_instructions = false
include_environment_context = false
profile = "chatty"
@@ -9349,6 +9354,7 @@ include_instructions = false
[profiles.chatty]
include_permissions_instructions = true
include_collaboration_mode_instructions = true
include_environment_context = true
"#,
)?;
@@ -9361,6 +9367,7 @@ include_environment_context = true
assert!(config.include_permissions_instructions);
assert!(!config.include_apps_instructions);
assert!(config.include_collaboration_mode_instructions);
assert!(!config.include_skill_instructions);
assert!(config.include_environment_context);
Ok(())
+8
View File
@@ -465,6 +465,9 @@ pub struct Config {
/// Whether to inject the `<apps_instructions>` developer block.
pub include_apps_instructions: bool,
/// Whether to inject the `<collaboration_mode>` developer block.
pub include_collaboration_mode_instructions: bool,
/// Whether to inject the `<skills_instructions>` developer block.
pub include_skill_instructions: bool,
@@ -2816,6 +2819,10 @@ impl Config {
.include_apps_instructions
.or(cfg.include_apps_instructions)
.unwrap_or(true);
let include_collaboration_mode_instructions = config_profile
.include_collaboration_mode_instructions
.or(cfg.include_collaboration_mode_instructions)
.unwrap_or(true);
let include_skill_instructions = cfg
.skills
.as_ref()
@@ -3031,6 +3038,7 @@ impl Config {
commit_attribution,
include_permissions_instructions,
include_apps_instructions,
include_collaboration_mode_instructions,
include_skill_instructions,
include_environment_context,
// The config.toml omits "_mode" because it's a config file. However, "_mode"