Adversarial Review
Force deeper analysis by requiring problems to be found.
What is Adversarial Review?
Section titled âWhat is Adversarial Review?âA review technique where the reviewer must find issues. No âlooks goodâ allowed. The reviewer adopts a cynical stance - assume problems exist and find them.
This isnât about being negative. Itâs about forcing genuine analysis instead of a cursory glance that rubber-stamps whatever was submitted.
The core rule: You must find issues. Zero findings triggers a halt - re-analyze or explain why.
Why It Works
Section titled âWhy It WorksâNormal reviews suffer from confirmation bias. You skim the work, nothing jumps out, you approve it. The âfind problemsâ mandate breaks this pattern:
- Forces thoroughness - Canât approve until youâve looked hard enough to find issues
- Catches missing things - âWhatâs not here?â becomes a natural question
- Improves signal quality - Findings are specific and actionable, not vague concerns
- Information asymmetry - Run reviews with fresh context (no access to original reasoning) so you evaluate the artifact, not the intent
Where Itâs Used
Section titled âWhere Itâs UsedâAdversarial review appears throughout BMAD workflows - code review, implementation readiness checks, spec validation, and others. Sometimes itâs a required step, sometimes optional (like advanced elicitation or party mode). The pattern adapts to whatever artifact needs scrutiny.
Human Filtering Required
Section titled âHuman Filtering RequiredâBecause the AI is instructed to find problems, it will find problems - even when they donât exist. Expect false positives: nitpicks dressed as issues, misunderstandings of intent, or outright hallucinated concerns.
You decide whatâs real. Review each finding, dismiss the noise, fix what matters.
Example
Section titled âExampleâInstead of:
âThe authentication implementation looks reasonable. Approved.â
An adversarial review produces:
- HIGH -
login.ts:47- No rate limiting on failed attempts- HIGH - Session token stored in localStorage (XSS vulnerable)
- MEDIUM - Password validation happens client-side only
- MEDIUM - No audit logging for failed login attempts
- LOW - Magic number
3600should beSESSION_TIMEOUT_SECONDS
The first review might miss a security vulnerability. The second caught four.
Iteration and Diminishing Returns
Section titled âIteration and Diminishing ReturnsâAfter addressing findings, consider running it again. A second pass usually catches more. A third isnât always useless either. But each pass takes time, and eventually you hit diminishing returns - just nitpicks and false findings.