Three independent model families that agree on the same finding, without seeing each other’s output, is a stronger signal than any single review.This is the working recipe for fanning a plan or diff out to Codex, Gemini, and a local MLX model for adversarial review — three different invocation paths, plus the one gotcha each hits, so the fan-out is repeatable instead of rediscovered every time.
Codex — via the Codex CLI
Use the Codex MCP tool (the Codex CLI runtime), not a raw API call — it reads the repository itself instead of needing file contents pasted into the prompt.- Sandbox:
read-only; approval-policy:never; cwd: the repo under review. - Point it at the plan or diff path in the prompt.
Gemini — via the Antigravity (agy) CLI
The reliable CLI path for a Gemini review is Google’s Antigravity agy CLI, not a raw Gemini API call.
-pruns one non-interactive prompt;--add-dirgrants read access to the files it must see;--modelpicks the tier.- It is read-only without
--dangerously-skip-permissions, so it can’t modify anything.
Local model — direct HTTP call
A locally served model that speaks the OpenAI-compatible API (see how the Nix stack serves a model for the serving mechanics) needs no wrapper — call the endpoint directly with the review prompt. If nothing answers on the serving port, the local serving daemon isn’t running. Start it with your platform’s service manager, then poll until the model is loaded:Ground the small modelA 30B-class local model — and any stale-cutoff cloud model — can confidently
claim current tools “don’t exist.” Add a system line naming your current
toolchain as real and current (for example “Claude Code, Codex CLI, and
Gemini CLI are all real, current tools”) to keep the review grounded.
Quick reference
Where to go next
How the Nix stack serves a model
The serving stack and port behind the local endpoint used here.
Choosing a local model
How to pick and verify a model before trusting its review output.
Writing prompts for small models
How to shape the review prompt itself once a small local model is in the loop.
AI orchestration stack
Where multi-model review fits among the rest of the AI tooling.