# Notification Storm Breaker ## Module Notifier ## Status VERIFIED ## Description Circuit breaker mechanism that detects notification storms and applies adaptive throttling to prevent overwhelming downstream channels during mass event cascades. ## Implementation Details - **IStormBreaker interface**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/IStormBreaker.cs` -- `EvaluateAsync` (records event and checks storm condition), `GetStateAsync` (gets current storm state for a key), `GetActiveStormsAsync` (lists all active storms for a tenant) - **StormBreakerServiceExtensions**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/StormBreakerServiceExtensions.cs` -- DI registration for storm breaker services - **ChannelAdapterOptions**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChannelAdapterOptions.cs` -- circuit breaker configuration for channel adapters - **StormBreakerEndpoints**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/StormBreakerEndpoints.cs` -- REST API for viewing and managing active storms - **INotifierMetrics**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/INotifierMetrics.cs` -- metrics counters for storm detection events - **Tests**: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/StormBreaker/StormBreakerTests.cs` - **Source**: SPRINT_0172_0001_0002_notifier_ii.md ## E2E Test Plan - [ ] Verify storm detection triggers when event rate exceeds configured threshold - [ ] Test storm consolidation batches events into summary notifications - [ ] Verify active storm state is queryable via StormBreakerEndpoints API - [ ] Test storm resolution when event rate drops below threshold - [ ] Verify per-tenant storm isolation (storms in one tenant do not affect others) - [ ] Test metrics emission for storm detection and resolution events ## Verification - Run: `docs/qa/feature-checks/runs/notifier/notification-storm-breaker/run-001/` - Date (UTC): 2026-02-11