Files
ss-tools/.axiom/axiom_config.yaml

537 lines
14 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]
anchor:
format: region
overrides:
docs/: brace
specs/: brace
syntax: {}
# #endregion AnchorConfig
# #region IndexingConfig [C:2] [TYPE Block] [SEMANTICS config,indexing]
indexing:
include: []
exclude:
- .ai/
- .git/
- .venv/
- __pycache__/
- node_modules/
- .pytest_cache/
- .axiom/
- '*.txt'
- '*.log'
- '*.yaml'
- '*.yml'
- '*.json'
- '*.toml'
- '*.md'
source_dirs:
- src
- tests
doc_dirs:
- docs
- specs
# #endregion IndexingConfig
# #region ComplexityRules [C:5] [TYPE Block] [SEMANTICS config,rules,validation]
# @BRIEF Уровни сложности C1-C5 — описательные сигналы, не gatekeeper-правила.
# @RELATION BINDS_TO -> [Std.Semantics.Core]
# @INVARIANT Каждый тэг в required/suggested списках обязан иметь определение в TagSchema.
# @RATIONALE Tiers are descriptive signals, not gatekeepers. Any tag is welcomed at any tier.
# @PRE/@POST on a C2 utility is informative, not a violation.
# @RATIONALE/@REJECTED are universally welcomed — decision memory at all levels.
# @REJECTED Old forbidden lists per tier caused agents to remove useful documentation tags.
# No tag is forbidden at any tier. Let agents document what needs documenting.
complexity_rules:
'1':
required: []
suggested:
- BRIEF
'2':
required: []
suggested:
- BRIEF
- RELATION
'3':
required: []
suggested:
- BRIEF
- RELATION
'4':
required: []
suggested:
- BRIEF
- RELATION
- PRE
- POST
- SIDE_EFFECT
'5':
required: []
suggested:
- BRIEF
- RELATION
- PRE
- POST
- SIDE_EFFECT
- INVARIANT
- DATA_CONTRACT
# #endregion ComplexityRules
# #region ContractTypeOverrides [C:3] [TYPE Block] [SEMANTICS config,adr,override]
contract_type_overrides:
ADR:
suggested:
- PURPOSE
- RELATION
- RATIONALE
- REJECTED
Component:
'3':
suggested:
- PURPOSE
- RELATION
- UX_STATE
'4':
suggested:
- PURPOSE
- RELATION
- UX_STATE
- PRE
- POST
- SIDE_EFFECT
'5':
suggested:
- PURPOSE
- RELATION
- UX_STATE
- PRE
- POST
- SIDE_EFFECT
- INVARIANT
Tombstone:
suggested:
- STATUS
Block:
'3':
suggested:
- PURPOSE
- RELATION
'4':
suggested:
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
'5':
suggested:
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- INVARIANT
# #endregion ContractTypeOverrides
# #region TagSchema [C:5] [TYPE Block] [SEMANTICS config,tags,schema]
tags:
C:
type: string
multiline: false
description: 'DEPRECATED. Канонический формат сложности — [C:N] в заголовке #region. @C больше не использовать.'
alias_for: COMPLEXITY
deprecated: true
deprecated_since: '2026-05-19'
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: true
orthogonal: false
decision_memory: false
COMPLEXITY:
type: string
multiline: false
description: 'Уровень сложности (1-5). Канонический формат — [C:N] в заголовке анкора #region. @COMPLEXITY как тэг допускается для обратной совместимости, но [C:N] предпочтителен.'
enum: ['1','2','3','4','5']
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: true
orthogonal: false
decision_memory: false
BRIEF:
type: string
multiline: true
description: 'Алиас для PURPOSE. Универсально опциональный.'
alias_for: PURPOSE
contract_types: []
protected: false
orthogonal: false
decision_memory: false
PURPOSE:
type: string
multiline: true
description: 'Назначение контракта. Универсально опциональный. Хороший тон — иметь @BRIEF на любой функции.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
EXAMPLE:
type: string
multiline: true
description: 'Пример использования. Универсально опциональный.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
ERROR:
type: string
multiline: true
description: 'Исключение. @ERROR ValueError. Алиасы: RAISES, THROWS. Универсально опциональный.'
contract_types:
- Module
- Function
- Class
- Component
- Block
protected: false
orthogonal: false
decision_memory: false
RAISES:
type: string
multiline: true
alias_for: ERROR
description: 'Алиас для ERROR.'
contract_types: []
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
description: 'Метка устаревания. @DEPRECATED v2.5. Универсально опциональный.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
REPLACED_BY:
type: string
multiline: false
description: 'Ссылка на замену. @REPLACED_BY NewService.run.'
is_reference: true
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
SEMANTICS:
type: array
multiline: false
separator: ','
description: 'Семантические маркеры для поиска. Ортогональный.'
contract_types:
- Module
- Function
- Class
- Block
- Skill
- Agent
protected: false
orthogonal: true
decision_memory: false
SIDE_EFFECT:
type: string
multiline: false
description: 'Побочные эффекты (I/O, DB, API, сеть). Рекомендуется на функциях с side effects.'
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
STATUS:
type: string
multiline: false
description: 'Статус: ACTIVE, DEPRECATED, EXPERIMENTAL.'
contract_types:
- Tombstone
- ADR
- Module
- Function
- Class
- Component
- Block
protected: false
orthogonal: true
decision_memory: false
TEST_CONTRACT:
type: string
multiline: false
description: Что проверяет тест. Ортогональный.
contract_types: [Function, Block]
protected: false
orthogonal: true
decision_memory: false
TEST_EDGE:
type: string
multiline: false
description: Краевой случай. Ортогональный.
contract_types: [Function, Block]
protected: false
orthogonal: true
decision_memory: false
TEST_FIXTURE:
type: string
multiline: false
description: Тестовая фикстура. Ортогональный.
contract_types: [Block]
protected: false
orthogonal: true
decision_memory: false
TEST_INVARIANT:
type: string
multiline: false
description: Инвариант теста. Ортогональный.
contract_types: [Module, Function]
protected: false
orthogonal: true
decision_memory: false
TEST_SCENARIO:
type: string
multiline: false
description: Сценарий теста. Ортогональный.
contract_types: [Function, Block]
protected: false
orthogonal: true
decision_memory: false
UX_FEEDBACK:
type: string
multiline: false
description: Формат обратной связи. Component.
contract_types: [Component]
protected: false
orthogonal: true
decision_memory: false
UX_REACTIVITY:
type: string
multiline: false
description: Реактивная модель. Component.
contract_types: [Component]
protected: false
orthogonal: true
decision_memory: false
UX_RECOVERY:
type: string
multiline: false
description: Стратегия восстановления. Component.
contract_types: [Component]
protected: false
orthogonal: true
decision_memory: false
UX_STATE:
type: string
multiline: false
description: Конечный автомат UX. Рекомендуется для компонентов с множественными состояниями.
contract_types: [Component]
protected: false
orthogonal: false
decision_memory: false
RELATION:
type: string
multiline: false
description: 'Графовая зависимость. Описывает связь между контрактами. Рекомендуется на любой функции/модуле с внешними зависимостями.'
is_reference: true
allowed_predicates: [DEPENDS_ON, CALLS, INHERITS, IMPLEMENTS, DISPATCHES, BINDS_TO, CALLED_BY, VERIFIES, USES]
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
PRE:
type: string
multiline: true
description: 'Предусловия. Рекомендуется на функциях с нетривиальными входными требованиями.'
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
POST:
type: string
multiline: true
description: 'Гарантии результата. Рекомендуется на функциях с нетривиальными постусловиями.'
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
PUBLIC_API:
type: string
multiline: false
description: 'Публичный API контракта: какие классы/функции являются точками входа. Универсально опциональный.'
contract_types:
- Module
- Function
- Class
- Component
- Block
protected: false
orthogonal: true
decision_memory: false
RATIONALE:
type: string
multiline: true
description: 'Обоснование архитектурного решения. Универсально опциональный (C1+). Decision Memory. Хлебные крошки для следующего разработчика — объясни ПОЧЕМУ сделан этот выбор.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
REJECTED:
type: string
multiline: true
description: 'Отвергнутая альтернатива и причина отказа. Универсально опциональный (C1+). Decision Memory. Предотвращает повторение ошибок — задокументируй ЧТО пробовали и ПОЧЕМУ не сработало.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: true
DATA_CONTRACT:
type: string
multiline: false
description: 'DTO-маппинг (Input→Output). Универсально опциональный. Полезен на любом контракте с чёткими типами входа/выхода.'
contract_types:
- Module
- Function
- Class
- Component
- Agent
protected: false
orthogonal: false
decision_memory: false
INVARIANT:
type: string
multiline: true
description: 'Инвариант — условие, истинное всегда. Универсально опциональный (C1+). Документируй неуничтожимые гарантии на любом уровне.'
contract_types:
- Module
- Function
- Class
- Component
- Block
- Skill
- Agent
protected: false
orthogonal: false
decision_memory: false
LAYER:
type: string
multiline: false
description: 'Слой архитектуры: Core, Domain, API, UI, Service, Infrastructure, Plugin, Tests. Универсально опциональный.'
enum: [Core, Domain, API, UI, Service, Infrastructure, Plugin, Tests]
contract_types:
- Module
- Skill
- Agent
protected: false
orthogonal: true
decision_memory: false
# #endregion TagSchema
# #region InfrastructureConfig [C:2] [TYPE Block] [SEMANTICS config,embedding,http]
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