Files
slm-design/DRAFT/level-3/domains/open-questions.md

25 lines
2.1 KiB
Markdown
Raw Normal View History

2026-07-30 13:22:45 +03:00
# Открытые вопросы Level 3
2026-07-30 13:22:45 +03:00
> Эти вопросы не являются правилами и не отменяют уже принятые границы.
2026-07-30 13:22:45 +03:00
## Зафиксированные решения
2026-07-30 13:22:45 +03:00
- Domain является сущностью только Level 3; в Level 2 предметная область остаётся одним domain module.
- Domain root не имеет общего runtime barrel.
- Framework module называется именем framework и размещается непосредственно в Domain: `domains/auth/react`.
- Framework module получает готовый API и не выполняет assembly.
- Runtime-взаимодействие business разных Domains проходит через consumer-owned port и graph owner.
- Navigation Groups допустимы в `domains`, но не являются частью базовых примеров.
2026-07-30 13:22:45 +03:00
## Failure transport
2026-07-30 13:22:45 +03:00
Level 3 требует stable domain failure contract, но не навязывает проекту единый transport: exception с domain-specific runtime guard или discriminated `Result`. Нужно проверить, нужна ли общая политика для всех Domain одного приложения и как она влияет на server actions/RPC serialization.
2026-07-30 13:22:45 +03:00
## Reactive state protocol
2026-07-30 13:22:45 +03:00
Нужно проверить на реальном SSR/hydration кейсе точную форму framework-neutral observation protocol: initial snapshot, concurrent rendering, invalidation, subscription cleanup и поведение после request boundary. `getSnapshot` и `subscribe` пока являются базовой иллюстрацией, а не обязательной файловой формой.
2026-07-30 13:22:45 +03:00
## Architecture lint
2026-07-30 13:22:45 +03:00
Нужно выбрать формат project configuration для автоматической проверки Domain roots, role modules, public entrypoints, environment labels и запрещённых transitive imports. Проверка должна опираться на graph и metadata, а не только на имена папок.