Your PR's designated skeptic.
The reviewer should not be the author. A model reviewing code it wrote itself tends to agree with its own choices. Same blind spots, same rationalizations. Flaught decouples the two: point it at any LLM, independent of whatever wrote the code, and get a genuinely adversarial second opinion instead of an echo.
# install npm install -g @flaught/core # scaffold config + prompts, then review vs main flaught init flaught review --base main
Runs in GitHub Actions, GitLab CI, or any shell. No API key needed for the deterministic pass (flaught review --no-llm); set GROQ_API_KEY for the full LLM pass. Provider config →
source_type: "deterministic" so you know what came from a tool.source_type: "llm", distinct from the tool findings.Output: a Markdown PR comment plus a versioned JSON artifact you can keep (one snapshot per run, for trend tracking).
main: a string-interpolated SQL query (critical, LLM-asserted), a scope-creep hunk in an unrelated file, and a vacuous test that passes on both sides of the change, caught by test inversion.Self-review is the weak spot in AI-assisted development: the model that wrote your PR is primed to defend it. Point .advreview.yml at a different provider and Flaught breaks that correlation, zero code change.
A sane pairing: code with Claude, review with Groq or GPT-4o. Code with anything, review with a different anything. Any OpenAI-compatible endpoint works via base_url; Anthropic has its own native adapter too, best paired as the coder here, not the reviewer.
The defaults are a starting point. Three surfaces let you reshape the review without touching Flaught's source: the prompt, the config, and the library API.
Full guides: prompt templates, configuration, programmatic API.
Against the SaaS market leader and the closest open-source structural analog. The difference is what the review does: a tool that says “here are issues” is one thing; one that also asks “are these issues real?” (and whether your tests even test the change, and whether a hunk belongs in this PR) is another.
| Flaught | CodeRabbit | Open Code ReviewAlibaba · OCR | |
|---|---|---|---|
| Open source, self-hostable | ✓ | ✗ | ✓ |
| Bring-your-own LLM (incl. local) | ✓ | ✗ | ✓ |
| Deterministic tools + LLM, provenance-tagged | ✓ | ~1 | ~2 |
| Adversarial refute / skeptic pass (cross-model) | ✓ | ✗ | ~3 |
| Test inversion (vacuous-test detection) | ✓ | ✗ | ✗ |
| Scope-creep detection | ✓ | ✗ | ✗ |
✓ yes ~ partial / varies ✗ not a named feature
⚠ The JSON artifact is evidence that scrutiny occurred, not evidence that findings are correct. LLM-asserted findings may include hallucinations. Deterministic-tool findings have their own false-positive rates. Treat this as a prompt for human review, not audit-truth.
Named for Monsignor Flaught, the devil's advocate in A Canticle for Leibowitz.