Protocol Specification

Mesh Memory Protocol (MMP)

A Mesh Protocol for Collective Intelligence

Version2.0
StatusPublished · v2.0 conformance correction in progress
First published27 March 2026
This version14 September 2026
AuthorHongwei Xu <editor@meshcognition.org>
OrganisationSYM.BOT
Canonical URLhttps://meshcognition.org/spec/mmp
LicenceCC BY 4.0 (specification text); Apache 2.0 (reference implementations)

Introduction

Multi-agent LLM systems in production coordinate cognitive work on shared tasks spanning hours, days, and weeks — generator/quality/auditor pipelines running for days; research investigations spanning weeks across session restarts; a coding agent, a music agent, and a fitness agent serving the same user where no single agent connects “commits slowing” + “tracks skipped” + “3 hours without movement” into “the user is fatigued.” That insight requires structured collective intelligence — and the semantic-integration layer of agent communication is, today, unaddressed.

Existing protocols at lower layers standardize tool access and task delegation between agents. What each receiver does with incoming observations from a peer — receiver-autonomous admission, signal-level lineage, filtering at acceptance time — is the missing layer. The Mesh Memory Protocol specifies that layer through five composable primitives: CAT7, a fixed seven-category schema for every Cognitive Memory Block; SVAF, per-category evaluation against the receiver’s role-indexed anchors, on which it decides admission for itself; content-hash lineage, so every claim is traceable to its source observation; remix, where receivers store only their own evaluated understanding of accepted blocks, never raw peer signals; and grounding, real-world outcomes carried by lineage — so the mesh records not only what its members believe but what held up in practice, and the cognition that survives both judgment and reality persists as the Canon.

The problem is semantic, not transport. Hidden state never crosses the wire — each agent’s learned cognition stays sovereign on its own device; only Cognitive Memory Blocks (CMBs) propagate. Receiver-autonomous admission lets the mesh grow without re-introducing a master. MMP defines transport over TCP on local networks and WebSocket for internet relay, with length-prefixed JSON as the canonical wire format. Discovery uses DNS-SD (Bonjour) with zero configuration.

This document describes an 8-layer stack, but it is two documents in one, and is read that way (§17). MMP Core is the normative wire contract — identity, transport, connection, frames, the CAT7 block with its content address and signature — byte-testable against published Class 1 conformance vectors (Class 1, §17.1). Everything receiver-side — SVAF admission, memory tiers, remix behavior, the cognitive layers that together implement Mesh Cognition — is a public behavioural profile (Class 2, §17.2). SYM provides an open, transparent baseline implementation. xmesh-core is a proprietary cognition runtime whose public inputs, outputs, safety invariants and audit behaviour are required to pass this same specification before conformance is claimed (§17.6). A private scoring method does not define private wire semantics. Each page identifies whether it states a wire requirement, a behavioural invariant, an implementation profile or an informative research claim.

This specification is being made executable, not merely asserted: Core wire claims are backed by public schemas, byte constructors, positive vectors and negative cases consumed by independent verifiers and implementations. Where analysis finds a requirement unsatisfiable or a guarantee conditional — the basis of the redundancy invariants, the evaluation-time admission window, the cold-start bootstrap trade — the text is amended and the limit disclosed in place rather than left implicit (see the change log’s soundness & completeness update). What the protocol promises is what survives derivation.

Status of This Document

This is the published MMP 2.0 specification. A conformance correction is in progress to make its website text, machine schemas, cryptographic vectors and implementations one independently executable contract. The version remains 2.0; cryptographic suite identifiers evolve independently. Until the published conformance gates pass, implementations must not infer “Core Secure” solely from a package version.

Why 2.0

MMP 1.0 and 1.1 were verified in real systems; MMP 2.0 turns the corrected contract into independently executable evidence. The earlier releases ran across Windows, macOS and iOS applications, over LAN and over an internet relay — interoperating between independent implementations on different platforms. The 2.0 record, address and signature constructions now have public schemas and byte vectors reproduced independently from the text. Complete Core Secure handshake, encrypted-transport and emitter migration is still in progress and is not claimed as done.

SYM is the open reference substrate and transparent baseline admission profile. It is evidence that the protocol can run, not the source of normative truth. xmesh-core is proprietary and may keep learned policies and optimisations private, but its observable MMP boundary is tested only against this public contract; its complete v2.0 result remains pending (§17.6). A third-party implementation depends on neither codebase.

