Skip to main content

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.

DOI

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 harnesssynap_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synap_protocol-0.2.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synap_protocol-0.2.0-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

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

Hashes for synap_protocol-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7dc0eec383df29e56eb6c055ffb913636b7d5a4b9c3d62e75cc535502ba678fd
MD5 08629f10b483113a0635503636295424
BLAKE2b-256 8945556abf7d96f705b7a6d18709ce4b8207805915ff11305fe189edaefc7bd0

See more details on using hashes here.

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

Hashes for synap_protocol-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3bcaacd39d21c86bb21fa906dd48cc238267e8781699699469cb64ea0ef562e
MD5 d7149e8bffa9239ae4ff623f90503bd1
BLAKE2b-256 8c44782f670efa4d55de4d614503087db075118b47d9add912d840466fe3770f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page