# Модель тревог

## 1. `alarm_rule`

Назначение: конфигурация правила срабатывания тревоги.

Таблица: `poultry_alarm_rule`.

Ключевые поля:

- `id` (PK)
- `tenant_id`, `site_id`, `house_id?`
- `rule_code`, `title`
- `severity`, `priority`
- `condition_expr` (rule expression)
- `cooldown_seconds`
- `escalation_profile`
- `enabled`
- `updated_at`

DTO: `AlarmRuleDTO`.

## 2. `alarm_event`

Назначение: факт тревоги и ее жизненный цикл.

Таблица: `poultry_alarm_event`.

Ключевые поля:

- `id` (PK)
- `tenant_id`, `site_id`, `house_id?`, `batch_id?`
- `rule_id?`, `alarm_code`
- `severity`, `priority`
- `status` (`open|acknowledged|resolved|closed`)
- `title`, `message`, `source`
- `correlation_id` (bridge в `status`)
- `triggered_at`, `acked_at?`, `cleared_at?`
- `assignee?`
- `payload` (JSON детали измерений/контекста)

DTO: `AlarmEventDTO`.

## 3. Связи

- `alarm_event.rule_id -> alarm_rule.id`
- `alarm_event.correlation_id` синхронизируется с агрегированным событием в `status`.
