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

1.3 KiB

Tasks: pagination-spec-conformance

1. New tests

  • 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

  • 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

  • 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).
  • 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.
  • 3.3 Fold the delta into openspec/specs/pagination/spec.md.

4. Verify

  • 4.1 bunx turbo lint typecheck test --filter=@suaveplan/pagination green.
  • 4.2 bunx turbo test:coverage --filter=@suaveplan/pagination 100/100/100/100.
  • 4.3 bun scripts/openspec-conformance.ts @suaveplan/pagination exits 0.