Skip to content

Terry Notifications

Role of Notifications

Нотификации в Terry это отдельная capability, которая использует результаты pipeline execution и переводит их в action-oriented сообщения.

Notification Flow

flowchart LR
  O["Pipeline outcome"] --> R["Notification rules"]
  R --> T["Template rendering"]
  T --> C["Channel delivery"]
  C --> A["Delivery attempts log"]

Building Blocks

  • notification template определяет структуру сообщения и variables contract;
  • delivery channel определяет transport и provider-specific delivery logic;
  • notification rule связывает pipeline outcome с template и channel policy.

Triggering Strategy

Полезно различать минимум три типа событий:

  • success notifications;
  • anomaly or validation notifications;
  • operational failure notifications.

Это позволяет не смешивать бизнес-сигналы с эксплуатационными alerting событиями.

Delivery Principles

  • рендеринг шаблона должен быть детерминированным и воспроизводимым;
  • отправка должна быть идемпотентной настолько, насколько это позволяет канал;
  • dedup policy должна быть описана на уровне notification rule;
  • provider response и attempt metadata должны сохраняться для triage.

Template Discipline

  • шаблон использует normalized fields и execution metadata;
  • шаблон не должен зависеть от source-specific сырого JSON;
  • критичные сообщения должны иметь plain-text fallback;
  • template versioning должен быть возможен без разрыва исторических delivery logs.

Channel Examples

Потенциальные delivery channel:

  • email;
  • Telegram;
  • Slack;
  • webhook;
  • internal event bus.

Конкретный набор каналов будет зависеть от реализации, но модель должна оставаться общей.