711 lines
21 KiB
YAML
711 lines
21 KiB
YAML
# #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
|
||
- PURPOSE
|
||
- C
|
||
- COMPLEXITY
|
||
- EXAMPLE
|
||
- ERROR
|
||
- RAISES
|
||
- THROWS
|
||
- PRE
|
||
- POST
|
||
- RATIONALE
|
||
- REJECTED
|
||
- INVARIANT
|
||
- DATA_CONTRACT
|
||
- SIDE_EFFECT
|
||
- RELATION
|
||
- LAYER
|
||
- PUBLIC_API
|
||
- SEMANTICS
|
||
- STATUS
|
||
- DEPRECATED
|
||
- REPLACED_BY
|
||
- TEST_CONTRACT
|
||
- TEST_EDGE
|
||
- TEST_INVARIANT
|
||
- TEST_FIXTURE
|
||
- TEST_SCENARIO
|
||
- UX_STATE
|
||
- UX_FEEDBACK
|
||
- UX_RECOVERY
|
||
- UX_REACTIVITY
|
||
- RESTRICTION
|
||
'2':
|
||
required: []
|
||
suggested:
|
||
- BRIEF
|
||
- PURPOSE
|
||
- C
|
||
- COMPLEXITY
|
||
- EXAMPLE
|
||
- ERROR
|
||
- RAISES
|
||
- THROWS
|
||
- PRE
|
||
- POST
|
||
- RATIONALE
|
||
- REJECTED
|
||
- INVARIANT
|
||
- DATA_CONTRACT
|
||
- SIDE_EFFECT
|
||
- RELATION
|
||
- LAYER
|
||
- PUBLIC_API
|
||
- SEMANTICS
|
||
- STATUS
|
||
- DEPRECATED
|
||
- REPLACED_BY
|
||
- TEST_CONTRACT
|
||
- TEST_EDGE
|
||
- TEST_INVARIANT
|
||
- TEST_FIXTURE
|
||
- TEST_SCENARIO
|
||
- UX_STATE
|
||
- UX_FEEDBACK
|
||
- UX_RECOVERY
|
||
- UX_REACTIVITY
|
||
- RESTRICTION
|
||
'3':
|
||
required: []
|
||
suggested:
|
||
- BRIEF
|
||
- PURPOSE
|
||
- C
|
||
- COMPLEXITY
|
||
- EXAMPLE
|
||
- ERROR
|
||
- RAISES
|
||
- THROWS
|
||
- PRE
|
||
- POST
|
||
- RATIONALE
|
||
- REJECTED
|
||
- INVARIANT
|
||
- DATA_CONTRACT
|
||
- SIDE_EFFECT
|
||
- RELATION
|
||
- LAYER
|
||
- PUBLIC_API
|
||
- SEMANTICS
|
||
- STATUS
|
||
- DEPRECATED
|
||
- REPLACED_BY
|
||
- TEST_CONTRACT
|
||
- TEST_EDGE
|
||
- TEST_INVARIANT
|
||
- TEST_FIXTURE
|
||
- TEST_SCENARIO
|
||
- UX_STATE
|
||
- UX_FEEDBACK
|
||
- UX_RECOVERY
|
||
- UX_REACTIVITY
|
||
- RESTRICTION
|
||
'4':
|
||
required: []
|
||
suggested:
|
||
- BRIEF
|
||
- PURPOSE
|
||
- C
|
||
- COMPLEXITY
|
||
- EXAMPLE
|
||
- ERROR
|
||
- RAISES
|
||
- THROWS
|
||
- PRE
|
||
- POST
|
||
- RATIONALE
|
||
- REJECTED
|
||
- INVARIANT
|
||
- DATA_CONTRACT
|
||
- SIDE_EFFECT
|
||
- RELATION
|
||
- LAYER
|
||
- PUBLIC_API
|
||
- SEMANTICS
|
||
- STATUS
|
||
- DEPRECATED
|
||
- REPLACED_BY
|
||
- TEST_CONTRACT
|
||
- TEST_EDGE
|
||
- TEST_INVARIANT
|
||
- TEST_FIXTURE
|
||
- TEST_SCENARIO
|
||
- UX_STATE
|
||
- UX_FEEDBACK
|
||
- UX_RECOVERY
|
||
- UX_REACTIVITY
|
||
- RESTRICTION
|
||
'5':
|
||
required: []
|
||
suggested:
|
||
- BRIEF
|
||
- PURPOSE
|
||
- C
|
||
- COMPLEXITY
|
||
- EXAMPLE
|
||
- ERROR
|
||
- RAISES
|
||
- THROWS
|
||
- PRE
|
||
- POST
|
||
- RATIONALE
|
||
- REJECTED
|
||
- INVARIANT
|
||
- DATA_CONTRACT
|
||
- SIDE_EFFECT
|
||
- RELATION
|
||
- LAYER
|
||
- PUBLIC_API
|
||
- SEMANTICS
|
||
- STATUS
|
||
- DEPRECATED
|
||
- REPLACED_BY
|
||
- TEST_CONTRACT
|
||
- TEST_EDGE
|
||
- TEST_INVARIANT
|
||
- TEST_FIXTURE
|
||
- TEST_SCENARIO
|
||
- UX_STATE
|
||
- UX_FEEDBACK
|
||
- UX_RECOVERY
|
||
- UX_REACTIVITY
|
||
- RESTRICTION
|
||
# #endregion ComplexityRules
|
||
|
||
# #region ComplexityRules [C:3] [TYPE Block] [SEMANTICS config,adr,override]
|
||
# @BRIEF Типоспецифичные подсказки — не переопределяют базовые complexity_rules, а дополняют их (union).
|
||
# @RELATION BINDS_TO -> [Std.Semantics.Core]
|
||
# @RATIONALE Per-type suggestions are additive — they don't restrict base complexity_rules.
|
||
# All tags remain informational at any type/level per SSOT protocol.
|
||
# @REJECTED Restrictive contract_type_overrides caused schema_tag_not_for_contract_type warnings.
|
||
# Removed; base complexity_rules already cover all tags.
|
||
# @REJECTED Keeping this section empty as placeholder — type-specific suggestions are
|
||
# unnecessary since all tags are informational per protocol.
|
||
contract_type_overrides: {}
|
||
# #endregion ComplexityRules
|
||
|
||
# #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. Универсально опциональный. Хороший тон — иметь @BRIEF на любой функции.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
PURPOSE:
|
||
type: string
|
||
multiline: true
|
||
alias_for: BRIEF
|
||
description: 'Алиас для BRIEF (legacy). Используй @BRIEF в новом коде.'
|
||
contract_types: []
|
||
EXAMPLE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Пример использования. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
ERROR:
|
||
type: string
|
||
multiline: true
|
||
description: 'Исключение. @ERROR ValueError. Алиасы: RAISES, THROWS. Универсально опциональный.'
|
||
contract_types: []
|
||
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
|
||
description: 'Исключение. @THROWS ValueError. Алиас для ERROR. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
alias_for: ERROR
|
||
DEPRECATED:
|
||
type: string
|
||
multiline: true
|
||
description: 'Метка устаревания. @DEPRECATED v2.5. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: true
|
||
REPLACED_BY:
|
||
type: string
|
||
multiline: false
|
||
description: 'Ссылка на замену. @REPLACED_BY NewService.run.'
|
||
is_reference: true
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: true
|
||
SEMANTICS:
|
||
type: array
|
||
multiline: false
|
||
separator: ','
|
||
description: 'Семантические маркеры для поиска. Ортогональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
SIDE_EFFECT:
|
||
type: string
|
||
multiline: false
|
||
description: 'Побочные эффекты (I/O, DB, API, сеть). Рекомендуется на функциях с side effects.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
STATUS:
|
||
type: string
|
||
multiline: false
|
||
description: 'Статус: ACTIVE, DEPRECATED, EXPERIMENTAL.'
|
||
contract_types: []
|
||
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, CONTAINS, BELONGS_TO, ASSOCIATED_WITH]
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
PRE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Предусловия. Рекомендуется на функциях с нетривиальными входными требованиями.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
POST:
|
||
type: string
|
||
multiline: true
|
||
description: 'Гарантии результата. Рекомендуется на функциях с нетривиальными постусловиями.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
PUBLIC_API:
|
||
type: string
|
||
multiline: false
|
||
description: 'Публичный API контракта: какие классы/функции являются точками входа. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
RATIONALE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Обоснование архитектурного решения. Универсально опциональный (C1+). Decision Memory. Хлебные крошки для следующего разработчика — объясни ПОЧЕМУ сделан этот выбор.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: true
|
||
REJECTED:
|
||
type: string
|
||
multiline: true
|
||
description: 'Отвергнутая альтернатива и причина отказа. Универсально опциональный (C1+). Decision Memory. Предотвращает повторение ошибок — задокументируй ЧТО пробовали и ПОЧЕМУ не сработало.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: true
|
||
DATA_CONTRACT:
|
||
type: string
|
||
multiline: false
|
||
description: 'DTO-маппинг (Input→Output). Универсально опциональный. Полезен на любом контракте с чёткими типами входа/выхода.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
INVARIANT:
|
||
type: string
|
||
multiline: true
|
||
description: 'Инвариант — условие, истинное всегда. Универсально опциональный (C1+). Документируй неуничтожимые гарантии на любом уровне.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
UX_TEST:
|
||
type: string
|
||
multiline: false
|
||
description: 'Тестовый сценарий для browser-валидации UX. Component.'
|
||
contract_types: [Component]
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
TYPE:
|
||
type: string
|
||
multiline: false
|
||
description: 'Тип контракта или компонента. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
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, Infra, UI (Tests), Frontend, Atom, Feature, Page, Component, Application, App, Widget, Panel, Store, Layout]
|
||
contract_types:
|
||
- Module
|
||
- Skill
|
||
- Agent
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
RESTRICTION:
|
||
type: string
|
||
multiline: true
|
||
description: 'Ограничение контракта (например, EXAMPLES ONLY — не переопределять правила из SSOT). Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
PARAM:
|
||
type: string
|
||
multiline: true
|
||
description: 'Параметр функции. Документирует ожидаемый аргумент. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
RETURN:
|
||
type: string
|
||
multiline: true
|
||
description: 'Возвращаемое значение. Документирует тип и условия возврата. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
YIELDS:
|
||
type: string
|
||
multiline: true
|
||
description: 'Генерируемое значение генератора. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: false
|
||
decision_memory: false
|
||
TEST:
|
||
type: string
|
||
multiline: true
|
||
description: 'Описание тестового сценария. Используется в тестовых контрактах. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
DEBT:
|
||
type: string
|
||
multiline: true
|
||
description: 'Задокументированный технический долг. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
NOTE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Примечание для разработчиков. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
PROPERTY:
|
||
type: string
|
||
multiline: true
|
||
description: 'Свойство/поле объекта. JSDoc-style. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
TYPEDEF:
|
||
type: string
|
||
multiline: true
|
||
description: 'Определение типа. JSDoc-style. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
RETURNS:
|
||
type: string
|
||
multiline: true
|
||
alias_for: RETURN
|
||
description: 'Алиас для RETURN. JSDoc-style. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
UI_STATE:
|
||
type: string
|
||
multiline: false
|
||
alias_for: UX_STATE
|
||
description: 'Алиас для UX_STATE (legacy). Используй @UX_STATE в новом коде. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
|
||
TEST_DATA:
|
||
type: string
|
||
multiline: true
|
||
description: 'Тестовые данные или фикстура. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
CONSTRAINT:
|
||
type: string
|
||
multiline: true
|
||
alias_for: INVARIANT
|
||
description: 'Алиас для INVARIANT. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
CONTRACT:
|
||
type: string
|
||
multiline: true
|
||
description: 'Описание контракта или соглашения. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
CRITICAL_TRACE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Критический trace-маркер для отладки. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
FRAGILE:
|
||
type: string
|
||
multiline: true
|
||
description: 'Хрупкий код/тест — может сломаться от изменений. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
INVARIANT_VIOLATION:
|
||
type: string
|
||
multiline: true
|
||
description: 'Задокументированное нарушение инварианта. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
THROW:
|
||
type: string
|
||
multiline: true
|
||
alias_for: ERROR
|
||
description: 'Алиас для ERROR (JSDoc-style). Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
UX_REATIVITY:
|
||
type: string
|
||
multiline: false
|
||
alias_for: UX_REACTIVITY
|
||
description: 'Опечатка для UX_REACTIVITY (legacy). Используй @UX_REACTIVITY. Универсально опциональный.'
|
||
contract_types: []
|
||
protected: false
|
||
orthogonal: true
|
||
decision_memory: false
|
||
VALIDATION:
|
||
type: string
|
||
multiline: false
|
||
description: 'Правило валидации. Универсально опциональный.'
|
||
contract_types: []
|
||
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
|