core-agent-ide/codex-rs/app-server/tests/suite/v2
Michael Bolin abbd74e2be
feat: make sandbox read access configurable with ReadOnlyAccess (#11387)
`SandboxPolicy::ReadOnly` previously implied broad read access and could
not express a narrower read surface.
This change introduces an explicit read-access model so we can support
user-configurable read restrictions in follow-up work, while preserving
current behavior today.

It also ensures unsupported backends fail closed for restricted-read
policies instead of silently granting broader access than intended.

## What

- Added `ReadOnlyAccess` in protocol with:
  - `Restricted { include_platform_defaults, readable_roots }`
  - `FullAccess`
- Updated `SandboxPolicy` to carry read-access configuration:
  - `ReadOnly { access: ReadOnlyAccess }`
  - `WorkspaceWrite { ..., read_only_access: ReadOnlyAccess }`
- Preserved existing behavior by defaulting current construction paths
to `ReadOnlyAccess::FullAccess`.
- Threaded the new fields through sandbox policy consumers and call
sites across `core`, `tui`, `linux-sandbox`, `windows-sandbox`, and
related tests.
- Updated Seatbelt policy generation to honor restricted read roots by
emitting scoped read rules when full read access is not granted.
- Added fail-closed behavior on Linux and Windows backends when
restricted read access is requested but not yet implemented there
(`UnsupportedOperation`).
- Regenerated app-server protocol schema and TypeScript artifacts,
including `ReadOnlyAccess`.

## Compatibility / rollout

- Runtime behavior remains unchanged by default (`FullAccess`).
- API/schema changes are in place so future config wiring can enable
restricted read access without another policy-shape migration.
2026-02-11 18:31:14 -08:00
..
account.rs fix(app-server): for external auth, replace id_token with chatgpt_acc… (#11240) 2026-02-09 20:48:58 -08:00
analytics.rs Reapply "Add app-server transport layer with websocket support" (#11370) 2026-02-11 18:13:39 +00:00
app_list.rs test(app-server): stabilize app/list thread feature-flag test by using file-backed MCP OAuth creds (#11521) 2026-02-11 18:30:18 -08:00
collaboration_mode_list.rs Remove test-support feature from codex-core and replace it with explicit test toggles (#11405) 2026-02-10 22:44:02 -08:00
compaction.rs Treat compaction failure as failure state (#10927) 2026-02-06 13:51:46 -08:00
config_rpc.rs Reapply "Add app-server transport layer with websocket support" (#11370) 2026-02-11 18:13:39 +00:00
connection_handling_websocket.rs Reapply "Add app-server transport layer with websocket support" (#11370) 2026-02-11 18:13:39 +00:00
dynamic_tools.rs feat(app-server, core): allow text + image content items for dynamic tool outputs (#10567) 2026-02-04 16:12:47 -08:00
experimental_api.rs feat: opt-out of events in the app-server (#11319) 2026-02-10 18:04:52 +00:00
experimental_feature_list.rs Add stage field for experimental flags. (#10793) 2026-02-05 23:31:04 +00:00
initialize.rs feat: opt-out of events in the app-server (#11319) 2026-02-10 18:04:52 +00:00
mod.rs Reapply "Add app-server transport layer with websocket support" (#11370) 2026-02-11 18:13:39 +00:00
model_list.rs Feat: add upgrade to app server modelList (#10556) 2026-02-03 14:53:36 -08:00
output_schema.rs Add text element metadata to types (#9235) 2026-01-14 16:41:50 -08:00
plan_item.rs Plan mode: stream proposed plans, emit plan items, and render in TUI (#9786) 2026-01-30 18:59:30 +00:00
rate_limits.rs feat: support multiple rate limits (#11260) 2026-02-10 20:09:31 -08:00
request_user_input.rs change collaboration mode to struct (#9793) 2026-01-23 17:00:23 -08:00
review.rs Reapply "Add app-server transport layer with websocket support" (#11370) 2026-02-11 18:13:39 +00:00
skills_list.rs feat: extend skills/list to support additional roots. (#10835) 2026-02-09 13:30:38 -08:00
thread_archive.rs Defer persistence of rollout file (#11028) 2026-02-07 23:05:03 -08:00
thread_fork.rs Defer persistence of rollout file (#11028) 2026-02-07 23:05:03 -08:00
thread_list.rs fix: reduce usage of open_if_present (#11344) 2026-02-10 19:25:07 +00:00
thread_loaded_list.rs [chore] move app server tests from chat completion to responses (#8939) 2026-01-08 22:27:55 +00:00
thread_read.rs Defer persistence of rollout file (#11028) 2026-02-07 23:05:03 -08:00
thread_resume.rs fix: reduce usage of open_if_present (#11344) 2026-02-10 19:25:07 +00:00
thread_rollback.rs Add text element metadata to types (#9235) 2026-01-14 16:41:50 -08:00
thread_start.rs Defer persistence of rollout file (#11028) 2026-02-07 23:05:03 -08:00
thread_unarchive.rs Defer persistence of rollout file (#11028) 2026-02-07 23:05:03 -08:00
turn_interrupt.rs Fix test_shell_command_interruption flake (#10649) 2026-02-04 22:19:06 +00:00
turn_start.rs feat: make sandbox read access configurable with ReadOnlyAccess (#11387) 2026-02-11 18:31:14 -08:00
turn_steer.rs feat(app-server): turn/steer API (#10821) 2026-02-06 00:35:04 +00:00