Sync fork with OpenAI Codex upstream - #2
Conversation
## What changed - Remove the unused `core-skills` client for listing and exporting remote skills. - Remove its `codex-core-skills` and `codex-core` exports and dependencies that are no longer needed. GitOrigin-RevId: 747f760dc97da3d4dea10d619a2341f43410d0bf
## What changed - Define skill config selectors, ordered rules, and layer-stack parsing in `codex-config`. - Resolve disabled skill paths from generic skill name/path pairs, so configuration logic no longer depends on `SkillMetadata`. - Update plugin and host skill consumers to use the `codex-config` API and consolidate the rule tests with the skill config tests. GitOrigin-RevId: 3fe67869708df2652befe28d58cdeba933256f84
) ## What changed - Add the experimental `server/diagnostics` request, returning the app-server process ID, resident memory, platform-dependent physical footprint, and registered diagnostic gauges. - Export the new protocol types in the generated JSON and TypeScript schemas and document the request. ## Testing - Verify the response includes process measurements and the registered live-thread gauge. - Verify the request is rejected unless `capabilities.experimentalApi` is enabled. GitOrigin-RevId: 099d60a9c421a74ff1a72fe524e0dfeb89cf1057
…37477) ## What changed - Add the tool call ID to `_meta.callId` for every MCP tool request. - Rename `features.tool_registry.include_tool_metadata` to `features.tool_registry.turn_metadata_includes_tool_info` to clarify that the setting controls authoritative tool information in per-turn metadata. - Update config parsing, schema generation, and session config locking for the renamed setting. ## Testing - Cover `callId` metadata for custom, plugin, and Codex Apps MCP calls. - Update strict-config, config-loading, feature-config, and config-lock tests for the renamed setting. GitOrigin-RevId: ac0e58c489b03bd9b55a356f545de86c8ecaf865
## Why Windows runs the state crate's database-heavy Rust tests serially within each shard. ## What changed Configure `state-unit-tests` to run across four Bazel shards. GitOrigin-RevId: f540f3c157734a2b9944bae9af554ad9dbc4a69b
…37479) ## What changed - Add optional `temporaryDirectories` file URIs to `EnvironmentInfo` so clients can resolve `:tmpdir` against executor-local defaults. - Populate local environment info from `TMPDIR` on Unix and `TEMP`/`TMP` on Windows, resolving relative Unix paths against the working directory and removing duplicates. - Cover protocol round trips, platform environment discovery, relative Unix paths, and the exec-server response. GitOrigin-RevId: a41580f783b004011c064c7a4f9fdc7adf4fba10
## What changed - Preserve executor-native working directories, workspace roots, and permission profiles when preparing remote `exec_command` requests instead of resolving them through the host platform. - Send sandbox intent to the remote executor, including a restricted-token default for Windows executors and `-NoProfile` for elevated PowerShell commands. - Reject intercepted cross-platform `apply_patch` commands when filesystem writes are restricted, while continuing to allow them for unsandboxed or full-disk-write profiles. ## Testing Extended remote unified-exec coverage for foreign Windows workspaces, elevated PowerShell, sandbox metadata, and restricted and unrestricted intercepted patches. GitOrigin-RevId: 9fd328879fa2c15594fd58e40b6b32e8ba0847e7
## Why Interrupting a turn should also stop code-mode work that the turn left running. ## What changed - Add the disabled-by-default `code_mode_interrupt` feature. - When an interrupted turn has the feature enabled, terminate all active code-mode cells and propagate cancellation through nested tool calls. - Keep the reusable code-mode session alive so its stored state remains available to later turns. ## Testing Add an integration test that interrupts a long-running nested tool, verifies that active and background cells are removed, and confirms that session state is preserved. GitOrigin-RevId: 2b8634776a89b636318a39b9e9ad2eefc07cead8
## What changed - Classify HTTP connection failures separately from other network errors without exposing request URLs. - For sampling requests, retry connection failures with exponential delays from 5 to 60 seconds and show a `Reconnecting... waiting for network` stream error. - Preserve the normal stream retry budget while waiting for the provider to become reachable. Keep the existing bounded retry behavior for other retryable errors. ## Testing - Verify connection errors are classified without leaking URL contents. - Verify a turn recovers after its provider becomes reachable and still applies the configured retry limit to a subsequent incomplete stream. GitOrigin-RevId: 646553290c865a1332abd30c4a64ed9266bbfc6f
## What changed - Add lifecycle-backed gauges for in-flight and queued app requests, pending server requests and mailbox messages, active turns, and live MCP connections. - Register each gauge on first use and decrement it when the tracked work or resource is dropped. - Document the new `server/diagnostics` gauge names and account for the diagnostics request itself in the response example and test. GitOrigin-RevId: 4bb82a3918af0b502d149b5d761ad669b2083f39
## What changed - Compact executor and orchestrator skill locators under metadata pressure, using provider-specific `e` and `o` aliases alongside host `r` aliases. - Derive alias roots from executor discovery paths and orchestrator namespaces while preserving host plugin root handling. - Centralize alias ordering, deduplication, and longest-prefix matching across skill providers. ## Testing - Cover alias planning, cross-platform executor roots, and host plugin discovery. GitOrigin-RevId: e7d15bd3891c08ae20170e96c4ad45c76d353707
…7489) ## Why Long executor and orchestrator resource identifiers can consume enough of the skills context budget to omit otherwise available skills. ## What changed - Add source-aware root aliases for executor, orchestrator, and host skill catalogs, including catalogs with a single shared root. - Select the best combination of aliased catalogs under the shared metadata budget while accounting for root tables and alias usage instructions. - Explain how to expand shortened `skill://` locators and accept the resulting description-shortening warning in app-server coverage. ## Testing - Add rendering and production-turn coverage for singleton, executor, orchestrator, host, and combined catalog aliases. GitOrigin-RevId: c1bc1f3d371eae9526232674060235272cc28f16
## What changed - Add opt-in `tool_namespaces_info` metadata for Responses Lite turns when `tool_registry.turn_metadata_includes_tool_info` is enabled. - Describe each model-visible function's namespace, direct and deferred exposure, Code Mode name, and harness or MCP ownership. - Reject visible namespaces shared by different owners when strict collision checking and tool inventory metadata are enabled. - Keep tool inventories out of compatibility headers and metadata sent to MCP servers. ## Testing - Cover opt-in behavior, MCP exposure details, namespace ownership collisions, reserved metadata handling, and Responses Lite request serialization. GitOrigin-RevId: 6a6965d2ba98e29444fdfbb4ccec6aafcf0391e6
## What changed - Expose hosted Plugin Runtime event definitions through `McpResourceClient::list_events`. - Add cancellable `events/stream` subscriptions that route lifecycle notifications to the matching request and cancel when the stream is dropped. - Bound event notification and queue sizes, time out stalled response headers, and close streamable HTTP responses locally on cancellation. ## Testing - Add streamable HTTP integration coverage for isolated concurrent subscriptions, local cancellation, and stalled response-header timeouts. GitOrigin-RevId: 98c6fffa8f004eb2638c1b0705f659222cbbdfdb
## Why High-volume request and streamed-response payloads can overwhelm the SQLite log database and diagnostic ring buffer used for reports. ## What changed - Limit HTTP transport, SSE, and WebSocket diagnostics to `DEBUG` in persistent log sinks while leaving unrelated trace diagnostics available. - Log known unhandled response events and delta events at `TRACE`, and surface unexpected event kinds at `DEBUG` without including their payloads. - Report structured parse-error metadata instead of logging an unparseable SSE payload. ## Testing - Cover filtering for transport, SSE, WebSocket, and unrelated trace records in both report and SQLite log sinks. - Cover unknown and unsupported delta response events. GitOrigin-RevId: 6d9121e093ddadf6834da394df544d9c09d8aeb9
## Why Aborting the child waiter during termination can leave an exited PTY child unreaped and prevent the session from recording its exit status. ## What changed - Detach the child waiter instead of aborting it when terminating or dropping a `ProcessHandle`, while continuing to abort the I/O helper tasks. - Cover explicit termination and handle drops for pipe processes, plus queued PTY waiters and PTY process-group termination on Unix. GitOrigin-RevId: 313787f4edec80b30cf5a78f0cc6733f1520d9a4
## What changed - Stop adding `code_mode_tool_names` to Responses Lite turn metadata. - Keep `code_mode_tool_names` reserved so client metadata cannot reintroduce the removed, unbounded inventory. - Use the opt-in `tool_namespaces_info` metadata, including each function's `code_mode_name`, when authoritative tool details are requested. ## Testing - Update Responses Lite and code-mode tests to verify the opt-in namespace metadata and normalized code-mode names. GitOrigin-RevId: cbfb9af984de71c7cc175d0cd47ae799a5275309
) ## What changed - Add `HostSkillsSnapshot::load_skill_prompts` so the skills extension owns reading and rendering selected host skills. - Keep explicit invocation telemetry, unreadable-skill warnings, plugin prompt ordering, and suppression of host prompts superseded by provider prompts. - Remove the legacy prompt injection and fragment implementation from `codex-core-skills`. ## Testing - Cover prompt truncation without an installed skills extension, skill/plugin ordering, selective provider supersession, unreadable skills, and contextual fragment detection. GitOrigin-RevId: 9c8b84ad54b90d174abc287ab49cc5a231e9e1aa
## Why Code-mode WebSocket connections are latency-sensitive, so buffering small TCP writes can delay request and response traffic. ## What changed - Enable `TCP_NODELAY` on outbound remote-session WebSocket connections. - Enable `TCP_NODELAY` on sockets accepted by the code-mode host, logging a warning if the socket option cannot be set. ## Testing - Add a listener test that connects to the host and verifies the accepted socket has `TCP_NODELAY` enabled. GitOrigin-RevId: e51c781c4b47c6a4ae1c32c93cd79768719a68d9
## What changed - Move `SkillLoadOutcome` and its implicit-path indexing into `codex-skills-extension`. - Import shared skill types directly from `codex-skills` and keep the skill prompt size limit with the extension renderer that uses it. - Remove `codex-core-skills` from the Cargo workspace and dependent crates. GitOrigin-RevId: 4e9e84909fa2f692bcc94af990bb4671affd776f
## What changed - Add the effective permission profile as `sandbox_mode` in turn metadata for regular, prewarm, compaction, and detached memory requests. - Reserve `sandbox_mode` so client-provided metadata cannot override the computed value. ## Testing - Cover metadata headers and request bodies for read-only and danger-full-access modes. GitOrigin-RevId: 13c690cc99bc2691023f281ca527af049bb1286f
## What changed - Add the `codex.code_mode.v1` protobuf API for managing code-mode sessions, executions, waits, tool callbacks, notifications, and content results. - Generate and export the Rust client/server bindings with `tonic` under Cargo. - Add Bazel protobuf targets and a `prost` toolchain that uses the workspace's Rust runtime versions. GitOrigin-RevId: 51d9d044e01dab2f4d25ab79aa7a52585485eee3
## What changed - Add the managed `auto_review.required_on_models` requirement, unioning model slugs across requirement layers and exposing the result through `configRequirements/read`. - Force listed models to use `on-request` approvals with the `auto_review` reviewer. Downgrade Full Access to workspace-write when starting a protected session, and reject incompatible runtime overrides or use when automatic review is disabled. - Preserve these protections across thread starts, resumes, forks, model changes, turn overrides, MCP approvals, and TUI session attachment. ## Testing - Add coverage for layered model requirements and exact provider-alias matching. - Add app-server tests for protected thread lifecycle operations, unsafe setting overrides, legacy thread upgrades, disabled automatic review, and requirements API output. GitOrigin-RevId: c4b1d52c3b5b75e86880725412b8f0812e0dfcd9
## What changed - Add the under-development `guardian_reuse_parent_compaction` feature. - Restart Guardian review sessions after parent history rewrites and seed them with the latest encrypted compaction that has a response item ID. - Keep the existing reviewer when a rewritten history has no reusable compaction, preserving authorization and restriction context held by that session. ## Testing - Cover reuse-key invalidation and compaction eligibility. - Verify review-session behavior across parent compaction and a subsequent summary-free history reset. GitOrigin-RevId: 891805d3c3dca34ddda6e3bfc5097be4ff164267
## What changed - Filter saved `allow` prefix rules from the execution policy for cyber-specialized models and models listed in `auto_review.ignore_rules`, while preserving prompt, forbidden, network, and host-executable policy entries. - Apply the filtered policy consistently to permission instructions, shell commands, unified exec, and the zsh-fork backend. - Limit cyber-model command approvals to one-time decisions without proposing reusable policy amendments. General models continue to honor saved prefixes, including after switching models within a thread. ## Testing - Add policy-level coverage for filtering allow-prefix rules while retaining restrictive and network rules. - Add end-to-end coverage across shell and unified exec paths, zsh-fork execution, user and automatic review, and model switching. GitOrigin-RevId: f3bd3872424291b12354ec415f33986ec369a368
## What changed - Add `ignoreRules` to `AutoReviewRequirements` in the app-server v2 protocol and generated schemas. - Return configured `auto_review.ignore_rules` values from `configRequirements/read`. - Document that listed models ignore saved command-prefix approvals. ## Testing - Extend config mapping and RPC tests to cover `ignore_rules`. GitOrigin-RevId: ed74fbba7693176fe09b161bbee2cb27847e0e1e
## Why Timing out a command hook can leave descendant processes running after the hook itself is stopped. ## What changed - Run hook commands in a process group on Unix and a job object on Windows. - Terminate the full process tree when hook execution is cancelled or fails, with `taskkill` as a Windows fallback. - Preserve descendants when a hook completes successfully so intentionally detached helpers can continue running. GitOrigin-RevId: 1a18653d34c6f1685ef8c4f8e8546663b276292a
…7528) ## Why External agent detection can spend time reading session transcripts. Sharing the configuration serialization queue causes unrelated configuration requests to wait for detection to finish. ## What changed - Give `externalAgentConfig/detect` its own global serialization queue. - Keep configuration reads, requirements reads, writes, and external agent imports responsive while detection is still running. ## Testing Add a Unix app-server test that blocks transcript detection on a FIFO and verifies the unrelated requests complete before detection is released. GitOrigin-RevId: d2764dcdb0e96d810c790c570c48fa45690a3dc1
## What changed - Export `GrpcCodeModeHost` as a transport-independent implementation of the code-mode gRPC API. - Support leased sessions, execution and wait lifecycle operations, filtered nested tool-call subscriptions, tool completions, and notification acknowledgements. - Share host-wide request and active-cell limits across the existing and gRPC transports, and bound identifiers, metadata, subscriptions, and pending callbacks. ## Testing - Add coverage for request conversion, ordered callback routing, cancellation, session cleanup, backpressure, malformed input, and resource-limit handling. GitOrigin-RevId: f146ba7e6fe4e4aa02f25dd3f961120980516d0e
## Why Hook configurations can mark command handlers as asynchronous, but Codex previously skipped those handlers outside `SessionEnd`. ## What changed - Run asynchronous command hooks in the background with a per-session concurrency limit, while keeping `SessionEnd` hooks synchronous. - Prevent asynchronous hooks from blocking, stopping, rewriting, or otherwise controlling the operation that launched them. - Deliver warnings and additional context at safe turn boundaries: inject results into an active turn after sampling, or buffer them ahead of the next user prompt when the session is idle. - Preserve in-flight hooks across configuration reloads, scope spilled output to the thread, and abort outstanding work during session shutdown. ## Testing Add unit and integration coverage for background scheduling, concurrency, output parsing, active and idle result delivery, configuration reloads, and shutdown cleanup. GitOrigin-RevId: 8094552e4afe7b47b09a61bb575bb20f4e491d8d
## What changed - Keep the configured `approvalPolicy` when a model in `auto_review.required_on_models` selects the `auto_review` reviewer. - Continue downgrading full-access sessions to workspace-write and rejecting incompatible reviewer overrides. ## Testing - Cover supported approval policies across thread start, settings updates, turn-time model switches, resume, and fork flows. GitOrigin-RevId: 2bd3e2dcd46f3cadeb2fad20222cf8917c267208
## What changed - Add the experimental `thread/revert` request, which replaces a loaded paginated thread's durable history with the prefix before `beforeTurnId` while preserving the thread ID. - Interrupt any active turn, reload the replacement history without unloading the thread, preserve mutable thread settings, and emit `thread/reverted`. - Return backward pagination cursors for the retained turns and items, reject stale rollout paths after a revert, and document that local file changes are unaffected. ## Testing - Cover history replacement, pagination, stale paths, missing turns, subsequent turns, active-turn interruption, and preserved thread settings. GitOrigin-RevId: 435a8163ad4f310cc47219b436f6bdde21f2b83a
## Why Guardian V2 needs the requested action and its conversation context to assess risk; a tool name and call ID alone do not describe what the tool will do. ## What changed - Expose the original, pre-hook `ToolPayload` to tool lifecycle contributors. - Build Guardian V2 classifier input from the bounded conversation transcript and a structured planned-action object containing the tool name and arguments. - Warn and skip classification if the planned action cannot be serialized. ## Testing - Verify lifecycle contributors receive tool arguments. - Verify Guardian V2 sends transcript history and planned-action JSON to the classifier. GitOrigin-RevId: 28266ef7c1d2267ba705fcfbd9be4ef48e64e104
## What changed - Wrap injected current time reminders in `<current_time_reminder>` tags. - Keep direct `clock.curr_time` tool output and log previews as plain text. ## Testing - Update core and app-server coverage for tagged reminders and untagged tool output. GitOrigin-RevId: ad27f1fa10cca7f83d1ac731e01255320bb60f47
) ## Why Client-authored developer instructions should remain available after a context window is compacted when `retain_client_developer_messages` is enabled. ## What changed - Preserve annotated client-authored developer messages during remote compaction v2 and local token-budget context resets. - Apply the existing retained-message token budget when carrying those messages into the new context window. ## Testing - Cover enabled and disabled retention for remote compaction v2, manual token-budget compaction, and mid-turn automatic compaction. GitOrigin-RevId: 4cb3782cb86ef46458413a17a3255d0016fd675f
## What changed - Exclude current-time reminder developer messages when copying parent history into a full-history subagent. - Keep the child's newly generated reminder, preventing inherited reminders from accumulating while preserving the rest of the forked context. ## Testing - Extend the full-history V2 spawn test to verify that two reminders in the parent become one fresh reminder in the child request. GitOrigin-RevId: fb61c72f7f0d61d1068f2c599a8b8caf1788b7e2
## What changed When `Ctrl-C` is pressed with an empty composer while a task is running in a local daemon session, show a menu that lets the user: - cancel the task and stay in Codex; - exit Codex while leaving the task running; or - stop the task and exit Codex. Do not offer background execution for side-thread tasks or when follow-up messages are queued. Preserve existing `Ctrl-C` behavior for non-daemon sessions, drafts, paste bursts, MCP startup, and returning from an active side thread. ## Testing Add TUI tests for each exit action, menu dismissal, side threads, queued follow-ups, composer input, MCP startup, and non-daemon sessions. GitOrigin-RevId: 539c33d3a4ff288a015bddbe9465d2bbdbe018d0
## What changed - Add `oauth.callback_port` to MCP server configuration and preserve it when serializing configuration edits. - Accept `oauth.callbackPort` from plugin MCP declarations and skill dependency metadata. - Prefer the server-specific callback port over `mcp_oauth_callback_port` for CLI login, app-server, plugin installation, executor, and skill dependency OAuth flows. ## Testing - Cover configuration parsing, serialization, and fallback behavior. - Verify plugin, executor, and skill OAuth registrations use their configured callback ports instead of the global port. GitOrigin-RevId: 7f65e5e7869358307e49779f1b75e8672b607736
## What changed - Parse the optional `retirement_at` RFC 3339 value from model upgrade metadata, treating missing, null, or malformed values as unknown. - Expose known retirement times from `model/list` as nullable Unix timestamps in `upgradeInfo.retirementAt` and preserve them when converting app-server models back into model presets. - Update the generated protocol schemas and app-server documentation. ## Testing - Cover absent, null, valid, and malformed catalog values. - Verify `model/list` serialization and app-server model conversion for known, missing, and out-of-range timestamps. GitOrigin-RevId: 969baf9f5b012997f460fb4611ba63c963ee658c
## Why `rules_rust` drops the build script's per-binary linker directives, so Bazel builds can omit the `asInvoker` manifest from the Windows sandbox setup helper. ## What changed - Add per-binary compile data and Rust flags to `codex_rust_crate` so linker inputs remain scoped to the setup helper. - Embed the manifest directly for MSVC builds and compile it into a resource with hermetic LLVM tooling for GNU/LLVM cross-builds. - Disable the redundant build script under Bazel and avoid duplicating binary runfiles in integration test data. ## Testing Add a Windows integration test that loads the setup executable's manifest resource and verifies that it requests `asInvoker` execution with UI access disabled. GitOrigin-RevId: a77e7e627ee43810f5eaf7701bb4909bf855216b
## What changed - Emit trace-safe `codex.retry` events immediately before retry delays, including the attempt number, selected delay, retry layer, and operation. - Cover HTTP requests, sampling streams, remote compaction, and sampling connection recovery. Track connection-recovery attempts separately from the stream retry budget. - Add integration coverage for retry timing and terminal behavior across HTTP, SSE, WebSocket, and remote-compaction paths, including rate limits, overloads, connection failures, and `Retry-After` inputs. GitOrigin-RevId: dae38900a0579cf8ba062c3f3d90ee61851c1c99
## What changed - Preserve valid image content from completed `node_repl` Code Mode responses alongside text evidence for Guardian reviews. - Enable multimodal evidence for models that require automatic `node_repl` review, or when both `guardian_enhanced_node_repl_transcripts` and `guardian_node_repl_transcript_images` are enabled. - Bound retained and rendered evidence, deduplicate images already present in review history, and fall back to text-only evidence when the reviewer lacks image support or prompt capacity. - Keep review evidence out of the parent turn input. ## Testing - Cover feature gating, mixed text and image ordering, truncation and eviction, unsupported reviewers, prompt pressure, image detail normalization, and reused review sessions. GitOrigin-RevId: a3e482402f7b3484401b231dadc662e6e3504fdf
## What changed - Add experimental `thread/queue/add`, `list`, `update`, `delete`, `reorder`, and `start` requests for persistent queued user submissions. - Automatically dispatch queued submissions in FIFO order after completed or failed turns, while leaving the queue paused after interruption. - Emit `thread/queue/changed` notifications and expose paginated queue contents with stable submission and client message IDs. - Export the new protocol types through the generated JSON Schema and TypeScript bindings. ## Testing - Add app-server integration coverage for capability gating, CRUD, pagination, capacity limits, notifications, automatic dispatch, cold-thread resume, interruption, and explicit queue starts. GitOrigin-RevId: 89caf5577192199bda77cf6c372a59d26cdd910e
## What changed Implement `From<AbsolutePathBuf>` for `FileSystemPath` and use the conversion when constructing concrete filesystem permission paths. GitOrigin-RevId: 244bcbd0c3f76cd87cc1240458fcac6c9ef0a8e3
## What changed - Store `TurnEnvironmentSelection` directly on each resolved `TurnEnvironment` instead of copying its environment ID, working directory, and workspace roots into separate fields. - Update environment resolution, tool execution, approvals, and related tests to access selection state through the retained value. GitOrigin-RevId: ab723d21e112b8af5bcaf1f772a5e376553312bc
## Why The connection that requested `thread/revert` may close while the thread is being reloaded, but the replacement listener still needs to serve the thread's existing subscriptions. ## What changed Restart the listener task from the preserved thread state after a paginated thread reload instead of attaching it through the requesting connection. GitOrigin-RevId: 603ec3331c59bdde48faa2f4cb0fd1032ec8dbd8
## What changed - Add an optional `model` field to parsed and loaded skill metadata. - Recognize `model: luna` while ignoring unsupported model values without preventing the rest of the skill metadata from loading. ## Testing - Cover supported, absent, unsupported, and repaired frontmatter model values. GitOrigin-RevId: 376b65555e81d29a5eae93cc4c2633aacf7cd7c8
## What changed - Add the built-in `amazon-bedrock-runtime` provider for regional `bedrock-runtime` OpenAI-compatible endpoints. - Use endpoint-specific SigV4 service configuration while preserving bearer token auth and per-provider AWS profile, region, and transport overrides. - Provide global and US cross-region GPT-5.6 model variants, prefer global routing for fallback and background tasks, and disable unsupported web search. ## Testing - Cover provider configuration and capabilities, endpoint and auth selection, runtime catalog ordering, model fallback, and web search omission. GitOrigin-RevId: d158ab74a5768e1b4c61063365a0c06735313322
## What changed - Replace accepted-line fingerprint generation with diff-based added and deleted line counts. - Keep `line_fingerprints` in the analytics payload as a statically empty field for schema compatibility. - Remove the fingerprint types and public parsing API that are no longer used. ## Testing - Update diff parsing tests to cover accepted-line counts without generating fingerprints. GitOrigin-RevId: 4247c76c7b56b1a323f70f960823937352b84f7b
## What changed - Add `SkillModelDelegationInstruction` for skills that request Luna while running on Sol or Terra. - Resolve Luna only when it is available in the current provider namespace. - Bound and validate model identifiers, skill names, and the rendered instruction before exposing it to callers. ## Testing - Cover supported parent models, provider namespace matching, unavailable or unsafe targets, instruction rendering, and size limits. GitOrigin-RevId: 188a88c36ca32689cbf1e53465283dff4137cb15
## What changed - Add the canonical agent path as `agent_name` in Responses API turn metadata. - Fall back to `/root` when a session has no canonical agent path. - Reserve `agent_name` from client metadata overrides and omit it from MCP request metadata. ## Testing - Cover root, named subagent, legacy subagent, MCP, and client metadata merge cases. GitOrigin-RevId: a9adcc079a51beae7d621aba24bcd759ceaa408e
## What changed - When an explicitly selected plugin has apps available, instruct the model to use `tool_search` to discover relevant tools before falling back to unrelated or built-in tools. - Scope the guidance to the request that selected the plugin and omit it for plugins without available apps. ## Testing - Cover app-specific rendering, non-app plugins, bounded instruction output, and app enablement in dual-surface plugin requests. GitOrigin-RevId: 1b9501cc403d2817334a9307e683e99c140a794a
## What changed - Route MCP tool calls through the automatic reviewer when strict auto-review is enabled, even when the approval policy, tool annotations, or a remembered session decision would otherwise skip review. - Pass the strict auto-review flag into the MCP approval request so reviewer selection follows the turn setting. - Update MCP approval and turn-metadata tests to cover the forced review path and confirm that it does not request user input. GitOrigin-RevId: 2c0b5f4dc1a15cb2fb827e4b21e69167fdcf3e56
## Why MCP runtime reconciliation can occur while an unchanged server is still starting, such as when capability roots become available. Reconciliation should neither wait for that startup nor initialize the same server again. ## What changed - Reuse an active, uncancelled pending MCP connection when its identity, catalog limit, and protocol mode still match. - Publish the shared startup result through the reconciled server view while applying its updated tool filter. - Preserve cancellation when a reused pending server is subsequently removed. ## Testing Added coverage for filtered-tool publication, disabling a reused pending server, and capability-root reconciliation during Codex Apps startup. GitOrigin-RevId: 690cf8695e75b341d097d7d22b5da6993b24e787
## Why Bazel builds did not embed the SHA-256 digest used to verify the bundled `bwrap` binary at launch. ## What changed - Strip the Bazel-built `bwrap`, generate its SHA-256 digest, and pass that digest to `codex-linux-sandbox` through a compiler environment file. - Report digest verification failures with exit code `8` instead of panicking. - Add a Bazel integration test that accepts the original bundled binary and rejects a tampered copy. GitOrigin-RevId: 224eeb6ae3d1bfb100e048b296f75fd8ba109581
## What changed - Set `parallel_tool_calls` for regular and remote compaction prompts without consulting model metadata. - Remove `supports_parallel_tool_calls` from `ModelInfo`, the bundled model catalog, and related fixtures. - Preserve the existing Responses Lite behavior that disables parallel tool calls at request construction. GitOrigin-RevId: 49552bdf97e71fa57325abb49f8adc0c88f1401a
## What changed - Add `EnvironmentConfigState` to `TurnEnvironmentSelection` so each environment attachment can inherit thread configuration or carry ready configuration for its login-shell policy and selected capability roots. - Apply ready configuration during thread creation and thread-settings updates while reusing the existing environment connection. - Validate selection configuration before applying settings, rejecting unsupported pending state and invalid capability roots. ## Testing - Cover attachment-scoped capability roots, ready configuration at thread startup and turn updates, and rejection of invalid selections without changing existing settings. GitOrigin-RevId: 86cf8f2148fdaa746ea0dd12890ab7b1577d7587
|
Important Review skippedToo many files! This PR contains 2935 files, which is 2835 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (65)
📒 Files selected for processing (2935)
You can disable this status message by setting the |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Updates the Manaflow fork from c8c30d9 to OpenAI upstream fdbab67. The fork has no main-only commits, so this is a direct upstream history update.
This PR is the base for the persistent capacity retry change.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Syncs our fork to the latest OpenAI Codex upstream, bringing in upstream build, CI, and release changes. There are no fork-only commits, so this is a straight history update that reduces divergence and prepares follow-on work.
.bazelrcmakes remote execution/caching opt‑in; CI usesrun_bazel_with_buildbuddy.pyto select BuildBuddy/RBE.blocking-cifor PRs andpostmerge-cifor main; legacyci.ymlis removed.codex-package-*.tar.zst, R2 release publishing is added, and zsh andrusty_v8releases shift to tag-based workflows.rusty_v8artifact handling, canary/change detection, tests); CI installs artifacts via the newsetup-rusty-v8action.check-clean-worktree, Dependabot cooldowns, VS Code recommendations (Bazel,ruff), and minor skill/docs/test improvements (e.g., PR watcher ignores PENDING reviews).Required actions
codex-package-*.tar.zstnames and paths indotslashconfigs.github/scripts/run_bazel_with_buildbuddy.pywhen you need remote cache/RBE; local Bazel remains unchanged by default..github/actions/setup-akv-pkcs11-codesigning.Written for commit fdbab67. Summary will update on new commits.