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

2.0 KiB

Tasks — testing-spec-conformance

  • Tighten scripts/openspec-conformance.ts to match change folders by **Package**: frontmatter only (drop folder-name token regex). Drop active-change specs/<cap>/ pull-ins for changes that don't name this package.
  • Re-run bun scripts/openspec-conformance.ts @suaveplan/testing and confirm req count drops from 226 → 35 → (after Verified-by folding) 0 errors.
  • Thread <TBody = unknown> through TestRequest, TestResponse, RequestBuilderState, ResponseBuilderState, RequestBuilder, ResponseBuilder. Default preserves unknown for zero-config callers.
  • Thread T = unknown through MutableFixtureState (internal but published in dist d.ts).
  • Replace Date.now() / performance.now() fallbacks in measureTime and withObservability with the injectable Clock substrate (defaultClock default).
  • Add tests/spec-conformance.spec-conformance.test.ts covering: generic threading via expectTypeOf, package.json sideEffects: false, every public surface has a subpath export, module-scope determinism scan, schema modules don't import siblings.
  • Add **Verified by:** lines under every ### Requirement: block in openspec/specs/testing/spec.md. Citations name real it(...) titles.
  • Correct stale packages/universal/testing/ references in the spec to packages/dev/testing/.
  • Verify bunx vitest run is green (295 + 7 new = 302 tests).
  • Verify bunx turbo build --filter=@suaveplan/testing regenerates dist with the new generics.
  • Verify bun scripts/openspec-conformance.ts @suaveplan/testing PASS, 0 errors.
  • Pre-publish gate: bunx turbo lint typecheck test --filter=@suaveplan/testing.
  • Coverage gate: bunx turbo test:coverage --filter=@suaveplan/testing (Istanbul ≥ 100/100/100/100 per project policy).
  • On archive: fold spec deltas into openspec/specs/testing/spec.md (already folded inline) and move this folder to openspec/archive/<yyyy-mm-dd>-testing-spec-conformance/.