Run a review of the same work through a different model or vendor, then surface where the two agree vs disagree — overlapping findings are high-confidence, unique findings are each model’s blind-spot catch. Independence is the point: a second instance of the same model shares its failure modes, so a genuinely different model (a different vendor entirely, ideally) catches errors the first cannot see, and disagreement is signal rather than noise.

Crucially, cross-model agreement is signal, not a mandate — gstack’s User Sovereignty ethos is explicit that “two AI models agreeing on a change is a strong signal, not a mandate; the user decides.” The pattern feeds a generation-verification loop, it does not automate the decision.

Why it’s distinctive

Distinct from pattern-adversarial-review (one reviewer tasked to find fault) and pattern-parallel-persona-review (many personas on the same model): here the diversity comes from the model itself. Two frameworks realize it — gstack (gstack-codex runs an OpenAI Codex review against Claude’s gstack-review and reports overlap vs unique findings; also the quality gate behind gstack-spec) and Compound Engineering (whose ce-code-review includes an adversarial + cross-model pass). gstack’s gstack-benchmark-models applies the same different-models-side-by-side idea to evaluating skills rather than reviewing code.

gstack:

Compound Engineering:

pstack — the purest instance here; the framework is multi-model by construction:

  • pstack-interrogate — one reviewer per configured model, identical prompt and rubric. “The adversarial signal comes from model diversity, not assigned personas” — an explicit rejection of pattern-parallel-persona-review.
  • pstack-arena — one candidate per model, then a cross-judge deliberately drawn from a different model family from the parent’s.
  • pstack-architect — four architect runners across four models for the design sketch.
  • pstack-reflect — a different model per review lens (judgment, tooling, divergent).
  • pstack-setup-pstack — the config surface the whole scheme rests on; maps each role to a model and sets panel width by list length.

builder-skills (cross-agent, typically Codex ↔ Claude Code):

  • builder-agent-watchdog — a second agent investigates the same problem independently, then diffs its findings against the first agent’s. Session-level cross-model review.
  • builder-plan-arbiter — cross-review competing plans from different agents, choosing the executor separately from the plan: “A cheaper/faster executor can be the right choice … even when another model produced the best critique.”

Enabled by (infrastructure)

  • bernstein (platform) — the review gate makes a distinct-model reviewer a configuration property rather than a convention: ModelSelection is one of SameModelOk / DifferentModelPreferred / DifferentModelRequired, and the last raises EvalGateConfigError when it cannot be satisfied. The reviewer sees only (spec, diff, test_output) and returns a three-valued structured verdict — pass · fail · questions — that drives auto-merge. An optional cross-model verifier additionally runs the diff past a second provider’s model for A/B review (shipped, disabled by default). The runtime’s rationale matches this pattern’s: “Same-model self-critique is empirically weak at catching the implementer’s own blind spots.”

See Also