feat: Добавить уровни сложности архитектуры

This commit is contained in:
2026-07-25 15:49:31 +03:00
parent 4fad7e712a
commit cfcff10c58
36 changed files with 1314 additions and 1526 deletions

View File

@@ -7,7 +7,7 @@ normative: true
# SLM Design Specification
Эта директория содержит единый нормативный корпус SLM Design 2.0. Спецификация разделена на главы, но имеет общую версию, общий статус и единый приоритет правил.
Эта директория содержит единый нормативный корпус SLM Design 2.0. Base SLM является законченной минимальной архитектурой; дополнительные ограничения подключаются независимыми overlays `SLM Advanced` или `SLM Pro`.
Пока статус равен `draft`, документы описывают проектируемую архитектуру и не заменяют действующую документацию в `docs/`.
@@ -20,7 +20,16 @@ normative: true
| `СЛЕДУЕТ` | Рекомендуемое решение; отступление требует явного обоснования |
| `МОЖЕТ` | Допустимый, но необязательный вариант |
Правила имеют стабильные идентификаторы вида `SLM-AREA-NNN`. Точное нормативное требование принадлежит только той главе, где объявлен его rule ID. Обзорная глава может ссылаться на правило, но не должна объявлять его повторно под новым ID.
Правила имеют стабильные идентификаторы. Base использует формат `SLM-AREA-NNN`, Advanced - `SLM-ADV-AREA-NNN`, Pro - `SLM-PRO-AREA-NNN`. Точное нормативное требование принадлежит только той главе, где объявлен его rule ID.
## Architecture modes
Base SLM не требует overlay. Если команда выбирает дополнительную архитектурную политику, она подключает ровно один независимый mode согласно [Архитектурным modes](./architecture-modes.md):
```text
SLM Advanced = SLM + Advanced rules
SLM Pro = SLM + Pro rules
```
## Приоритет
@@ -30,7 +39,7 @@ normative: true
**SLM-DOC-003 - ОБЯЗАН.** Изменение принятого архитектурного правила должно вноситься в главу, которая владеет соответствующим rule ID.
## Главы
## Base SLM
### Основы
@@ -43,19 +52,10 @@ normative: true
- [Обзор слоёв](./layers/index.md)
- [App](./layers/app.md)
- [Compositions](./layers/compositions.md)
- [Domains](./layers/domains/index.md)
- [Infra](./layers/infra.md)
- [UI](./layers/ui.md)
- [Shared](./layers/shared.md)
### Внутренняя модель Domains
- [Business](./layers/domains/business.md)
- [Framework surface](./layers/domains/framework.md)
- [Ports и adapters](./layers/domains/ports-and-adapters.md)
- [Client и server assembly](./layers/domains/client-and-server.md)
- [Cross-domain boundary](./layers/domains/cross-domain-boundary.md)
### Общие правила
- [Модули и группы](./modules-and-groups.md)
@@ -66,8 +66,26 @@ normative: true
- [Тестирование и соответствие](./testing-and-conformance.md)
- [Монорепозитории](./monorepo.md)
## Overlays
### SLM Advanced
- [Отличия Advanced от base SLM](./modes/advanced/index.md)
- [Domains в SLM Advanced](./modes/advanced/domains.md)
### SLM Pro
- [Отличия Pro от base SLM](./modes/pro/index.md)
- [Domains в SLM Pro](./modes/pro/domains/index.md)
- [Business](./modes/pro/domains/business.md)
- [Framework surface](./modes/pro/domains/framework.md)
- [Ports и adapters](./modes/pro/domains/ports-and-adapters.md)
- [Client и server assembly](./modes/pro/domains/client-and-server.md)
- [Cross-domain boundary](./modes/pro/domains/cross-domain-boundary.md)
- [Тестирование Pro domains](./modes/pro/domains/testing.md)
## Область текущего draft
Спецификация фиксирует уже согласованные границы слоёв, доменов, business-фабрик, adapters, runtime assembly и cross-domain composition.
Base SLM фиксирует ownership, пять основных слоёв, public boundaries, state и lifecycle. Текущие версии Advanced и Pro в первую очередь определяют собственные независимые модели слоя `domains`; будущие mode-specific правила могут относиться к любому разделу архитектуры.
Точная форма React Providers, окончательная политика package extraction для domains и единая модель query cache не фиксируются сверх явно объявленных в соответствующих главах инвариантов.
Точная форма React Providers, окончательная политика package extraction и единая модель query cache не фиксируются сверх явно объявленных инвариантов base или выбранного overlay.