Implements bounded read_range and read_by_correlation variants with paged resume, at-least-one guarantee, and budget fallback to OpenOptions defaults. Fixes CursorInner::Correlation field (after_timestamp_us→last_seen_id) to match the id>last_seen_id resume predicate.
v1.1.22026-06-20
·Budget resolution in the public Store method, not the impl — per-call takes precedence, falls through to OpenOptions defaults, then unbounded
·read_by_correlation_bounded uses ORDER BY id ASC (BLOB) for deterministic resume; single SQL path handles first-page and resume via (?2 IS NULL OR id > ?2)
·at-least-one guarantee: byte budget only stops at the 2nd+ event to prevent infinite loops when one event exceeds the budget alone
·CursorInner::Correlation corrected from i64 timestamp to [u8;32] id — pub(crate), no callers, safe to fix before first consumer