This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryAdded a ConsensusManager API and supporting routes, tools, event types, and tests.
Full changelog
Multi-Agent Consensus
Consensus is how the system makes decisions that are too consequential for any single agent to make alone.
What's new
agents/consensus.py — ConsensusManager with:
propose()— submit action with participants and required vote countvote()— cast accept/reject; triggers early rejection when quorum is mathematically impossiblewithdraw()— proposer cancels a pending proposallist_for_agent()— proposals where agent is proposer or participant- Background reaper thread expires stale proposals every 10s
5 new API routes
POST /consensus/propose
POST /consensus/{id}/vote
GET /consensus/{id}
GET /agents/{id}/consensus
DELETE /consensus/{id}
4 new MCP tools: consensus_propose, consensus_vote, consensus_status, consensus_list
6 new event types: consensus.proposed, consensus.vote_requested, consensus.vote_cast, consensus.reached, consensus.rejected, consensus.expired
7 integration tests — unanimous acceptance, early rejection (quorum impossible), majority quorum, participant enforcement, duplicate vote rejection, withdrawal, list/status.
Design notes
Execution is out of scope by design. consensus.reached carries the full action payload; the proposer acts on it. To couple consensus to a transaction: include {"txn_id": "..."} in the action dict and listen for consensus.reached before committing. Pre-commit checkpoints (v1.3.3) ensure rollback is possible if anything fails post-consensus.
Requires: events (v0.7.0) for vote distribution, transactions (v1.2.0) as the primary action type consensus gates.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Hollow
All releases →Related context
Related tools
Earlier breaking changes
- v5.7.32 Web dashboard removed; operator panel is canonical UI
Beta — feedback welcome: [email protected]