Initial Commit
This commit is contained in:
45
openspec/archive/2026-04-18-enterprise-logger/tasks.md
Normal file
45
openspec/archive/2026-04-18-enterprise-logger/tasks.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Tasks: enterprise-logger
|
||||
|
||||
Status key: ✅ done | 🔄 in progress | ⬜ pending
|
||||
|
||||
## Wave 1 — Scaffold
|
||||
|
||||
- ⬜ 1.1 Create `packages/universal/logger/` with `package.json`, `tsconfig.lib.json`, `vite.config.ts`, `vitest.config.ts`, `biome.json`
|
||||
- ⬜ 1.2 Create `src/index.ts` barrel (empty, filled incrementally)
|
||||
|
||||
## Wave 2 — Foundation modules
|
||||
|
||||
- ⬜ 2.1 `src/errors/` — `LoggerError` + `LOGGER_CODES`
|
||||
- ⬜ 2.2 `src/record/` — `LogRecord` type + Zod schemas
|
||||
- ⬜ 2.3 `src/otel/` — `getOtelTraceContext()`
|
||||
- ⬜ 2.4 `src/redaction/` — `RedactionEngine` + rules + property tests
|
||||
- ⬜ 2.5 `src/sampling/` — `HeadSampler`, `TailSampler`, `RuleSampler` + property tests
|
||||
|
||||
## Wave 3 — Sink layer
|
||||
|
||||
- ⬜ 3.1 `src/sink/sink` — `Sink` interface + `SinkOptions`
|
||||
- ⬜ 3.2 `src/sink/console-sink` — ANSI dev output
|
||||
- ⬜ 3.3 `src/sink/json-sink` — NDJSON writer
|
||||
- ⬜ 3.4 `src/sink/buffered-sink` — bounded queue, drop/block, `AbortSignal` flush
|
||||
|
||||
## Wave 4 — Logger core (refactored)
|
||||
|
||||
- ⬜ 4.1 `src/abstract/` — `Logger` interface + `AbstractLogger` with Sink[], redaction, sampling, OTel, clock injection
|
||||
- ⬜ 4.2 `src/console/` — `ConsoleLogger` (wraps `ConsoleSink`)
|
||||
- ⬜ 4.3 `src/event/` — `EventLogger` (emits via `@suaveplan/events`)
|
||||
- ⬜ 4.4 `src/storage/` — `StorageLogger` (batched `StorageInterface` writes)
|
||||
|
||||
## Wave 5 — High-level API
|
||||
|
||||
- ⬜ 5.1 `src/factory/` — `createLogger()` overloaded factory
|
||||
- ⬜ 5.2 `src/error-bridge/` — `installSuaveplanErrorInterceptor()`
|
||||
- ⬜ 5.3 `src/init/` — `initLogger()`
|
||||
|
||||
## Wave 6 — Quality
|
||||
|
||||
- ⬜ 6.1 Wire all exports in `src/index.ts`
|
||||
- ⬜ 6.2 Add `src/__benchmarks__/logger.bench.ts` (mitata)
|
||||
- ⬜ 6.3 Add tree-shake test
|
||||
- ⬜ 6.4 Run pre-publish gate: `bunx turbo lint typecheck test:coverage --filter=@suaveplan/logger`
|
||||
- ⬜ 6.5 Fix any issues found in gate
|
||||
- ⬜ 6.6 Update `CLAUDE.md` package listing + root `README.md`
|
||||
Reference in New Issue
Block a user