Single-Channel Replay
Multi-Channel Replay
Controls
Pause
{"op":"replay.pause"}Resume
{"op":"replay.resume"}Seek
{"op":"replay.seek","timestamp":1681550000000}Stop
{"op":"replay.stop"}Gap Handling
Replay Event Flow
Replay control commands use dottedop values. Server events use underscore event names.
| Event | Meaning | Client behavior |
|---|---|---|
replay_started | Replay window accepted | Start the run manifest and record channel, symbol, start, end, and speed |
replay_snapshot | Initial state before timeline messages | Build baseline state before processing historical messages |
historical_data | Timeline data emitted in replay order | Apply the message according to channel semantics and preserve timestamp |
gap_detected | Missing or discontinuous interval | Mark the output incomplete, stop, or rebuild from a known checkpoint |
replay_paused | Replay paused after replay.pause | Keep state but stop advancing the run clock |
replay_resumed | Replay resumed after replay.resume | Continue processing from the current timestamp |
replay_completed | Replay reached the end of the configured window | Close the manifest and label the output complete, partial, or rejected |
replay_stopped | Replay stopped by replay.stop | Close the manifest as stopped and keep the stop reason |