How Polarity Pairs Mitigate Groupthink in Council Deliberations

Polarity pairs eliminate groupthink by structurally embedding opposing viewpoints into agent YAML front-matter, enforcing hard routing constraints across different LLM providers, and mandating dialectic confrontation in Round 2 outputs.

The Council of High Intelligence (0xNyk/council-of-high-intelligence) is an open-source multi-agent deliberation framework designed to prevent consensus bias through architectural dissent mechanisms. By pairing opposite-leaning agents via predefined configuration files and enforcing physical separation across provider infrastructures, the system guarantees that deliberations maintain adversarial tension rather than collapsing into uniform agreement.

Defining Opposition Through YAML Front-Matter

Each council member declares its polarity and polarity_pairs directly in its agent configuration file, creating a semantic network of built-in counterweights.

In agents/council-torvalds.md, the front-matter explicitly lists opposing members:

polarity: "Systems pragmatism"
polarity_pairs: ["watts","musashi","meadows"]

Complementary files like agents/council-watts.md mirror the opposite side of the dialectic. When the coordinator assembles a panel, it references these pairings—such as Socrates versus Feynman or Torvalds versus Watts—to ensure that at least one member will challenge the analytical assumptions of its counterpart.

Hard Routing Constraint: Provider Separation

The framework implements Polarity pair separation as a hard constraint in the execution sequence. According to SKILL.md Step 1.5, when both members of a polarity pair appear on a deliberation panel, the auto-router assigns them to different LLM providers.

This architectural guardrail prevents model-family echo chambers. If Torvalds and Watts both serve on a panel, the router enforces distribution such as:

  • Torvalds → OpenAI (GPT-5.4)
  • Watts → Anthropic (Opus)

By forcing opposite-leaning agents onto distinct provider infrastructures, the system guarantees truly independent reasoning pipelines rather than correlated hallucinations.

Duo Mode: Isolating Dialectic Tension

The --duo flag activates a focused dialectic between a single polarity pair. When invoked, the system automatically selects a polarity pair (or accepts user-specified members) and runs a two-member confrontation.

The workflow requires each agent to restate the problem independently and directly confront the other's viewpoint in Round 2 outputs. This isolation prevents dilution of dissent that occurs in larger panels, concentrating the structural disagreement into a concise exchange that surfaces divergent perspectives before broader consensus formation.

Dissent Quotas and Counterfactual Enforcement

Beyond pairwise routing, the overall protocol documented in SKILL.md enforces dissent quotas and counterfactual prompts that mandate minimum disagreement thresholds across the full council. Polarity pairs serve as the primary lever for meeting these quotas deterministically.

The README.md explicitly states that polarity pairs "force real tension" and function as a core mechanism for preventing groupthink. By guaranteeing that opposing viewpoints are present, seated in distinct model architectures, and required to explicitly disagree in Round 2 outputs, the system systematically curtails premature convergence.

Practical Implementation Examples

Run a two-member dialectic using automatically selected polarity pairs:


# 1️⃣ Run a two‑member polarity dialectic (Duo mode)

# – The system picks the Torvalds vs Watts pair because both appear in the default list.

council --duo "Should we ship the feature now or refactor first?"

Explicitly specify a polarity pair for targeted confrontation:


# 2️⃣ Explicitly choose a polarity pair (use --members to guarantee the pair)

council --duo --members torvalds,watts "Is rapid shipping more valuable than long‑term maintainability?"

Verify cross-provider separation with the dry-run flag:


# 3️⃣ Show the routing table where the pair is split across providers (dry‑run)

council --duo --dry-route "Is a microservice architecture appropriate?"

# Expected output (excerpt):

#   torvalds → provider: openai → model: gpt‑5.4

#   watts   → provider: anthropic → model: opus

Summary

  • YAML Declarations: Polarity pairs are defined in agent front-matter files (e.g., agents/council-torvalds.md) using polarity and polarity_pairs keys to establish semantic counterweights.
  • Provider Isolation: SKILL.md Step 1.5 enforces hard routing constraints that separate paired members across different LLM providers to prevent correlated reasoning.
  • Dialectic Focus: The --duo flag isolates polarity pairs into direct confrontation, ensuring structured disagreement surfaces in Round 2 outputs before consensus formation.
  • Architectural Guarantees: Dissent quotas and counterfactual prompts rely on polarity pairs to prevent groupthink deterministically, as documented in README.md and SKILL.md.

Frequently Asked Questions

How are polarity pairs defined in the Council of High Intelligence?

Polarity pairs are defined in the YAML front-matter of individual agent files such as agents/council-torvalds.md. Each agent declares a polarity string representing its analytical lens and a polarity_pairs list containing the slugs of opposite-leaning members (e.g., ["watts","musashi","meadows"]).

What prevents polarity pairs from echoing each other on the same AI model?

The coordinator implements a hard routing constraint documented in SKILL.md Step 1.5. When both members of a polarity pair appear on a panel, the auto-router assigns them to different LLM providers (e.g., one to OpenAI, one to Anthropic), ensuring independent reasoning pipelines and preventing model-family hallucinations.

What is Duo Mode and how does it utilize polarity pairs?

Duo Mode is activated via the --duo flag, which automatically selects a polarity pair or accepts user-specified members via --members. It runs a focused two-agent dialectic where each member must restate the problem and directly confront the other's viewpoint in Round 2, isolating dissent into a structured exchange that surfaces divergent perspectives.

How do polarity pairs interact with the system's dissent quotas?

Polarity pairs serve as the primary mechanism for meeting protocol-level dissent quotas and counterfactual prompts. By guaranteeing that predefined opposing viewpoints are present and physically separated across providers, the system deterministically ensures minimum disagreement thresholds without relying on random chance.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →