Commit Graph
10819 Commits
Author SHA1 Message Date
Michael Bolin 4a89432591 Merge 237928ac68 into sapling-pr-archive-bolinfest 2026-04-01 10:52:49 -07:00
Michael Bolin 237928ac68 tui: replace debug/test-only crate features with debug_assertions
## Why

The remaining `vt100-tests` and `debug-logs` features in `codex-tui` were only selecting debug and test-only behavior. Those are exactly the cases where this repo already accepts `#[cfg(debug_assertions)]` as the Cargo-free substitute.

## What changed

- delete `vt100-tests` and `debug-logs` from `codex-tui`
- gate the VT100 integration tests with `debug_assertions` instead of a Cargo feature
- gate the textarea debug log site with `debug_assertions`
- shrink the manifest verifier allowlist again so only the remaining real feature exceptions stay permitted
2026-04-01 10:52:39 -07:00
Michael Bolin 8f65e73b75 cloud-tasks: remove cloud-tasks-client crate features
## Why

`codex-cloud-tasks-client` was still using Cargo features to select its HTTP and mock implementations. That leaks feature permutations into both Cargo and Bazel for a crate that does not need them.

## What changed

- delete the `online` and `mock` crate features from `codex-cloud-tasks-client`
- make `codex-backend-client` unconditional and always export both `HttpClient` and `MockClient`
- remove the internal `features = ["mock", "online"]` activation from `codex-cloud-tasks`
- remove the matching Bazel `crate_features` override
- shrink the manifest verifier allowlist to match the remaining exceptions
2026-04-01 10:52:38 -07:00
Michael Bolin 2eeeb56d02 ci: block new workspace crate features
## Why

We already enforce workspace metadata and lint inheritance for `codex-rs` manifests, but we still allow new crate features to slip into the workspace. That makes it too easy to add more Cargo-only feature permutations while we are trying to eliminate them.

## What changed

- extend `verify_cargo_workspace_manifests.py` to reject new `[features]` tables in workspace crates
- reject new optional dependencies that create implicit crate features
- reject new workspace-to-workspace `features = [...]` activations and `default-features = false`
- add a narrow temporary allowlist for the existing feature-bearing manifests and internal feature activations
- make the allowlist self-shrinking so a follow-up removal has to delete its corresponding exception
2026-04-01 10:52:38 -07:00
Michael Bolin 10b0dfc566 merge commit for archive created by Sapling 2026-04-01 10:51:58 -07:00
Michael Bolin f88522ceb0 permissions: start using PermissionProfile as the canonical runtime model 2026-04-01 10:51:46 -07:00
Michael Bolin 140d634161 Merge 8fa00a0be7 into sapling-pr-archive-bolinfest 2026-04-01 10:21:56 -07:00
Michael Bolin 8fa00a0be7 tui: replace debug/test-only crate features with debug_assertions
## Why

The remaining `vt100-tests` and `debug-logs` features in `codex-tui` were only selecting debug and test-only behavior. Those are exactly the cases where this repo already accepts `#[cfg(debug_assertions)]` as the Cargo-free substitute.

## What changed

- delete `vt100-tests` and `debug-logs` from `codex-tui`
- gate the VT100 integration tests with `debug_assertions` instead of a Cargo feature
- gate the textarea debug log site with `debug_assertions`
- shrink the manifest verifier allowlist again so only the remaining real feature exceptions stay permitted
2026-04-01 10:21:29 -07:00
Michael Bolin c31efbef25 cloud-tasks: remove cloud-tasks-client crate features
## Why

`codex-cloud-tasks-client` was still using Cargo features to select its HTTP and mock implementations. That leaks feature permutations into both Cargo and Bazel for a crate that does not need them.

## What changed

- delete the `online` and `mock` crate features from `codex-cloud-tasks-client`
- make `codex-backend-client` unconditional and always export both `HttpClient` and `MockClient`
- remove the internal `features = ["mock", "online"]` activation from `codex-cloud-tasks`
- remove the matching Bazel `crate_features` override
- shrink the manifest verifier allowlist to match the remaining exceptions
2026-04-01 10:21:12 -07:00
Michael Bolin c76e4380b4 ci: block new workspace crate features
## Why

