Files
zeekay 4738ffea2f docs: hide Z-Wing, kill fabricated perf, banner spec-only protocols
Red-team review (this session) caught half the protocol pages were AI
slop — describing Go APIs that don't exist in repos that contain only
schemas, plus performance tables contradicted by the only real bench
harness in tree. This is the surgery:

post-quantum:
- Drop the Z-Wing brand from public docs (user feedback: confusing).
- Reframe PQ as ZAP's stack: IETF X-Wing KEM (transport) + hybrid
  Ed25519+ML-DSA-65 (identity) + PQ-RNS (name service). One canonical
  story; layers are independent.
- Per-language status matrix shows realistic state (X-Wing KAT shipped
  in 4 SDKs, sigs in all, resolver in progress).

protocols/{a2a,acp,fix,ws}:
- Marked "Status — spec-only, January 2026". Schema exists; runtime
  doesn't. Removed every Go code snippet that called a non-existent
  function. Replaced with a roadmap section.

protocols/rns:
- Rewrote against the actual schema at zap-proto/rns/schema/zap_rns.zap
  (Record / Query / Response / signed-by-registry).
- Added the PQ-RNS end-to-end flow diagram and the DID definition
  (base32(SHA3-256(kemPk || sigPk))).
- Documents the cross-language KAT fixture published at
  zap-proto/rns/testdata/pqrns_kat.json.

protocols/mcp:
- Rewrote against the actual bridge.go API: NewBridge(*zap.Node),
  AddServer, GetTools, CallTool, CallToolByName. Bridges existing
  stdio MCP servers (it's a bridge, not a from-scratch impl).
- Dropped the invented zmcp.NewServer / Connect / ListTools API.

protocols/http:
- Killed the 6× req/s / 19× p99 / 6.2× RSS table — contradicted by
  bench-results.txt which shows ZAP-HTTP currently ~10% slower.
- Replaced with honest current numbers + the value-prop statement.

protocols/native:
- Killed the 18× / 38× / 6.7× / 9.2× gRPC table — the bench harness
  has no gRPC comparator, the numbers were fabricated.
- Replaced with the actual concurrency=32 numbers from bench-results
  + an explanation that the win is semantic, not currently latency.

transports:
- Killed the @zap-proto/wasm and Cloudflare-Worker code snippets that
  referenced a non-existent npm package.
- Replaced with the honest pattern: browser→TLS→Worker→ZAP-over-X-Wing
  to origin. Points readers at the SDK status table.

app/page.tsx:
- Dropped Z-Wing from the home page cards.
2026-05-27 04:49:24 -07:00

50 lines
2.3 KiB
Plaintext

---
title: A2A over ZAP
description: Agent-to-Agent protocol over ZAP — spec, schema, no Go runtime yet.
---
# A2A over ZAP
> **Status — spec-only, January 2026.** The wire schema is published; the Go runtime hasn't shipped. Use the schema with any [SDK](/docs/sdks) for codegen of the message types. The transport / dispatch layer is being designed in [zap-proto/papers](https://github.com/zap-proto/papers).
`zap-proto/a2a` is the ZAP-native carrier for Google's **Agent-to-Agent (A2A)** protocol — agent cards advertise capabilities, tasks are issued and tracked, artifacts flow between agents.
## Why on ZAP
Running A2A on ZAP buys you the same authentication / authorization / observability story ZAP gives any higher-level protocol:
- **Trustworthy agent cards** — the publishing agent signs its own card under its [PQ identity](/docs/post-quantum). Consumers verify without a separate PKI.
- **Provable task lineage** — every state transition is signed. Disputes are settled by signature, not by audit-log trust.
- **Streaming-native artifacts** — large artifacts are zero-copy buffers, not gRPC-serialized blobs.
## Schema
Published at [zap-proto/a2a/schema/zap_a2a.zap](https://github.com/zap-proto/a2a/blob/main/schema/zap_a2a.zap). The schema covers:
- `AgentCard` — name, description, skills, capabilities, identity
- `Task` — id, skill, inputs, state machine
- `Artifact` — name, content-type, payload
- `Update` — task state transitions, signed by the executing agent
- Standard error variants
Generate types via the per-language codegen ([SDKs](/docs/sdks)), even though the runtime isn't shipped — the encoded bytes are stable.
## Roadmap
| Milestone | Target |
|---|---|
| Wire schema published | ✅ |
| Go reference runtime (server + client) | in progress |
| Streaming task updates over ZAP | in progress |
| TS, Python, Rust client packages | once Go reference stabilizes |
| Bridge to Google A2A HTTP transport | proposed |
Track progress on [zap-proto/a2a](https://github.com/zap-proto/a2a).
## Related
- [Google A2A specification](https://google.github.io/A2A/) — upstream spec
- [Native ZAP RPC](/docs/protocols/native) — the underlying RPC layer A2A maps to
- [ACP over ZAP](/docs/protocols/acp) — FIPA-style alternative for structured dialog
- [RNS](/docs/protocols/rns) — for keying agent discovery to identity rather than DNS