Launch challengers in parallel:
4a. Challenger(s) — Two modes based on step 1 detection:
Standard mode (default, no --council flag):
Read ../_shared/adversarial-hive-mind.md for the full pattern — three native brana:challenger subagents (convergent · systems · critical) spawned in parallel via the Agent tool, Claude merges. Caller-specific value: prefix: "challenger".
For all workers/fallback — provide: the plan/approach being challenged + relevant code/files + the chosen flavor.
Key instruction: "Be specific and actionable. Don't nitpick — focus on things that would actually cause problems or wasted effort. Suggest concrete alternatives for each concern. Rate each finding: CRITICAL (would block success), WARNING (risk but manageable), OBSERVATION (minor, for consideration)."
Council mode (--council flag set in step 1):
Spawn 4 agents in parallel using the Agent tool. Each receives a distinct role; no agent sees another's output — synthesis is step 5's job. Use subagent_type: "brana:challenger" for each.
| Role | Brief to include in agent prompt |
|---|
| Devil's advocate | Find every way this could fail, backfire, or create hidden debt. Focus on worst-case scenarios and failure modes others would overlook. |
| Optimist | Find what's undervalued. What hidden advantages exist? What assumptions are overly conservative? What could go better than the plan assumes? |
| Pragmatist | Focus on what's actually buildable within the stated constraints. What scope traps exist? What will cost 10× more effort than estimated? What shortcuts are safe vs. risky? |
| Operator | You will execute this plan as Claude in a future session. What is unclear, ambiguous, or underspecified? What will cause you to make a wrong judgment call at runtime? |
For each: provide the plan/approach + chosen flavor + role brief. Key instruction: "Rate findings CRITICAL / WARNING / OBSERVATION. Be specific, no nitpicking. Suggest concrete alternatives for each concern."
Hats mode (--hats flag set in step 1):
Spawn 4 agents in parallel using the Agent tool. Each wears a single de Bono thinking hat — no agent sees another's output. Use subagent_type: "brana:challenger" for each. Blue (process/synthesis) is handled by Claude in step 5; Red (gut feeling) is brief and added inline by Claude after reading agent output.
| Hat | Agent brief |
|---|
| ⬜ White — Facts | Enumerate what is factually known, what data is missing, and what is uncertain or assumed. Do not evaluate or judge — report only. |
| ⬛ Black — Caution | Identify every risk, weakness, and way this could go wrong. What assumptions might be false? What has been overlooked? Rate each: CRITICAL / WARNING / OBSERVATION. |
| 🟨 Yellow — Value | Identify what is genuinely valuable, what the best realistic outcome looks like, and what hidden opportunities exist. Be specific — no generic praise. |
| 🟩 Green — Alternatives | Generate alternative approaches that haven't been considered. What if a key constraint were relaxed? What's the unconventional angle? What could be combined differently? |
For each: provide the plan/approach + chosen flavor + hat brief. Key instruction: "Think only in your hat's mode. Do not mix perspectives. Be specific and concrete."
4b. Gemini detail retriever — Query agy (Gemini Flash via brana compute). Runs by default; skip only if the user explicitly opted out in step 2 or if mcp__brana__agy_delegate returns an error.
Run a two-pass retrieval in parallel with step 4a:
Pass 1 — Constraint extraction (Gemini's strength: detail retrieval, not reasoning):
- Extract specific technical nouns from the challenge target (hook names, tool names, thresholds, module names). Use these as query anchors — never "the brana system" or broad abstractions.
- Call
mcp__brana__agy_delegate with:
prompt: "You are reviewing the brana system. List every specific constraint,
threshold, requirement, and documented rule that relates to [specific technical
noun from the plan]. For each, give the exact number or rule and note which
context it comes from. If you cannot find something verbatim, say so explicitly
rather than stating it as fact. Do not summarize — enumerate."
- Canned-response detection: If the response is < 150 words, matches a generic system overview pattern, or doesn't contain any specific numbers/constraints, discard and retry once with a more specific anchor term from the plan. If retry also fails, note "Gemini returned no grounded constraints" and proceed without.
Pass 2 — Adjacent constraints (if Pass 1 returned results):
- Call
mcp__brana__agy_delegate:
prompt: "You are reviewing the brana system. What documented requirements,
version constraints, and named dependencies are adjacent to [topic from Pass 1]?
Include specific thresholds, tool names, and file paths. If inferring beyond
documented knowledge, mark it [INFERENCE]."
On error: If mcp__brana__agy_delegate fails for any reason — MCP tool-call failure (version mismatch, binary not found, JSON-RPC error), response starting with "Error:", or empty/unusable output — skip 4b completely and silently. Do NOT add an "Unavailable" note or any Gemini reference to the report. Do NOT surface the error message. Proceed as if step 4b was never attempted.
4c. Compliance check (Claude, main context — after both 4a and 4b complete):
- Take the constraints retrieved by Gemini in 4b
- Check the challenge target against each retrieved constraint
- Flag violations as findings with source attribution
- This is where the adversarial reasoning happens — Claude judges, Gemini retrieves
4d. Adversarial verification (deep mode only — --deep flag or auto-deep from step 1):
After 4a–4c produce the raw findings, before synthesizing, re-attack each finding to drop plausible-but-wrong ones. Collect the merged findings into a list (one entry per concern, with its provisional severity and source), then dispatch:
Workflow({ scriptPath: ".claude/workflows/verify-findings.js", args: {
target: "{what was challenged}",
findings: [ { severity: "CRITICAL", text: "{finding}", source: "{agent/role}" }, ... ],
voters: 2
}})
The workflow returns each finding with holds / adjusted_severity / reason. In step 5: drop FALSE_POSITIVE findings (list them in a short "Refuted in verification" note so the user sees what was filtered), and present survivors at their adjusted_severity rather than the raw one. Gemini compliance findings (4c) are HIGH-confidence by construction — pass them through verification too, but a refutation only downgrades, never deletes, a doc-grounded constraint.
If the Workflow tool is unavailable, fall back: Claude re-attacks each CRITICAL/WARNING finding inline (one skeptical pass each) before synthesis.
Merge and present findings with confidence tiers. Await all agents (and Gemini if running) before synthesizing. Each finding gets a confidence tier based on its source:
| Source | Confidence | Why |
|---|
| Agreement (Opus + Gemini) | HIGH | Two models, different architectures, same concern |
| Council agreement (2+ of 4 agents) | HIGH [COUNCIL-AGREEMENT: N/4] | Independent perspectives, same root concern |
| Opus-only / single council agent | MEDIUM | Strong reasoning, may lack doc grounding |
| Gemini with source citation | MEDIUM [AGY-UNVERIFIED] | Good retrieval, but citation needs verification |
| Gemini citing external tools/practices not in docs | LOW [AGY-UNVERIFIED] | Hallucination risk — Gemini invents plausible references |
| Compliance check (4c) | HIGH | Claude reasoning on Gemini-retrieved constraints |
| Survived deep verification (4d) | + [VERIFIED] | Re-attacked by N independent skeptics and held; severity recalibrated. Tag added on top of the source tier. |
Standard mode report:
## Challenge Report
**Target:** [what was challenged]
**Flavor:** [pre-mortem / simplicity / assumption / adversarial]
### Critical Findings (would block success)
- [Finding] — Source: Opus / Compliance-check — Confidence: HIGH/MEDIUM
### Warnings (risk but manageable)
- [Finding] — Source: Opus / Compliance-check — Confidence: HIGH/MEDIUM
### Observations (minor, for consideration)
- [Finding] — Source: Gemini [AGY-UNVERIFIED] — Confidence: LOW/MEDIUM
### Agreement (highest confidence)
- [Where both challengers raised the same concern]
### Gemini Constraint Retrieval
- [Constraints retrieved by Gemini — available for manual verification]
### Verdict
PROCEED / PROCEED WITH CHANGES / RECONSIDER
Council mode report (when --council was set):
Dedup first: for each finding raised by 2+ agents, collapse to one entry tagged [COUNCIL-AGREEMENT: N/4]. These are the highest-confidence signals regardless of severity.
## Challenge Report (Council)
**Target:** [what was challenged]
**Mode:** Council — devil's advocate · optimist · pragmatist · operator
**Flavor:** [pre-mortem / simplicity / assumption / adversarial]
### Critical Findings (would block success)
- [Finding] [COUNCIL-AGREEMENT: 3/4] — Confidence: HIGH
- [Finding] — Source: Devil's advocate — Confidence: MEDIUM
### Warnings (risk but manageable)
- [Finding] [COUNCIL-AGREEMENT: 2/4] — Confidence: HIGH
- [Finding] — Source: Pragmatist — Confidence: MEDIUM
### Observations (minor, for consideration)
- [Finding] — Source: Optimist — Confidence: MEDIUM
### Perspectives Summary
**Devil's advocate:** [top 1-2 concerns]
**Optimist:** [top 1-2 undervalued aspects]
**Pragmatist:** [top 1-2 scope/effort risks]
**Operator:** [top 1-2 runtime ambiguities]
### Cross-cutting Themes
- [Concern raised across 3+ perspectives, even if differently framed]
### Gemini Constraint Retrieval
- [Constraints retrieved by Gemini — available for manual verification]
### Verdict
PROCEED / PROCEED WITH CHANGES / RECONSIDER
Hats mode report (when --hats was set):
## Challenge Report (Six Hats)
**Target:** [what was challenged]
**Mode:** Six Hats — White · Black · Yellow · Green
**Flavor:** [pre-mortem / simplicity / assumption / adversarial / inversion]
### ⬜ White — Facts & Data
Known: [key established facts]
Missing / uncertain: [gaps in current knowledge]
### ⬛ Black — Risks & Caution
- [Risk] — Confidence: HIGH/MEDIUM (CRITICAL / WARNING / OBSERVATION)
- [Risk] — Confidence: HIGH/MEDIUM
### 🟨 Yellow — Value & Opportunities
- [Genuine upside or hidden opportunity]
- [What the best realistic outcome looks like]
### 🟩 Green — Alternatives
- [Alternative approach or option not yet considered]
- [What changes if constraint X is relaxed?]
### 🟥 Red — Gut Signal (Claude inline)
[One sentence: what feels most wrong or most right about this, beyond what the other hats surfaced]
### Cross-hat Themes
- [Concern or pattern appearing across multiple hats]
### Gemini Constraint Retrieval
- [Constraints retrieved by Gemini — available for manual verification]
### Verdict
PROCEED / PROCEED WITH CHANGES / RECONSIDER