Задачи#

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

0. Инициализация пакета#

  • [x] Зафиксировать D-005 и создать пакет melioration.

  • [x] Утвердить решения D-007..D-009 (decisions.md).

  • [x] D-007 принят: mm primary, m3 derived.

  • [x] D-008 принят: локальная метеостанция primary, внешний сервис fallback + anomaly control.

  • [x] D-009 принят: MVP режим B по умолчанию + переключение в A/C.

1. Модель данных#

  • [x] Спроектировать сущности field, field_zone, water_source.

  • [x] Спроектировать field_water_balance (агрегированная модель).

  • [x] Спроектировать machine_irrigation_event.

  • [x] Спроектировать drip_irrigation_event.

  • [x] Спроектировать soil_moisture_snapshot.

  • [x] Спроектировать weather_observation.

  • [x] Спроектировать control_mode и control_mode_audit для режимов A/B/C.

2. Backend API#

  • [x] Реализовать melioration-field/scheme|list.

  • [x] Реализовать melioration-irrigation-machine/scheme|list.

  • [x] Реализовать melioration-irrigation-drip/scheme|list.

  • [x] Реализовать melioration-soil-moisture/scheme|list.

  • [x] Реализовать melioration-weather/scheme|list.

  • [x] Реализовать агрегирующий endpoint водного баланса поля/зоны.

  • [x] Реализовать API переключения режима полива (A|B|C) с аудитом.

  • [x] Реализовать API деградации режима (/melioration-control-mode/degrade) по D-009.

3. Интеграции#

  • [x] Подключить интеграцию широкозахватных дождевальных машин (adapter profile melioration-machine-controller-v1, ingest runtime и scheme metadata).

  • [x] Подключить интеграцию капельного/внутрипочвенного орошения (adapter profile melioration-drip-controller-v1, ingest runtime и scheme metadata).

  • [x] Подключить локальную метеостанцию (adapter profile melioration-weather-station-v1, health-policy и fallback переключение).

  • [x] Подключить внешние погодные сервисы (adapter profile melioration-weather-service-v1, D-008 fallback и anomaly control).

  • [x] Реализовать reconciliation данных осадков и полива с D-008 policy (station primary, service fallback).

4. Алгоритмы#

  • [x] Реализовать расчет водного баланса по источникам и времени.

  • [x] Реализовать нормализацию единиц (mm/m3 + площадь).

  • [x] Реализовать дедупликацию событий из нескольких каналов (добавлен windowed-dedup в ingest для machine/drip/soil/weather + тест покрытия).

  • [x] Реализовать алерты дефицита/переувлажнения по данным soil + weather + irrigation.

  • [x] Реализовать policy деградации режима (C -> B/A) при потере критичных данных.

5. Frontend#

  • [x] Добавить manifests melioration-модулей в реестр.

  • [x] Добавить карточку Field Water Balance.

  • [x] Добавить карточки Irrigation Machine, Drip/Subsurface, Soil Moisture, Weather.

  • [x] Добавить представление источников воды и долей по периоду.

  • [x] Добавить UI-переключатель режима полива A/B/C (с индикацией ограничений режима C).

6. Тестирование#

  • [x] Backend unit tests по melioration plugin-модулям.

  • [x] Contract tests по melioration API.

  • [x] E2E сценарий: полив машиной + дождь + капельный, корректный баланс в модуле поля (frontend-vue/src/modules/melioration-field/e2e/water-balance.spec.js).

  • [x] E2E сценарий: пропуск данных метеостанции и fallback на внешний weather service (D-008) (frontend-vue/src/modules/melioration-weather/e2e/weather-fallback.spec.js).

  • [x] E2E сценарий: переключение режимов A/B/C и автоматическая деградация из C при сбое телеметрии.