Skip to content
Current section: Council

Gates, Revisions and History

Part of Council.

Council evaluates blocking findings before quorum
  1. 1. Any blocking finding?
    • Yes → block (1). A finding blocks even when quorum is missing.
    • No → check quorum.
  2. 2. Enough distinct reviewers?
    • Yes → pass (0).
    • No → incomplete (3). This is never a pass.

An input or I/O error exits with 2 before producing a gate. A blocked change goes back for revision only while a configured revision round remains.

Gate When Exit code
block Any finding at or above the blocking severity, whoever reported it 1
pass Nothing blocks and enough members reviewed to reach the quorum 0
incomplete Nothing blocks, but too few members reviewed; never a silent pass 3

The output lists each group of findings, most severe first, with every member that reported in it. Add --format json for the same result as JSON.

When the gate blocks and a revision round is left, the merge ends with next: revise. Give the change’s author the revision brief:

Terminal window
cedr council merge --route review.council --run r-5c1e0a2b9d47 --format brief claude/opus=claude.md codex.json

The brief lists every finding, most severe first. The author fixes or rebuts each blocking group with one line per group, such as src/auth.rs:42 fixed - compare in constant time. Then plan the council again, give each reviewer those reply lines with the change, and merge with --round 2. A change that still blocks after the last round does not ship.

cedr council stats shows, per council route, how many merges passed, blocked or were incomplete, how many changes needed a revision, and how many passed after one. Add --since YYYY-MM-DD to count only recent merges.

Each merge is recorded with its gate, round and finding counts, never the findings themselves. With sync set up, those results appear on the Council page in the app.

Exit 2 means the merge could not complete, such as an unreadable report or an unknown local run ID. Fix the input and retry; do not interpret an error as an empty review.

Use the new plan’s run ID for each new review round and increment --round when merging its reports. Preserve the author’s replies so the next reviewers can assess each fix or rebuttal.

Local MCP provides the same planning and merging workflow through council_plan and council_merge. Hosted MCP can merge submitted reports for an organization, but does not launch reviewers. Local plan availability and hosted snapshots have different freshness; select the connection deliberately.