overengineeringstudio / overengineeringstudio/effect-utils
Annotate dt CI spans with GitHub run/job identity
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 82
- Forks
- 2
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 121
Description
Context
Downstream CI users can query recent dt / dt-task traces, but the current span schema is missing GitHub CI identity. That makes it hard to do historical performance analysis or correlate trace regressions back to a specific workflow run/job without falling back to GitHub Actions APIs.
Concrete downstream example: livestorejs/livestore#1127 is investigating CI slowdown over time. The current OTEL data is useful for short-term task breakdowns, but not for reliable CI forensics.
Current behavior
dt spans carry task-level data like dt.args, and dt-task spans carry execution/cache data like task.cached and exit.code.
However, CI runs do not appear to annotate spans with GitHub metadata such as:
github.run_idgithub.jobgithub.workflowgithub.run_attempt- optionally
git.branch/git.sha/repo
Those values are available in the CI environment already, but today they are only echoed into logs/diagnostics, not attached to traces.
Desired behavior
When dt / dt-task spans run under GitHub Actions, annotate them with stable CI identity attributes so traces can be filtered and trended by workflow/job/run.
Minimum useful set:
github.run_idgithub.jobgithub.workflowgithub.run_attempt
Likely also useful:
github.repositorygit.branchgit.shaci=true
Why this matters
This would let downstream repos use Grafana/Tempo as a real CI performance dataset instead of only a short-lived debugging view. It would also make dashboards like dt-tasks and dt-duration-trends much more actionable for regressions.
Notes
This is complementary to retention improvements. Even with longer Tempo retention, the current schema is still too weak for robust CI trend analysis.
Related downstream context:
Acting on behalf of the user.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating where dt and dt-task spans are created, then trace the existing GitHub Actions environment handling used for logs or diagnostics. Confirm which GitHub metadata variables are available there and how span attributes are tested. Done means GitHub Actions spans carry the required run, job, workflow, and attempt identity attributes, with optional repository and Git fields if supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- ci-cd, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100