Skip to main content

Adversarial review

Review matters. The market has already priced it: CodeRabbit, a company that does nothing but AI code review, grew into a high-value business on that premise alone. If a dedicated reviewer is worth a company, it's worth a seat on your team.

lmctl's edge is where and who the reviewer is:

  • A different provider and model than the author. This is adversarial review, not self-review. A model can't rubber-stamp its own blind spots when the reviewer isn't that model. Diversity of provider is the point — see Players & model diversity.
  • A local player with full codebase context. The reviewer is a member of your team running on your machine. It can read the whole repository, its history, the durable-memory record, and the surrounding code — not just a PR diff. A remote SaaS reviewer sees the diff; a local adversarial player sees the project.
Independence path
AuthorCoder on one provider/model makes the change.
Full project contextRepo, git state, and durable-memory stay local.
Independent reviewerDifferent provider/model checks the work.

A reliable setup pattern is:

  • Put a strong planning model in the Lead seat.
  • Put one provider/model in the Coder seat.
  • Put a different provider/model in the Reviewer seat.

For example:

_MEMBER_ alias=Lead provider=claude
_MEMBER_ alias=Coder provider=codex
_MEMBER_ alias=Reviewer provider=agy

The Lead plans and delegates, the Coder implements, and the Reviewer — a different provider/model than the Coder — reads the change against the full project and pushes back. Swap the providers to fit the subscriptions and models you already use.

Planned screencast“it hands work off for me”Show a Lead relaying a Coder change to a Reviewer on a different model.
Future asset path: /assets/screencasts/handoff-review.mp4

How the approaches compare

The qualities that matter for a reviewer, framed across three approaches:

Qualitylmctl adversarial local reviewerSingle-model self-reviewRemote PR-only reviewer
Independent model (not the author)?YesNoYes
Full repo history & context?YesYesNo — sees the diff
Runs locally on your machine?YesYesNo
Knows durable-memory / project record?YesSometimesNo

This is a qualitative frame, not a benchmark — the takeaway is that the local adversarial reviewer is the only column with "yes" across all four rows.