Files
ss-tools/.axiom/axiom_config.yaml
2026-05-11 22:58:01 +03:00

620 lines
16 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# #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 признаются для обратной совместимости.
anchor:
format: region
overrides:
docs/: brace
specs/: brace
syntax: {}
# #endregion AnchorConfig
# #region IndexingConfig [C:3] [TYPE Block] [SEMANTICS config,indexing]
# @BRIEF Правила обхода файлов — include/exclude паттерны и source/doc директории.
indexing:
include: []
exclude:
- .ai/
- .git/
- .venv/
- __pycache__/
- node_modules/
- .pytest_cache/
- .axiom/
- '*.txt'
- '*.log'
- '*.yaml'
- '*.yml'
- '*.json'
- '*.toml'
source_dirs:
- src
- tests
doc_dirs:
- docs
- specs
# #endregion IndexingConfig
# #region ComplexityRules [C:5] [TYPE Block] [SEMANTICS config,rules,validation]
# @BRIEF Обязательные и запрещённые тэги по уровням сложности C1-C5.
# @RELATION BINDS_TO -> [Std.Semantics.Core §III]
# @RATIONALE Каждый уровень строго контролирует допустимый набор тэгов — это предотвращает verbosity и структурную эрозию (INV_7).
# LAYER и SEMANTICS — Module-специфичные тэги; не входят в базовую шкалу сложности core.
# BRIEF указан как alias PURPOSE — явно в forbidden для C1, т.к. C1 запрещает все content-тэги.
# @REJECTED Свободная валидация без строгих forbidden-списков отвергнута — порождает Slop и размывает Decision Memory.
# @REJECTED UX_STATE в общих complexity_rules отвергнут — UX_STATE Component-специфичен и управляется через contract_type_overrides.
complexity_rules:
'1':
required: []
forbidden:
- BRIEF
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
'2':
required:
- PURPOSE
forbidden:
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
'3':
required:
- PURPOSE
- RELATION
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
'4':
required:
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
forbidden:
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
'5':
required:
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- RATIONALE
- REJECTED
forbidden: []
# #endregion ComplexityRules
# #region ContractTypeOverrides [C:3] [TYPE Block] [SEMANTICS config,adr,override]
# @BRIEF Особые правила валидации для ADR, Component и Tombstone.
# @RATIONALE ADR не имеет COMPLEXITY (это всегда архитектурное решение). Component имеет @UX_STATE вместо @PRE/@POST на C3. Tombstone — минимальный контракт-заглушка.
contract_type_overrides:
ADR:
required:
- PURPOSE
- RELATION
- RATIONALE
- REJECTED
forbidden:
- COMPLEXITY
- C
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- UX_STATE
- LAYER
- SEMANTICS
Component:
'3':
required:
- PURPOSE
- RELATION
- UX_STATE
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'4':
required:
- PURPOSE
- RELATION
- UX_STATE
- PRE
- POST
- SIDE_EFFECT
forbidden:
- DATA_CONTRACT
- INVARIANT
'5':
required:
- PURPOSE
- RELATION
- UX_STATE
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
forbidden: []
Tombstone:
required:
- STATUS
forbidden:
- COMPLEXITY
- C
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- UX_STATE
- PURPOSE
- RELATION
- LAYER
- SEMANTICS
# #endregion ContractTypeOverrides
# #region TagSchema [C:5] [TYPE Block] [SEMANTICS config,tags,schema]
# @BRIEF Полная схема GRACE-тэгов: типы, алиасы, enum-ы, предикаты, применимость.
# @RATIONALE Централизованная схема тэгов — единый источник истины для парсера, валидатора и MCP-тулов. Расширяется через alias_for без изменения канонических имён.
# @REJECTED Разрозненные определения тэгов в коде парсера отвергнуты — делают валидацию неконсистентной и неподдерживаемой.
tags:
C:
type: string
multiline: false
description: 'Краткий алиас для COMPLEXITY. @C: 3 ≡ @COMPLEXITY: 3.'
alias_for: COMPLEXITY
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
COMPLEXITY:
type: string
multiline: false
description: Уровень сложности (1-5). C1 — DTO/утилиты, C2 — +PURPOSE, C3 — +RELATION, C4 — контракты (PRE/POST), C5 — инварианты и Decision Memory.
separator: null
is_reference: false
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
BRIEF:
type: string
multiline: true
description: 'Doxygen-совместимый алиас для PURPOSE. @BRIEF Краткое описание. Разрешается в канонический PURPOSE при парсинге.'
alias_for: PURPOSE
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types: []
protected: false
orthogonal: false
decision_memory: false
PURPOSE:
type: string
multiline: true
description: Назначение контракта. Краткое (1-2 предложения) описание. Каноническое имя. Обязателен с C2. @BRIEF — Doxygen-алиас.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
alias_for: null
DATA_CONTRACT:
type: string
multiline: false
description: 'DTO-контракт: Input -> RequestDTO, Output -> ResponseDTO. Обязателен на C5.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
INVARIANT:
type: string
multiline: false
description: Инвариант на всём протяжении жизни контракта. Обязателен на C5.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
LAYER:
type: string
multiline: false
description: 'Архитектурный слой: Domain (бизнес-логика), UI (интерфейс), Infra (инфраструктура), Test (тесты). Обязателен для Module на всех C-level.'
separator: null
is_reference: false
enum:
- Domain
- UI
- Infra
- Test
allowed_predicates: []
contract_types:
- Module
protected: false
orthogonal: false
decision_memory: false
alias_for: null
POST:
type: string
multiline: false
description: Постусловие — гарантия результата. Обязателен с C4. Запрещено ослаблять без проверки upstream @RELATION зависимостей.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
PRE:
type: string
multiline: false
description: Предусловие выполнения. Критические условия на входе. Обязателен с C4.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
RATIONALE:
type: string
multiline: true
description: Обоснование выбранного пути. Защищённый, decision_memory. C5-only.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- ADR
- Component
- Block
- Skill
- Agent
protected: true
orthogonal: true
decision_memory: true
alias_for: null
REJECTED:
type: string
multiline: true
description: Запрещённый альтернативный путь + причина дисквалификации. Защищённый, decision_memory. C5-only. Resurrection — fatal regression.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- ADR
- Component
- Block
- Skill
- Agent
protected: true
orthogonal: true
decision_memory: true
alias_for: null
RELATION:
type: array
multiline: false
description: 'Связь между контрактами: PREDICATE -> [TargetId]. Обязателен с C3.'
separator: ->
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
SEMANTICS:
type: array
multiline: false
description: Семантические маркеры (домен, зона ответственности). Ортогональный — допустим на любом C-level для Module.
separator: ','
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Skill
protected: false
orthogonal: true
decision_memory: false
alias_for: null
SIDE_EFFECT:
type: string
multiline: false
description: 'Побочные эффекты: мутации состояния, I/O, БД, сеть. Обязателен с C4.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
STATUS:
type: string
multiline: false
description: 'Статус: ACTIVE, DEPRECATED -> REPLACED_BY: [NewId], EXPERIMENTAL. Ортогональный для Tombstone/ADR/Module.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Tombstone
- ADR
- Module
protected: false
orthogonal: true
decision_memory: false
alias_for: null
TEST_CONTRACT:
type: string
multiline: false
description: Что проверяет тест. Ортогональный тестовый тэг.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Function
- Block
protected: false
orthogonal: true
decision_memory: false
alias_for: null
TEST_EDGE:
type: string
multiline: false
description: Краевой случай, покрываемый тестом. Ортогональный.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Function
- Block
protected: false
orthogonal: true
decision_memory: false
alias_for: null
TEST_FIXTURE:
type: string
multiline: false
description: Тестовая фикстура или набор данных. Ортогональный.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Block
protected: false
orthogonal: true
decision_memory: false
alias_for: null
TEST_INVARIANT:
type: string
multiline: false
description: Инвариант, проверяемый тестом. Ортогональный.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
protected: false
orthogonal: true
decision_memory: false
alias_for: null
TEST_SCENARIO:
type: string
multiline: false
description: Тестовый сценарий (шаги + ожидаемый результат). Ортогональный.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Function
- Block
protected: false
orthogonal: true
decision_memory: false
alias_for: null
UX_FEEDBACK:
type: string
multiline: false
description: 'Формат обратной связи: тосты, инлайн-ошибки, модальные окна. Ортогональный для Component.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Component
protected: false
orthogonal: true
decision_memory: false
alias_for: null
UX_REACTIVITY:
type: string
multiline: false
description: 'Реактивная модель: store-driven render, optimistic updates, debounced inputs. Ортогональный для Component.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Component
protected: false
orthogonal: true
decision_memory: false
alias_for: null
UX_RECOVERY:
type: string
multiline: false
description: 'Стратегия восстановления: retry, fallback-интерфейс, ручной перезапуск. Ортогональный для Component.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Component
protected: false
orthogonal: true
decision_memory: false
alias_for: null
UX_STATE:
type: string
multiline: false
description: Конечный автомат UX-состояний (loading → ready → error). Обязателен для Component с C3+.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Component
protected: false
orthogonal: false
decision_memory: false
alias_for: null
# #endregion TagSchema
# #region InfrastructureConfig [C:2] [TYPE Block] [SEMANTICS config,embedding,http]
# @BRIEF Инфраструктурные настройки: embedding, HTTP API, doc-режим.
embedding: null
http_api:
http_enabled: false
http_host: 127.0.0.1
http_port: 8420
http_api_key: '123'
doc_mode: null
doc_tag_mapping: null
doc_stripped_output: null
doc_symbol_types: null
tier_thresholds: {}
# #endregion InfrastructureConfig