feat: if .codex is a sub-folder of a writable root, then make it read-only to the sandbox#8088
Conversation
Collaborator
|
Should we add an integration test? |
joshka-oai
approved these changes
Dec 16, 2025
Collaborator
joshka-oai
left a comment
There was a problem hiding this comment.
The tests look like they test the config, but not the desired effect (unless I'm misreading them). Do we have any tests that try to write to a read-only files?
Collaborator
Author
|
@pakrym-oai hmm, admittedly #1765 where I introduced the test in |
…-only to the sandbox
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.
In preparation for in-repo configuration support, this updates
WritableRoot::get_writable_roots_with_cwd()to include the.codexsubfolder inWritableRoot.read_only_subpaths, if it exists, as we already do for.git.As noted, currently, like
.git,.codexwill only be read-only under macOS Seatbelt, but we plan to bring support to other OSes, as well.Updated the integration test in
seatbelt.rsso that it actually attempts to run the generated Seatbelt commands, verifying that:.codex/config.tomlin a writable root fails.git/hooks/pre-commitin a writable root fails.codexand.gitsubfolders succeeds