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: {}