# Протокол Семантического Обогащения (Semantic Enrichment Protocol) **Версия: 1.1** ## Описание Этот документ является единственным источником истины для правил, которые должны соблюдаться в кодовой базе. Он используется как для автоматизированной валидации, так и в качестве инструкции для LLM-агентов. --- ## Правила ### 1. Целостность Заголовка Файла (`FileHeaderIntegrity`) Каждый `.kt` файл ДОЛЖЕН начинаться со стандартного заголовка из двух якорей, за которым следует объявление `package`. Заголовок служит 'паспортом' файла. **Пример:** ```kotlin // [FILE] YourFileName.kt // [SEMANTICS] ui, viewmodel, state_management package com.example.your.package.name ``` ### 2. Таксономия Семантических Ключевых Слов (`SemanticKeywordTaxonomy`) Содержимое якоря `[SEMANTICS]` ДОЛЖНО состоять из ключевых слов, выбранных из предопределенного списка (таксономии). **Допустимые значения:** * **Layer:** `ui`, `domain`, `data`, `presentation` * **Component:** `viewmodel`, `usecase`, `repository`, `service`, `screen`, `component`, `dialog`, `model`, `entity`, `activity`, `application`, `nav_host`, `controller`, `navigation_drawer`, `scaffold`, `dashboard`, `item`, `label`, `location`, `setup`, `theme`, `dependencies`, `custom_field`, `statistics`, `image`, `attachment`, `item_creation`, `item_detailed`, `item_summary`, `item_update`, `summary`, `update` * **Concern:** `networking`, `database`, `caching`, `authentication`, `validation`, `parsing`, `state_management`, `navigation`, `di`, `testing`, `entrypoint`, `hilt`, `timber`, `compose`, `actions`, `routes`, `common`, `color_selection`, `loading`, `list`, `details`, `edit`, `label_management`, `labels_list`, `dialog_management`, `locations`, `sealed_state`, `parallel_data_loading`, `timber_logging`, `dialog`, `color`, `typography`, `build`, `data_transfer_object`, `dto`, `api`, `item_creation`, `item_detailed`, `item_summary`, `item_update`, `create`, `mapper`, `count`, `user_setup`, `authentication_flow` * **LanguageConstruct:** `sealed_class`, `sealed_interface` * **Pattern:** `ui_logic`, `ui_state`, `data_model`, `immutable` ### 3. Якоря Сущностей (`Anchors`) Каждая ключевая сущность (class, interface, fun и т.д.) ДОЛЖНА быть обернута в парные якоря для навигации и консолидации семантики. **Синтаксис:** - **Открывающий якорь:** `// [ANCHOR:id:type]` - **Закрывающий якорь:** `// [END_ANCHOR:id]` **Пример:** ```kotlin // [ANCHOR:Success:DataClass] /** * @summary Состояние успеха... */ data class Success(val labels: List