20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# Tasks: retry-spec-conformance
|
|
|
|
## 1. New tests
|
|
|
|
- [x] 1.1 Add `src/retry/retry.spec-conformance.test.ts` with six cases: generic narrowing (type-level), deterministic seeded-Rng jitter, per-attempt signal forwarding, mid-backoff abort discriminator, backoff factory purity, RetryExhaustedError cause chain.
|
|
- [x] 1.2 Add `src/circuit-breaker/circuit-breaker.spec-conformance.test.ts` with three cases: full FSM walk in one assertion, open never invokes fn, CircuitOpenError.context.openedAt carries injected-clock timestamp.
|
|
- [x] 1.3 Add `src/types/retry.schemas.spec-conformance.test.ts` with six cases: round-trip parse + reject for every published schema.
|
|
|
|
## 2. Spec annotations
|
|
|
|
- [x] 2.1 Add `**Verified by:**` line under every `### RT-NN —` block in `openspec/specs/retry/spec.md`.
|
|
- [x] 2.2 Update RT-05 to match the 4-arg `withTimeout(fn, ms, attemptNumber, signal?)` signature.
|
|
- [x] 2.3 Update RT-10 to reflect helper-based opt-in OTel emission (record functions are no-ops without exporter).
|
|
|
|
## 3. Verify
|
|
|
|
- [x] 3.1 `bunx turbo lint typecheck test --filter=@suaveplan/retry` green.
|
|
- [x] 3.2 `bunx turbo test:coverage --filter=@suaveplan/retry` 100/100/100/100.
|
|
- [x] 3.3 `bun scripts/openspec-conformance.ts @suaveplan/retry` exits 0.
|