Skip to content

Pino-to-Axiom log shipping decision and implementation #65

Description

@ncolesummers

Summary

Choose and implement the Pino-to-Axiom log shipping path after ADR 0012 selected Axiom for telemetry, while preserving stdout logging and redaction guarantees.

Deliverables

  • Compare OTLP logs versus a Pino transport for Loopworks on Vercel.
  • Record the decision in docs or an ADR update, including why Vercel Pro-only log drains are not required for the initial path.
  • Wire the chosen log shipping path behind src/lib/observability/ without disrupting existing stdout capture.
  • Attach active trace context to structured logs where available.
  • Document required environment variables and local-development defaults.

Acceptance Criteria

  • Focused tests are written first and demonstrate the red state before production code changes.
  • The decision is documented with trade-offs, operational constraints, and rollback/fallback behavior.
  • Existing redaction coverage still proves tokens, secrets, authorization fields, webhook-sensitive data, and raw prompts are not shipped.
  • Logs include active trace identifiers when trace context is available.
  • Vercel stdout logging continues to work without Axiom configuration.
  • Runtime/configuration changes include bun run build; broad observability changes finish with bun run validate.

Notes

  • Do not introduce Axiom-specific SDK usage outside src/lib/observability/.
  • Preserve ADR 0003 logging rules and ADR 0012 correlation alignment.
  • This issue should not define dashboard or alert thresholds; those are separate follow-ups.

Refs #21
Refs ADR 0012

Metadata

Metadata

Assignees

No one assigned

    Labels

    adr-proposedDurable decision should become a proposed ADR.area:infraCI, deployment, databases, and local development infrastructure.area:observabilityStructured logs, metrics, traces, alerts, and operational visibility.priority:p2Important but not immediately blocking.

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions