mirror of
https://github.com/Comfy-Org/comfyci-dashboard.git
synced 2026-11-04 23:47:28 +00:00
[PR #15] [MERGED] Scale the regression history to nine or more workflows #15
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#15
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/15
Author: @marawan206
Created: 10/19/2026
Status: ✅ Merged
Merged: 10/19/2026
Merged by: @marawan206
Base:
main← Head:regression-nine-workflows📝 Commits (1)
de9445bScale the regression history to nine or more workflows📊 Changes
7 files changed (+640 additions, -87 deletions)
View changed files
📝
components/HistoryTable.tsx(+67 -38)📝
components/RegressionBadge.tsx(+12 -3)➕
components/WorkflowDots.tsx(+193 -0)➕
components/WorkflowStrip.tsx(+175 -0)📝
pages/regression/index.tsx(+158 -46)➕
src/regression/workflows.ts(+32 -0)📝
utils/format.ts(+3 -0)📄 Description
Why
The regression corpus went from two workflows to nine today (comfyci-runpod-worker #8, #9, #10) and will keep growing. The history page drew one table column and one sparkline per workflow, so the latest row already scrolled sideways with
sdxl_t2ipushed off-screen, seven of nine drift cards were flat lines, and the "Median exec" KPI silently measured whichever workflow sorted first alphabetically.What changes
One Workflows cell per run. Each row shows a dot per workflow in a fixed lane order (blessed goldens first, in the order
lanes.jsonlists them, then unblessed ids alphabetically), grouped in fives so slot positions line up from row to row. Open regressions and execution errors are spelled out under the dots with the existingRegressionBadge, fresh ones first; accepted drift, infra errors and missing baselines stay in their dot and the Overall cell's note (which now names the infra workflows). The table keeps the same width at 2 or 25 workflows.Shape before colour. Eight states, each with its own glyph so the row reads in greyscale: filled circle (pass), filled square (regression), hollow square (inherited drift), diamond (accepted drift), red
!square (execution error), triangle (infra error),?ring (no baseline), dash (not run in this run). Every dot has arole="img"accessible name and a hover title with#slot id · verdict, the verdict's explanation, MSE, exec, peak VRAM and golden tag. A legend sits under the table. Texts and titles come from onebadgeMetahelper, so dots, badges and legend cannot disagree.Per-workflow strip above the table replaces the Median Exec KPI:
#n, dot, id, latest badge, exec · VRAM · golden tag, and eitherfailing since <sha> · N runs(open chain, same rule as the banners),last drift <when> · <sha>(orlast execution error),no drift in N runs, orfirst run. The strip folds past 12 tiles unless a hidden tile is not a plain pass.Drift section draws a sparkline only for workflows that moved in the 60-run window, open ones first, with the workflow's current badge and a
k of n runs off golden · drift at <sha>footer. Stable workflows become one line; workflows that were only ever infra errors or had no baseline are counted separately as "without comparison" rather than passed off as stable.Also: first_bad banners sort in lane order like everything else, the KPI row is three cards, and
formatGbis shared fromutils/format.ts. The commit page is untouched.Verified
npx tsc --noEmitclean,pnpm lintclean.!, the row tint and an expandedExecution Error flux_dev_t2iline; the drift section shows one flux card (16 of 60 runs off golden · failed at c21e547) and8 stable; the strip lists all nine with#1to#9.Preview deployment renders the live data, so the easiest review is to open
/regressionthere and page to the c21e547 row.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.