- coordinator.costBurndown() aggregates completed run cost (insights.costUsd) by UTC day over a window, returning a gap-free cumulative series + ceiling - repository.listRunsByProduct() cross-partition run query - GET /fleet/budgets/:productId/burndown?days=N route - fleet-client.getBudgetBurndown() + CostBurndown/BurndownPoint types - BurndownChart on the budget page: cumulative daily bars with a dashed ceiling overlay; bars turn red past the ceiling; degrades gracefully - Tests: +2 coordinator, +1 routes, +2 fleet-client (fleet 147, web 216) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| admin-web | ||
| tracker-web | ||
| ux-lab | ||