# Tasks: pagination-spec-conformance ## 1. New tests - [x] 1.1 Add `src/cursor/cursor-pagination.spec-conformance.test.ts` covering: cursor encode/decode value-type preservation; keyset cursor stability (idempotent + decode∘encode∘decode fixed point); `paginateArray` out-of-bounds page never throws; `Connection` / `Edge` generic threading via `expectTypeOf`. ## 2. Schema boundary markers - [x] 2.1 Add a `// schema: boundary-only` comment to `src/schemas/pagination.schemas.ts` so the conformance script suppresses the 12 boundary warnings (every schema is consumer-facing only). ## 3. Spec rewrite + Verified-by - [x] 3.1 Rewrite each requirement body in the change-folder spec delta under `## MODIFIED Requirements` to match the shipped impl (signatures, return-null-vs-throw, normalisation contract). - [x] 3.2 Append a `**Verified by:**` line to every requirement (PG-01..PG-20) naming the test file(s) and case(s) that assert it. - [x] 3.3 Fold the delta into `openspec/specs/pagination/spec.md`. ## 4. Verify - [x] 4.1 `bunx turbo lint typecheck test --filter=@suaveplan/pagination` green. - [x] 4.2 `bunx turbo test:coverage --filter=@suaveplan/pagination` 100/100/100/100. - [x] 4.3 `bun scripts/openspec-conformance.ts @suaveplan/pagination` exits 0.