I3935 — An agent session's telemetry reaches the same OpenTelemetry endpoint, configured once and projected to every provider
Declare the OpenTelemetry endpoint once in the repository's environment model and project the variables each provider reads (for Claude Code CLAUDE_CODE_ENABLE_TELEMETRY, OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT and its headers from the person's local environment), so that sessions' cost, tokens and tool time sit beside CI's traces.
BLOCKED wave 1 · p2 · implementation profile · parallel safe
Blocked. This issue cannot start until I3934 is done. The status is derived from that, not declared.
Objective
Declare the OpenTelemetry endpoint once in the repository's environment model and project the variables each provider reads (for Claude Code CLAUDE_CODE_ENABLE_TELEMETRY, OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT and its headers from the person's local environment), so that sessions' cost, tokens and tool time sit beside CI's traces.
Why
Sessions are most of this repository's work and their cost is read from per-provider screens; with CI traces in one endpoint (I3934), session telemetry in the same place makes a slow pipeline and an expensive session one question.
Current state
No provider projection carries telemetry settings; nothing is exported.
Desired state
The environment model names the endpoint once; provider projections export it only when the person's local environment supplies it; the headers stay in the local half and are never committed.
Scope
- .ai/repo/providers
- share
- docs
- .ai/repo/project/issues/I3935.yaml
Out of scope
- Committing an endpoint, token or header value
Dependencies
Acceptance criteria
- With the local endpoint set, a Claude Code session exports its metrics to it
- With nothing set, no provider exports anything and no projection differs except by the declared names
Validation
- bin/majordomus doctor
Evidence required
- suite
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Telemetry settings are per person; projecting a value rather than a name would leak it into the tracked half.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3935.yaml. Read it back with majordomus plan show I3935.