lang detect

This commit is contained in:
2026-05-20 17:15:31 +03:00
parent b455e1a16b
commit 21794465f4
28 changed files with 1103 additions and 530 deletions

View File

@@ -39,29 +39,28 @@ indexing:
# @BRIEF Обязательные и запрещённые тэги по уровням сложности C1-C5.
# @RELATION BINDS_TO -> [Std.Semantics.Core]
# @INVARIANT Каждый тэг в required/forbidden списках обязан иметь определение в TagSchema.
# @RATIONALE BRIEF/PURPOSE/RATIONALE/REJECTED — универсально опциональны (C1+).
# EXAMPLE, ERROR/RAISES, DEPRECATED, REPLACED_BY — тоже опциональны.
# @REJECTED Свободная валидация без строгих forbidden-списков отвергнута — порождает Slop.
# @RATIONALE INVARIANT, RATIONALE, REJECTED, BRIEF/PURPOSE, EXAMPLE, ERROR/RAISES — универсально опциональны (C1+).
# @PRE/@POST — обязательны на C4, но C4 с SIDE_EFFECT-only валиден если предусловия тривиальны.
# @DATA_CONTRACT — рекомендуется на C5, но не обязателен (не все C5 контракты имеют DTO-маппинг).
# @RELATION — обязателен с C3, разрешён на C2 для документирования одиночных зависимостей.
# @REJECTED Строгий запрет INVARIANT ниже C5 — заставлял раздувать контракты до C5 ради одного инварианта.
# Строгий запрет RELATION на C2 — мешал документировать простые зависимости.
complexity_rules:
'1':
required: []
forbidden:
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'2':
required:
- PURPOSE
forbidden:
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'3':
required:
- PURPOSE
@@ -71,7 +70,6 @@ complexity_rules:
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'4':
required:
- PURPOSE
@@ -81,7 +79,6 @@ complexity_rules:
- SIDE_EFFECT
forbidden:
- DATA_CONTRACT
- INVARIANT
'5':
required:
- PURPOSE
@@ -89,7 +86,6 @@ complexity_rules:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
forbidden: []
# #endregion ComplexityRules
@@ -124,7 +120,6 @@ contract_type_overrides:
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'4':
required:
- PURPOSE
@@ -135,7 +130,6 @@ contract_type_overrides:
- SIDE_EFFECT
forbidden:
- DATA_CONTRACT
- INVARIANT
'5':
required:
- PURPOSE
@@ -144,7 +138,6 @@ contract_type_overrides:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
forbidden: []
Tombstone:
@@ -173,7 +166,6 @@ contract_type_overrides:
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'4':
required:
- PURPOSE
@@ -183,7 +175,6 @@ contract_type_overrides:
- SIDE_EFFECT
forbidden:
- DATA_CONTRACT
- INVARIANT
'5':
required:
- PURPOSE
@@ -191,7 +182,6 @@ contract_type_overrides:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
forbidden: []
# #endregion ContractTypeOverrides
@@ -294,6 +284,15 @@ tags:
protected: false
orthogonal: false
decision_memory: false
THROWS:
type: string
multiline: true
alias_for: ERROR
description: 'Алиас для ERROR.'
contract_types: []
protected: false
orthogonal: false
decision_memory: false
DEPRECATED:
type: string
multiline: true
@@ -331,9 +330,11 @@ tags:
type: array
multiline: false
separator: ','
description: 'Семантические маркеры. Ортогональный.'
description: 'Семантические маркеры для поиска. Ортогональный.'
contract_types:
- Module
- Function
- Class
- Block
- Skill
- Agent
@@ -361,6 +362,10 @@ tags:
- Tombstone
- ADR
- Module
- Function
- Class
- Component
- Block
protected: false
orthogonal: true
decision_memory: false
@@ -457,7 +462,7 @@ tags:
PRE:
type: string
multiline: true
description: 'Предусловия. Обязателен с C4.'
description: 'Предусловия. Обязателен с C4. Если предусловия тривиальны (напр. "DB доступна"), допустимо опустить при наличии @SIDE_EFFECT.'
contract_types:
- Module
- Function
@@ -470,7 +475,7 @@ tags:
POST:
type: string
multiline: true
description: 'Гарантии результата. Обязателен с C4.'
description: 'Гарантии результата. Обязателен с C4. Если постусловия очевидны из @PURPOSE, допустимо опустить при наличии @SIDE_EFFECT.'
contract_types:
- Module
- Function
@@ -528,7 +533,7 @@ tags:
DATA_CONTRACT:
type: string
multiline: false
description: 'DTO-маппинг. Обязателен с C5.'
description: 'DTO-маппинг (Input→Output). Рекомендуется с C5, не обязателен. Не все C5 контракты имеют DTO.'
contract_types:
- Module
- Function
@@ -541,7 +546,7 @@ tags:
INVARIANT:
type: string
multiline: true
description: 'Инвариант. Обязателен с C5.'
description: 'Инвариант — условие, истинное всегда. Универсально опциональный (C1+), обязателен на C5. Документируй неуничтожимые гарантии на любом уровне.'
contract_types:
- Module
- Function
@@ -556,7 +561,7 @@ tags:
LAYER:
type: string
multiline: false
description: 'Слой: Core, Domain, API, UI, Service, Infrastructure, Plugin, Tests. Универсально опциональный.'
description: 'Слой архитектуры: Core, Domain, API, UI, Service, Infrastructure, Plugin, Tests. Универсально опциональный.'
enum: [Core, Domain, API, UI, Service, Infrastructure, Plugin, Tests]
contract_types:
- Module