mirror of
https://github.com/Comfy-Org/comfyci-dashboard.git
synced 2026-11-04 23:47:28 +00:00
[PR #12] [MERGED] Show regression history from the published run index #13
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfyci-dashboard#13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfyci-dashboard/pull/12
Author: @marawan206
Created: 10/5/2026
Status: ✅ Merged
Merged: 10/8/2026
Merged by: @alexisrolland
Base:
regression-run-details← Head:regression-history📝 Commits (10+)
953f41afeat(regression): add lane and run-index data contract84aac26feat(regression): turn the overview into a run history page35e0093fix(regression): drop the unused shard hook and blessed typee552bd1fix(regression): say which lane is shown for an unknown ?lane=e340551fix(regression): report failed fetches instead of an empty statedf86854fix(regression): relax lane staleness and name unlisted branchesfc7063bfix(regression): count execution errors as open regressions9754f8efix(regression): share the overall badge and first-bad line93183cafix(regression): build compare links from the commit ranged63b8b7fix(regression): close first-bad banners once the latest run passes📊 Changes
13 files changed (+1348 additions, -130 deletions)
View changed files
➕
components/FetchError.tsx(+36 -0)➕
components/FirstBadLine.tsx(+83 -0)➕
components/HistoryTable.tsx(+170 -0)➕
components/LaneSelect.tsx(+56 -0)📝
components/RegressionBadge.tsx(+81 -14)➕
components/Sparkline.tsx(+56 -0)➕
components/StaleBanner.tsx(+76 -0)📝
components/StatsDashboard.tsx(+1 -1)📝
components/StatusButton.tsx(+16 -2)📝
pages/regression/index.tsx(+469 -80)📝
src/regression/client.ts(+136 -33)📝
src/regression/types.ts(+144 -0)➕
utils/time.ts(+24 -0)📄 Description
Why
The Regression page showed one run (the latest pointer) and nothing else, although the results branch holds 230 runs for master. Finding the first bad commit of the current FLUX regression meant walking
previous_commitlinks by hand. The worker now publishes a run index (comfyci-runpod-worker #3; the backfilled index for the legacy lane is already live on the results branch), and this PR reads it.What
src/regression/types.ts,src/regression/client.ts: types forindex/lanes.json, the per-branch head index, monthly shards and the additive v2 run metadata; hooks for the lanes index, head index, shards, golden metadata and the noise floor; path resolution per lane layout (legacy root vslanes/<id>/). Existing callers keep working (the lane argument is optional and defaults to the legacy layout).pages/regression/index.tsxbecomes a history page: lane selector (kept in?lane=), freshness banner with per-cadence thresholds, "failing since" banner per open regression (commit, PR, author, run count; closes when the latest run passes or the drift is accepted), KPI strip over the last 30 runs, per-workflow MSE sparklines, a paged newest-first table (commit subject/author/PR, overall badge, per-workflow pills, exec time, "+N commits" compare link built from the tested range) with "Load older" over monthly shards.HistoryTable,Sparkline,StaleBanner,LaneSelect,FirstBadLine,FetchError;utils/time.tsfor relative times.Stacked on #9 (shares
types.ts); followed by #13.Verification
pnpm lint: no warnings;pnpm build: all routes compile (checked from a clean worktree)./regressionlists the 230 master runs newest first, the banner reads "flux_dev_t2i failing since b5cc8830 (#16488, comfyanonymous), 67 runs", the sparkline shows the MSE step on 2026-09-23, "Load older" walks the 2026-09 and 2026-08 shards, and the per-workflow pills mark the 66 later runs as inherited.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.