style: убрать излишний англицызм

This commit is contained in:
2026-07-30 17:25:44 +03:00
parent 038f941ac7
commit c0956ed2a0
19 changed files with 369 additions and 365 deletions

View File

@@ -1,97 +1,97 @@
# Правила SLM третьего уровня
Проект Level 3 соблюдает правила Levels 1-2, кроме заменённого `SLM-L2-DOMAIN-R001` и расширенного состава Groups внутри слоя `domains`, и дополнительные правила этого реестра.
Проект Level 3 соблюдает правила Level 1 и Level 2, кроме заменённого `SLM-L2-DOMAIN-R001` и расширенного состава групп внутри слоя `domains`, а также дополнительные правила этого реестра.
## Граница Domain
## Граница домена
### SLM-L3-DOMAIN-R001
> **Предметная граница Domain**
> **Предметная граница домена**
>
> Каждая самостоятельная предметная область слоя `domains` представлена ровно одним Domain; его role modules относятся только к этой области.
> Каждая самостоятельная предметная область слоя `domains` представлена ровно одним доменом; его модули относятся только к этой области.
### SLM-L3-DOMAIN-A002
> **Корень Domain**
> **Корень домена**
>
> Корень Domain не содержит файлов реализации, изменяемого состояния, ресурсов жизненного цикла, публичного API или реэкспортов и содержит только допустимые role modules и Groups.
> Корень домена не содержит файлов реализации, изменяемого состояния, ресурсов жизненного цикла, публичного API или реэкспортов и содержит только допустимые модули домена и группы.
## Business и factory
## Бизнес-логика и фабрика
### SLM-L3-BUSINESS-R003
> **Business contract Domain**
> **Контракт бизнес-логики**
>
> Каждый Domain содержит ровно один module `business`, который определяет публичные business scenarios, business contracts, domain errors и семантику domain state.
> Каждый домен содержит ровно один модуль `business`, который определяет публичные предметные сценарии и контракты, ошибки предметной области и модель её состояния.
### SLM-L3-BUSINESS-A004
> **Изоморфный graph business**
> **Независимость бизнес-логики от среды**
>
> Production import graph, достижимый из public entrypoint `business`, не достигает framework code, environment boundary, platform API, concrete runtime, adapter, preset или framework module.
> Граф импортов, достижимый из публичной точки входа `business`, не достигает кода фреймворков, зависимых от среды точек входа, API платформы, технических реализаций, адаптеров, сборок или модулей фреймворков.
### SLM-L3-FACTORY-R005
> **Contract factory**
> **Контракт фабрики**
>
> Business factory получает полный набор собственных ports и создаёт стабильный business API независимо от execution environment; среда не выражается через mode, optional port или метод, намеренно недоступный в части сред.
> Фабрика бизнес-логики получает полный набор собственных портов и создаёт API одного и того же контракта независимо от среды выполнения; различия сред не выражаются режимом, необязательным портом или методом, намеренно недоступным в части сред.
### SLM-L3-FACTORY-R006
> **Создание API instance**
> **Создание экземпляра API**
>
> Вызов business factory не выполняет ввод-вывод, не читает скрытое окружение, не запускает ресурс жизненного цикла, не выбирает concrete adapter и не выполняет framework lifecycle.
> Вызов фабрики не выполняет ввод-вывод, не читает скрытое окружение, не запускает ресурс жизненного цикла, не выбирает конкретный адаптер и не выполняет операции жизненного цикла фреймворка.
### SLM-L3-PORT-R007
> **Business-owned port**
> **Порт бизнес-логики**
>
> Каждая runtime capability, вызываемая business, описывается минимальным business-owned port, public contract которого не раскрывает concrete runtime, framework или environment types.
> Каждая возможность среды, необходимая бизнес-логике во время выполнения, описывается минимальным портом этой бизнес-логики; публичный контракт порта не раскрывает конкретную реализацию, фреймворк или типы среды.
## Assembly
## Сборка
### SLM-L3-ADAPTER-R008
> **Ответственность adapter**
> **Ответственность адаптера**
>
> Adapter преобразует concrete runtime в business port и не определяет business invariant, domain fallback или domain error.
> Адаптер реализует порт бизнес-логики поверх конкретной технической системы и не определяет предметный инвариант, резервное поведение или ошибку предметной области.
### SLM-L3-PRESET-R009
> **Роль preset**
> **Роль типовой сборки**
>
> Preset module собирает business API для одного именованного execution context выбором implementations ports и не изменяет business contract или scenarios.
> Модуль группы `presets` собирает API бизнес-логики для одного именованного контекста выполнения, выбирая реализации портов, и не изменяет контракт или предметные сценарии.
### SLM-L3-ASSEMBLY-R010
> **Исполнение lifecycle contract**
> **Жизненный цикл собранного API**
>
> Graph owner удерживает API instance только в scope, объявленном module-владельцем, и вызывает предоставленные ему lifecycle operations; module-владелец определяет lifecycle contract resource по правилам Level 1.
> Владелец графа удерживает экземпляр API только в области жизни, объявленной модулем-владельцем, и вызывает предоставленные операции жизненного цикла; модуль-владелец определяет создание, область жизни, число экземпляров и очистку ресурса по правилам Level 1.
## Междоменные и environment зависимости
## Междоменные зависимости и среды выполнения
### SLM-L3-DEPENDENCY-R011
> **Междоменная runtime-граница**
> **Междоменная связь во время выполнения**
>
> Business одного Domain не создаёт и не импортирует runtime API другого Domain; необходимая capability описывается собственным port и передаётся graph owner при assembly.
> Модуль `business` одного домена не создаёт и не импортирует исполняемый API другого домена; необходимая возможность описывается собственным портом и передаётся владельцем графа при сборке.
### SLM-L3-ENVIRONMENT-A012
> **Environment import graph**
> **Совместимость графа импортов**
>
> Public entrypoint, обозначенный как client-only, server-only или isomorphic, не импортирует и не реэкспортирует transitive graph несовместимой среды выполнения.
> Публичная точка входа, обозначенная как клиентская, серверная или общая для обеих сред, не импортирует и не реэкспортирует код несовместимой среды выполнения.
## Framework и verification
## Фреймворки и тестирование
### SLM-L3-FRAMEWORK-R013
> **Framework module Domain**
> **Модуль фреймворка домена**
>
> Framework-specific code находится в module Domain, названном именем framework, получает готовый business API и не реализует business decisions или concrete adapters.
> Зависящий от конкретного фреймворка код находится в модуле домена, названном именем фреймворка, получает готовый API бизнес-логики и не реализует предметные решения или технические адаптеры.
### SLM-L3-TEST-R014
> **Проверка business contract**
> **Проверка контракта бизнес-логики**
>
> Каждый public business scenario проверяется factory-level tests с controlled implementations ports; primary tests adapter, preset и framework module проверяют их собственную границу и не дублируют scenario matrix business.
> Каждый публичный предметный сценарий проверяется через фабрику с управляемыми тестовыми реализациями портов; основные тесты адаптера, сборки и модуля фреймворка проверяют собственные границы и не повторяют набор предметных сценариев.