strop-ui-protocol 0.38.0

strop UI protocol (0056 AR09/AR10): bounded versioned envelopes, semantic snapshots/deltas, the Rust-first stdio driver
Documentation

The strop UI protocol (0056 AR09/AR10): one bounded, versioned, non-graphical contract between the strop --ui-stdio backend and any frontend process (the future Windows GUI, test drivers, automation).

Shape:

  • Bytes: bounded Content-Length framing ([frame]), the convention strop-lsp already pins at its trace boundary. stdout carries frames only; diagnostics stay on stderr.
  • Envelopes: [message] — handshake, admitted actions, acknowledgements with explicit outcomes, semantic snapshots/deltas keyed by backend incarnation + view generation, host effects, resync and shutdown.
  • Actions: [message::AdmittedAction] mirrors the engine's admitted input surface one-to-one — there is no parallel command table.
  • Client: [client::Client] is the pure readonly cache (snapshot/delta application, resync poisoning); [driver::Driver] is the stdio process transport with deterministic state/revision barriers.

The client is never an editing model: it holds the last published view, refuses to act on stale or poisoned state, and recovers through an explicit resync — never by blindly applying a delta.