🧪 Adversarial Refutation — rollout across evaluative skills

A blind refuter verifies a skill's own decision-bearing findings — the structural fix for self-preferential bias (a producer can't be its own fair judge). Closes #2231.

Rollout status

SHIPPED assess (#2235 pilot)  ·  THIS PR review-pr  ·  THIS PR audit-full

One shared engine (shared/rules/adversarial-refutation.md) + a thin per-skill adapter that binds it. All three evaluative skills now refute before they emit a headline score / merge verdict / severity report.

Per-skill bindings

Effort gate (when refutation runs)

/effortassess (Phase 2.5)review-pr (Phase 4.5)audit-full (STEP 3.5)
low / mediumskipskipskip
high≤4 single, advisory≤6 single, advisorysingle, advisory
xhigh3-vote majority3 blocker / 2 HIGH3 CRITICAL / 2 HIGH

Advisory = surfaced, never auto-applied. Quorum = majority with VERIFIED counter-evidence. A 1-of-N dissent never revises (records a caveat, drops confidence to low).

The shared engine's 10 guardrails