Trends & slices
A single run answers “is this push safe?” The Trends page answers “is quality drifting?” — folding every run in a project into time buckets so you can see verdicts, regressions, and cost/latency move across pushes.
Open it from Trends in a project’s sidebar (with Runs, Baselines, Pull Requests and Project settings). Above the charts, four tiles sum up the window: pass rate, blocking regression rate, mean cost delta per run, and the number of runs.
The charts
- +Verdict mix. Stacked bars of pass / conditional / fail / inconclusive per bucket — as a share (the default) or as counts, with the run count over each bar. The shape of your migration confidence.
- +Blocking regression rate. Area chart of the mean blocking regression rate per bucket, with its peak marked; hover a bucket for its total blocking regressions. Is quality drifting over time?
- +Cost & latency delta. Line chart of mean cost and p50/p95 latency deltas per bucket (target minus source) — are newer runs getting cheaper or slower?
- +Slice heatmap. A grid of slices (rows) by bucket (columns); each cell is colored from its mean pass rate — green toward 100%, red toward 0%.
Slice explorer
Below the heatmap, the slice explorer drills into one slice: pick it from the Slice selector, or click its heatmap row, to get its pass rate and run count per bucket. Useful when one cohort — say a hard-cases slice — is regressing while the overall number looks fine. Slices are your suite’s tags; here each example counts toward its first tag, and untagged examples toward none. There is no all row: the run-wide number is the pass-rate tile, and All slices in the selector just clears the drill-down.
Filters live in the URL
Window (7d through All), branch, bucket size (day / week), and the selected slice are all stored as URL query params, so any view you reach is a shareable, bookmarkable link. Defaults: the last 30 days, all branches, daily buckets, no slice selected. Export CSV downloads the series behind the charts for the current filters.
Notes
- +Trends read only denormalized run columns and the per-run summary — never the run blob — so the page stays fast as history grows.
- +Per-slice deltas fold by slice name. Renaming a slice between runs shows up as one slice dropping and another appearing, not a move.
