SynAP - the Synaptic Agent Protocol: a semantic control plane for inter-agent communication
Project description
SynAP — the Synaptic Agent Protocol
A semantic control plane for inter-agent communication — toward a narrow waist for the Internet of Agents.
Paper (v1.0, July 2026): doi.org/10.5281/zenodo.21176725 · source in paper/
SynAP defines an eleven-performative mandatory semantic floor with negotiated dialects above it (typed → embeddings → same-model latent exchange, degrading gracefully to natural language), and five wire-level control-plane mechanisms: comprehension-conditioned ACK with dialect-downgrade retransmission, delegation-depth TTL with cycle detection, context-window flow control with multi-hop budget decomposition and QoS classes, a VERIFY performative returning graded grounded verdicts, and a HANDOVER performative with admission control and dialect-encoded state transfer.
Reference implementation
pip install synap-protocol # core: wire models + control plane (pydantic only)
pip install "synap-protocol[net]" # + signed HTTP transport & DID identity
python -m synap_protocol.demo
Core — the wire models (datagram, eleven-performative floor, dialect ladder), the control-plane guards (TTL, cycle detection, receive windows, budget decomposition), the semantic-ACK policy with ladder-descent retransmission, and an in-memory runtime.
[net] extra — Ed25519 self-certifying DIDs, datagram signing, and a fail-closed
HTTP/ASGI transport (SynapServer/SynapClient). The network surface went through the
project's security cadence — audit → fix → three red-team rounds → verify. See
SECURITY.md for the trust model and guarantees.
Measurement harness — synap_protocol.measure quantifies the dialect ladder's
token/latency/fidelity trade-off; python examples/measure_demo.py runs an illustrative
(synthetic, clearly-labeled) study. Real numbers require a live model backend.
Real captured demo output:
== 1. comprehension control: downgrade to understanding ==
opened at d1 -> misunderstood -> re-expressed -> d0.nl [understood, score=0.96]
receiver's proof-of-understanding: 'caller wants the Q3 revenue variance summarized by region'
== 2. delegation safety: cycles and depth on the wire ==
cycle attempt -> REFUSE basis=cycle
ttl=0 attempt -> REFUSE basis=depth-exhausted
== 3. budget soundness: over-grant rejected before the wire ==
parent 10000tok/$2.00 -> grant 4000tok/$0.50 -> remainder 6000tok/$1.50
over-grant 9000tok -> REJECTED: token grant 9000 exceeds remaining 6000
PASS: all three control-plane mechanisms enforced.
Development
uv sync --extra net
uv run ruff check src tests && uv run mypy && uv run pytest
— amitpatole
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synap_protocol-0.2.0.tar.gz.
File metadata
- Download URL: synap_protocol-0.2.0.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Rocky Linux","version":"9.5","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dc0eec383df29e56eb6c055ffb913636b7d5a4b9c3d62e75cc535502ba678fd
|
|
| MD5 |
08629f10b483113a0635503636295424
|
|
| BLAKE2b-256 |
8945556abf7d96f705b7a6d18709ce4b8207805915ff11305fe189edaefc7bd0
|
File details
Details for the file synap_protocol-0.2.0-py3-none-any.whl.
File metadata
- Download URL: synap_protocol-0.2.0-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Rocky Linux","version":"9.5","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3bcaacd39d21c86bb21fa906dd48cc238267e8781699699469cb64ea0ef562e
|
|
| MD5 |
d7149e8bffa9239ae4ff623f90503bd1
|
|
| BLAKE2b-256 |
8c44782f670efa4d55de4d614503087db075118b47d9add912d840466fe3770f
|