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.
Exact compatibility matrix
Section titled “Exact compatibility matrix”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.
M9 slice record
Section titled “M9 slice record”| 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 |
SDK source additions
Section titled “SDK source additions”M9.10 adds the same small protocol correlation helper to TypeScript, Rust and Python source:
ProtocolBindingRefProtocolOperationRefProtocolCorrelation- 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 |
Visual architecture package
Section titled “Visual architecture package”The diagrams are scalable SVG assets checked into public/images/m9/. They are documentation artifacts, not executable protocol definitions.
Definition-of-done evidence
Section titled “Definition-of-done evidence”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.
Closure evidence
Section titled “Closure evidence”- M9.10 source commit
12192c344be3f060e03604c9774d3e02eed9613epassed cross-protocol run36998149587with 4/4 profiles, 16/16 scenarios and 16/16 checks; artifact11222721873. - Verification run
36998436863on7c437db57eb97598de367383aae6c34f62b53e74passed Python tests/build, TypeScript package tests, Rust tests, shared parity/limits checks and the full engine job. The only failing step wasdocs:typecheck, which identified literal widening in the new TypeScript guide example. - Commit
9328ef94cd57e944230c657f174b308addbb11cdfixes that example by declaring the contract asContractand expands M9 conformance workflow path coverage without changing protocol runtime behavior. - The Vercel status check for
9328ef94cd57e944230c657f174b308addbb11cdis successful, confirming the corrected repository state passes the documentation build/deployment path. - GitHub-hosted runs
37002244314and37002243969were 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.
Release notes
Section titled “Release notes”- MCP
2026-07-28synchronous adapter and official v2 connector. - MCP Tasks extension durability/recovery and official requester adapter.
- A2A
1.0client and Praxis server/Agent Card profiles. - AG-UI
1.0projection plus authenticated human-control intent bridge. - Durable
ProtocolRegistrywith 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.
Preserved
Section titled “Preserved”- 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/...andaiws-engine/*compatibility-facing identifiers remain unchanged.
Not claimed
Section titled “Not claimed”- 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.