overengineeringstudio / overengineeringstudio/effect-utils

Annotate dt CI spans with GitHub run/job identity

Open
#477 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

origin:agent type:feature
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_id
  • github.job
  • github.workflow
  • github.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_id
  • github.job
  • github.workflow
  • github.run_attempt

Likely also useful:

  • github.repository
  • git.branch
  • git.sha
  • ci=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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.