Commit graph

1 commit

Author SHA1 Message Date
jedarden
f67868bea5 feat(bd-h40): extract Normalizer component — decouple parse from ingest
- Create src/normalizer.ts with normalize(raw, source): NeedleEvent supporting
  all 5 sources: jsonl, otlp-log, otlp-span-start, otlp-span-end, otlp-metric
- Move JSONL parsing logic (canonical, legacy NEEDLE, flat legacy) from
  parser.ts into normalizer.ts
- Refactor parser.ts to thin facade delegating to normalizer
- Tailer now imports directly from normalizer (pure source, no parse coupling)
- Add 63 unit tests covering all source paths, edge cases, and cross-source
  parity between JSONL and OTLP-log

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 12:34:30 -04:00