macp-runtime 0.7.5

MACP reference runtime: a coordination kernel and gRPC server enforcing session boundaries, message validation, append-only history, modes, and governance policy.
Documentation
{
  "mode": "macp.mode.quorum.v1",
  "initiator": "agent://coordinator",
  "participants": [
    "agent://alice",
    "agent://bob",
    "agent://carol"
  ],
  "mode_version": "1.0.0",
  "configuration_version": "cfg-1",
  "policy_version": "",
  "ttl_ms": 60000,
  "messages": [
    {
      "sender": "agent://alice",
      "message_type": "Approve",
      "payload_type": "macp.modes.quorum.v1.ApprovePayload",
      "payload": {
        "request_id": "r1",
        "reason": "lgtm"
      },
      "expect": "reject",
      "expected_error_code": "INVALID_ENVELOPE"
    },
    {
      "sender": "agent://coordinator",
      "message_type": "ApprovalRequest",
      "payload_type": "macp.modes.quorum.v1.ApprovalRequestPayload",
      "payload": {
        "request_id": "r1",
        "action": "deploy",
        "summary": "Deploy v2",
        "required_approvals": 2
      },
      "expect": "accept"
    },
    {
      "sender": "agent://alice",
      "message_type": "Approve",
      "payload_type": "macp.modes.quorum.v1.ApprovePayload",
      "payload": {
        "request_id": "r1",
        "reason": "lgtm"
      },
      "expect": "accept"
    },
    {
      "sender": "agent://coordinator",
      "message_type": "Commitment",
      "payload_type": "macp.v1.CommitmentPayload",
      "payload": {
        "commitment_id": "c1",
        "action": "quorum.approved",
        "authority_scope": "test",
        "reason": "done",
        "mode_version": "1.0.0",
        "policy_version": "policy.default",
        "configuration_version": "cfg-1",
        "outcome_positive": true
      },
      "expect": "reject",
      "expected_error_code": "INVALID_ENVELOPE"
    },
    {
      "_comment": "RFC-MACP-0011 Section 5 rule 3: a second, distinct ballot from a sender who already cast one for the same request_id MUST be rejected, even when it repeats the same ballot type; the first accepted ballot stands.",
      "sender": "agent://alice",
      "message_type": "Approve",
      "payload_type": "macp.modes.quorum.v1.ApprovePayload",
      "payload": {
        "request_id": "r1",
        "reason": "still lgtm, resending"
      },
      "expect": "reject",
      "expected_error_code": "INVALID_ENVELOPE"
    },
    {
      "sender": "agent://bob",
      "message_type": "Approve",
      "payload_type": "macp.modes.quorum.v1.ApprovePayload",
      "payload": {
        "request_id": "r1",
        "reason": "agree"
      },
      "expect": "accept"
    },
    {
      "_comment": "RFC-MACP-0011 Section 5 rule 3: the per-request_id cap is counted across Approve, Reject, and Abstain combined -- a cross-type second ballot (Reject after an accepted Approve) from the same sender MUST be rejected regardless of the type of either ballot.",
      "sender": "agent://bob",
      "message_type": "Reject",
      "payload_type": "macp.modes.quorum.v1.RejectPayload",
      "payload": {
        "request_id": "r1",
        "reason": "actually changed my mind"
      },
      "expect": "reject",
      "expected_error_code": "INVALID_ENVELOPE"
    }
  ],
  "expected_final_state": "Open"
}