544 lines
14 KiB
YAML
544 lines
14 KiB
YAML
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: {}
|