Gates, Revisions and History
Part of Council.
Read the Gate
Section titled “Read the Gate”- 1. Any blocking finding?
- Yes → block (1). A finding blocks even when quorum is missing.
- No → check quorum.
- 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.
Revise a Blocked Change
Section titled “Revise a Blocked Change”When the gate blocks and a revision round is left, the merge ends with next: revise. Give the change’s author the revision brief:
cedr council merge --route review.council --run r-5c1e0a2b9d47 --format brief claude/opus=claude.md codex.jsonThe 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.
See How Councils Perform
Section titled “See How Councils Perform”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.
Errors and Hosted Reviews
Section titled “Errors and Hosted Reviews”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.