Critic Orchestrator
Four critic vendors run in parallel. One quorum verdict. No single point of bias — and no single vendor's outage brings down your merge gate.
The problem
Single-vendor review has single-vendor blind spots.
The model that approves your code shares a lineage with the model that wrote it. A single-vendor critic ships the same blind spots that produced the bug in the first place. GitHub Copilot autofix defaults to OpenAI. Cursor BugBot defaults to Anthropic. Whichever vendor wrote 80% of your codebase will also be 80% of the reviewer you ship.
That's not adversarial review. That's a self-grading exam.
How it works
Min-complete-quorum aggregation across four vendor lineages.
Critic Orchestrator runs four adapters in parallel against the same diff. Each produces a structured verdict with findings tagged by severity. The aggregator composes them under a min-complete-quorum policy: a BLOCKER from any critic blocks the merge; HIGH findings require ≥2 critic agreement; LOW findings are surfaced but advisory.
Vendor outages graduate the policy automatically. If Codex SDK times out, the
aggregator records partial-quorum and applies the relevant fallback rule from
darkfactory.yaml. The customer sees what was checked and what wasn't,
on every gate.
- Each adapter ships in OSS CLI — Cursor SDK, Codex SDK, Gemini SDK, Grok direct
- min-complete-quorum: BLOCKER from any critic → blocker; HIGH if N≥2 critics agree
- Vendor outage handling — gate graduates to available-critic verdict per policy
- Per-critic timeouts + retry semantics calibrated per vendor SLA
- Output schema is stable across critics — aggregation is a pure function on findings
critics:
- id: cursor-sdk
vendor: anthropic
model: claude-sonnet-4-6
timeout: 90s
- id: codex-sdk
vendor: openai
model: gpt-5
timeout: 90s
- id: gemini-sdk
vendor: google
model: gemini-3-pro
timeout: 90s
- id: grok-direct
vendor: xai
model: grok-4
timeout: 60s
aggregation:
policy: min-complete-quorum
graduation:
on_vendor_outage: continue-with-available
min_critics_for_merge: 3
severity:
blocker: any-critic
high: two-or-more-critics
medium: advisory
low: advisory Get Started
Stop trusting one model to grade another model's code.
Install the GitHub App for the hosted runtime, or the OSS CLI for local + air-gapped use. Same binary, same aggregation policy.