Reuse Windows filesystem helper within apply_patch on 0.153.0 - #23
Open
hirsaeki wants to merge 4 commits into
Open
Reuse Windows filesystem helper within apply_patch on 0.153.0#23hirsaeki wants to merge 4 commits into
hirsaeki wants to merge 4 commits into
Conversation
## What changed - Skip Guardian prewarming and asynchronous scoring when `approvalsReviewer` is `"user"`, including when the reviewer changes during an active turn. - Automatically accept ordinary `node_repl.js` execution confirmations in this mode while continuing to surface sensitive-action checks and requests for user input. - Cover transitions between User approval, automatic review, and Full Access in the app-server integration tests. GitOrigin-RevId: 599c8ebb672728b9bf3d64c34377ddec230325f8 (cherry picked from commit a0dcfe2)
## What changed - Add the under-development `features.context_management.experimental_mode` configuration and schema. - For eligible ChatGPT Plus, Pro, and Pro Lite sessions using the Codex backend, enable token-budget context, history notes, and the `new_context` tool when experimental context management is configured. - Keep the feature disabled for custom providers, provider credentials, non-Codex endpoints, and temporary structured threads. ## Testing - Cover subscription eligibility, backend restrictions, configuration resolution, token-budget guidance, and temporary-thread overrides. GitOrigin-RevId: 19402af19c4d69e09a7cdb3687ee7d233f6a562a (cherry picked from commit cff76fa)
- Vim mode now supports undo with `u` and redo with `Ctrl+R`, preserving complete drafts including pasted content and attachments. ([openai#41941](openai#41941), [openai#42140](openai#42140)) - The plugin CLI can list, install, and remove plugins from remote marketplaces. ([openai#42150](openai#42150)) - Set `tui.auto_recap = false` to disable automatic recaps while keeping manual `/recap` available. ([openai#42101](openai#42101)) - TUI history shows complete patches, input sent to background terminals, and individual completed commands. ([openai#41893](openai#41893), [openai#42107](openai#42107)) - Plus and Team users receive an earlier warning when less than half of their allowance remains in an approximately five-hour usage window. ([openai#42142](openai#42142)) ## Bug Fixes - TUI sessions reconnect after an external app-server connection drops, preserving drafts and transcripts while keeping uncertain or queued submissions paused for review. ([openai#41911](openai#41911), [openai#41916](openai#41916), [openai#41918](openai#41918)) - Full Access skips Guardian reviews for confirmation-only actions. User approval mode skips background Guardian scoring and prewarming, while sensitive-action checks and requests for user input retain their existing handling. ([openai#42147](openai#42147), [openai#42256](openai#42256)) - Guardian review history survives compaction, restarts, and user-created forks while respecting rollback boundaries and isolating subagent history. ([openai#41879](openai#41879), [openai#42065](openai#42065)) - Remembered MCP tool approvals are scoped to the selected app account, and relative MCP executable paths start more reliably on macOS. ([openai#42133](openai#42133), [openai#42117](openai#42117)) - Rollout compression includes shared histories, `codex exec resume` handles compressed rollouts when selecting by working directory, and thread forks work with symlinked session roots. ([openai#42039](openai#42039), [openai#42135](openai#42135)) ## Configuration and API Updates - App-server thread metadata includes nullable `model` and `reasoningEffort` fields. Structured asynchronous questions are supported through `request_user_input_async` when enabled by the model catalog. ([openai#42151](openai#42151), [openai#42178](openai#42178)) - `tui.disable_paste_burst` replaces the top-level setting, which remains supported as a fallback. ([openai#41976](openai#41976)) - Adds the disabled-by-default `features.context_management.experimental_mode` configuration. When enabled for eligible ChatGPT Plus, Pro, or Pro Lite sessions using the Codex backend, it activates token-budget context, history notes, and the `new_context` tool. API-key sessions, custom providers, and temporary structured threads remain excluded. ([openai#42385](openai#42385)) ## Changelog [Full Changelog](openai/codex@rust-v0.152.1...rust-v0.153.0) - [openai#41870](openai#41870) Use shared transcript collection for Guardian reviews - [openai#41879](openai#41879) Preserve Guardian review evidence across compaction - [openai#41884](openai#41884) Add pinned native voice source preparation - [openai#41890](openai#41890) Add native voice dependency build recipe - [openai#41892](openai#41892) Retain the MCP client for event streams - [openai#41893](openai#41893) Show successful TUI commands individually - [openai#41894](openai#41894) Fix Windows native voice dependency builds - [openai#41897](openai#41897) Add the voice helper lifecycle foundation - [openai#41899](openai#41899) Keep MCP event subscriptions alive after task unloading - [openai#41901](openai#41901) Load bounded context after empty wake turns - [openai#41902](openai#41902) Add installed voice host lifecycle support - [openai#41906](openai#41906) Add a manager for MCP event streams - [openai#41908](openai#41908) Avoid scanning archived rollouts when archiving threads - [openai#41909](openai#41909) Make permission transforms aware of executor path context - [openai#41911](openai#41911) Preserve TUI drafts after app-server disconnects - [openai#41912](openai#41912) Persist response token usage in rollout history - [openai#41913](openai#41913) Preserve TUI status timing when the status row is hidden - [openai#41915](openai#41915) Move the config schema generator into a dedicated crate - [openai#41916](openai#41916) Reconnect TUI app-server sessions automatically - [openai#41917](openai#41917) Open the agents overview from an empty composer - [openai#41918](openai#41918) Restore agent navigation after TUI reconnects - [openai#41923](openai#41923) Allow per-call sideband endpoints for existing realtime calls - [openai#41924](openai#41924) Record realtime conversation history in Core - [openai#41925](openai#41925) Test repository-wide Rust formatter discovery - [openai#41928](openai#41928) Use executor path context for permission preapproval - [openai#41929](openai#41929) Open the agents overview directly in the reconnect test - [openai#41933](openai#41933) Report configured sandbox policy consistently - [openai#41934](openai#41934) Omit undersized WAV output from Code Mode - [openai#41936](openai#41936) Attach failed Guardian reviews to diagnostic reports - [openai#41937](openai#41937) Limit background terminal input previews - [openai#41938](openai#41938) Clarify resume guidance in exit summaries - [openai#41940](openai#41940) Preserve transcript layout caches during backtrack selection - [openai#41941](openai#41941) Add Vim undo to the TUI composer - [openai#41944](openai#41944) Emit turn cost telemetry for ChatGPT sessions - [openai#41946](openai#41946) Expand extension permission regression coverage - [openai#41949](openai#41949) Add plugin reconciliation app-server API - [openai#41950](openai#41950) Improve tracing for nested tool calls and exec processes - [openai#41953](openai#41953) Enforce marketplace source policy for curated plugins - [openai#41974](openai#41974) Track TUI starts by app server mode - [openai#41976](openai#41976) Move `disable_paste_burst` under `[tui]` - [openai#41980](openai#41980) Preserve raw response usage metadata - [openai#42003](openai#42003) Report turn trigger and source in turn analytics - [openai#42031](openai#42031) Share Guardian user-message retention logic - [openai#42033](openai#42033) Improve Guardian report diagnostics - [openai#42039](openai#42039) Include shared histories in rollout compression - [openai#42043](openai#42043) Tag Codex home size metrics with compression state - [openai#42047](openai#42047) Add per-account approval settings for apps - [openai#42054](openai#42054) Honor explicit account selectors for Apps tool calls - [openai#42056](openai#42056) Honor app link settings for MCP tool approvals - [openai#42065](openai#42065) Preserve Guardian history across thread reconstruction - [openai#42066](openai#42066) Remove selected core test cases - [openai#42068](openai#42068) Detect standalone installs from the macOS CLI bundle - [openai#42069](openai#42069) Remove redundant test coverage - [openai#42071](openai#42071) Detect Vite+-managed Codex installs - [openai#42076](openai#42076) Unify Guardian context section collection - [openai#42082](openai#42082) Attribute nested REPL reviews to their tool calls - [openai#42085](openai#42085) Centralize Guardian context composition - [openai#42086](openai#42086) Attribute Guardian reviews to OpenAI app tools - [openai#42094](openai#42094) Record Windows MXC availability - [openai#42096](openai#42096) Make diagnostic report uploads resilient to slow networks - [openai#42100](openai#42100) Prefer remote Sites over the bundled plugin - [openai#42101](openai#42101) Add a TUI setting to disable automatic recaps - [openai#42102](openai#42102) Extract OTEL trace WebSocket into a reusable crate - [openai#42104](openai#42104) Show recent sessions in the agent command center - [openai#42107](openai#42107) Show full patches and terminal input in TUI history - [openai#42109](openai#42109) Format Python scripts across the repository - [openai#42110](openai#42110) Treat bundled cleanup hooks as built-ins - [openai#42113](openai#42113) Apply remote platform semantics to exec safety checks - [openai#42114](openai#42114) Centralize remote plugin mutations in `PluginsManager` - [openai#42117](openai#42117) Fix relative MCP server spawning on macOS - [openai#42118](openai#42118) Refine hook activity rendering in the TUI - [openai#42121](openai#42121) Allow updating the approval reviewer for active turns - [openai#42123](openai#42123) Preserve descriptive labels on local file links - [openai#42126](openai#42126) Ignore non-JSON files in plugin catalog test helpers - [openai#42128](openai#42128) Prepare MCP connections for coordinated OAuth refresh - [openai#42132](openai#42132) Bound Git root discovery for metadata enrichment - [openai#42133](openai#42133) Scope session MCP approvals to app account links - [openai#42134](openai#42134) Include app link metadata in MCP approval elicitations - [openai#42135](openai#42135) Support thread forks from symlinked session roots - [openai#42137](openai#42137) Prewarm shell snapshots for eligible turns - [openai#42140](openai#42140) Add redo support to Vim composer history - [openai#42142](openai#42142) Add early rate-limit warnings for Plus and Team plans - [openai#42144](openai#42144) Add Guardian V2 analytics events - [openai#42146](openai#42146) Resolve permission requests in the executor context - [openai#42147](openai#42147) Skip Guardian reviews in Full Access - [openai#42149](openai#42149) Upgrade Git marketplaces from merged configuration - [openai#42150](openai#42150) Support remote marketplaces in the plugin CLI - [openai#42151](openai#42151) Expose model settings in app-server thread metadata - [openai#42161](openai#42161) Split tool JSON Schema code into focused modules - [openai#42164](openai#42164) Record result sources in app tool analytics - [openai#42173](openai#42173) Support header injections in network requirements - [openai#42174](openai#42174) Add a cacheable Bazel app-server schema bundle - [openai#42178](openai#42178) Add structured asynchronous user input requests - [openai#42256](openai#42256) Skip Guardian scoring in User approval mode - [openai#42385](openai#42385) Add experimental context management activation
hirsaeki
force-pushed
the
main
branch
2 times, most recently
from
September 4, 2026 06:10
971ae70 to
edfe76f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cleanly restack P1R on the stable
rust-v0.153.0baseline.apply_patchfilesystem phaseSandboxedFileSystemrunner identity plus the fullFileSystemSandboxContextOpen/ handle-transfer path one-shotapply_patchBase / patch shape
41e22fee981a63b3698df7ed36bad393cda24715(rust-v0.153.0)ea1a73b351ad8da8fbfd421ac0bbb92da9999beeThe previous P1R base (
c4ea7294b989827862eed6972d130233459161f4) and stable0.153.0diverge as release histories, so this was not rebased wholesale. The four existing files touched by P1R were compared across those bases and are unchanged; the reviewed final P1R blobs were therefore restacked directly onto the stable release tree without overwriting stable-specific source changes.Validation
The fork-only
repository-bundleworkflow is no longer present on the stable-onlymain, and direct network access from the Sandbox is unavailable. No extra infrastructure patch was reintroduced just to run local checks. Repository CI on this PR is used for native build/test validation.