Builds on the EventHandler plugin system introduced by PR #312. Adds new AbstractEventHandler implementations alongside the existing NotificationHandler:
- SlackNotificationHandler (incoming webhook)
- WebhookNotificationHandler (generic HTTP POST)
Also extends the trigger criteria beyond NotificationHandlerSettings' single alert_level threshold:
- Per-event_type matching (e.g., always alert on NODE_LOST even at INFO)
- Per-source filtering (specific nodes/managers/workflows)
- Rate-limiting + deduplication per (channel, event_type) pair to prevent alert storms
- Optional digesting (batch N events into one notification within a window)
This is the multi-channel + criteria-rich layer on top of the foundation that PR #312 lands. Re-scopes #122 rather than replacing it.
Roadmap metadata
Roadmap note: Depends on #338 — outbound HTTP to Slack/PagerDuty/webhooks cannot run inline in log_event without slowing ingestion.
Generated as part of the MADSci → 1.0 roadmap. See docs/roadmap.md for context.
Builds on the EventHandler plugin system introduced by PR #312. Adds new AbstractEventHandler implementations alongside the existing NotificationHandler:
Also extends the trigger criteria beyond NotificationHandlerSettings' single
alert_levelthreshold:This is the multi-channel + criteria-rich layer on top of the foundation that PR #312 lands. Re-scopes #122 rather than replacing it.
Roadmap metadata