Files
suaveplan/openspec/archive/2026-05-02-logger-spec-conformance/specs/logging/spec.md
2026-05-27 23:29:53 +01:00

2.4 KiB

Capability Spec Delta: logging (spec-conformance)

Package: @suaveplan/logger Status: PROPOSED

This delta annotates each existing requirement in openspec/specs/logging/spec.md with a **Verified by:** line. No requirement semantics change.

MODIFIED Requirements

(See openspec/specs/logging/spec.md for the full requirement bodies.)

Requirement Verified by
LG-01 Log levels src/abstract/abstract-logger.test.ts AND src/record/log-record.test.ts
LG-02 Structured log record src/record/log-record.test.ts
LG-03 Pluggable sinks src/sink/sink.test.ts AND src/abstract/abstract-logger.test.ts
LG-04 Console sink src/sink/sink.test.ts
LG-05 JSON (NDJSON) sink src/sink/sink.test.ts
LG-06 Buffered sink src/sink/sink.test.ts
LG-07 Redaction engine src/redaction/redaction.test.ts AND src/abstract/abstract-logger.test.ts
LG-08 Sampling src/sampling/sampling.test.ts AND src/abstract/abstract-logger.test.ts AND src/abstract/abstract-logger.spec-conformance.test.ts
LG-09 OpenTelemetry correlation src/otel/otel-context.test.ts
LG-10 Injectable clock and RNG src/abstract/abstract-logger.test.ts
LG-11 Metrics src/abstract/abstract-logger.test.ts
LG-12 OTel instrumentation src/abstract/abstract-logger.spec-conformance.test.ts
LG-13 Structured errors src/errors/logger-error.test.ts
LG-14 i18n / keyed messages src/abstract/abstract-logger.test.ts (string MUST path; the optional { key, args } overload is forward-looking)
LG-15 Error bridge src/error-bridge/error-bridge.test.ts
LG-16 Factory src/factory/factory.test.ts
LG-17 Init helper src/init/init.test.ts
LG-18 Property-based tests src/redaction/redaction.test.ts AND src/sampling/sampling.test.ts AND src/record/log-record.test.ts
LG-19 Benchmarks src/__benchmarks__/logger.bench.ts (file existence) AND hot-path correctness via per-feature unit tests
LG-20 Tree-shake safety src/abstract/abstract-logger.spec-conformance.test.ts

Newly added tests in this change

  • src/abstract/abstract-logger.spec-conformance.test.ts — pins LG-12 (recording MeterProvider, asserts logger.records_total, logger.record_size_bytes, logger.dropped_total fire with documented attributes) and LG-20 (sideEffects: false, subpath exports, dist shape).