You can build a working agent mesh with QUIC transport, encrypted messaging, and decentralized coordination.
Five processes can reinforce independent conclusions and let unsupported signals decay.
The mesh works.
Then you try to introduce it to another agent and discover you have no standard way to ask what the swarm can do.
No retained task to retrieve after an internal signal expires.
No interoperable progress stream.
No cancellation contract.
No artifact another framework would understand.
SMESH is a Rust-based decentralized agent framework that hit this boundary.
The author had built a society with no border crossing.
The solution was Google's Agent2Agent (A2A) protocol, announced in April 2025 and moved under Linux Foundation governance in June
2025.
A2A provides the missing public contract: a way for agents built by different vendors to discover one another, exchange messages, and collaborate without sharing private memory, tools, or internal plans.
The Cold-Start Problem in Agent Meshes Traditional service meshes solve discovery with a central registry.
Kubernetes has etcd.
Consul has its catalog.
Envoy has xDS.
You register your service, get a DNS name or IP, and other services find you.
This works because services are relatively static and the registry is the source of truth.
Agent meshes are different.
Agents are ephemeral, context-dependent, and often spawned on demand.
They need to: Discover peers without a central registry Exchange capability metadata at runtime Negotiate protocols without pre-shared configuration Maintain security boundaries during introduction The coordination primitives (message passing, consensus, signal decay) assume agents already know about each other.
Discovery is the layer below coordination.
SMESH had the top layer working but no way to bootstrap the bottom layer without manual wiring.
What A2A Provides A2A is not a coordination protocol.
It is an introduction protocol.
The spec defines: Discovery handshake: How agents announce themselves and query peer capabilities Capability exchange: Structured metadata about what an agent can do (tasks, inputs, outputs) Message envelope: Standard format for task requests, progress updates, cancellations, and results Security boundary: Agents expose capabilities without revealing internal state, tools, or memory This maps to the HTTP layer in microservices, not the application layer.
A2A is the contract that lets heterogeneous agents talk.
What they say after introduction is up to them.
SMESH Architecture Before A2A SMESH uses a decentralized coordination model: QUIC transport: Encrypted, multiplexed connections between agent processes Signal propagation: Agents broadcast observations and reinforce conclusions from peers Decay mechanism: Unsupported signals lose weight over time No central orchestrator: Coordination emerges from peer interactions The missing piece was the gateway layer.
Agents inside the mesh could coordinate.
Agents outside the mesh had no entry point.
The author describes this as "a society with no border crossing." Adding the A2A Gateway The implementation added a tested gateway layer that: Exposes A2A-compliant discovery endpoints Translates A2A task requests into SMESH internal signals Maps SMESH coordination state to A2A progress updates Handles cancellation by injecting decay signals The gateway is not a proxy.
It is a protocol adapter.
Internal agents still use QUIC and signal propagation.
External agents use A2A.
The gateway translates at the boundary.
Discovery Flow Here is how an external agent discovers and tasks a SMESH mesh: Capability query: External agent sends A2A discovery request to gateway Gateway response: Returns aggregated capabilities from internal agents (tasks, input schemas, output schemas) Task submission: External agent sends A2A task request with inputs Internal translation: Gateway converts task to SMESH signal and broadcasts to mesh Coordination: Internal agents reinforce or decay the signal based on th