Thanks for the feedback, here are my responses.
- Distinguishing between incomplete node data and empty replies.
The latest version of the proposal better specifies this behavior (link). It introduces the concept of a server / implementation availability window for each method, which the server must compare against each request, and respond with an error if the requested block range falls outside of the window.
- Pagination / limit within the block.
We also added a section that better specifies the “Block-aligned pagination” behavior (link). TL;DR - the server is allowed to return greater than the user-requested number of events to ensure that the response is block-aligned. We also renamed limit to target, which better describes how it works. To address your scenario directly, the server would finish collecting data from block 2 and then return 200 events.