Skip to content

fix(inference): link single-run changelog to its producing run, not the date#464

Merged
adibarra merged 1 commit into
SemiAnalysisAI:masterfrom
eicherseiji:fix/inference-single-run-commit-links
Jun 15, 2026
Merged

fix(inference): link single-run changelog to its producing run, not the date#464
adibarra merged 1 commit into
SemiAnalysisAI:masterfrom
eicherseiji:fix/inference-single-run-commit-links

Conversation

@eicherseiji

@eicherseiji eicherseiji commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Fixes #408.

Problem

On the inference page's Config Changelog, the "Git Commit" and "Workflow Run" links for a single-run date could point to a completely unrelated run. Reproduced on dsv4-pro 1k1k b200 vllm fp4: the 2026-06-05 entry shows the correct description ("Enable EPLB for DEP configs", PR SemiAnalysisAI/InferenceX#1655) but links to the Qwen3.5 run and commit (PR SemiAnalysisAI/InferenceX#1669) that merged ~30 minutes later the same day.

Root cause: the single-run render branch sourced its links from date-level aggregates in useComparisonChangelogs: data.changelogs.at(-1)?.head_ref and data.runs.at(-1)?.html_url. Those are the last changelog entry and last run on the calendar date, with no regard for which config produced the point. When two unrelated PRs merge the same day, the later one wins those fields. The description is correctly filtered per config, so the right note shows next to the wrong commit/run.

Fix

  • Drive the single-run links off the run that actually produced the selected config's data (runs[0] from dataRunsForDate, the same per-(run, config) source the multi-run branch already uses).
  • Delete the date-level headRef/runUrl fields from ComparisonChangelog entirely so the config-blind aggregate cannot be used again. Nothing else read them.
  • Factor the duplicated Git Commit / Workflow Run anchor JSX into a shared renderRunLinks helper used by both branches.
  • Render the single-run separator only when a link exists, so a changelog entry whose benchmark run errored no longer leaves a dangling separator.

Testing

  • pnpm typecheck, pnpm lint, pnpm fmt clean.
  • Full app unit suite passes (pnpm --filter @semianalysisai/inferencex-app exec vitest run).

Note

Low Risk
Scoped inference changelog UI and hook typing; no auth, data writes, or API changes—main risk is incorrect links if run enumeration regresses.

Overview
Fixes wrong Git Commit / Workflow Run links on single-run Config Changelog rows when multiple unrelated workflows landed the same calendar day. Descriptions were already config-filtered, but links came from date-level “last changelog / last run” aggregates.

Data model: ComparisonChangelog no longer exposes date-level headRef / runUrl; useComparisonChangelogs stops populating them. Per-run metadata stays on ComparisonRun and benchmark runConfigs.

UI: The single-run branch takes headRef / runUrl from the run that produced the selected config (runs[0] via runMetaFor / dataRunsForDate), matching the multi-run path. Shared renderRunLinks replaces duplicated anchor JSX. The em dash and link block render only when at least one link exists (avoids a dangling separator when the producing run has no URL/SHA).

Tests: Comment on dataRunsForDate clarifies why per-run html_url / head_sha must flow through for this fix.

Reviewed by Cursor Bugbot for commit 0f9388a. Bugbot is set up for automated code reviews on this repo. Configure here.

…he date

The Config Changelog's single-run date block rendered date-level Git Commit
and Workflow Run links (`data.changelogs.at(-1).head_ref` and
`data.runs.at(-1).html_url`): the last entry/run on the calendar date,
regardless of config. When two unrelated PRs merged the same day, a config
whose data came from the earlier run showed the later run's commit/run links
next to its own correct changelog description.

Drive the links off the run that actually produced the selected config's data
(the sole `dataRunsForDate` entry, the same source the multi-run branch uses)
and drop the date-level `headRef`/`runUrl` fields entirely so the bad
attribution cannot recur. Both branches now share a `renderRunLinks` helper,
and the single-run separator renders only when a link exists (no dangling
em-dash when a changelog entry has no matching benchmark run).

Fixes SemiAnalysisAI#408
@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

@eicherseiji is attempting to deploy a commit to the SemiAnalysisAI Team on Vercel.

A member of the Team first needs to authorize it.

@eicherseiji eicherseiji marked this pull request as ready for review June 15, 2026 17:57
@eicherseiji eicherseiji requested a review from adibarra as a code owner June 15, 2026 17:57
@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment Jun 15, 2026 7:44pm

Request Review

@adibarra adibarra merged commit dc7dadd into SemiAnalysisAI:master Jun 15, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Commit/run links wrong

2 participants