Conversation
Contributor
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 015d927617
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
660ff6b to
d85ef7c
Compare
876bda9 to
6aaaea4
Compare
viyatb-oai
reviewed
Apr 27, 2026
Collaborator
viyatb-oai
left a comment
There was a problem hiding this comment.
Confirmed this against persisted rollout behavior on the current head.
viyatb-oai
approved these changes
Apr 27, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Why
The experimental
PermissionProfileAPI had both:cwdand:project_rootsspecial filesystem paths, which made the permission root ambiguous. This PR removes the unstablecurrent_working_directoryspecial path before the permissions API is stabilized, so callers use:project_rootsfor symbolic project-root access.What changed
FileSystemSpecialPath::CurrentWorkingDirectoryfrom protocol and app-server protocol models, plus regenerated app-server JSON/TypeScript schemas.:cwdpermission entries with:project_rootsentries.CurrentWorkingDirectorycase from that compatibility path.PermissionProfile::workspace_write()as the reusable symbolic workspace-write helper, with docs noting that:project_rootsentries resolve at enforcement time.:cwdas a permission token.Compatibility
Persisted rollout items may contain the old
{"kind":"current_working_directory"}tag from earlier experimentalpermissionProfilesnapshots. This PR keeps that tag as a deserialize-only alias forProjectRoots { subpath: None }, while continuing to serialize only the newproject_rootstag.Follow-up
This PR intentionally does not introduce an explicit project-root set on
SessionConfigurationor runtime sandbox resolution. Today, the resolver still uses the active cwd as the single implicit project root. A follow-up should model project roots separately from tool cwd so:project_rootsentries can resolve against the configured project roots, and resolve to no entries when there are no project roots.Verification
cargo test -p codex-protocol permissions:: --libcargo test -p codex-app-server-protocolcargo test -p codex-sandboxing -p codex-exec-server --libcargo test -p codex-core session_configuration_apply_ --libcargo test -p codex-app-server command_exec_permission_profile_project_roots_use_command_cwd --test allcargo test -p codex-tui thread_read_session_state_does_not_reuse_primary_permission_profile --libcargo test -p codex-tui preset_matching_accepts_workspace_write_with_extra_roots --libcargo test -p codex-config --lib