#2231 · removes self-preferential bias from evaluative skills · designed by a workflow that dogfooded the pattern
3 blind challengers found all 3 designs unsound (10/10/7 weaknesses) → Opus synthesized the fixesThe key fix the adversarial pass forced: the refuter never sees the producer's number — handing it over pre-loads anchoring. It scores from the code itself; the orchestrator (not the refuter) decides SURVIVES/OVERTURNED.
The synthesis flagged its own risks: false-negative inversion in a merge gate, "high coordination cost for one PR."
| skill | this PR | why |
|---|---|---|
assess | SHIP | scores quality — doesn't gate merges or security. Lowest blast radius. Effort-gated Phase 2.5. |
review-pr | DEFER | gates merges — false-negative inversion could drop a real blocker. Needs no-auto-flip + conformance enforcement first. |
audit-full | DEFER | security findings — same risk; deterministic-exemption + cross-file rules must be enforced, not advisory. |
| conformance grader | DEFER | "the spec is advisory unless a grader enforces it" — the adoption-gap follow-up. |
Engine: src/skills/shared/rules/adversarial-refutation.md · adapter: src/skills/assess/references/adversarial-refutation.md · designed by the adversarial-verify-design workflow (7 agents)