DEV Community

Cover image for Maker vs Checker: Keep Your OpenClaw Setup Lean with a Single Reviewer
HIROKI II
HIROKI II

Posted on

Maker vs Checker: Keep Your OpenClaw Setup Lean with a Single Reviewer

KD Agentic editorial cover

When using an LLM to generate production code or technical prose, the primary failure mode is rarely generation capability—it is self-review bias. Within a single context window, no matter how harshly you prompt the model to "critique rigorously and spot all edge cases," the model inevitably operates under the momentum of its own prior generation, quickly declaring: "Everything looks solid and fully compliant."

With the release of OpenClaw v2026.9.5 and its guided specialist teams, many developers immediately run openclaw agents team create. But executing that command creates four separate workspaces in your environment: a Coordinator, a Researcher, a Writer, and a Reviewer. For individual engineers and lean teams, managing four folders, four independent SQLite session databases, and a complex delegation hierarchy introduces massive friction and cognitive noise.

A much leaner engineering solution exists: Do not create a four-agent bureaucracy. Attach exactly one dedicated Reviewer specialist to your primary main agent.

By applying the time-tested Maker-Checker pattern, you achieve rigorous verification with minimal operational overhead.

Why Just a Reviewer?

In multi-agent systems, it is tempting to fall into role-playing theatrics. Decomposing a straightforward programming task into a researcher, a writer, and an orchestrator often wastes 80% of tokens on conversational pleasantries and cross-agent serializations.

Worse, creating a standalone coordinator can leave delegation paths dangling. OpenClaw's bundled coordinator preset points to standard specialist IDs by default; if those roles are missing, delegation fails.

Attaching a single, dedicated Reviewer yields three decisive architectural advantages:

  1. Context Hygiene: The primary agent's context is saturated with exploratory trials, prompt constraints, and design trade-offs. The Reviewer agent starts fresh: its context contains only the generated artifact and the explicit verification rules. It evaluates the code without cognitive baggage.
  2. Adversarial Separation of Concerns: The Maker optimizes for implementation; the Checker optimizes for falsification. This structural separation breaks single-session confirmation bias.
  3. Zero Orchestration Tax: You talk directly to your primary agent. Once implementation completes, it invokes the Reviewer for an offline pass. No intermediary coordinator is needed.

3 Steps to Implementation

Wiring a lean Maker-Checker pair in OpenClaw requires three simple steps.

Step 1: Add the Reviewer via CLI

Instead of running team create, add only the Reviewer role:

openclaw agents add code-reviewer --role reviewer
Enter fullscreen mode Exit fullscreen mode

OpenClaw provisions a dedicated workspace (e.g., ~/.openclaw/workspaces/code-reviewer) and an isolated SQLite session store. It automatically writes the official Reviewer behavioral contract into AGENTS.md.

Step 2: Configure Delegation on the Primary Agent

In your main agent's configuration, grant access to code-reviewer and set the delegation preference:

{
  "agents": {
    "main": {
      "allowAgents": ["code-reviewer"],
      "delegationMode": "prefer"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode
  • allowAgents: An explicit whitelist preventing the primary agent from spawning arbitrary or non-existent agents.
  • delegationMode: "prefer": Prompt-level guidance directing the primary agent to spawn the reviewer once drafting is complete.

Step 3: Enforce the Reviewer Contract

OpenClaw's official reviewer template in AGENTS.md enforces four critical boundaries:

  1. Audit-Only Authority: The Reviewer is strictly prohibited from mutating artifacts. The authority to edit stays with the primary agent and the human developer.
  2. Three-Part Findings: Every issue must specify the exact location (path and lines), the requirement or test violated, and a concrete patch recommendation.
  3. Blockers vs. Optional: The report must clearly separate critical defects (Blockers) from stylistic tweaks (Optional), preventing minor formatting issues from stalling delivery.
  4. No Cross-Specialist Cycles: Findings return strictly to the caller; the Reviewer cannot initiate lateral conversations with other services.

What a Real Review Report Looks Like

When the primary agent completes an implementation and spawns code-reviewer, it receives a structured markdown artifact:

# Code Review Report
Status: REJECTED (1 Blocker, 1 Optional)

## [BLOCKER] Race Condition During Concurrent Refresh
- Location: src/auth/token_manager.py:42-58
- Violation: Concurrency safety policy (only one active refresh request allowed)
- Evidence: Multiple coroutines catching TokenExpiredError trigger duplicate HTTP requests.
- Fix: Introduce asyncio.Lock before the refresh branch, verifying validity again after acquiring the lock (Double-Checked Locking).

## [OPTIONAL] Structured Logging Missing
- Location: src/auth/token_manager.py:65
- Suggestion: Format log output as JSON with trace_id.
Enter fullscreen mode Exit fullscreen mode

The primary agent patches the blocker and requests a second read. Once the status reports APPROVED (0 Blockers), the check passes.

Pitfalls to Avoid

  • Do Not Add a Lone Coordinator: An orchestrator without downstream specialists will produce configuration errors or hallucinations.
  • prefer Is Not a Hard Enforcer: delegationMode: prefer is prompt guidance. For consistent invocation, explicitly state in your initial prompt: "After implementing the module, invoke code-reviewer for verification."
  • Internal Handback Is Not External Clearance: A Reviewer approval certifies code quality, but deployment, merging, or publishing still requires human review.

Official References

Top comments (0)