Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

An application-neutral peer-mesh wire protocol. Any tool that speaks it — a file-sync client, an agent communication bus, a terminal broker — can be a first-class peer in the same mesh as any other tool. No single implementation is the canonical runtime. The protocol is the contract; no codebase is.

> **Status: schema written, one implementation underway.** [`spec/protocol.cddl`](spec/protocol.cddl) is a real, RFC 8610-valid schema, validated against a CDDL parser — not just prose. `ts/packages/core` consumes it, with schema-driven Zod generation and handshake/capability-token domain logic; `rust/` and the remaining `ts/packages/*` don't exist as code yet, only as the repository structure below.
> **Status: schema complete for the domains it defines, implementations partial.** [`spec/protocol.cddl`](spec/protocol.cddl) is a real, RFC 8610-valid schema, validated against a CDDL parser, and golden vectors in `conformance/` pin its wire shapes byte-exactly in both languages. The TypeScript packages under `ts/packages/` and the Rust crates under `rust/crates/` are real code with tests. `ts/packages/core` implements the handshake, capability tokens (including delegation and revocation), signed peer adverts, the relay hub, the end-to-end secure channel for relayed traffic, bulk transfer, data sync, coordinator election, rooms and threshold signing, and the hub, LAN node and web console build on it. The Rust crates implement the codec, handshake, capability tokens, rooms and threshold signing, but not the relay hub, secure channel, bulk transfer or data sync. Some frame families are schema only: exec and streaming have no implementation in either language, so no process spawning, PTY handling or credit-window enforcement exists, and nothing resolves DNS-anchored handles. Direct-path NAT traversal is also unimplemented in the TypeScript stack, where a connection across a NAT goes through the relay.

## Why this exists

Expand Down