What to build
Chat sessions and chat messages paginate using the estate cursor convention: an opaque cursor and a limit going in, an items array and a next cursor coming back.
These are the collections in this service that genuinely grow without bound. Bounded collections — workspaces, repositories, projects, credentials — are deliberately left alone, because turning every list into an envelope is a breaking change across the estate for collections that hold single digits.
The cursor shape is chosen over page and size because it stays stable under concurrent inserts, which is what an infinitely scrolling message list needs.
Acceptance criteria
Blocked by
- Adopt the customizer and annotate the domain error codes
What to build
Chat sessions and chat messages paginate using the estate cursor convention: an opaque cursor and a limit going in, an items array and a next cursor coming back.
These are the collections in this service that genuinely grow without bound. Bounded collections — workspaces, repositories, projects, credentials — are deliberately left alone, because turning every list into an envelope is a breaking change across the estate for collections that hold single digits.
The cursor shape is chosen over page and size because it stays stable under concurrent inserts, which is what an infinitely scrolling message list needs.
Acceptance criteria
Blocked by