{"date": "2026-09-22", "from": {"k": "unit", "s": "dashboard", "n": "registry: unique ids and positive intervals"}, "to": {"k": "unit", "s": "dashboard", "n": "registry: unique labels and positive intervals"}} {"date": "2026-09-22", "from": {"k": "unit", "s": "dashboard", "n": "tile labels: the labs/loom ci family is renamed and paired"}, "to": {"k": "unit", "s": "dashboard", "n": "ci trust: both repositories keep their strip at the tile bottom"}} {"date":"2026-10-20","from":{"k":"unit","s":"dashboard","n":"recent runs: labs and loom runs interleave chronologically, each tagged"},"to":{"k":"unit","s":"dashboard","n":"recent-commits > createRecentCommits() > collect() > lists the commits of the followed workflows' push runs, interleaved newest first, each tagged with its repository"}} {"date":"2026-10-20","from":{"k":"unit","s":"dashboard","n":"recent runs: timestamps have a UTC fallback and a viewer-local marker"},"to":{"k":"unit","s":"dashboard","n":"recent-commits > createRecentCommits() > collect() > dates a row, with a UTC fallback and a viewer-local marker"}} {"date":"2026-10-20","from":{"k":"unit","s":"dashboard","n":"recent runs: duration opens every successful run for the commit"},"to":{"k":"unit","s":"dashboard","n":"recent-commits > createRecentCommits() > collect() > shows a run's duration as a link to the commit's Gantt when there is one, and the run's state when it has no duration"}} {"date":"2026-10-20","from":{"k":"unit","s":"dashboard","n":"recent-runs: wide, failure tip -> bad, rows link to the landing PR"},"to":{"k":"unit","s":"dashboard","n":"recent-commits > createRecentCommits() > collect() > is bad when the newest completed run failed, a warning when an older one in the window did, and good otherwise"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs and loom ci trust: a cancelled run that ran jobs counts as a failure"},"to":{"k":"unit","s":"dashboard","n":"labs and loom ci trust: a cancelled run that stopped a job on a runner counts as a failure"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: the job count of a cancelled attempt is requested once, and no other attempt's is"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: the job listing of a cancelled attempt is requested once, and no other attempt's is"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a job count is forgotten once its run leaves the window"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a job listing is forgotten once its run leaves the window"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a job count GitHub does not return fails the collection"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a job listing GitHub does not return fails the collection"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a run is green only when its one attempt not cancelled before starting succeeded"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a run is green only when the one attempt left once cancellations without a verdict are passed over succeeded"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a job count GitHub does not return fails the collection > failed request"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a job listing GitHub does not return fails the collection > failed request"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a job count GitHub does not return fails the collection > count that is not a number"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a job listing GitHub does not return fails the collection > count that is not a number"}} {"date":"2026-10-22","from":{"k":"unit","s":"dashboard","n":"labs ci trust: a job count GitHub does not return fails the collection > missing count"},"to":{"k":"unit","s":"dashboard","n":"labs ci trust: a job listing GitHub does not return fails the collection > missing count"}}