Commit Graph
14191 Commits
Author SHA1 Message Date
Michael Bolin 04ebb14df4 merge commit for archive created by Sapling 2026-04-28 18:00:13 -07:00
Michael Bolin af42be1dfb permissions: expose active profile metadata 2026-04-28 17:59:52 -07:00
Michael Bolin 3b82b447ea Merge d75dde3ae5 into sapling-pr-archive-bolinfest 2026-04-28 17:50:26 -07:00
Michael Bolin d75dde3ae5 linux-sandbox: use PermissionProfile in helper 2026-04-28 17:50:09 -07:00
Michael Bolin 074ad0843e merge commit for archive created by Sapling 2026-04-28 17:46:59 -07:00
Michael Bolin cba177d26a permissions: expose active profile metadata 2026-04-28 17:46:45 -07:00
Michael Bolin 074252c756 merge commit for archive created by Sapling 2026-04-28 17:42:52 -07:00
Michael Bolin afbc30db0e permissions: expose active profile metadata 2026-04-28 17:42:35 -07:00
Michael Bolin b7f0c9923d Merge 7c2e36fa86 into sapling-pr-archive-bolinfest 2026-04-28 17:21:03 -07:00
Matthew Zeng ebdf3a878c Support disabling tool suggest for specific tools. (#20072)
## Summary
- Add `disable_tool_suggest` to app and plugin config, schema, and
TypeScript output
- Exclude disabled connectors and plugins from tool suggestion discovery
- Persist "never show again" tool-suggestion choices back into
`config.toml`
- Update config docs and add coverage for connector and plugin
suppression

## Testing
- Added and updated unit tests for config persistence and tool-suggest
filtering
- Not run (not requested)
2026-04-29 00:19:34 +00:00
Michael Bolin 7c2e36fa86 permissions: expose active profile metadata 2026-04-28 17:19:12 -07:00
Michael Bolin 1211a90a35 core tests: migrate hook turns to profiles (#20041)
## Summary
- Removes `SandboxPolicy` from the hooks test suite.
- Submits hook-related turns with explicit `PermissionProfile` values
for disabled, read-only, and workspace-write cases.
- Preserves the managed-network hook test by configuring and submitting
a workspace-write profile with enabled network, allowing the existing
requirements-backed proxy path to remain covered.

## Verification
- `cargo check -p codex-core --tests`
- `just fmt`
2026-04-28 17:18:45 -07:00
Michael Bolin ae3295122c Merge 846e541e43 into sapling-pr-archive-bolinfest 2026-04-28 17:18:30 -07:00
Michael Bolin 846e541e43 core tests: migrate hook turns to profiles 2026-04-28 17:18:22 -07:00
Michael Bolin 1fed948c66 core tests: migrate apply patch turns to profiles (#20040)
## Summary
- Removes `SandboxPolicy` from the apply-patch CLI test suite.
- Uses the harness' profile-backed submit helper for danger/no-sandbox
turns instead of constructing `Op::UserTurn` manually with legacy
fields.
- Converts the workspace-write traversal cases to submit
`PermissionProfile::workspace_write_with(...)` directly.

## Verification
- `cargo check -p codex-core --tests`
- `just fmt`
2026-04-28 17:18:19 -07:00
Michael Bolin 949474c99b Merge 3e430a8431 into sapling-pr-archive-bolinfest 2026-04-28 17:18:02 -07:00
Michael Bolin 3e430a8431 core tests: migrate apply patch turns to profiles 2026-04-28 17:17:54 -07:00
Michael Bolin 1dae5788e1 core tests: migrate rmcp turns to profiles (#20037)
## Summary
- Removes `SandboxPolicy` from the RMCP client test suite.
- Adds shared read-only user-turn helpers that submit
`PermissionProfile::read_only()` plus the legacy compatibility
projection required by the current `Op::UserTurn` shape.
- Keeps sandbox metadata assertions intact by deriving the expected
legacy `sandboxPolicy` value from the same read-only profile used for
the turn.

## Verification
- `cargo check -p codex-core --tests`
- `just fmt`
2026-04-28 17:17:47 -07:00
Michael Bolin aa39cbe6c2 Merge 66a3d08f95 into sapling-pr-archive-bolinfest 2026-04-28 17:17:30 -07:00
Michael Bolin 66a3d08f95 core tests: migrate rmcp turns to profiles 2026-04-28 17:17:21 -07:00
Michael Bolin 6662c0f312 core tests: migrate compact turns to profiles (#20035)
## Summary
- Removes the remaining `SandboxPolicy` usage from the compaction test
suite.
- Adds a small local helper for direct `Op::UserTurn` construction so
these tests send `PermissionProfile::Disabled` plus the legacy
compatibility projection required by the protocol field.
- Keeps the existing danger/full-access behavior while exercising the
canonical permission profile path.

## Verification
- `cargo check -p codex-core --tests`
- `just fmt`
2026-04-28 17:17:12 -07:00
Michael Bolin fc12915f51 Merge dc486f5cee into sapling-pr-archive-bolinfest 2026-04-28 17:16:15 -07:00
Michael Bolin dc486f5cee core tests: migrate compact turns to profiles 2026-04-28 17:16:05 -07:00
Michael Bolin 026df712cc core tests: migrate zsh-fork permissions to profiles (#20034)
## Summary
- Updates the zsh-fork test helper to configure `PermissionProfile`
directly instead of constructing a legacy `SandboxPolicy`.
- Sends permission-profile-backed turns from the skill approval zsh-fork
tests so the runtime and request path exercise the canonical permissions
model.
- Leaves the broader approvals suite on legacy policies for now, except
for the zsh-fork test that shares this helper.

## Verification
- `cargo check -p codex-core --tests`
- `just fmt`
2026-04-28 17:15:58 -07:00
Michael Bolin 4e9e68f1a5 Merge b52283d2ae into sapling-pr-archive-bolinfest 2026-04-28 17:15:35 -07:00
Michael Bolin b52283d2ae core tests: migrate zsh-fork permissions to profiles 2026-04-28 17:15:24 -07:00
Michael Bolin 1ea90410e1 core tests: migrate request permissions tool turns to profiles (#20033)
## Summary

This migrates the macOS request-permissions tool tests from legacy
`SandboxPolicy` setup to `PermissionProfile` setup. The tests still
exercise the same workspace-write baseline and request-permission
grants, but the canonical permissions value is now the profile.

## Changes

- Replaces the `workspace_write_excluding_tmp()` helper with a
`PermissionProfile::workspace_write_with()` helper.
- Applies test config through `Permissions::set_permission_profile()`.
- Uses `turn_permission_fields()` for `Op::UserTurn` compatibility
fields.
- Removes the `SandboxPolicy` import from `request_permissions_tool.rs`.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:15:13 -07:00
Michael Bolin e5b954d989 Merge 17dea48760 into sapling-pr-archive-bolinfest 2026-04-28 17:14:11 -07:00
Michael Bolin 17dea48760 core tests: migrate request permissions tool turns to profiles 2026-04-28 17:14:00 -07:00
Michael Bolin af39e488bc core tests: migrate prompt caching turns to profiles (#20032)
## Summary

This removes the explicit `SandboxPolicy` constructors from
`core/tests/suite/prompt_caching.rs`. The tests still exercise the same
prompt-cache invariants across permission and turn-context changes, but
the permission source is now `PermissionProfile`.

## Changes

- Uses `PermissionProfile::workspace_write_with()` for workspace-write
override scenarios.
- Uses `PermissionProfile::Disabled` for the no-sandbox per-turn
override.
- Projects profiles through `turn_permission_fields()` or
`to_legacy_sandbox_policy()` only to populate compatibility fields on
existing ops.
- Removes the `SandboxPolicy` import from `prompt_caching.rs`.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:13:53 -07:00
Michael Bolin d4628b177b Merge b9fc9c06c8 into sapling-pr-archive-bolinfest 2026-04-28 17:13:06 -07:00
Michael Bolin b9fc9c06c8 core tests: migrate prompt caching turns to profiles 2026-04-28 17:12:55 -07:00
Michael Bolin 5d08315c00 core tests: migrate exec policy turns to profiles (#20030)
## Summary

This migrates `core/tests/suite/exec_policy.rs` away from legacy
`SandboxPolicy` turn construction. These tests all use no-sandbox turns
to exercise exec-policy behavior, so `PermissionProfile::Disabled` is
the canonical representation.

## Changes

- Replaces direct `SandboxPolicy::DangerFullAccess` turn fields with
`PermissionProfile::Disabled`.
- Uses `turn_permission_fields()` to populate the compatibility
`sandbox_policy` field required by `Op::UserTurn`.
- Removes the `SandboxPolicy` import from `exec_policy.rs`.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:12:48 -07:00
Michael Bolin c6b17222ab Merge a8185557fb into sapling-pr-archive-bolinfest 2026-04-28 17:12:29 -07:00
Michael Bolin a8185557fb core tests: migrate exec policy turns to profiles 2026-04-28 17:12:18 -07:00
Michael Bolin b599849d86 core tests: migrate permissions message tests to profiles (#20028)
## Summary

This removes another test-only `SandboxPolicy` dependency by configuring
`permissions_messages.rs` with a `PermissionProfile` directly. The test
still verifies the rendered compatibility permissions text, but now
obtains the legacy projection from the loaded `Config` rather than using
`SandboxPolicy` as the source of truth.

## Changes

- Builds the workspace-write test setup with
`PermissionProfile::workspace_write_with()`.
- Applies that profile through `Permissions::set_permission_profile()`.
- Uses `Config::legacy_sandbox_policy()` only for the expected
`PermissionsInstructions` compatibility rendering.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:12:10 -07:00
Michael Bolin b176628ecb Merge d5aa14e0cf into sapling-pr-archive-bolinfest 2026-04-28 17:11:59 -07:00
Michael Bolin d5aa14e0cf core tests: migrate permissions message tests to profiles 2026-04-28 17:11:48 -07:00
Michael Bolin 3ef09c71d3 core tests: migrate tools tests to permission profiles (#20027)
## Summary

This continues the test-side migration away from `SandboxPolicy` by
removing the remaining legacy policy setup in
`core/tests/suite/tools.rs`. The affected test was already modeling a
profile-backed filesystem policy with a deny-read glob, so configuring
the test through `Permissions::set_permission_profile()` is a better
match for the behavior being exercised.

## Changes

- Drops the `SandboxPolicy` import from `core/tests/suite/tools.rs`.
- Configures the glob deny-read shell test directly with a
`PermissionProfile` instead of creating a legacy read-only policy first.
- Submits the test turn with the session permission profile so the
deny-read glob remains active for the command under test.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:11:43 -07:00
Michael Bolin 890a11d63c Merge 33d0b61573 into sapling-pr-archive-bolinfest 2026-04-28 17:11:32 -07:00
Michael Bolin 33d0b61573 core tests: migrate tools tests to permission profiles 2026-04-28 17:11:20 -07:00
Michael Bolin 8d3992d830 core tests: migrate plan item turns to profiles (#20026)
## Why

The core item tests still had a cluster of plan-mode `Op::UserTurn`
literals that used `SandboxPolicy::DangerFullAccess` and omitted
`permission_profile`. These tests are validating emitted item lifecycle
events, so keeping them on the legacy sandbox-only turn shape adds noise
to the broader permissions migration without testing legacy behavior.

## What Changed

- Adds a local `disabled_plan_turn()` helper that preserves the existing
`std::env::current_dir()` turn cwd behavior.
- Uses `turn_permission_fields(PermissionProfile::Disabled, cwd)` to
populate both the compatibility `sandbox_policy` and canonical
`permission_profile` fields.
- Replaces the plan-mode hand-built turns in
`codex-rs/core/tests/suite/items.rs`, removing all `SandboxPolicy`
references from that file and reducing remaining `codex-rs/core/tests`
`SandboxPolicy` files from 16 to 15.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:11:17 -07:00
Michael Bolin dbd0554900 Merge dc3a9abb37 into sapling-pr-archive-bolinfest 2026-04-28 17:11:00 -07:00
Michael Bolin dc3a9abb37 core tests: migrate plan item turns to profiles 2026-04-28 17:10:48 -07:00
Michael Bolin 162f4e3183 core tests: migrate safety check turns to profiles (#20024)
## Why

This stack is retiring direct `SandboxPolicy` construction from tests so
core coverage exercises the same `PermissionProfile` turn path used by
runtime code. `safety_check_downgrade.rs` still submitted each test turn
as `SandboxPolicy::DangerFullAccess` with no permission profile, even
though the tests are about model verification/reroute behavior rather
than legacy sandbox conversion.

## What Changed

- Adds a local `disabled_text_turn()` helper that derives both the
compatibility `sandbox_policy` and canonical `permission_profile` from
`PermissionProfile::Disabled`.
- Replaces repeated hand-built `Op::UserTurn` literals in
`codex-rs/core/tests/suite/safety_check_downgrade.rs` with that helper.
- Removes all `SandboxPolicy` references from the safety-check suite,
reducing the remaining `codex-rs/core/tests` files that mention
`SandboxPolicy` from 17 to 16.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:10:42 -07:00
Michael Bolin 466db52f69 Merge 9d5c053248 into sapling-pr-archive-bolinfest 2026-04-28 17:10:12 -07:00
Michael Bolin 9d5c053248 core tests: migrate safety check turns to profiles 2026-04-28 17:09:59 -07:00
Michael Bolin 2a8ce9b319 core tests: migrate view image turns to profiles (#20021)
## Why

This stack is removing direct `SandboxPolicy` usage from test code so
new tests exercise the same `PermissionProfile` path that runtime code
now treats as canonical. `view_image.rs` still built `Op::UserTurn`
requests with `SandboxPolicy::DangerFullAccess` and no permission
profile, which kept another core test module on the legacy turn shape.

## What Changed

- Adds a small `disabled_user_turn()` helper for the view-image suite
that derives the compatibility `sandbox_policy` and canonical
`permission_profile` from `PermissionProfile::Disabled`.
- Replaces repeated direct `Op::UserTurn` literals in
`codex-rs/core/tests/suite/view_image.rs` with that helper.
- Removes all `SandboxPolicy` references from `view_image.rs`, reducing
the remaining `codex-rs/core/tests` files that mention `SandboxPolicy`
from 18 to 17.

## Verification

- `cargo check -p codex-core --tests`
2026-04-28 17:09:48 -07:00
Michael Bolin 2539682647 Merge 360b70c7ce into sapling-pr-archive-bolinfest 2026-04-28 17:09:34 -07:00
Michael Bolin 360b70c7ce core tests: migrate view image turns to profiles 2026-04-28 17:09:21 -07:00