mirror of
https://github.com/zap-proto/dev.git
synced 2026-10-30 15:05:18 +00:00
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.
45 lines
1.8 KiB
Plaintext
45 lines
1.8 KiB
Plaintext
---
|
|
title: WS over ZAP
|
|
description: Multi-stream pubsub channel — schema published, runtime in progress.
|
|
---
|
|
|
|
# WS over ZAP
|
|
|
|
> **Status — spec-only, January 2026.** The wire schema is published; the Go runtime hasn't shipped. "WS" stands for **wire stream** — this is not WebSocket.
|
|
|
|
`zap-proto/ws` is a planned **multi-stream pubsub** layer on top of ZAP. Each stream gets its own per-stream forward-error-correction (FEC) so a packet loss in one stream doesn't block any other. Subscriptions are filtered server-side using ZAP's content-addressed framing. Every published message is signed by the publisher's identity.
|
|
|
|
## Why on ZAP
|
|
|
|
The trade-offs WS makes compared to existing pubsub:
|
|
|
|
| Versus | Why pick WS over ZAP |
|
|
|---|---|
|
|
| NATS | per-stream FEC, no head-of-line blocking, signed messages by default |
|
|
| MQTT | binary framing, capability-based subscription, no broker auth surface |
|
|
| Redis pub/sub | content-addressed filtering, durable subscribers via signed offsets |
|
|
|
|
## Schema
|
|
|
|
Published at [zap-proto/ws/schema/zap_ws.zap](https://github.com/zap-proto/ws/blob/main/schema/zap_ws.zap). Covers `PublishRequest`, `SubscribeRequest`, `Message`, `Ack`, `DurableConfig`. Generate types via [SDK codegen](/docs/sdks).
|
|
|
|
## Roadmap
|
|
|
|
| Milestone | Target |
|
|
|---|---|
|
|
| Wire schema published | ✅ |
|
|
| Go broker runtime | in progress |
|
|
| Per-stream FEC integration | in progress |
|
|
| Durable subscriber with signed offsets | in progress |
|
|
| Cross-language client packages | once Go reference stabilizes |
|
|
| Bench against NATS, MQTT | once runtime stabilizes |
|
|
|
|
Performance claims will be sourced from [zap-proto/bench](https://github.com/zap-proto/bench). No numbers will be published before the harness exists.
|
|
|
|
Track progress on [zap-proto/ws](https://github.com/zap-proto/ws).
|
|
|
|
## Related
|
|
|
|
- [Native ZAP RPC](/docs/protocols/native)
|
|
- [Transports](/docs/transports)
|