Enable git attribution across Codex entry points (#34819)

## What changed

- Install the git attribution extension in the app server, MCP server, and `codex debug prompt-input` so authenticated workspace policy controls the commit and pull request attribution instructions sent to the model.
- Resolve attribution settings from the process-level ChatGPT base URL, independent of per-thread or per-tool configuration overrides.
- Treat git attribution as contextual developer content when mapping model events.

## Testing

- Cover policy fetch retries, workspace switches, rollbacks, cold thread resumes with legacy instructions, MCP tool calls, and prompt-debug output.

GitOrigin-RevId: 57d182c432c20d7c1c6c429057b6163c9f32088d
This commit is contained in:
jay authored and copyberry committed 2026-07-22 20:23:35 +00:00
1 parent 4ebd976312
commit 88eb3a2b8a
21 files changed
+600 -166

No files matched your search

@@ -4,6 +4,7 @@ use anyhow::Result;
use codex_core::build_prompt_input;
use codex_core::config::ConfigBuilder;
use codex_core::config::ConfigOverrides;
use codex_extension_api::ExtensionRegistryBuilder;
use codex_home::CodexHomeUserInstructionsProvider;
use codex_protocol::models::ContentItem;
use codex_protocol::models::ResponseItem;
@@ -32,7 +33,6 @@ async fn build_prompt_input_includes_context_and_user_message() -> Result<()> {
let user_instructions_provider = Arc::new(CodexHomeUserInstructionsProvider::new(
config.codex_home.clone(),
));
let input = build_prompt_input(
config,
vec![UserInput::Text {
@@ -40,6 +40,7 @@ async fn build_prompt_input_includes_context_and_user_message() -> Result<()> {
text_elements: Vec::new(),
}],
/*state_db*/ None,
Arc::new(ExtensionRegistryBuilder::new().build()),
user_instructions_provider,
)
.await?;
@@ -74,6 +75,5 @@ async fn build_prompt_input_includes_context_and_user_message() -> Result<()> {
text.contains(TEST_INSTRUCTIONS)
})
}));
Ok(())
}