From f13195797f01e51ad1ff28ea897e969c6ffdb191 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Tue, 24 Mar 2026 15:18:30 +0000 Subject: [PATCH] Govern alert configuration presentation helpers --- .../v6/internal/subsystems/alerts.md | 33 +++++++++++++ .../v6/internal/subsystems/registry.json | 48 +++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/docs/release-control/v6/internal/subsystems/alerts.md b/docs/release-control/v6/internal/subsystems/alerts.md index 73b2d0243..a4128c2c7 100644 --- a/docs/release-control/v6/internal/subsystems/alerts.md +++ b/docs/release-control/v6/internal/subsystems/alerts.md @@ -32,6 +32,18 @@ operator-facing alert routing behavior for live runtime alerts. 10. `frontend-modern/src/utils/alertIncidentPresentation.ts` 11. `frontend-modern/src/utils/alertSchedulePresentation.ts` 12. `frontend-modern/src/utils/alertWebhookPresentation.ts` +13. `frontend-modern/src/utils/alertActivationPresentation.ts` +14. `frontend-modern/src/utils/alertAdministrationPresentation.ts` +15. `frontend-modern/src/utils/alertBulkEditPresentation.ts` +16. `frontend-modern/src/utils/alertConfigPresentation.ts` +17. `frontend-modern/src/utils/alertEmailPresentation.ts` +18. `frontend-modern/src/utils/alertFrequencyPresentation.ts` +19. `frontend-modern/src/utils/alertGroupingPresentation.ts` +20. `frontend-modern/src/utils/alertHistoryPresentation.ts` +21. `frontend-modern/src/utils/alertSeverityPresentation.ts` +22. `frontend-modern/src/utils/alertTabsPresentation.ts` +23. `frontend-modern/src/utils/alertThresholdsPresentation.ts` +24. `frontend-modern/src/utils/alertThresholdsSectionPresentation.ts` ## Shared Boundaries @@ -87,6 +99,27 @@ Future alert presentation work must extend those helpers through the alerts contract instead of leaving alert-facing wording or styling inlined in page or feature shells while the registry treats the helpers as unowned. +The remaining alert configuration and history presentation helpers now also +have explicit alerts ownership. `frontend-modern/src/utils/alertActivationPresentation.ts`, +`frontend-modern/src/utils/alertAdministrationPresentation.ts`, +`frontend-modern/src/utils/alertBulkEditPresentation.ts`, +`frontend-modern/src/utils/alertConfigPresentation.ts`, +`frontend-modern/src/utils/alertEmailPresentation.ts`, +`frontend-modern/src/utils/alertFrequencyPresentation.ts`, +`frontend-modern/src/utils/alertGroupingPresentation.ts`, +`frontend-modern/src/utils/alertHistoryPresentation.ts`, +`frontend-modern/src/utils/alertSeverityPresentation.ts`, +`frontend-modern/src/utils/alertTabsPresentation.ts`, +`frontend-modern/src/utils/alertThresholdsPresentation.ts`, and +`frontend-modern/src/utils/alertThresholdsSectionPresentation.ts` are the +canonical owners for alert enablement copy, history administration wording, +bulk-edit labels, schedule/configuration text, email-destination field labels, +frequency chips, grouping card styling, history source and resource badges, +severity badges, tab labels, thresholds empty states, and thresholds section +status labels. Future alert configuration or history presentation work should +extend those helpers instead of rebuilding alert-specific semantics in pages, +dashboard surfaces, feature hooks, or thresholds shells. + The alert webhook service chooser also now derives its service set from the backend webhook template registry, rather than keeping a second frontend-only list of services, labels, descriptions, and mention-copy metadata. diff --git a/docs/release-control/v6/internal/subsystems/registry.json b/docs/release-control/v6/internal/subsystems/registry.json index dfbc908b3..50d26ddcf 100644 --- a/docs/release-control/v6/internal/subsystems/registry.json +++ b/docs/release-control/v6/internal/subsystems/registry.json @@ -960,11 +960,23 @@ ], "owned_files": [ "frontend-modern/src/pages/Alerts.tsx", + "frontend-modern/src/utils/alertActivationPresentation.ts", + "frontend-modern/src/utils/alertAdministrationPresentation.ts", + "frontend-modern/src/utils/alertBulkEditPresentation.ts", + "frontend-modern/src/utils/alertConfigPresentation.ts", "frontend-modern/src/utils/alertDestinationsPresentation.ts", + "frontend-modern/src/utils/alertEmailPresentation.ts", + "frontend-modern/src/utils/alertFrequencyPresentation.ts", + "frontend-modern/src/utils/alertGroupingPresentation.ts", + "frontend-modern/src/utils/alertHistoryPresentation.ts", "frontend-modern/src/utils/alertIncidentPresentation.ts", "frontend-modern/src/utils/alertOverviewPresentation.ts", "frontend-modern/src/utils/alertResourceTablePresentation.ts", "frontend-modern/src/utils/alertSchedulePresentation.ts", + "frontend-modern/src/utils/alertSeverityPresentation.ts", + "frontend-modern/src/utils/alertTabsPresentation.ts", + "frontend-modern/src/utils/alertThresholdsPresentation.ts", + "frontend-modern/src/utils/alertThresholdsSectionPresentation.ts", "frontend-modern/src/utils/alertWebhookPresentation.ts" ], "verification": { @@ -1046,6 +1058,42 @@ "frontend-modern/src/utils/__tests__/alertOverviewPresentation.test.ts" ] }, + { + "id": "alert-configuration-presentation-helpers", + "label": "alert configuration presentation helper proof", + "match_prefixes": [], + "match_files": [ + "frontend-modern/src/utils/alertActivationPresentation.ts", + "frontend-modern/src/utils/alertAdministrationPresentation.ts", + "frontend-modern/src/utils/alertBulkEditPresentation.ts", + "frontend-modern/src/utils/alertConfigPresentation.ts", + "frontend-modern/src/utils/alertEmailPresentation.ts", + "frontend-modern/src/utils/alertFrequencyPresentation.ts", + "frontend-modern/src/utils/alertGroupingPresentation.ts", + "frontend-modern/src/utils/alertHistoryPresentation.ts", + "frontend-modern/src/utils/alertSeverityPresentation.ts", + "frontend-modern/src/utils/alertTabsPresentation.ts", + "frontend-modern/src/utils/alertThresholdsPresentation.ts", + "frontend-modern/src/utils/alertThresholdsSectionPresentation.ts" + ], + "allow_same_subsystem_tests": false, + "test_prefixes": [], + "exact_files": [ + "frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts", + "frontend-modern/src/utils/__tests__/alertActivationPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertAdministrationPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertBulkEditPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertConfigPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertEmailPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertFrequencyPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertGroupingPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertHistoryPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertSeverityPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertTabsPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertThresholdsPresentation.test.ts", + "frontend-modern/src/utils/__tests__/alertThresholdsSectionPresentation.test.ts" + ] + }, { "id": "alert-resource-table-presentation-helper", "label": "alert resource table presentation helper proof",