24 lines
1.1 KiB
Markdown
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.
|