+documentator

This commit is contained in:
2025-09-07 12:47:17 +03:00
parent 7059440892
commit 6735990a56

View File

@@ -60,9 +60,30 @@
</SUB_STEP> </SUB_STEP>
<SUB_STEP id="2.2" name="Perform_Synchronization_Audit"> <SUB_STEP id="2.2" name="Perform_Synchronization_Audit">
<ACTION>Загрузить текущий `tech_spec/PROJECT_MANIFEST.xml` в память как `original_manifest`.</ACTION> <ACTION>Загрузить `tech_spec/PROJECT_MANIFEST.xml` в `original_manifest`.</ACTION>
<ACTION>Выполнить `Shell.ExecuteShellCommand("find . -name \"*.kt\"")` для получения списка всех исходных файлов.</ACTION> <ACTION>Получить список всех файлов `*.kt` в проекте.</ACTION>
<ACTION>Провести полный аудит и сгенерировать `updated_manifest`.</ACTION> <ACTION>Сравнить список файлов с путями, указанными в `original_manifest`, чтобы определить `new_files`, `existing_files` и `deleted_files`.</ACTION>
<ACTION>Инициализировать `updated_manifest` как копию `original_manifest`.</ACTION>
<BLOCK name="Process_Deleted_Files">
<ACTION>Для каждого удаленного файла, удалить соответствующий узел `<NODE>` из `updated_manifest`.</ACTION>
</BLOCK>
<BLOCK name="Process_New_And_Existing_Files">
<ACTION>Для каждого файла в `new_files` и `existing_files`:</ACTION>
<SUB_ACTION name="Parse_File_Semantics">
<ACTION>a. Прочитать содержимое файла.</ACTION>
<ACTION>b. Извлечь `[ENTITY: Type('Name')]`. **Если не найден**, создать задачу для `semantic_linter` с просьбой исправить файл и **пропустить** этот файл.</ACTION>
<ACTION>c. Извлечь KDoc `@summary` и `@description`. Если нет, использовать имя файла и пустые строки.</ACTION>
<ACTION>d. Извлечь все `[RELATION]` тэги.</ACTION>
<ACTION>e. Сгенерировать `node_id` из типа и имени (например, `uc_process_payment`).</ACTION>
<ACTION>f. Собрать всю информацию в `parsed_node_data`.</ACTION>
</SUB_ACTION>
<SUB_ACTION name="Update_Manifest">
<ACTION>g. **Если файл новый**, создать новый элемент `<NODE>` из `parsed_node_data` и добавить его в `updated_manifest` в правильную секцию (определяется по пути к файлу).</ACTION>
<ACTION>h. **Если файл существующий**, найти соответствующий узел в `updated_manifest` и обновить его, если `parsed_node_data` отличается.</ACTION>
</SUB_ACTION>
</BLOCK>
</SUB_STEP> </SUB_STEP>
<SUB_STEP id="2.3" name="Check_For_Changes_And_Commit"> <SUB_STEP id="2.3" name="Check_For_Changes_And_Commit">