I3934 — A CI run is emitted as an OpenTelemetry trace when an endpoint is configured, and nothing is sent when none is
When the repository configures an OTLP endpoint, every completed validate workflow run is exported as one OpenTelemetry trace, a span per job and per step with queued time, run time and conclusion. With no endpoint configured nothing is sent and nothing fails.
READY wave 0 · p2 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I3934 will be accepted.
Objective
When the repository configures an OTLP endpoint, every completed validate workflow run is exported as one OpenTelemetry trace, a span per job and per step with queued time, run time and conclusion. With no endpoint configured nothing is sent and nothing fails.
Why
Queueing across overlapping runs cost up to 774 summed job-minutes on master run 39784979979 and nothing measured it continuously.
Current state
scripts/ci-baseline reads runs back on request; no run is shipped to a tracing backend.
Desired state
A telemetry workflow exports each completed validate run to the configured OTLP endpoint, and skips silently without one.
Scope
- .github/workflows/telemetry.yml
- docs/CI.md
- .ai/repo/ci/telemetry.yaml
- .ai/repo/project/issues/I3934.yaml
Dependencies
None. This issue is a root of the graph.
What waits on this
Acceptance criteria
- With the endpoint set a run's jobs and steps arrive as spans with timings and conclusions
- With none the export is skipped and no verdict changes
Validation
- actionlint .github/workflows/telemetry.yml
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
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/I3934.yaml. Read it back with majordomus plan show I3934.