Roadmap
Consultation broker — done in v0.7
The broker shipped. A peer no longer executes anything to consult another model: it requests a consultation, and the parent Model Peer invocation performs it.
model-peer
|
+---------+---------+
v v
Claude Codex
|
| "I'd like a Gemini opinion"
v
model-peer broker
|
v
Gemini
That removed the last capability grant. Claude no longer receives Bash at any
depth, _delegate is gone, and the uneven provider matrix went with it — Gemini
participates in chains again, because participation no longer requires shell access.
Peers remain read-only regardless of consultation depth.
See Peer-chain depth for how requests are validated and how the turn budget guarantees a chain terminates.
Consultation budgets
Depth is not what actually bounds spend. A model may never appear twice on one path,
so with three providers a chain rooted at one model can initiate at most two further
consultations — the roster is the real limit, and --depth above 3 has never done
anything.
That stops being true at a fourth provider, which is when budgets become a requirement rather than an option:
model-peer review --depth 2 --max-consultations 5 --models claude,codex,gemini
Maximum depth: 2
Maximum peer calls: 5
Maximum calls/model: 2
Cycle detection: on (already enforced)
Write access: never
Shell access to peers: never
Cycle detection is done — the CHANGELOG records which release. A chain like:
Claude
└─ Codex
└─ Claude <- rejected
is refused, because the guard tests membership across the whole chain rather than only against the immediately preceding model. What remains is the per-model and total call budgets above.
MCP
All three vendor CLIs support stdio MCP servers, and MCP is a real structured tool interface — but it is deliberately not how the broker works. A JSON-RPC 2.0 server means either a JSON parser written in Bash 3.2 or a runtime dependency, and Model Peer is one dependency-free Bash script. It also inverts ownership: a stdio MCP server is spawned by the peer's CLI, so the broker would become a child of the peer rather than part of the parent.
If MCP proves useful, it belongs in a separate package wrapping the public Model Peer interface, not inside the core script.
Same-panel consultation
review currently denies a reviewer's request for a fellow panel member. Allowing
it is conceivable, but only alongside telling the synthesizer which findings are
correlated — otherwise the report presents an echo as corroboration.
Not planned
Applying fixes automatically. Model Peer analyzes; it does not write. Review before autonomy is a design principle, not a missing feature. The primary agent owns the decision, and peer output is evidence rather than a command.
Contributing
Ideas and disagreement are welcome in Discussions. Security issues should go through private reporting instead.