AGENTS.md — 10-business (бизнес-слой)

Назначение этого уровня

Бизнес-логика и доменная модель. Описывает что система делает и почему, без привязки к технологиям. Источник истины по доменным правилам.

Доменная область смоделирована методом Event Storming и разложена на Bounded Contexts с явным Context Map. Каждое изменение бизнес-логики начинается здесь.

Содержимое

10-business/
├── AGENTS.md                  # ← вы здесь
├── ubiquitous-language.md     # доменные термины (синхр. с ../GLOSSARY.md)
├── domain-model.md            # index: context map + Big Picture event storming
├── data-model.md              # справочник aggregates / entities / VO по BC
├── contexts/                  # Bounded Contexts (12)
│   ├── index.md
│   ├── catalog.md             # canonical product, identity
│   ├── ingestion.md           # опрос поставщиков, raw payloads
│   ├── offers.md              # supplier offers + observations
│   ├── matching.md            # ACL Offer ↔ Catalog
│   ├── enrichment.md          # AI/LLM-обогащение
│   ├── moderation.md          # AI-агенты для всех ручных кейсов
│   ├── pricing.md             # rules + custom pricing handlers
│   ├── visibility.md          # data visibility policies
│   ├── search.md              # поиск + аналоги
│   ├── estimate.md            # смета
│   ├── customer.md            # клиент B2B/B2C + auth
│   ├── credentials.md         # supplier credentials + groups
│   └── supplier-network.md    # граф поставщиков, supply chain trace
├── scenarios/                 # сквозные бизнес-сценарии
│   ├── index.md
│   ├── ingestion-flow.md
│   ├── update-and-diff.md
│   ├── matching-flow.md
│   ├── analog-search.md
│   ├── customer-auth.md
│   ├── credential-onboarding.md
│   ├── pricing-calculation.md
│   ├── estimate-end-to-end.md
│   └── ai-moderation-flow.md
├── product-identity.md        # deep-dive к catalog: identity profile, signature
└── characteristics.md         # deep-dive к catalog: characteristics + units

Ключевые понятия этого уровня

Вводятся и полностью определяются:

  • Bounded Context, Context Map, Anti-Corruption Layer, Published Language, Open Host Service, Shared Kernel.
  • Identity Profile, Critical Attribute, Identity Signature, Match Confidence, Equivalence Class.
  • Characteristic, Unit, Value Type.
  • Supplier Offer, Supplier Offer Observation, Supply Chain Trace.
  • Price Rule, Pricing Mode, Custom Pricing Handler.
  • Estimate, Estimate Line, Estimate Optimization.
  • Customer Type, Customer Pricing Group, Session Context.
  • Supplier Credential, Credential Group, Visibility Policy.

Все термины — в ubiquitous-language.md и ../GLOSSARY.md.

С чего начать

ЗадачаКуда смотреть
Получить общую картину доменной моделиdomain-model.md (context map + big picture timeline)
Понять конкретный bounded contextcontexts/<name>.md
Понять сквозной бизнес-процессscenarios/<name>.md
Найти конкретную сущность / её BCdata-model.md
Прояснить терминubiquitous-language.md или ../GLOSSARY.md
Глубоко в identity / matchingproduct-identity.md
Глубоко в characteristicscharacteristics.md

Когда смотреть НЕ сюда

  • Конкретная таблица / поле → ../20-architecture/schemas/.
  • Описание endpoint’а / Kafka топика → ../20-architecture/schemas/{api,events}/.
  • Код конкретного сервиса → ../30-services/.
  • Как развернуть — ../40-operations/.

Правила внесения изменений

  • Изменение модели = PR + обсуждение, для серьёзных — ADR.
  • Новый термин — сначала в ubiquitous-language.md и ../GLOSSARY.md, потом использование.
  • Новое доменное событие — в соответствующий BC в contexts/, обновить domain-model.md (если попадает в Big Picture) и сценарии.
  • Новый Bounded Context — обновить domain-model.md (context map), создать contexts/<name>.md по шаблону, добавить в data-model.md и contexts/index.md.
  • Изменение context map — RFC.
  • Примеры и mermaid-диаграммы предпочтительны. Код / SQL здесь недопустимы (это уровень 2).

Связанное