OpenCode Code Review Workflow for Local Changes
Use OpenCode’s agents for implementation and fast review, then add an independent completion boundary when the task warrants it.
Keep OpenCode’s implementation and review roles for rapid iteration. Add the Critique CLI when a candidate finish should be reconstructed by a separate process and returned as machine-readable evidence, limitations, and a repair boundary.
Roles help, but process boundaries matter more
OpenCode supports configurable agents, permissions, and read-only roles. A named reviewer inside the same harness can improve focus. Independence becomes stronger when a separate process captures the candidate state, starts from the declared intent, and owns its own evidence rather than inheriting the author’s transcript.
| Layer | Strength | Use when |
|---|---|---|
| OpenCode review role | Fast, configurable, close to implementation | The agent needs immediate feedback while editing. |
| Critique finish pass | Fresh reconstruction and structured handoff | A meaningful completion claim needs a separate witness. |
Wire the independent pass into the existing loop
npm install --global @critiquedotsh/cli
critique login
critique integrate --agent allUse the result as input, not authority
A verifier finding should send OpenCode back to a specific path, reproduction, and expected behavior. A quiet pass should still carry limits. The primary agent and user decide the next action; CI and accountable reviewers keep their own authority.
A review role is not a merge gate
An OpenCode reviewer can point out a likely defect without having the credentials, fixtures, or production data needed to prove it. Treat findings as evidence requests, not automatic verdicts. Run the requested reproduction, preserve the output, and keep the final decision with the owner of the change.
This separation also makes failures easier to diagnose. If a repair changes behavior, the follow-up pass can compare the new diff with the original finding instead of relying on a conversational memory of what the author meant.