Runtime Realtime¶
Forge exposes one canonical realtime WebSocket:
wss://forge.example.com/aurum.runtime.v1.Realtime/Stream?instance_id=signal-watch--0.0.1
The instance_id query parameter is required. Forge resolves the current
runtime endpoint from aurumd inventory.
Binary frames¶
Every business frame is binary Protobuf defined in
proto/aurum/runtime/v1/realtime.proto. Text frames and JSON envelopes are
rejected. Clients must generate codecs from the schema instead of reproducing
field numbers manually.
The client sends ClientFrame and receives ServerFrame. Request
operations cover subscribe, unsubscribe, list, resync, and typed runtime query.
Responses cover acknowledgments, lists, query results, resource updates, and
protocol errors.
Byte preservation¶
Forge validates frames against the canonical schema, then forwards the original bytes unchanged. It must not decode and re-encode a proxied runtime frame. Therefore the required invariant is:
Terminal payload bytes == Forge forwarded bytes == Runtime payload bytes
Reconnect behavior¶
Subscriptions belong to one WebSocket session. After disconnecting, reconnect with bounded backoff, fetch typed runtime status and resources again, validate the desired keys, then resubscribe. Rebuild order-book projections only from a fresh snapshot after a gap or reconnect.