Skip to content

feat(alerts): rule editor as sentence cards with plain summaries - #2425

Merged
Makisuo merged 46 commits into
mainfrom
ux/rule-sentence-editor
Nov 10, 2026
Merged

Makisuo merged 46 commits into
mainfrom
ux/rule-sentence-editor

Merge remote-tracking branch 'origin/main' into ux/rule-sentence-editor

145b4c4
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Nov 10, 2026 in 3m 11s

Confidence 10/10 · No issues found

🟢 Confidence 10/10 · safe to merge. No defect found in the editor state, summaries, card a11y or chart paths I read; the lab fixtures and the new scene-test files were only partly read.
no findings · tests covered · risk medium

The alert rule editor becomes sentence cards with plain one-line summaries, cards that stay open while they hold a save blocker, and one action bar that turns Save into a validation attempt. Presentation and editor state only; safe to merge.

  • sentenceCard/sentenceChain kit primitive with disclosure button, header h2 and focus return to the summary
  • summary.ts pure summaries per card: watch, condition, notify, name
  • Save is pressable with blockers: ClickedSave reveals field errors and focuses the first one
  • ruleChart gets a real empty/loading text state and clips its series to the range

Production impact

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/web/src/page/alerts/editor/derive-rows.ts 20 preview 20/day, 4.3% err
apps/web/src/page/alerts/editor/view-hero.ts 20 preview 20/day, 4.3% err
apps/web/src/page/alerts/shared/rule-chart.ts 20 preview 20/day, 4.3% err
What was checked
  • Issue strings from validationIssues/anomalyIssues all route to a rendered card and a real field id (derive.ts:149, summary.ts cardOfIssue)
  • Blur-touch ids match the issue field ids: idsOf returns control: id (view-fields.ts:27), chain triggers use triggerId
  • Escape is guarded by [data-base-ui-portal], which popups actually carry (sentence-card.ts:126, where-autocomplete-view.ts:34)

145b4c4 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.