phux
protocol

Protocol reference

The normative phux wire protocol, versioned with phux-protocol.

wire 0.8.0stable document
Full source summary

The normative phux wire protocol, versioned with phux-protocol. Start with the tutorial for one complete connection, then use the framing, workload authentication, L1 terminal, L3 metadata, input, and encoding pages as the source of truth for implementations.

HELLO01ATTACH02BOOTSTRAP03OUTPUT / INPUT04DETACH

Server sends terminal bytes. Client sends structured input. Both sides run the same terminal engine, so there is no second screen model in the middle.

Files

FileOwns
TUTORIAL.mdStart here: a complete session walkthrough (HELLO → attach → output → input → detach)
proto.mdFraming, version negotiation, capabilities, flow control, transport
workload-auth.mdEndpoint-neutral phux-workload/v1 proof, canonical endpoint-owned scopes, registry intersection, and live revocation
L1.mdTerminal substrate — the REQUIRED conformance tier
L2.mdReserved, unused — no collection tier (dissolved per ADR-0030)
L3.mdMetadata storage — OPTIONAL
input.mdINPUT_KEY / INPUT_MOUSE / INPUT_FOCUS / INPUT_PASTE / INPUT_RAW
appendix-encoding.mdEncoding primitives and the normative payload shape (positional, big-endian, length-prefixed)
appendix-reserved.mdReserved discriminant ranges
CHANGELOG.mdWire-format change log, version-stamped

Version

The current protocol version lives in crates/phux-protocol/src/ (grep PROTOCOL_VERSION). The top entry in CHANGELOG.md must match it; CI gate spec-version-sync enforces this.

View exact source

On this page