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.task.v1",
  "initiator": "agent://planner",
  "participants": [
    "agent://planner",
    "agent://worker"
  ],
  "mode_version": "1.0.0",
  "configuration_version": "cfg-1",
  "policy_version": "",
  "ttl_ms": 60000,
  "messages": [
    {
      "sender": "agent://worker",
      "message_type": "TaskRequest",
      "payload_type": "macp.modes.task.v1.TaskRequestPayload",
      "payload": {
        "task_id": "t1",
        "title": "Build",
        "instructions": "Do it",
        "requested_assignee": "agent://worker",
        "deadline_unix_ms": 0
      },
      "expect": "reject",
      "expected_error_code": "FORBIDDEN"
    },
    {
      "sender": "agent://planner",
      "message_type": "TaskRequest",
      "payload_type": "macp.modes.task.v1.TaskRequestPayload",
      "payload": {
        "task_id": "t1",
        "title": "Build",
        "instructions": "Do it",
        "requested_assignee": "agent://worker",
        "deadline_unix_ms": 0
      },
      "expect": "accept"
    },
    {
      "sender": "agent://planner",
      "message_type": "TaskRequest",
      "payload_type": "macp.modes.task.v1.TaskRequestPayload",
      "payload": {
        "task_id": "t2",
        "title": "Another",
        "instructions": "Do more",
        "requested_assignee": "agent://worker",
        "deadline_unix_ms": 0
      },
      "expect": "reject",
      "expected_error_code": "INVALID_ENVELOPE"
    },
    {
      "sender": "agent://worker",
      "message_type": "TaskAccept",
      "payload_type": "macp.modes.task.v1.TaskAcceptPayload",
      "payload": {
        "task_id": "t1",
        "assignee": "agent://worker",
        "reason": "ready"
      },
      "expect": "accept"
    },
    {
      "_comment": "RFC-MACP-0009 Section 4 (:31, :58) and Section 5 rule 4 (:73): TaskUpdate does not carry an explicit assignee field -- authorship is validated via the Envelope sender, which MUST match the active assignee. A non-assignee sender (here, the requester) MUST be rejected.",
      "sender": "agent://planner",
      "message_type": "TaskUpdate",
      "payload_type": "macp.modes.task.v1.TaskUpdatePayload",
      "payload": {
        "task_id": "t1",
        "status": "in_progress",
        "progress": 0.5,
        "message": "requester is not the active assignee"
      },
      "expect": "reject",
      "expected_error_code": "FORBIDDEN"
    },
    {
      "sender": "agent://worker",
      "message_type": "TaskUpdate",
      "payload_type": "macp.modes.task.v1.TaskUpdatePayload",
      "payload": {
        "task_id": "t1",
        "status": "in_progress",
        "progress": 0.5,
        "message": "halfway through"
      },
      "expect": "accept"
    }
  ],
  "expected_final_state": "Open"
}