buzz-acp: add Codex Auto-review reviewer option
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Summary
`buzz-acp` has no first-class way to enable Codex's **Approve for me**
behavior (Codex Auto-review). Codex Auto-review is distinct from Claude
Code's ACP mode named `auto`: it keeps Codex's interactive approval policy
and sandbox boundary, but routes eligible approval requests to Codex's
automatic reviewer with:
```toml
approvals_reviewer = "auto_review"
```
## Current behavior
The current `@agentclientprotocol/codex-acp` adapter advertises only the ACP
session modes `read-only`, `agent`, and `agent-full-access`. It does not
advertise a mode whose ID is `auto`.
Buzz only sends a configured `PermissionMode` when the adapter advertises the
same mode ID, so the `auto` support added for Claude Code does not reach
Codex. Buzz then falls back to answering ACP permission requests with
`allow_once`, which is automatic allowance rather than Codex Auto-review.
## Proposed fix
Add an explicit Codex reviewer option to `buzz-acp`, exposed through:
```text
--codex-approvals-reviewer auto-review
BUZZ_ACP_CODEX_APPROVALS_REVIEWER=auto_review
```
For Codex agents, merge the selected reviewer into the generated
`CODEX_CONFIG` passed to `@agentclientprotocol/codex-acp`, while preserving
the existing generated network configuration and parent/persona merge
contract. Non-Codex agents must remain unchanged.
## Acceptance criteria
- `auto-review` and `auto_review` select Codex's `auto_review` reviewer.
- `user` can explicitly restore manual review.
- Omitting the option preserves current behavior and generated JSON.
- The setting is only injected for `codex` / `codex-acp`.
- Existing `CODEX_CONFIG` keys and the generated relay network setting
survive the merge.
- Unit tests cover parsing, Codex/non-Codex routing, generated JSON, and
parent/persona merge precedence.
## Related
- Follow-up to #2884, which covers Claude Code's ACP `auto` mode.
- Follow-up to #2885, which implements that Claude-specific mode and
intentionally does not provide Codex Auto-review.
- OpenAI documents Auto-review as `approvals_reviewer = "auto_review"` with
an interactive approval policy; it is a reviewer swap, not a broader
sandbox grant:
https://learn.chatgpt.com/docs/sandboxing/auto-review
Contributor guide
Assessment
This issue has not been assessed yet.