Agent-to-Agent Discovery in SMESH: Why Coordination Isn't Enough Without Runtime Introductions
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…
In order to create a functional agent mesh, it is necessary to establish decentralized coordination among multiple processes. This allows for independent conclusions to be reinforced and unsupported signals to decay naturally. While the mesh functions effectively, introducing it to other agents presents a challenge as there is no standardized method to inquire about the capabilities of the entire swarm.
This lack of interoperability stems from the absence of retained tasks after internal signals expire, an interoperable progress stream, a cancellation contract, and a shared artifact that other frameworks can understand.
SMESH, a Rust-based decentralized agent framework, encountered this limitation. The author had successfully built a society where agents could collaborate without any border crossing, but the solution did not include a standardized way for agents from different vendors to discover each other, exchange messages, and collaborate without sharing private memory, tools, or internal plans.
To address this issue, Google's Agent2Agent (A2A) protocol was announced in April 2025 and moved under Linux Foundation governance in June 2025. A2A provides the missing public contract that enables agents built by different vendors to discover one another, exchange messages, and collaborate without sharing private resources.
Traditional service meshes solve discovery by utilizing a central registry, similar to etcd, Consul, or xDS. However, agent meshes differ as agents are ephemeral, context-dependent, and often spawned on demand. Therefore, they require discovering peers without a central registry, exchanging capability metadata at runtime, negotiating protocols without pre-shared configuration, and maintaining security boundaries during introduction.
The coordination primitives in agent meshes assume that agents already know about each other, but discovery is the layer that must precede coordination.
SMESH had a working top layer of coordination but lacked a bottom layer for the introduction process, resulting in manual wiring. The A2A protocol addresses this issue by defining a discovery handshake for agents to announce themselves and query peer capabilities, a structured capability exchange that provides metadata about what an agent can do, a standard message envelope for task requests, progress updates, cancellations, and results, and a security boundary that ensures agents reveal only their capabilities without exposing internal state, tools, or memory.
This protocol acts as the HTTP layer in microservices, allowing heterogeneous agents to communicate with one another. However, the behavior after introduction is determined by the individual agents. The SMESH architecture before A2A relied on a decentralized coordination model that utilized QUIC transport for encrypted, multiplexed connections between agent processes.
Signal propagation involved broadcasting observations and reinforcing conclusions from peers, while the decay mechanism allowed unsupported signals to lose weight over time. The absence of a central orchestrator meant that coordination emerged from peer interactions. The missing piece was the gateway layer that connected agents inside and outside the mesh.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.