Repository navigation
feat(slos): SLOs tab, SLO page and form - #2298
Merged
Merged
Maple Review Bot / Maple / review
succeeded
Nov 6, 2026 in 41s
Confidence 10/10 · No issues found
🟢 Confidence 10/10 · safe to merge. The delta is the all-null status read branch in readout plus its scene test; SlosService.statuses returns one status per listed SLO, so the branch fires only on a failed read.
no findings · tests covered · risk medium
Adds the SLOs tab, SLO page and SLO form to the alerts hub; this head changes only how the tab reports a failed slos.statuses read. A failed read now reads "– figures unavailable" instead of "0 burning", and a scene test pins it. Safe to merge. The open McpQueryError issues are untouched: registry.ts only gains the SLO page entries.
readoutreports a failed status read as “– figures unavailable”, not 0 burning- A scene test covers rows whose status is null for every SLO
Production impact
Open errors in the changed files (2)
| Issue | Service | Occurrences | File |
|---|---|---|---|
| @maple/mcp/errors/McpQueryError (4 issues) | maple-chat | 30 | apps/web/src/page/registry.ts |
| @maple/mcp/errors/McpQueryError (6 issues) | maple-ai | 18 | apps/web/src/page/registry.ts |
After this merges, Maple checks whether they stop.
Production traffic of the changed files (last 7 days)
| File | Calls/day | Busiest operations |
|---|---|---|
apps/web/src/page/alerts/incident/view.ts |
28 | preview 28/day, 11.1% err |
What was checked
SlosService.statusesmaps every listed SLO, so all-null only follows a failed read (SlosService.ts:561-566)- Status failures are swallowed to an empty map, so the tab still renders rows and reaches the new branch (
slo-commands.ts:40-49) tablewraps in an overflow container, somin-w-[760px]scrolls rather than clipping at phone width (table.ts:44-61)
f9daad1 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.
Loading