SessionLoop.handleListJobs filters jobs but ignores the request limit and cursor fields. In arcp-runtime/src/main/java/dev/arcp/runtime/session/SessionLoop.java around line 343 it collects every matching job into a list, and at line 355 it always returns a SessionJobs response with nextCursor set to null. The public message type SessionListJobs carries limit and cursor, and the conformance documentation says filter plus cursor is implemented, but clients cannot page through large job sets.
Fix prompt: Implement stable pagination for session.list_jobs. Sort the matching jobs deterministically, apply req.cursor() and req.limit(), return only the requested page, and set next_cursor when more results remain. Define cursor encoding so it is opaque to callers but stable across repeated requests, and extend ArcpClient with an overload that accepts limit and cursor or otherwise exposes Page.nextCursor() for follow-up calls. Add tests for first page, next page, invalid cursor handling, and interaction with status, agent, and created_after filters.
SessionLoop.handleListJobs filters jobs but ignores the request limit and cursor fields. In arcp-runtime/src/main/java/dev/arcp/runtime/session/SessionLoop.java around line 343 it collects every matching job into a list, and at line 355 it always returns a SessionJobs response with nextCursor set to null. The public message type SessionListJobs carries limit and cursor, and the conformance documentation says filter plus cursor is implemented, but clients cannot page through large job sets.
Fix prompt: Implement stable pagination for session.list_jobs. Sort the matching jobs deterministically, apply req.cursor() and req.limit(), return only the requested page, and set next_cursor when more results remain. Define cursor encoding so it is opaque to callers but stable across repeated requests, and extend ArcpClient with an overload that accepts limit and cursor or otherwise exposes Page.nextCursor() for follow-up calls. Add tests for first page, next page, invalid cursor handling, and interaction with status, agent, and created_after filters.