Files
slm-design/DRAFT/level-2/domains/README.md

32 lines
2.6 KiB
Markdown
Raw Normal View History

# Доменные пакеты Level 2
2026-08-02 22:53:05 +03:00
Доменный пакет заменяет один выбранный доменный модуль Level 1. Он объединяет SLM-модули одной предметной области вокруг контролируемого Domain API, но сам не является модулем, Group или публичным API.
```text
domains/auth/
2026-08-02 22:53:05 +03:00
├── api/ # Обязательный модуль
├── adapters/ # При наличии dependency ports
├── assemblies/
│ └── default/ # Обязательная штатная assembly
└── react/
├── session/
2026-08-02 22:53:05 +03:00
└── queries/
```
Другие предметные области того же SLM root могут оставаться доменными модулями Level 1.
## Основные границы
- [Доменный пакет](./domain-package.md) определяет предметную и структурную policy boundary.
2026-08-02 22:53:05 +03:00
- [Domain API](./domain-api.md) является единственным семантическим шлюзом к данным и операциям домена.
- [Фабрики, ports и adapters](./factory-ports-adapters.md) изолируют SDK, backend, storage, runtime capabilities и provider failures.
- [Assemblies](./assemblies.md) содержат обязательную штатную сборку `default` и дополнительные production-контексты.
- [Состояние и кэш](./state-cache.md) принадлежат framework bindings или compositions: они могут хранить framework metadata и UI-state, но materialize domain payload только из значений Domain API.
- [Framework Groups](./framework-bindings.md) содержат domain-specific SLM-модули фреймворка.
2026-08-02 22:53:05 +03:00
- [Realtime](./realtime.md) задаёт messages, subscriptions, correlation, resync, errors и cleanup.
- [Тестирование](./testing.md) проверяет Domain API через фабрики, adapters через port contracts и assemblies через production wiring.
- [Переход auth](./auth-example.md) показывает локальный переход с Level 1 без big-bang всего root.
- [Открытые вопросы](./open-questions.md) отделяют принятые решения от ещё не нормированных деталей.
Точные блокирующие требования объявлены только в [реестре правил Level 2](../../rules/level-2.md).