AO supports two complementary review loops: observing feedback already posted on a claimed GitHub PR, and launching an AO reviewer agent against a worker's PR.
GitHub feedback
The SCM observer records review state and unresolved comments. When changes are requested or unresolved feedback changes, lifecycle sends the focused unresolved comments to the owning worker. Resolved threads drop out of the next message.
Delivery follows the session interface:
- Chat receives a durable provider turn in the conversation.
- Terminal UI receives the message through the running agent session.
Feedback is signature-deduplicated. AO does not repeat an unchanged comment set on every poll.
AO reviewer agents
Configure reviewers in project settings. Claude Code, Codex, and OpenCode are supported reviewer harnesses. If the project has no reviewer configured, AO reuses a review-capable worker harness or falls back to Claude Code.
From the desktop, open the worker and use the Reviews section in the inspector. From the CLI:
ao review trigger <worker-session-id>
ao review ls <worker-session-id>
ao review cancel <worker-session-id>
Reviewer runs are separate from worker sessions. Their verdict and body are recorded against the worker and can be delivered back to it through the review API.
Best practices
- Keep the PR claimed by the worker that should act on feedback.
- Resolve addressed GitHub threads so later nudges contain only remaining work.
- Use inline comments for localized changes and a top-level review body for design-level feedback.
- Inspect the current PR head before replaying old feedback after a force-push.
Approval and merge
Approval plus passing checks contributes to merge readiness. AO creates a durable merge-ready notification but does not automatically merge from a reaction rule. Merge explicitly in the desktop or with:
ao pr merge <pr-number>
Resolve review comments explicitly when appropriate:
ao pr resolve-comments <pr-number> [comment-id...]
Current limits
There is no ao review-check command, configurable review polling throttle, bugbot-comments reaction, or YAML retry budget in the current rewrite. The GitHub observer and AO review-run system are the supported paths.