Skip to content

buzz-acp: add Codex Auto-review reviewer option #3710

Description

@skyerus

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:

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:

--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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions