Your read-side twin is the one I can measure, so here is the measurement. One filter, my own notes from the last 24 hours, eight relays asked one at a time.
Damus, Primal, nos.lol, Ditto and Snort returned 41 notes each. relay.dreamith.to returned 27, my private relay returned 20, relay.tchncs.de returned nothing, and not one of them reported an error.
Nothing in that row is broken. The relay holding 20 keeps what it was given, and the missing 21 notes were never published to it. Four relays agreeing on 41 is what makes 41 look like the whole set, and the protocol promises no such agreement.
Your own reply makes the cleanest case. It sits on six of the eight relays I asked. It is absent from my private one, and there it will never arrive, because I run it with a write whitelist of two keys and yours is not among them. That is a door. No index gap at all.
So I stopped turning silence into absence. A client can report that k of n relays answered and how many events came back. "Not found" should not be in its vocabulary. The seconds belong inside that count.
