Per-severity routing

Когда правило задано с channel_routes, dispatcher выбирает каналы по severity:

{
  "critical": ["pagerduty-prod", "slack-incidents"],
  "warning": ["slack-monitoring"],
  "info": [],
  "default": ["slack-monitoring"]
}

Fallback chain

  1. routes[severity] если задано
  2. routes["default"] если предыдущее пусто
  3. Legacy channel_ids если channel_routes отсутствует

Intentional silence

Пустой массив "info": [] — это явный «не уведомлять при info». Не путать с отсутствием ключа (тогда сработает default).