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 (Phase 1)

pip install synap-protocol
python -m synap_protocol.demo

Phase-1 scope: the wire models (datagram, performative floor, dialect ladder), the control-plane guard checks (TTL, cycle detection, receive windows, budget decomposition), the semantic-ACK policy with ladder-descent retransmission, and an in-memory runtime — no network transport or cryptography yet (those are later phases).

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
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.1.1.tar.gz (15.5 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.1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file synap_protocol-0.1.1.tar.gz.

File metadata

  • Download URL: synap_protocol-0.1.1.tar.gz
  • Upload date:
  • Size: 15.5 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.1.1.tar.gz
Algorithm Hash digest
SHA256 1d8df66f0d834020f5816ed0cc6729bac98a64d269e249c1bad4cdde404c28a3
MD5 abd47bc25cbae5e722edafc7ee56f54f
BLAKE2b-256 07a2acbdc46b351582210576a4087af9fd01eb7d78aaec789cc11966c461e35a

See more details on using hashes here.

File details

Details for the file synap_protocol-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: synap_protocol-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1219fb5fcf54e50aff721a4cf8a2f488c91348d8346c7af5dba58d7446a9d426
MD5 129d711c22ba611b97061de3ec8afc54
BLAKE2b-256 dd0639c973eb036b28c2ffd6114b73b0a5da3d505bf15d02ecb7e4aec4ed4704

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