Skip to content

Core Concepts

Procwire uses a dual-channel architecture to optimize for different use cases:

ChannelTransportProtocolCharacteristics
Control PlanestdioJSON-RPC 2.0Small messages (<1KB), rare, infrastructure
Data PlaneNamed Pipe / Unix SocketBinaryLarge messages (MB/GB), frequent, user data
  • Handshake at startup
  • Heartbeat (health checks)
  • Shutdown commands
  • Schema exchange
  • JSON-RPC is fine here - messages are small and rare
  • User data: embeddings, vectors, images
  • Computation results
  • Streaming data
  • Binary protocol required - JSON-RPC would destroy performance

JSON-RPC on Data Plane = ~30 MB/s Binary Protocol on Data Plane = ~2.5 GB/s

This 80x performance difference is why v2.0 introduces a binary wire format.

  • Binary wire format with 11-byte header
  • Zero JSON serialization for user data
  • Zero-copy accumulation for large payloads
  • Schema-first design - parent defines the contract

Full documentation coming with v2.0 release.