# Задачи

Формат статусов: `[ ]` не начато, `[~]` в работе, `[x]` готово.

## 0. Каркас мульти-отраслевой платформы

- [x] Создать раздел `docs/industries`.
- [x] Зафиксировать архитектурные правила изоляции отраслей.
- [x] Добавить в backend `industry dispatcher` и режимы `cloud-multi / edge-single`.
- [x] Добавить в frontend runtime поддержку переключения отрасли только для cloud-контуров.
- [x] Добавить edge-ограничение: блок runtime-переключения отрасли на уровне `site/cabinet`.

## 1. Контрактная совместимость

- [x] Добавить в `modules/scheme` поддержку отраслевых метаданных.
- [x] Добавить в `modules/list` признак `industry_scope` (`core|industry|hybrid`).
- [x] Добавить в `modules/list` поле `key_entity` для отраслевых модулей.
- [x] Добавить в `modules/list` поле `provides_enrichment_for` (опционально).
- [x] Зафиксировать правила версионирования отраслевых модулей.
- [x] Ввести contract tests для отраслевых расширений.

## 2. Изоляция данных и прав

- [x] Формализовать ключи изоляции (`tenant_id`, `industry_code`, `site_id`).
- [x] Добавить в permission-модель границы по `industry_code`.
- [x] Добавить policy частичной активации отраслевых модулей на уровне `site`.
- [x] Реализовать аудит cross-industry доступа.

## 2.1. Нормативные профили (D-003)

- [x] Добавить profile-service для отраслевых нормативов/уставок.
- [x] Добавить `YAML export/import` профилей между хозяйствами.
- [x] Добавить versioning профилей (`draft/published/archived`).
- [x] Добавить rollback профиля на выбранную версию с аудитом.
- [x] Добавить проверку совместимости импортируемого профиля (schema + industry_code + equipment_profile).

## 2.2. Контуры тревог (D-004)

- [x] Добавить `industry alarm-bus` для отраслевых тревог и эскалаций.
- [x] Добавить bridge `industry alarm-bus -> status` для агрегированных/критических событий.
- [x] Зафиксировать mapping severity/priority между отраслевыми тревогами и `status`.
- [x] Добавить трассировку `correlation_id` между событиями `industry alarm-bus` и `status`.
- [x] Добавить contract tests консистентности `industry alarm-bus` и `status`.

## 3. Библиотека отраслевых шаблонов

- [x] Создать шаблон `_template` для новых отраслей.
- [x] Подготовить шаблон набора KPI и алармов для новой отрасли.
- [x] Подготовить шаблон интеграции оборудования (`adapter profile`).

## 4. Первый пакет: poultry

- [x] Сформировать базовый пакет `docs/industries/poultry`.
- [x] Уточнить нормативные диапазоны и обязательные KPI для бройлера/несушки.
- [x] Сформировать MVP API для poultry-модулей.
- [x] Запланировать e2e сценарии poultry-кейсов.

## 5. Следующие отрасли

- [x] D-005: выбрать следующую отрасль после poultry -> `melioration`.
- [x] Инициализировать пакет `docs/industries/melioration`.
- [x] Зафиксировать модули `field/irrigation_machine/irrigation_drip/soil_moisture/weather`.
- [x] Реализовать модель `field_water_balance` с источниками воды (machine, drip/subsurface, rain).
- [x] Зафиксировать интеграции метеостанции и внешних погодных сервисов (добавлен baseline `weather-integrations.md`, adapter profile IDs в `melioration-weather/scheme`, тест покрытия).
- [x] Реализовать MVP backend API `scheme|list` для модулей `melioration` и control-mode `A/B/C`.
- [x] Реализовать ingest API `machine/drip/soil/weather` и policy D-008 (`station primary`, `service fallback`) в runtime.
- [x] После melioration определить приоритет следующей отрасли (`swine`/`dairy`/`greenhouse`) -> `swine`.
- [x] Инициализировать пакет `docs/industries/swine`.
- [x] Реализовать swine backend MVP (`scheme|list|ingest/ack`) + contract tests и bridge в `status`.

## 6. Активный пакет weighbridge

- [x] Признать `weighbridge` отдельным отраслевым пакетом published-контура, а не только featurelist применений.
- [x] Синхронизировать published-документацию с runtime baseline `weighbridge-session`, `weighbridge-identity`, `weighbridge-media`, `weighbridge-alarms`.
- [x] Вывести `weighbridge` в отраслевую навигацию, обзор продукта и карту проектов.
