What Is the Hemlock Rule? Anti-Recursion Safeguard in Council-of-High-Intelligence
The hemlock rule is an anti-recursion safeguard that forces Socratic agents to state their strongest position in 50 words or less when the coordinator detects recursive questioning, preventing infinite loops in multi-agent deliberations.
The hemlock rule is a critical circuit breaker in the Council-of-High-Intelligence protocol designed to stop endless dialectic questioning. Defined in the Socrates agent specification within the 0xNyk/council-of-high-intelligence repository, this mechanism ensures that deliberations never stall due to circular argumentation. It transforms open-ended Socratic inquiry into bounded, convergent discourse by capping the depth of recursive exchanges.
How the Hemlock Rule Works in Council-of-High-Intelligence
The hemlock rule operates as a three-stage enforcement mechanism that breaks recursive questioning patterns before they consume the round's computational budget.
Detection and Flagging
According to the protocol defined in agents/council-socrates.md, the coordinator monitors message exchanges between agent pairs. When any two members exchange more than two back-and-forth messages without introducing new evidence or progressing toward a conclusion, the coordinator flags the interaction as recursive (line 29). This detection threshold prevents the "elenchus" style of questioning from devolving into infinite regression.
Enforcement: The 50-Word Position
Upon flagging, the hemlock rule triggers an immediate enforcement action: the questioning party must collapse their recursive thread into a concise position statement. The Socrates agent specification mandates that flagged members "immediately state your strongest position in 50 words or less". This forced declaration converts the dialogue from a question-answer cycle into a declarative stance, allowing the deliberation to advance to synthesis or voting phases.
Implementation Details from the Source Code
The anti-recursion mechanism is documented across three primary files in the repository. The README.md explains the rule's place within the bounded protocol architecture (line 554), noting that it works alongside fixed round budgets (full = 3 rounds, quick = 2, duo = 3) to guarantee termination. The SKILL.md file includes verification checkpoints ensuring the rule is enforced during deliberations (line 427).
The following Python pseudo-code illustrates how a coordinator implementation detects recursive exchanges and triggers the hemlock prompt:
# Coordinator anti-recursion guard implementation
MAX_EXCHANGES = 2
def on_message(sender, receiver, content):
pair = tuple(sorted([sender, receiver]))
exchange_counts[pair] = exchange_counts.get(pair, 0) + 1
if exchange_counts[pair] > MAX_EXCHANGES:
# Flag recursion and enforce hemlock rule
send_hemlock_prompt(sender)
def send_hemlock_prompt(member):
prompt = (
"You have been flagged for recursive questioning. "
"State your strongest position in ≤50 words."
)
deliver_prompt(member, prompt)
When triggered, a Socrates-style agent responds with a constrained position statement similar to this example:
# Council Socrates agent output after hemlock rule trigger
$ council --agent council-socrates --hemlock
> Position: The assumption that "more data always leads to better decisions"
> is false; diminishing returns and analysis paralysis often outweigh any
> marginal gains beyond a modest dataset.
Why Anti-Recursion Protection Matters
Without the hemlock rule, a single Socratic agent could endlessly re-ask answered questions, causing the deliberation to loop indefinitely and waste compute resources. The rule ensures that every round respects the overall word budget and fixed round limits defined in the bounded protocol. By forcing convergence through the 50-word position requirement, the Council-of-High-Intelligence maintains deterministic termination guarantees while preserving the investigative spirit of Socratic inquiry.
Summary
- The hemlock rule is defined in
agents/council-socrates.mdas a mandatory 50-word position statement triggered by recursive questioning detection. - The coordinator monitors exchanges and flags interactions exceeding two back-and-forth messages without progression.
- Enforcement collapses infinite question-answer cycles into concise declarative statements, ensuring deliberations proceed to synthesis or voting.
- The mechanism works within the bounded protocol (fixed round budgets: full = 3, quick = 2, duo = 3) to guarantee termination within known computational limits.
Frequently Asked Questions
What triggers the hemlock rule in Council-of-High-Intelligence?
The coordinator triggers the hemlock rule when it detects that two agents have exchanged more than two messages without introducing new evidence or moving toward a conclusion. This threshold prevents Socratic-style questioning from devolving into circular argumentation that stalls the deliberation process.
How does the 50-word limit prevent infinite loops?
The 50-word limit forces the questioning agent to transition from interrogative to declarative mode, effectively collapsing the recursive stack into a single position statement. This hard stop eliminates the possibility of continued back-and-forth exchanges, ensuring the round progresses toward synthesis or voting within the bounded protocol's constraints.
Where is the hemlock rule documented in the source code?
The hemlock rule is formally defined in agents/council-socrates.md at line 29, which specifies the mandatory position statement requirement. The README.md at line 554 contextualizes the rule within the broader anti-recursion strategy, while SKILL.md at line 427 includes verification checkpoints for enforcement during deliberations.
Can the hemlock rule be bypassed or modified?
According to the source documentation, the hemlock rule is a core protocol safeguard tied to the bounded deliberation guarantees. The rule operates automatically when the coordinator flags recursive exchanges, and the 50-word position requirement is mandatory for Socrates-style agents to ensure the council maintains deterministic termination properties.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →