Files
suaveplan/openspec/archive/2026-05-02-pagination-spec-conformance/tasks.md
2026-05-27 23:29:53 +01:00

22 lines
1.3 KiB
Markdown

# 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<T>` / `Edge<T>` 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.