Skip to main content

[!FROZEN] MPLP Protocol v1.0.0 Frozen Specification Freeze Date: 2025-12-03 Status: FROZEN (no breaking changes permitted) Governance: MPLP Protocol Governance Committee (MPGC) License: Apache-2.0 Note: Any normative change requires a new protocol version.

Event Bus

[!NOTE] Duty Type: OS-Level Kernel Duty
SOT Reference: README v1.0.0 Section 8

Intent

To provide a unified, asynchronous communication backbone that decouples producers (Agents, Runtime) from consumers (Observability, UI, Analytics).

Lifecycle Coverage

  • Entire Lifecycle: Every state change is an event.

Agent Scope (SA / MAP)

  • SA: Emitting thought traces and tool outputs.
  • MAP: Broadcasting messages between agents.

Required Events

  • EventBusHealthy
  • SubscriberRegistered
  • EventDeliveryFailed

Compliance Requirements

  1. Runtime MUST emit events for all PSG mutations (GraphUpdateEvent).
  2. Events MUST conform to the MPLP Event Taxonomy (CloudEvents spec).
  3. The Event Bus MUST guarantee at-least-once delivery for critical audit events.

Implementation Details (Non-Normative)

The Event Bus is realized through the Network Module (topology) and a strict Event Taxonomy (payloads).

Network Topology

The Network object (mplp-network.schema.json) defines the routing and connectivity of the system:

  • topology_type: Defines the physical layout (e.g., hub_spoke, mesh, single_node).
  • nodes: The collection of agents, services, and resources connected to the bus.

Event Taxonomy

MPLP standardizes all system activity into 3 physical event schemas that carry 12 logical event families:

  1. PipelineStageEvent: For lifecycle transitions (Job, Plan, Step, Task).
  2. GraphUpdateEvent: For state mutations (Context, Resource, Artifact, Cost).
  3. RuntimeExecutionEvent: For operational activity (Agent, Tool, LLM, Worker).

Schema Reference

SchemaPurposeKey Fields
mplp-network.schema.jsonDefines network topologynetwork_id, topology_type, nodes
events/mplp-*.schema.jsonPhysical event definitionsevent_family, payload, source

Examples

  • UI Update: Frontend subscribes to StepUpdated to show a progress bar.
  • Audit Log: Compliance service subscribes to * to archive all activity.