Skip to content

M9 protocol interoperability completion

M9 status: Complete. M9.1–M9.10 are accepted for the scoped source interoperability profile. M8 platform/release qualification remains independent and active.

M9 gives Praxis tested protocol boundaries for capabilities (MCP), agents (A2A) and humans (AG-UI) while preserving the same AIWS authority, budget, approval, UNKNOWN/reconciliation, verification and acceptance semantics.

M9 protocol architecture

Only the versions below are advertised by the M9 source profile.

Profile Protocol revision Official compatibility packages used in M9.9 Verified path
MCP synchronous 2026-07-28 @modelcontextprotocol/client@2.2.0, @modelcontextprotocol/server@2.2.0 discovery, tools, resources, prompts, auth, timeout/cancel ambiguity, capability pinning
MCP Tasks base 2026-07-28; Tasks schema 2026-07-28 @modelcontextprotocol/ext-tasks@0.1.0 task creation/get/update/cancel, durable restart/resume, input fencing, ambiguity
A2A 1.0 @a2a-js/sdk@1.3.0 outbound client + inbound Praxis Agent Card/server over HTTP+JSON, streaming/resubscribe
AG-UI 1.0 @ag-ui/core@1.0.0 projection schemas plus structured human interrupt/resume control intent

M9.9 run 36995139650 passed 4/4 profiles, 16/16 required scenarios and 16/16 executable checks. Machine-readable evidence artifact 11221346823 is named m9-cross-protocol-conformance.

A dependency update does not automatically expand this matrix. A new protocol revision/package combination requires an explicit binding revision, review and conformance evidence before it becomes an advertised compatibility profile.

Slice Result
M9.1 Common version-pinned protocol-binding abstraction and non-authoritative observation boundary
M9.2 MCP 2026-07-28 synchronous outbound profile
M9.3 MCP Tasks durable identity/restart/input/cancellation/reconciliation
M9.4 A2A 1.0 outbound client/task profile
M9.5 A2A Praxis server / Agent Card profile
M9.6 AG-UI 1.0 event projection
M9.7 AG-UI authenticated, material-bound human control intent
M9.8 Durable cross-protocol registry and privacy-preserving observability
M9.9 Unified official-stack conformance campaign
M9.10 SDK correlation helpers, examples, runbook, compatibility docs, release notes and visual package

M9.10 adds the same small protocol correlation helper to TypeScript, Rust and Python source:

  • ProtocolBindingRef
  • ProtocolOperationRef
  • ProtocolCorrelation
  • a validator/builder that requires authoritative: false

These records are intentionally not MCP, A2A or AG-UI clients. They let an application correlate an AIWS mission/run/operation/attempt with the exact Praxis binding revision and remote identity while official protocol SDKs remain responsible for protocol wire behavior.

The correlation record has no authority, dispatch, cancellation, verification, reconciliation or acceptance method. It cannot turn protocol metadata into permission.

Source vs released SDK vs qualified deployment

Section titled “Source vs released SDK vs qualified deployment”
Surface Status after M9
Current repository source Includes all M9 engine adapters/registry/conformance plus the new cross-language protocol-correlation helper
Previously built SDK 0.3.0 binary archives Retain their original finite-v1 scope; do not assume the new source-only protocol helper is present
Praxis protocol adapters TypeScript engine-source functionality; not duplicated as native Rust/Python protocol stacks
Official protocol SDK dependencies Host-owned, pinned only in the tested adapter/conformance paths
Production/platform claims Still governed by M8; M9 does not certify macOS/Linux/Windows production deployment, PostgreSQL, endurance, containment or cross-machine failover

Protocol mapping across MCP, A2A and AG-UI

Durable protocol identity and registry

UNKNOWN and recovery lifecycle

The diagrams are scalable SVG assets checked into public/images/m9/. They are documentation artifacts, not executable protocol definitions.

M9.1–M9.10 satisfy the scoped source interoperability requirements below. Final acceptance is backed by the composed evidence chain recorded here:

  • Real paths: MCP, A2A and AG-UI each have pinned official-stack test paths.
  • Explicit compatibility: the matrix above is closed and evidence-backed.
  • Restart-safe identity: M9.3/M9.4/M9.5 stores plus M9.8 registry retain separate local and remote identity across restart.
  • UNKNOWN semantics: transport ambiguity, cancellation and external completion never manufacture exactly-once success.
  • Human approval: AG-UI resumes pass through authenticated, current-material Praxis controls; UI events are not approval records.
  • Capability ≠ authority: discovery remains descriptive and material-digest pinned.
  • M8 independence: release/platform qualification remains a separate milestone.
  • Documentation boundary: source-only additions, SDK 0.3.0 binaries and production qualification are stated separately.
  • M9.10 source commit 12192c344be3f060e03604c9774d3e02eed9613e passed cross-protocol run 36998149587 with 4/4 profiles, 16/16 scenarios and 16/16 checks; artifact 11222721873.
  • Verification run 36998436863 on 7c437db57eb97598de367383aae6c34f62b53e74 passed Python tests/build, TypeScript package tests, Rust tests, shared parity/limits checks and the full engine job. The only failing step was docs:typecheck, which identified literal widening in the new TypeScript guide example.
  • Commit 9328ef94cd57e944230c657f174b308addbb11cd fixes that example by declaring the contract as Contract and expands M9 conformance workflow path coverage without changing protocol runtime behavior.
  • The Vercel status check for 9328ef94cd57e944230c657f174b308addbb11cd is successful, confirming the corrected repository state passes the documentation build/deployment path.
  • GitHub-hosted runs 37002244314 and 37002243969 were retried twice but failed before runner allocation (runner_id: 0, zero steps). Because no test command executed, those runs are recorded as infrastructure unavailability rather than regression evidence.

M8 remains the sole release/platform/production qualification track; closing M9 does not expand those claims.

  • MCP 2026-07-28 synchronous adapter and official v2 connector.
  • MCP Tasks extension durability/recovery and official requester adapter.
  • A2A 1.0 client and Praxis server/Agent Card profiles.
  • AG-UI 1.0 projection plus authenticated human-control intent bridge.
  • Durable ProtocolRegistry with immutable binding revisions, evidence correlation and stale-result fencing.
  • Privacy-preserving protocol telemetry projection.
  • Unified cross-protocol compatibility manifest and M9.9 campaign.
  • Cross-language protocol-correlation records and runnable TypeScript/Rust/Python example.
  • Operator/recovery runbook and high-resolution SVG architecture package.
  • AIWS/Praxis remains the authority boundary.
  • Remote capability/task/UI state is evidence, not authorization or acceptance.
  • UNKNOWN remains explicit until target-specific reconciliation proves otherwise.
  • Existing engine/*, /engine/... and aiws-engine/* compatibility-facing identifiers remain unchanged.
  • Exactly-once external effects.
  • Silent protocol-version upgrades.
  • Cross-machine Praxis recovery.
  • Production support for every OS/deployment/database target.
  • Inclusion of M9 source APIs in older SDK 0.3.0 binary artifacts.

Use protocol operations and recovery for operator procedures and Praxis protocol interoperability for the architecture and protocol-specific behavior.