block / block/buzz

buzz-acp: add Codex Auto-review reviewer option

Open
#3,710 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.