Архитектура#

1. Целевая модульная декомпозиция (MVP)#

Состав swine-модулей на MVP:

  1. industry.swine.climate

    • key entity: barn_climate_profile

    • ответственность: климат-профиль секции/корпуса, уставки и возрастные режимы

    • API namespace: /api/v1/swine-climate/*

  2. industry.swine.feeding

    • key entity: feeding_plan_snapshot

    • ответственность: планы кормления по группам, фактическое потребление и отклонения

    • API namespace: /api/v1/swine-feeding/*

  3. industry.swine.water

    • key entity: water_consumption_snapshot

    • ответственность: нормативы/факты водопотребления, давление линии, диагностика расхода

    • API namespace: /api/v1/swine-water/*

  4. industry.swine.production

    • key entity: production_batch_kpi

    • ответственность: KPI продуктивности по технологическим группам/партиям

    • API namespace: /api/v1/swine-production/*

  5. industry.swine.biosecurity

    • key entity: biosecurity_event

    • ответственность: события биобезопасности, карантинные статусы, контроль нарушений

    • API namespace: /api/v1/swine-biosecurity/*

2. Правила ownership и обогащения#

  • Каждый модуль владеет только своей key_entity (правило D-002).

  • Допустимо read-only обогащение:

    • swine-production использует агрегаты из swine-feeding и swine-water;

    • swine-biosecurity может добавлять риск-флаги для swine-production;

    • swine-climate обогащает тревожный контур данными среды.

  • Кросс-модульные вычисления публикуются как агрегаты, без передачи ownership сущности.

3. Интеграция с ядром платформы#

  • Контракты API: /api/v1/<resource>/scheme|list + command/ingest endpoint-ы.

  • Envelope: item/list + meta.request_id + meta.timestamp.

  • Изоляция данных/прав: tenant_id, industry_code=swine, site_id.

  • Общие платформенные контуры: status, modules, auth, industryalarms, industryprofiles.

  • Версионирование отраслевых модулей: MAJOR.MINOR.PATCH и единая MAJOR-линия в пределах отрасли.