Files
2026-05-27 23:29:53 +01:00

27 lines
1.4 KiB
Markdown

# Tasks: idempotency-spec-conformance
## 1. Source refactors (no public-API change)
- [x] 1.1 Rewrite `src/error-codes.ts` to use `defineCodes("IDEMPOTENCY", [...])` from `@suaveplan/error`; re-export `IDEMPOTENCY_CODES` from `src/errors/idempotency-error.ts`.
- [x] 1.2 Add `// schema: boundary-only` marker to `src/schemas/idempotency.schemas.ts`.
## 2. Spec annotations
- [x] 2.1 Rewrite `### REQ-IDMP-NNN —` headings as `### IDMP-NN —` so the conformance parser picks them up.
- [x] 2.2 Add a `**Verified by:**` line under every requirement in `openspec/specs/idempotency/spec.md`.
## 3. Pinning tests
- [x] 3.1 Add `src/errors/idempotency-error.spec-conformance.test.ts` (IDMP-01).
- [x] 3.2 Add `src/schemas/idempotency.schemas.spec-conformance.test.ts` (IDMP-02).
- [x] 3.3 Add `src/guard/idempotency-guard.spec-conformance.test.ts` (IDMP-03 + IDMP-04).
- [x] 3.4 Add `src/metrics/idempotency-metrics.spec-conformance.test.ts` (IDMP-05).
- [x] 3.5 Add `tests/structural-adapters.spec-conformance.test.ts` (IDMP-08).
- [x] 3.6 Add `tests/benchmarks-present.spec-conformance.test.ts` (IDMP-07).
## 4. Verify
- [x] 4.1 `bunx turbo lint typecheck test --filter=@suaveplan/idempotency` green (8/8 tasks, 234/234 tests).
- [x] 4.2 `bunx turbo test:coverage --filter=@suaveplan/idempotency` 100/100/100/100.
- [x] 4.3 `bun scripts/openspec-conformance.ts @suaveplan/idempotency` PASS (0 error, 9 warn, 1 info).