WS-A3 [PROTO] Keyset pagination on every list/search (AIP-158 page_size/page_token/next_page_token) #275

Closed
opened 2026-07-31 18:12:43 +00:00 by KofTwentyTwo · 1 comment
KofTwentyTwo commented 2026-07-31 18:12:43 +00:00 (Migrated from github.com)

Unify pagination across ListMessages/Folders/Rules/Events/Contacts/Search; Audit.ListRecords drops limit/offset to match. Keyset not offset (sync-stable). Size L. Dep: WS-A1.

Part of the Roadmap-to-9/10 program (design: scratchpad/design/, ROADMAP-TO-9.md). Serial PROTO queue: only one [PROTO] story in flight at a time; WS-A is the sole .proto editor. Detailed brief written at dispatch. DoD per docs/STORY-WORKFLOW.md (engine+proto+CLI+offline mock-only E2E, no fabrication, golden regen on proto change).

Unify pagination across ListMessages/Folders/Rules/Events/Contacts/Search; Audit.ListRecords drops limit/offset to match. Keyset not offset (sync-stable). Size L. Dep: WS-A1. Part of the Roadmap-to-9/10 program (design: scratchpad/design/, ROADMAP-TO-9.md). Serial PROTO queue: only one [PROTO] story in flight at a time; WS-A is the sole .proto editor. Detailed brief written at dispatch. DoD per docs/STORY-WORKFLOW.md (engine+proto+CLI+offline mock-only E2E, no fabrication, golden regen on proto change).
KofTwentyTwo commented 2026-07-31 21:42:27 +00:00 (Migrated from github.com)

Delivered via PR #350 (WS-A3, squash-merged to dev). Keyset (opaque-cursor) pagination on all 7 list/search RPCs + Audit reconciled: page_size (default 50/max 500) + page_token + next_page_token. Opus review hand-traced all 7 per-list boundaries CORRECT (DESC dirs right, ties disambiguated by trailing id in cursor+comparison) — no silent dup/gap/skip. Malformed token -> typed VALIDATION_FAILED ErrorInfo. Golden regenerated; 524 tests. Three non-blocking pre-freeze-hardening items tracked as a follow-up.

Delivered via PR #350 (WS-A3, squash-merged to dev). Keyset (opaque-cursor) pagination on all 7 list/search RPCs + Audit reconciled: page_size (default 50/max 500) + page_token + next_page_token. Opus review hand-traced all 7 per-list boundaries CORRECT (DESC dirs right, ties disambiguated by trailing id in cursor+comparison) — no silent dup/gap/skip. Malformed token -> typed VALIDATION_FAILED ErrorInfo. Golden regenerated; 524 tests. Three non-blocking pre-freeze-hardening items tracked as a follow-up.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/nuncio#275