core-agent-ide/codex-rs/exec/tests/suite
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
..
add_dir.rs feat: Add support for --add-dir to exec and TypeScript SDK (#6565) 2025-11-13 13:47:10 -08:00
apply_patch.rs feat: introduce codex-utils-cargo-bin as an alternative to assert_cmd::Command (#8496) 2025-12-23 19:29:32 -08:00
auth_env.rs [bazel] Improve runfiles handling (#10098) 2026-01-29 00:15:44 +00:00
ephemeral.rs feat: wire ephemeral in codex exec (#10758) 2026-02-05 15:49:57 +00:00
mcp_required_exit.rs Handle required MCP startup failures across components (#10902) 2026-02-06 17:14:37 +01:00
mod.rs Handle required MCP startup failures across components (#10902) 2026-02-06 17:14:37 +01:00
originator.rs feat: change ConfigLayerName into a disjoint union rather than a simple enum (#8095) 2025-12-17 08:13:59 -08:00
output_schema.rs Update defaults to gpt-5.1 (#6652) 2025-11-17 17:40:11 -08:00
resume.rs [bazel] Improve runfiles handling (#10098) 2026-01-29 00:15:44 +00:00
sandbox.rs feat: make sandbox read access configurable with ReadOnlyAccess (#11387) 2026-02-11 18:31:14 -08:00
server_error_exit.rs tests: replace mount_sse_once_match with mount_sse_once for SSE mocking (#6640) 2025-11-13 18:04:05 -08:00