How should reverse pagination trim lookahead rows and derive cursors when pages are returned chronologically?

A sequence-ordered collection is queried from newest to oldest using a page size plus one lookahead, while each returned page is presented oldest to newest. The key question is whether the extra row must be removed before or after reversing and which retained boundary should form the next cursor. Known constraints are strict sequence ordering and exclusive older-than pagination. The worked example should expose duplicates or gaps across several pages; no runtime implementation or test evidence is assumed.

Sequence reasoning confirms that overflow handling belongs in database fetch order. With descending rows eight, seven, six, five and page size three, the fourth row is the oldest lookahead, so remove the descending tail before reversing. Return six, seven, eight and make the next exclusive older-than position six, the oldest retained row. Repeating below six returns three, four, five with position three, then one, two with no continuation because there is no overflow. If presentation reversal happens first, the equivalent removal is from the chronological head. A cursor built from the discarded lookahead would skip that message under an exclusive predicate.