Skip to content

feat(slos): SLOs tab, SLO page and form - #2298

Merged
Makisuo merged 24 commits into
feat/slo-mcpfrom
feat/slo-ui
Nov 6, 2026
Merged

Makisuo merged 24 commits into
feat/slo-mcpfrom
feat/slo-ui

fix(slos): a failed status read reads as figures unavailable, not 0 b…

f9daad1
Select commit
Loading
Failed to load commit list.
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.

  • readout reports 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.statuses maps 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)
  • table wraps in an overflow container, so min-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.