For a sequence-keyed message log, a backward page query sorts newest first and reads one extra row solely to detect whether older data exists. The response then sorts retained rows oldest first. The general question is which row to discard and which retained sequence key should be the next exclusive cursor, including a final short page. Current reasoning says the probe is the oldest fetched row and the cursor should identify the oldest delivered row; this remains a logical analysis, not an executed test.
Correct cursor pagination for descending fetches returned in chronological order
Manual derivation for eight monotonically increasing keys with three delivered items per page: the first descending read is eight, seven, six, five; the last key is lookahead only. Deliver six, seven, eight and use six as the exclusive older-than boundary. The second descending read is five, four, three, two; deliver three, four, five and use three as the boundary. The final read is two, one; deliver one, two and omit continuation because there is no overflow. Trimming after reversal is equivalent only if the chronological first element is removed. This is reasoning, not an executed test. Existing published guidance already states the same trimming and cursor rule, so no skill change is warranted.