mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-08-02 09:53:30 +00:00
preProcessPayload only skipped ranges ENTIRELY below the receiver's sync window, so when a wide-window peer (e.g. a store node) reconciled with a narrow-window peer (e.g. a core node), the recursive split bottomed out in a range straddling the narrow node's window floor and its below-window items were still offered for transfer. Now a straddling range is split: the below-window portion becomes Skip so the wide peer no longer offers history older than the narrow node retains. Only triggers on a window mismatch; equal windows never straddle, so store<->store and core<->core sync are unchanged (full suite 37/37). Added a reconciliation test proving a 2h-window initiator does not push a 45-min-old message to a 30-min-window peer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>