permission profiles: expose availability to clients#26678
Merged
joeytrasatti-openai merged 6 commits intoJun 22, 2026
Merged
Conversation
7ef098a to
b097cab
Compare
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
37e7874 to
c32db16
Compare
0cf948f to
b097cab
Compare
Co-authored-by: Codex <noreply@openai.com>
Avoid re-deserializing unrelated config sections without their layer base paths. Co-authored-by: Codex <noreply@openai.com>
f01746d to
b49ffdd
Compare
joeytrasatti-openai
approved these changes
Jun 19, 2026
joeytrasatti-openai
left a comment
Contributor
There was a problem hiding this comment.
Rebased onto current main and validated the complete allowed/disallowed catalog across core, app-server, protocol, and TUI coverage.
joeytrasatti-openai
approved these changes
Jun 19, 2026
joeytrasatti-openai
left a comment
Contributor
There was a problem hiding this comment.
Catalog now retains disallowed entries and derives availability from the effective layered config. Focused tests and all CI checks are green.
bolinfest
reviewed
Jun 22, 2026
bolinfest
reviewed
Jun 22, 2026
…on-profile-availability-server-merge-main
Co-authored-by: Codex <noreply@openai.com>
bolinfest
approved these changes
Jun 22, 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
permissionProfile/listcurrently advertises every built-in and configured profile even when effective enterprise requirements prevent selecting it. That forces each client to reconstruct policy from lower-level requirement fields, which is easy to miss and difficult to keep consistent.The catalog should remain complete so clients can explain that an option was disabled by an administrator, while also reporting whether each profile is selectable.
What
allowedfield to each permission profile summary.allowed_sandbox_modes,allowed_permissions, and filesystem restrictions.:danger-full-accessprofile ID in the TUI.Scope
This PR targets
maindirectly and is independent of #24852. It preserves the current behavior where built-in profiles are constrained by sandbox-mode requirements andallowed_permissionsapplies to configured profiles.Testing
just test -p codex-core permission_profile_catalog_marks_profiles_disallowed_by_requirementsjust test -p codex-app-server permission_profile_listjust test -p codex-app-server-protocoljust test -p codex-tui profile_permissionsjust fix -p codex-corejust fix -p codex-app-server-protocoljust fix -p codex-app-serverjust fix -p codex-tuijust fmt