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

24 lines
1.1 KiB
Markdown

# Tasks: timing-spec-conformance
## 1. Inline drift fixes
- [x] 1.1 Add `recordSchedulerQueueDepth` (lazy `ObservableGauge`) to `src/otel/timing-otel.ts`.
- [x] 1.2 Re-export `recordSchedulerQueueDepth` from `src/index.ts`.
- [x] 1.3 Wire `scheduler.schedule` / per-task `finally` / handle-`cancel` / top-level `cancel` / `dispose` to call `recordSchedulerQueueDepth(_tasks.size)`.
- [x] 1.4 Wire `stopwatch.stop` to call `recordStopwatchElapsed(_accumulated)`.
- [x] 1.5 Wire `createTimer.start` interval callback to call `incrementTimerTick()` before user `onTick`.
## 2. Spec-conformance tests
- [x] 2.1 Add `src/timing.spec-conformance.test.ts` covering TM-03/04/06/07/08/11 implicit scenarios and the new queue-depth helper.
## 3. Spec annotations
- [x] 3.1 Add `**Verified by:**` line under every TM-NN requirement in `openspec/specs/timing/spec.md`.
## 4. Verify
- [x] 4.1 `bunx turbo lint typecheck test --filter=@suaveplan/timing` green.
- [x] 4.2 `bunx turbo test:coverage --filter=@suaveplan/timing` 100/100/100/100.
- [x] 4.3 `bun scripts/openspec-conformance.ts @suaveplan/timing` exits 0.