Part of #2740 (split: the whole row in one pull failed the design check and then the terminal layout test twice).
Done:
[ ] src/web/studio/kpi_row.ts gains one tile through the existing tile() helper: builders running now of the configured slots (e.g. 2 of 4), linking to the page that lists crew runs. It adds no new CSS class, colour or inline style, so test/design-lint.test.ts and test/design-audit.test.ts stay at their baseline.
[ ] The web home only. src/tui/ is not touched: the terminal dashboard has its own issue (#2884).
[ ] test/home-kpi-row.test.ts seeds running runs and a slot setting and asserts the tile's text, its title and its link.
Files: src/web/studio/kpi_row.ts, the KPI data module it reads (Kpis), test/home-kpi-row.test.ts.
Risks: the row wrapping on a phone. Check / at 375 px in the looks.
Part of #2740 (split: the whole row in one pull failed the design check and then the terminal layout test twice).
Done:
src/web/studio/kpi_row.tsgains one tile through the existingtile()helper: builders running now of the configured slots (e.g.2 of 4), linking to the page that lists crew runs. It adds no new CSS class, colour or inline style, sotest/design-lint.test.tsandtest/design-audit.test.tsstay at their baseline.src/tui/is not touched: the terminal dashboard has its own issue (#2884).test/home-kpi-row.test.tsseeds running runs and a slot setting and asserts the tile's text, its title and its link.Files:
src/web/studio/kpi_row.ts, the KPI data module it reads (Kpis),test/home-kpi-row.test.ts. Risks: the row wrapping on a phone. Check/at 375 px in the looks.