The Socket supply-chain filter (ADR-023) was added after the initial library-trace backfill, leaving the 36 traces dated 2026-05-14 without the socketRisk filter-results field the trace schema now expects. Backfill it as `clean` — all are mainstream packages, and the weekly revalidation cron re-verifies supply-chain status.
3.3 KiB
package, version, tier, decision, date, deciders, adr, filter-results, verification-commands, accepted-cves
| package | version | tier | decision | date | deciders | adr | filter-results | verification-commands | accepted-cves | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @opentelemetry/api | ^1.9.0 | core | approved | 2026-05-14 |
|
adr-017 |
|
|
Filter: license
npm view @opentelemetry/api license returns Apache-2.0. Apache-2.0 is on the allowlist.
Filter: types
@opentelemetry/api is authored in TypeScript and ships its own .d.ts declaration files. No separate @types/ package is needed.
Filter: maintenance
Actively maintained by the OpenTelemetry community under the CNCF. The 1.x stable API line receives regular releases; the project is a CNCF incubating project with broad industry backing.
Filter: boundary-fit
ADR-017 §8 explicitly permits @opentelemetry/api for use within core-shared/instrumentation/ without restriction. Feature packages use it via the ITracer/ILogger interfaces only; they do not import this package directly (ESLint boundary rules, ADR-010).
Filter: shadow-check
@opentelemetry/api is the CNCF-standard instrumentation API. No competing tracing API is present in the workspace. The API package is the stable, zero-dependency interface layer intentionally kept separate from SDK implementations.
Filter: eu-residency
@opentelemetry/api is a pure instrumentation API with no network communication, telemetry transmission, or data storage. EU residency does not apply.
Filter: cve-scan
pnpm audit --audit-level=moderate reports no advisories against @opentelemetry/api at the time of this trace.
Filter: named-consumer
packages/core-shared/src/instrumentation/ consumes @opentelemetry/api to implement OtelTracer and OtelLogger (ADR-017). packages/core-audit also depends on it for span context propagation in audit records.
Prompt: replaces
Prior to ADR-017, core-shared used Sentry SDK methods directly in SentryTracer and SentryLogger. @opentelemetry/api replaces direct Sentry SDK calls as the instrumentation substrate, allowing vendor swaps via exporter configuration rather than code rewrites.
Prompt: migration-cost-out
Hard. @opentelemetry/api is the instrumentation interface called throughout core-shared/instrumentation/. Migrating away means replacing all span creation, context propagation, and log emission with a different API. The interfaces (ITracer, ILogger, IMetrics) in ADR-014 isolate feature packages, but the core instrumentation layer itself is deeply coupled to the OTel API shape.
Prompt: alternatives-considered
- Sentry SDK directly — Rejected in ADR-017: couples the impl to Sentry forever; vendor swap requires rewriting every
*Tracer/*Loggerpair. - OpenCensus — CNCF predecessor to OpenTelemetry; reached end-of-life and merged into OpenTelemetry. Not viable.
See ADR-017 for the full decision rationale.