We already enforce workspace metadata and lint inheritance for `codex-rs` manifests, but we still allow new crate features to slip into the workspace. That makes it too easy to add more Cargo-only feature permutations while we are trying to eliminate them.

## What changed

- extend `verify_cargo_workspace_manifests.py` to reject new `[features]` tables in workspace crates
- reject new optional dependencies that create implicit crate features
- reject new workspace-to-workspace `features = [...]` activations and `default-features = false`
- add a narrow temporary allowlist for the existing feature-bearing manifests and internal feature activations
- make the allowlist self-shrinking so a follow-up removal has to delete its corresponding exception
2026-04-01 10:20:36 -07:00
Michael Bolin d9ddce5190 Merge 604c14cfb3 into sapling-pr-archive-bolinfest 2026-04-01 10:13:37 -07:00
Michael Bolin 604c14cfb3 permissions: start using PermissionProfile as the canonical runtime model 2026-04-01 10:13:26 -07:00
Michael Bolin b32547475b Merge a25683538d into sapling-pr-archive-bolinfest 2026-04-01 09:28:27 -07:00
Michael Bolin a25683538d core: split large async hot paths out of codex.rs 2026-04-01 09:28:16 -07:00
Michael Bolin ff214a2d4e Merge f7e18e8086 into sapling-pr-archive-bolinfest 2026-04-01 09:26:54 -07:00
Michael Bolin f7e18e8086 Extract tool config into codex-tools 2026-04-01 09:26:49 -07:00
Michael Bolin d192f469a1 merge commit for archive created by Sapling 2026-04-01 09:24:20 -07:00
Michael Bolin 086ca7c728 bazel: lint rust_test targets in clippy workflow 2026-04-01 09:24:07 -07:00
Michael Bolin 95aefee347 Merge 94d1d007f6 into sapling-pr-archive-bolinfest 2026-04-01 09:16:27 -07:00
Michael Bolin 94d1d007f6 bazel: lint rust_test targets in clippy workflow 2026-04-01 09:16:22 -07:00
Michael Bolin 2e54f26f8a Merge 940e366603 into sapling-pr-archive-bolinfest 2026-04-01 09:14:41 -07:00
Michael Bolin 940e366603 bazel: lint rust_test targets in clippy workflow 2026-04-01 09:14:36 -07:00
Michael Bolin 75365bf718 fix: remove unused import (#16449)
https://github.com/openai/codex/pull/16433 resulted in an unused import
inside `mod tests`. This is flagged by `cargo clippy --tests`, which is
run as part of
https://github.com/openai/codex/actions/workflows/rust-ci-full.yml, but
is not caught by our current Bazel setup for clippy.

Fixing this ASAP to get
https://github.com/openai/codex/actions/workflows/rust-ci-full.yml green
again, but am looking at fixing the Bazel workflow in parallel.
2026-04-01 09:14:29 -07:00
Michael Bolin 86c40a9c13 Merge d7bfb9bf39 into sapling-pr-archive-bolinfest 2026-04-01 09:07:35 -07:00
Michael Bolin d7bfb9bf39 bazel: lint rust_test targets in clippy workflow 2026-04-01 09:07:22 -07:00
Michael Bolin de91925132 Merge d50be9a882 into sapling-pr-archive-bolinfest 2026-04-01 08:55:34 -07:00
Michael Bolin d50be9a882 fix: remove unused import 2026-04-01 08:55:27 -07:00
Michael Bolin 5cca5c0093 docs: update argument_comment_lint instructions in AGENTS.md (#16375)
I noticed that Codex was spending more time on running this lint check
locally than I would like. Now that we have the linter running
cross-platform using Bazel in CI, I find it's best just to update the PR
ASAP to get CI going than to wait for `just argument-comment-lint` to
finish locally before updating the PR.
2026-04-01 15:44:34 +00:00
Michael Bolin a033db45d6 merge commit for archive created by Sapling 2026-04-01 08:40:17 -07:00
Michael Bolin 8f109fa65a docs: update argument_comment_lint instructions in AGENTS.md 2026-04-01 08:39:53 -07:00
Dylan Hurd d3b99ef110 fix(core) rm execute_exec_request sandbox_policy (#16422)
## Summary
In #11871 we started consolidating on ExecRequest.sandbox_policy instead
of passing in a separate policy object that theoretically could differ
(but did not). This finishes the some parameter cleanup.

This should be a simple noop, since all 3 callsites of this function
already used a cloned object from the ExecRequest value.

## Testing
- [x] Existing tests pass
2026-04-01 11:03:48 -04:00
jif-oai f839f3ff2e feat: auto vaccum state DB (#16434)
Start with a full vaccum the first time, then auto-vaccum incremental
2026-04-01 16:46:21 +02:00
jif-oai c846a57d03 chore: drop log DB (#16433)
Drop the log table from the state DB
2026-04-01 15:49:17 +02:00
jif-oai 5bbfee69b6 nit: deny field v2 (#16427) 2026-04-01 12:26:40 +02:00
jif-oai 609ac0c7ab chore: interrupted as state (#16426) 2026-04-01 12:26:29 +02:00
jif-oai df5f79da36 nit: update wait v2 desc (#16425) 2026-04-01 12:26:25 +02:00
jif-oai 0c776c433b feat: tasks can't be assigned to root agent (#16424) 2026-04-01 12:18:50 +02:00
jif-oaiandCodex 3152d1a557 Use message string in v2 assign_task (#16419)
Fix assign task and clean everything

---------

Co-authored-by: Codex <noreply@openai.com>
2026-04-01 11:40:19 +02:00
jif-oaiandCodex 23d638a573 Use message string in v2 send_message (#16409)
## Summary
- switch MultiAgentV2 send_message to accept a single message string
instead of items
- keep the old assign_task item parser in place for the next branch
- update send_message schema/spec and focused handler tests

## Verification
- cargo test -p codex-tools
send_message_tool_requires_message_and_uses_submission_output
- cargo test -p codex-core multi_agent_v2_send_message
- just fix -p codex-tools
- just fix -p codex-core
- just argument-comment-lint

---------

Co-authored-by: Codex <noreply@openai.com>
2026-04-01 11:26:22 +02:00
jif-oaiandCodex d0474f2bc1 Use message string in v2 spawn_agent (#16406)
## Summary
- switch MultiAgentV2 spawn_agent to accept a single message string
instead of items
- update v2 spawn tool schema and focused handler/spec tests

## Verification
- cargo test -p codex-tools
spawn_agent_tool_v2_requires_task_name_and_lists_visible_models
- cargo test -p codex-core multi_agent_v2_spawn
- just fix -p codex-tools
- just fix -p codex-core
- just argument-comment-lint

Co-authored-by: Codex <noreply@openai.com>
2026-04-01 11:26:12 +02:00
Michael Bolin ba66c0fd20 Merge 8b1464f252 into sapling-pr-archive-bolinfest 2026-03-31 17:40:51 -07:00
Michael Bolin 8b1464f252 core: split large async hot paths out of codex.rs 2026-03-31 17:40:38 -07:00
Michael Bolin c3f901c4cb Merge 5c3db6d578 into sapling-pr-archive-bolinfest 2026-03-31 17:38:43 -07:00
Michael Bolin 5c3db6d578 Extract tool config into codex-tools 2026-03-31 17:38:37 -07:00
Michael Bolin dedd1c386a fix: suppress status card expect_used warnings after #16351 (#16378)
## Why

Follow-up to #16351.

That PR synchronized Bazel clippy lint levels with Cargo, but two
intentional `expect()` calls in `codex-rs/tui/src/status/card.rs` still
tripped `clippy::expect_used` (I believe #16201 raced with #16351, which
is why it was missed).
2026-03-31 17:38:26 -07:00
Michael Bolin b80e57aef3 Merge ba8176b3b7 into sapling-pr-archive-bolinfest 2026-03-31 17:29:59 -07:00
Michael Bolin 89db1077a0 Merge f6aac79202 into sapling-pr-archive-bolinfest 2026-03-31 17:29:26 -07:00
Michael Bolin f6aac79202 fix: suppress clippy violations that raced with #16351 2026-03-31 17:29:21 -07:00
Michael Bolin 2c4f49f6fb Merge 201fc3847b into sapling-pr-archive-bolinfest 2026-03-31 17:25:36 -07:00
Michael Bolin 201fc3847b fix: suppress clippy violations that raced with #16351 2026-03-31 17:25:29 -07:00