quorum_resolve
- Category: quorum
- Access: write
- Audience: administrative (ordinary users do not normally call this directly)
Purpose
Resolves one open coordination quorum and records its decision and result references. A Quorum is what was agreed (Debate holds why). Call it when all lanes are terminal and the agreement must become durable.
Arguments
Required: quorum_id.
Optional: decision_ref, result_ref.
-
quorum_id. -
decision_ref. Note: Optional pointer at the decisive debate message or verdict; reasoning is never duplicated into the quorum. -
result_ref. Note: Optional pointer at the agreed artifact or outcome reference.
Result
JSON object with quorum_id and status (always resolved on success).
Boundaries
Requires the conductor role; the caller must also satisfy quorum visibility (project scope AND participation, with conductor and star override). Only open quorums resolve. Stored within the selected profile boundary only.
Lifecycle / side effects
Verifies every lane is terminal (done, failed, or cancelled), then marks the quorum resolved with a resolution stamp plus the two refs, and records an audit/history event. Resolved is terminal.
Errors
Missing conductor role is denied. Missing or inaccessible identity reads as unknown_quorum with no oracle. Non-open quorums are rejected as quorum not open. Resolving over non-terminal lanes is rejected as quorum has open lanes. Overlong refs are rejected as invalid refs.
Example
{
"decision_ref": "msg:<uuid>",
"quorum_id": "<uuid>",
"result_ref": "verdict:<uuid>"
}
Result shape:
{
"quorum_id": "<uuid>",
"status": "resolved"
}
See also
quorum_create, quorum_cancel, quorum_list, lane_list, debate_read.