Files
ss-tools/.axiom/axiom_config.yaml
2026-05-08 10:07:05 +03:00

544 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.

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
complexity_rules:
'1':
required:
- LAYER
- SEMANTICS
forbidden:
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- UX_STATE
'2':
required:
- LAYER
- PURPOSE
- SEMANTICS
forbidden:
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- UX_STATE
'3':
required:
- LAYER
- PURPOSE
- RELATION
- SEMANTICS
forbidden:
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
'4':
required:
- LAYER
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- SEMANTICS
forbidden:
- DATA_CONTRACT
- INVARIANT
'5':
required:
- LAYER
- PURPOSE
- RELATION
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- SEMANTICS
forbidden: []
contract_type_overrides:
ADR:
required:
- PURPOSE
- RELATION
- RATIONALE
- REJECTED
forbidden:
- COMPLEXITY
- C
- PRE
- POST
- SIDE_EFFECT
- DATA_CONTRACT
- INVARIANT
- UX_STATE
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
tags:
C:
type: string
multiline: false
description: 'Краткий алиас для COMPLEXITY. Используйте @C: 3 вместо @COMPLEXITY: 3.'
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types: []
protected: false
orthogonal: false
decision_memory: false
alias_for: COMPLEXITY
COMPLEXITY:
type: string
multiline: false
description: Уровень сложности контракта (1-5). Определяет набор обязательных и запрещённых тегов. C1 — простые DTO/утилиты, C2 — требует PURPOSE, C3 — добавляет RELATION, C4 — контрактные гарантии (PRE/POST/SIDE_EFFECT), C5 — критические инварианты и DATA_CONTRACT.
separator: null
is_reference: false
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
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.'
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 зависимостей.
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
PURPOSE:
type: string
multiline: true
description: Назначение контракта. Краткое (1-2 предложения) описание того, что делает данный узел. Обязателен с C2.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
protected: false
orthogonal: false
decision_memory: false
alias_for: null
RATIONALE:
type: string
multiline: true
description: Обоснование выбранного архитектурного/реализационного пути. Защищённый ортогональный тег. Запрещает повторение отвергнутых альтернатив.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- ADR
- Component
- Block
protected: true
orthogonal: true
decision_memory: true
alias_for: null
REJECTED:
type: string
multiline: true
description: Явно запрещённый альтернативный путь с указанием риска, бага или технического долга, disqualifying его. Защищённый ортогональный тег.
separator: null
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
- Function
- Class
- ADR
- Component
- Block
protected: true
orthogonal: true
decision_memory: true
alias_for: null
RELATION:
type: array
multiline: false
description: 'Связь между контрактами в формате PREDICATE -> [TargetId]. Обязателен с C3. Доступные предикаты: DEPENDS_ON, CALLS, INHERITS, IMPLEMENTS, DISPATCHES, BINDS_TO, VERIFIES.'
separator: ->
is_reference: true
enum: []
allowed_predicates:
- DEPENDS_ON
- CALLS
- INHERITS
- IMPLEMENTS
- DISPATCHES
- BINDS_TO
- VERIFIES
contract_types:
- Module
- Function
- Class
- Component
- Block
- ADR
protected: false
orthogonal: false
decision_memory: false
alias_for: null
SEMANTICS:
type: array
multiline: false
description: Набор семантических маркеров модуля (например, indexing, validation, metadata). Ортогональный тег.
separator: ','
is_reference: false
enum: []
allowed_predicates: []
contract_types:
- Module
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: 'Статус артефакта: DEPRECATED -> REPLACED_BY: [NewId], ACTIVE, 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: Краевой случай (edge case), покрываемый тестом. Ортогональный тестовый тег.
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
embedding: null
http_api:
http_enabled: true
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: {}