log refactor

This commit is contained in:
2026-05-12 19:30:15 +03:00
parent 3a6a0be95a
commit 623cad065d
82 changed files with 2594 additions and 1686 deletions

View File

@@ -1,8 +1,9 @@
# #region AnchorConfig [C:3] [TYPE Block] [SEMANTICS config,anchor]
# @BRIEF Якорный синтаксис — глобальный формат и переопределения по директориям.
# @RELATION BINDS_TO -> [Std.Semantics.Core §II]
# @RATIONALE По умолчанию #region/#endregion — новый код пишется в region-формате.
# Legacy DEF и Doc-формат brace признаются для обратной совместимости.
# @RELATION BINDS_TO -> [Std.Semantics.Core]
#
# По умолчанию #region/#endregion — новый код пишется в region-формате.
# Legacy DEF и Doc-формат brace признаются для обратной совместимости.
anchor:
format: region
overrides:
@@ -11,7 +12,7 @@ anchor:
syntax: {}
# #endregion AnchorConfig
# #region IndexingConfig [C:3] [TYPE Block] [SEMANTICS config,indexing]
# #region IndexingConfig [C:2] [TYPE Block] [SEMANTICS config,indexing]
# @BRIEF Правила обхода файлов — include/exclude паттерны и source/doc директории.
indexing:
include: []
@@ -39,7 +40,9 @@ indexing:
# #region ComplexityRules [C:5] [TYPE Block] [SEMANTICS config,rules,validation]
# @BRIEF Обязательные и запрещённые тэги по уровням сложности C1-C5.
# @RELATION BINDS_TO -> [Std.Semantics.Core §III]
# @RELATION BINDS_TO -> [Std.Semantics.Core]
# @RELATION DEPENDS_ON -> [TagSchema]
# @INVARIANT Каждый тэг в required/forbidden списках обязан иметь определение в TagSchema.
# @RATIONALE Каждый уровень строго контролирует допустимый набор тэгов — это предотвращает verbosity и структурную эрозию (INV_7).
# LAYER и SEMANTICS — Module-специфичные тэги; не входят в базовую шкалу сложности core.
# BRIEF указан как alias PURPOSE — явно в forbidden для C1, т.к. C1 запрещает все content-тэги.
@@ -111,7 +114,10 @@ complexity_rules:
# #region ContractTypeOverrides [C:3] [TYPE Block] [SEMANTICS config,adr,override]
# @BRIEF Особые правила валидации для ADR, Component и Tombstone.
# @RATIONALE ADR не имеет COMPLEXITY (это всегда архитектурное решение). Component имеет @UX_STATE вместо @PRE/@POST на C3. Tombstone — минимальный контракт-заглушка.
# @RELATION DEPENDS_ON -> [ComplexityRules]
# @RELATION DEPENDS_ON -> [TagSchema]
#
# ADR не имеет COMPLEXITY (это всегда архитектурное решение). Component имеет @UX_STATE вместо @PRE/@POST на C3. Tombstone — минимальный контракт-заглушка.
contract_type_overrides:
ADR:
required:
@@ -180,10 +186,49 @@ contract_type_overrides:
- RELATION
- LAYER
- SEMANTICS
Block:
'3':
required:
- PURPOSE
- RELATION
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
'4':
required:
- PURPOSE
- RELATION
- RATIONALE
- REJECTED
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'5':
required:
- PURPOSE
- RELATION
- RATIONALE
- REJECTED
- INVARIANT
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
# #endregion ContractTypeOverrides
# #region TagSchema [C:5] [TYPE Block] [SEMANTICS config,tags,schema]
# @BRIEF Полная схема GRACE-тэгов: типы, алиасы, enum-ы, предикаты, применимость.
# @RELATION DEPENDS_ON -> [ComplexityRules]
# @INVARIANT Каждый тэг, referenced в complexity_rules и contract_type_overrides, имеет определение в tags.
# @RATIONALE Централизованная схема тэгов — единый источник истины для парсера, валидатора и MCP-тулов. Расширяется через alias_for без изменения канонических имён.
# @RATIONALE LAYER.enum +Service: semantics-python использует @LAYER Service в canonical C3 Module примере (dashboard_migration).
# @RATIONALE SEMANTICS/PRE/POST/SIDE_EFFECT/DATA_CONTRACT/INVARIANT +Agent: Core §II декларирует Agent как валидный тип контракта; Fullstack.Coder и другие Agent-контракты используют эти тэги.
@@ -271,19 +316,20 @@ tags:
SEMANTICS:
type: array
multiline: false
description: Семантические маркеры (домен, зона ответственности). Ортогональный — допустим на любом C-level для Module.
description: Семантические маркеры (домен, зона ответственности). Ортогональный — допустим на любом C-level для Module, Block, Skill, Agent.
separator: ','
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Block
- Skill
- Agent
protected: false
orthogonal: true
decision_memory: false
alias_for: null
alias_for: null
SIDE_EFFECT:
type: string
multiline: false
@@ -448,6 +494,167 @@ tags:
orthogonal: false
decision_memory: false
alias_for: null
RELATION:
type: string
multiline: false
description: 'Графовая зависимость: PREDICATE -> [TargetId]. Predicates: DEPENDS_ON, CALLS, INHERITS, IMPLEMENTS, DISPATCHES, BINDS_TO, CALLED_BY, VERIFIES. Обязателен с C3.'
separator: null
is_reference: true
enum: []
allowed_predicates:
- DEPENDS_ON
- CALLS
- INHERITS
- IMPLEMENTS
- DISPATCHES
- BINDS_TO
- CALLED_BY
- VERIFIES
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
PRE:
type: string
multiline: true
description: 'Предусловия выполнения. Должны быть проверены в коде через if/raise (не assert). Обязателен с C4.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
POST:
type: string
multiline: true
description: 'Гарантии результата. Обязателен с C4. Не может быть ослаблен без проверки upstream @RELATION зависимостей.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
RATIONALE:
type: string
multiline: true
description: 'Обоснование выбранного решения. C5-only. Часть Decision Memory — расширяет логический скелет архитектуры.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
alias_for: null
REJECTED:
type: string
multiline: true
description: 'Отвергнутый альтернативный путь с указанием причины. C5-only. Часть Decision Memory — запрещает воскрешение rejected-пути.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
alias_for: null
DATA_CONTRACT:
type: string
multiline: false
description: 'DTO-маппинг: Input -> InputDTO, Output -> OutputDTO. Обязателен с C5.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
INVARIANT:
type: string
multiline: true
description: 'Инвариант — условие, которое всегда истинно для данного контракта. Обязателен с C5.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
LAYER:
type: string
multiline: false
description: 'Архитектурный слой: Service, UI, Infrastructure, Domain. Ортогональный — Module/Skill/Agent-специфичный.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Skill
- Agent
protected: false
orthogonal: true
decision_memory: false
alias_for: null
# #endregion TagSchema
# #region InfrastructureConfig [C:2] [TYPE Block] [SEMANTICS config,embedding,http]