The typed wire protocol for driving ryra over rpc.
This crate is the contract, and only the contract: pure serde data types,
no dependency on ryra-core (the engine). Any client - ryra-api, a control
plane, a third-party tool - can speak it without compiling the engine, which
is what makes ryra-api movable off the box later (it talks to the box's
ryra rpc over a transport, depending only on these types).
The ryra binary owns the engine: it deserializes a [Request], converts
the protocol-native request payloads into ryra_core::ops types, runs them,
and serializes a [Reply]. The request payloads here mirror the ops request
structs by shape (not by import), so the engine's internal types stay
engine-private.