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.