Skip to main content
Version: MVP

Structured debates

3 min readReferenceUpdated 2026-05-19

What you'll find here

How bounded multi-agent disagreement is captured without erasing minority positions — the debate_turn and debate_summary contracts, their boundaries, and how renderers stay deterministic.

Coordination records, not consensus.

Debates preserve the basis for each position. They do not silently choose a winner.

Contracts

Contract
Records
Fields
craik.debate_turn
contribution
role_id & role_kind · worker_result_id link · position (supports / opposes / clarifies / questions / blocks) · evidence_ids · assumption_ids · contradiction_ids.
craik.debate_summary
outcome
Deterministic outcome record — see outcomes below.

Debate outcomes

Outcome
Use when
Notes
agreement
consensus
Support turns reached the same bounded conclusion and no opposing or blocking turn remains.
unresolved_disagreement
human review
Preserves a conflict without opening a contradiction report. Use when the orchestrator needs human or adjudicator review but the disagreement is not yet known to be an incompatible factual assertion.
contradiction_opened
incompatible facts
Links to one or more craik.contradiction_report records when specialist outputs assert incompatible facts or mutually exclusive implementation status.

Boundaries

Scoped to task and topic.

A turn can cite evidence or assumptions, but it must not promote assumptions to facts. A summary can list next steps, but it must not silently choose a winner when a blocker or opposing specialist output remains unresolved.

Rendering

Markdown and JSON rendering are deterministic. Renderers keep turn order from turn_ids, sort evidence-style lists where order has no semantic meaning, and emit explicit None rows for empty sections so absent agreement or contradiction links are visible in review.

What's next