What changed is that the runtime moved and the text did not follow. The record model advanced — a two-section record, a Merkle-derived content address, a new signing payload — while the published text continued to describe the earlier shape. 2.0 re-derives the specification and runtime into alignment clause by clause. Where text, schemas, vectors and code disagree, none is silently declared correct: the v2.0 errata rules the construction, publishes executable vectors, and then implementations are tested against it.

That is checkable rather than assertable. The constructions in §8.8 Record Model — the content address and the signature payload — were re-implemented from the text of that section alone, with no access to the reference code, and reproduced the running system’s output byte for byte. A specification is worth the implementations it can produce, and §8.2 has been shown to produce one.

Why a major version, when the wire itself did not change. Because conforming to the previous text no longer yields an interoperating implementation. 1.x declared a different, version-tagged address prefix as normative, which the current runtime rejects; it specified a flat record the runtime no longer emits; and it derived the content address by hashing a concatenation, where the runtime computes a Merkle root — the same cmb- prefix on a different digest, so the divergence is silent. Anything built against a running node is unaffected. Anything built from the 1.x record text would not interoperate today. 2.0 is the correction, and it is the version to build from.

Earlier releases, for reference. Sections added by the 1.1.0 work layer — §6.3 (Canon tier), §6.7 (Grounding), §8.3.1 (well-known intent values), §14.12 (session capture), and §15.7.2 (outcomes are observations) — are marked New in 1.1.0 in place. 1.1.0 is fully wire-compatible with 1.0.x: no new frames or fields; a 1.0.x node interoperates unchanged and remains 1.0.x-conformant (see §17.5 for the requirements 1.1.0 adds).

Feedback and errata: spec@meshcognition.org or github.com/sym-bot/sym/issues.

Implementations

LanguageProjectMaintainerScope
Node.js / TypeScriptsym-bot/symSYM.BOTOpen reference substrate and transparent baseline admission profile (Apache 2.0). Conformance is measured against the published artifacts, not defined by this code.
Swiftsym-bot/sym-swiftSYM.BOTApple-platform implementation. Core Secure v2.0 reader migration is in progress.
Node.jsxmesh-coreSYM.BOTProprietary cognition runtime. Its public MMP boundary, safety invariants and audit outcomes are the conformance surface; the complete v2.0 result is pending. Internal policies and optimisations are not open reference code.

Change Log

Current — 2.0 “Re-derived from the implementation” (14 September 2026): the record model advanced in the runtime while the published text continued to describe the earlier shape, and 2.0 closes that gap. Corrected §8.8 Record Model gives the two-section record, the byte-exact content address (a promote-odd Merkle root over the seven per-category keys) and the byte-exact signature payload. The normative address form is corrected to cmb- + 64 lowercase hex — 1.x declared a version-tagged prefix instead, which the runtime rejects. Admission wording is corrected to per-category evaluation on which the receiver decides for itself; receiver autonomy is unchanged. CAT7 members are named categories throughout, and the wire key is untouched.

1.1.0 “The Work Layer” (2026-07-05, updated 2026-07-07): grounding cognition in reality — §6.7 outcomes carried by lineage, the §6.3 Canon tier, §14.12 work sessions as mesh members, plus the folded-in full-corpus coherence errata. The 2026-07-07 update folds in the soundness & completeness amendments from the formalization of the open-source runtime: §9.2.1 redundancy invariants pinned to the nearest-anchor basis, the §9.2 evaluation-time-dependence disclosure, the cold-start-capture threat row, §6.7 repeat verification and the load-bearing failure channel, and the §15.8 lineage tether. Wire-compatible with 1.0.x.

Full change log — every release since 0.1 →

Licence

This specification is published under the Creative Commons Attribution 4.0 International Licence (CC BY 4.0). You may share, adapt, and build upon this specification for any purpose, including commercial use, provided you give appropriate credit.

SYM and other named open reference components are published under the Apache Licence 2.0. xmesh-core is proprietary and is not covered by that statement.

SYM and SYM.BOT are trademarks of SYM.BOT. The Mesh Memory Protocol is published under CC BY 4.0; the term "Mesh Cognition" is intentionally unmarked — the category name is free vocabulary.

© 2026 SYM.BOT. Specification text licenced under CC BY 4.0. Reference implementations licenced under Apache 2.0.