Optional ReadonlyonThe stream ended or failed. A retry is already scheduled unless the watch was stopped.
ReadonlyonOptional ReadonlyonThe first successful open. The burst that follows IS the snapshot.
Optional ReadonlyonA LATER open. Frames sent while we were away cannot be replayed, so everything held across the gap is suspect — this is where a consumer re-reads, which is query-and-compare applied to a client. It is deliberately a different signal from onOpen: re-reading the world on the first open recreates the request storm the stream removes.
How a watcher learns the stream's own state, apart from the rows it carries.