Every canvas can include a Reviewer block — a second agent that checks the builder's work against the brief and acceptance criteria. Nothing merges until you approve it.
The review loop
- Builder agent completes its task and reports done.
- Reviewer agent receives the diff and the brief.
- Reviewer runs the acceptance checks (tests, lint, typecheck, custom scripts).
- Reviewer reports: Pass (all checks green) or Fail (with specific failures).
- If Fail: connect a Loop block to send the work back to the builder with the reviewer's feedback.
- If Pass: you decide whether to merge. The Deploy block is manual — you trigger it.
What the reviewer checks
- Acceptance criteria from the brief (explicit pass/fail).
- Project test suite (via the Tests block).
- TypeScript / lint / format (via Terminal block commands you define).
- No secrets, no console.log, no TODO comments (configurable rules).
Human approval
The reviewer is an agent, not a gatekeeper. You are the gatekeeper. The Deploy block requires a manual click — no automatic shipping.
Review history
Every review cycle is recorded on the canvas: the diff, the reviewer's report, and your decision. You can scroll back through the history to see how the work evolved.