Skip to content

epic: telemetry-revamp — framework telemetry convention + ports/adapters + dashboard query surface (Spine-1 enabler) #399

Description

@rickylabs

Epic — telemetry-revamp (enabler half of Spine-1)

Part of #301 (Road to 0.0.1-stable). Co-lands with the dev-dashboard epic. No closing keyword — this umbrella closes by hand when all children land.

Problem

Telemetry is a rich but internally-inconsistent package (forbidden core/, orphan module, no OTEL-adapter subpath), plugin instrumentation ranges A→F (workers reference; streams/ai from zero), a real W3C-parenting bug severs trigger traces, real span-links exist in exactly one place, and there is no typed query/export surface for the dashboard to consume. The dashboard (headline) cannot ship a trustworthy trace view until this enabler lands.

Outcome

A framework-wide telemetry convention (TC-1..14), a doctrine-clean ports/adapters package with ./otel + ./query subpaths, every first-party plugin at TC-conformance, real fan-in span-links, the triggers bug fixed, a real (non-mocked) grouped-trace e2e assertion suite, and a NetScript-owned @netscript/telemetry/query contract the dashboard codes against.

Non-goals

Baggage propagation (semconv Candidate only); dual-writing to an external backend (that's the app's OTLP-exporter choice); the Aspire resource-graph "what's running" surface (dev-dashboard / Aspire seam owns it).

Acceptance (epic-level)

All child issues closed; scaffold.runtime e2e green including the new BEHAVIOR_OTEL_TRACES Flow-B assertions; deno doc --lint clean on the full export set; the arch-debt Refactor entry for packages/telemetry closed with F-3/F-5/F-6 evidence; the dashboard consuming @netscript/telemetry/query.

Children

T1 convention · T2 ports/adapters restructure · T3 thin-vs-SDK adapters · T4 W3C + triggers bugfix · T5 fan-in span-links · T6 oRPC + AI port · T7 query/export surface · T8 real grouped-trace e2e (epic merge-gate). T9 (AI OTel adapter, stable) is filed once as the cross-labelled FAI-17 (== #248) under epic:ai-stack + epic:telemetry-revamp.

Critical path to beta.6

T1 → T2 → T3 → T5 → T8 (fan-in links need the SDK adapter need the restructure). T4/T6/T7 parallelize after T2. T8 is the epic merge-gate; T9 is the stable tail.

Design source: design/B-telemetry/proposal.md + epic-and-issues.md.

Owner picks baked in

  • OF-5 = allow opt-in SDK — telemetry may ship an opt-in @opentelemetry/sdk-* adapter (adapters/otel-sdk) on the messaging fan-in path; the default build stays zero-runtime-dep (adapters/otel-deno), SDK selected only via NETSCRIPT_TELEMETRY_PROVIDER.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions