Feature: --council flag for ralph and ralplan (5-perspective LLM Council review)

Resolved 💬 2 comments Opened Mar 31, 2026 by ukr-coder Closed Apr 3, 2026

Summary

Add a --council flag to ralph and ralplan that replaces single-reviewer verification with a 5-perspective LLM Council: Contrarian, First Principles, Expansionist, Outsider, and Executor. Each perspective runs as a parallel agent with anonymous output (they don't see each other's responses). A Chairman agent synthesizes the 5 perspectives into a final verdict.

Motivation

Current ralplan uses 3 perspectives (Planner → Architect → Critic). Current ralph uses 1 reviewer (Architect). Both suffer from potential groupthink and limited viewpoint diversity.

The LLM Council method (inspired by Karpathy's approach) provides:

  • Contrarian: Challenges assumptions, finds what could go wrong
  • First Principles: Strips away assumptions, reasons from ground truth
  • Expansionist: Sees possibilities others miss, thinks 10x bigger
  • Outsider: Fresh perspective from outside the domain
  • Executor: Focuses on what can ship NOW

Proposed Usage

# ralplan with council (5 perspectives instead of 3)
/ralplan --council "design the auth system"

# ralph with council review (5 perspectives instead of architect-only)
/ralph --council "implement the auth system"

# Council for DEC/architecture decisions
/council "should we migrate from OpenClaw to Hermes?"

Key Design Decisions

Anonymous Peer Review

Perspectives MUST NOT see each other's output before submitting their own assessment. This prevents anchoring bias and groupthink. The Chairman sees all 5 outputs and synthesizes.

Threshold

Default: 4/5 must APPROVE for consensus. Configurable via --council-threshold 3.

Persistent Memory (future, requires Hermes profiles)

Council perspectives can accumulate domain expertise over time via persistent memory. The Contrarian remembers past failures, the First Principles thinker remembers what the minimum viable solution was, etc.

When to Trigger

  • --council: Explicit flag, user chooses
  • Auto-trigger (optional): Architecture changes (3+ files), security-relevant code, DEC-related decisions, customer-facing features

Implementation

  1. Spawn 5 agents in parallel (different system prompts, same context)
  2. Collect 5 independent outputs (anonymous — no cross-visibility)
  3. Chairman agent (Opus) synthesizes: consensus points, dissenting opinions, verdict
  4. Output: APPROVE (4/5+), ITERATE (2-3/5), REJECT (<2/5)

Tested in Production

We ran this pattern manually in a marathon session (March 30-31, 2026) using 5 OMC agents (critic, architect, planner, scientist, executor) with different council prompts. Results were significantly richer than standard 3-perspective ralplan. The Contrarian and Outsider perspectives caught blind spots that Architect+Critic missed entirely.

Integration with Hermes

When Hermes profiles are available, each council perspective can be a persistent Hermes profile with accumulating memory. This creates a council that gets BETTER over time.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