> Archived 2026-04-19: all tasks retroactively ticked; package shipped under universal/events/events. # Tasks: enterprise-events - [x] 1. Scaffold package.json, tsconfig, vite/vitest configs (thresholds 100), README, CHANGELOG - [x] 2. Implement `errors/codes.ts` (EVENTS_CODES via `defineCodes`) + `events-error.ts` extending `SuaveplanError` - [x] 3. Implement `clock/default-clock.ts` and `id/id-generator.ts` as the single source of non-determinism - [x] 4. Implement `envelope/envelope.ts` + `envelope.schemas.ts` + types - [x] 5. Implement `interceptor/compose.ts` with chain-of-responsibility - [x] 6. Implement `queue/bounded-queue.ts` with all four policies + abort support - [x] 7. Implement `idempotent/idempotent.ts` - [x] 8. Implement `bus/event-bus.ts` composing the pieces - [x] 9. Implement `observability/with-observability.ts` - [x] 10. Cross-cutting guards in `tests/`: dep-graph, no-disallowed, tree-shake - [x] 11. Unit + property-based tests for every module (fast-check) - [x] 12. `bunx turbo lint typecheck test build --filter=@suaveplan/events --force` green - [x] 13. Coverage = 100/100/100/100 - [x] 14. `bun scripts/publish.ts --package @suaveplan/events` to Verdaccio at 0.0.0 - [x] 15. Archive change folder under `openspec/archive/-enterprise-events/`