Контексты

NOTE

Статус: Target design. Документ описывает целевую доменную модель. Соответствующий код реализован частично (см. backend/internal/core/) или пока не начат. Правила маркировки — в 50-processes/documentation-standard.md.

Каждый файл в этой папке описывает один ограниченный контекст: его агрегаты, доменные события, команды, политики, инварианты, интеграционные события и связи с другими контекстами.

Точка входа — ../domain-model.md: context map и Big Picture event storming.

Список контекстов

Основные

  • Catalog — единая модель товара (Canonical Product, identity, equivalence).
  • Ingestion — поступление данных от поставщиков.
  • Offers — товарные канвы и наблюдения от поставщиков.
  • Matching — Anti-Corruption Layer Offer ↔ Catalog.
  • Pricing — расчёт цены, Price Rules, кастомные обработчики.
  • Estimate — рабочий процесс сметы.

Поддерживающие

  • Customer — клиент, B2B/B2C, аутентификация.
  • Credentials — учётные записи поставщиков.
  • Supplier Network — граф поставщиков, supply chain trace.
  • Visibility — политики видимости данных.
  • Search — поиск и аналоги.
  • Enrichment — AI-обогащение характеристик и контента.
  • Moderation — AI-агенты для всех кейсов, требовавших оператора.

Шаблон описания контекста

Каждый файл следует такой структуре (порядок секций обязателен):

  1. Назначение — 1–2 предложения, зачем существует BC.
  2. Главный смысл — invariant верхнего уровня (одно предложение).
  3. Aggregates / Entities / Value Objects — таблица.
  4. Domain Events — таблица: имя (рус + en) → причина → актор/policy.
  5. Commands — таблица: имя → актор → агрегат → результат.
  6. Policies — таблица: «когда событие X — отправить команду Y».
  7. Read Models — что строится из событий BC для чтения.
  8. Invariants — список инвариантов агрегатов.
  9. Integration Events — что публикуется наружу (топик, partition_key, схема).
  10. Subscribed Integration Events — что BC подписан читать.
  11. Context Map links — отношения с другими BC (PL / ACL / OHS / SK / Conformist / Customer-Supplier).
  12. Mini event storming — mermaid-диаграмма основного flow.
  13. Связанные файлы — deep-dive, сценарии, ADR, схемы.