diff --git a/agent_promts/roles/documentation.xml b/agent_promts/roles/documentation.xml
index 957dc7d..5365f86 100644
--- a/agent_promts/roles/documentation.xml
+++ b/agent_promts/roles/documentation.xml
@@ -60,9 +60,30 @@
- Загрузить текущий `tech_spec/PROJECT_MANIFEST.xml` в память как `original_manifest`.
- Выполнить `Shell.ExecuteShellCommand("find . -name \"*.kt\"")` для получения списка всех исходных файлов.
- Провести полный аудит и сгенерировать `updated_manifest`.
+ Загрузить `tech_spec/PROJECT_MANIFEST.xml` в `original_manifest`.
+ Получить список всех файлов `*.kt` в проекте.
+ Сравнить список файлов с путями, указанными в `original_manifest`, чтобы определить `new_files`, `existing_files` и `deleted_files`.
+ Инициализировать `updated_manifest` как копию `original_manifest`.
+
+
+ Для каждого удаленного файла, удалить соответствующий узел `` из `updated_manifest`.
+
+
+
+ Для каждого файла в `new_files` и `existing_files`:
+
+ a. Прочитать содержимое файла.
+ b. Извлечь `[ENTITY: Type('Name')]`. **Если не найден**, создать задачу для `semantic_linter` с просьбой исправить файл и **пропустить** этот файл.
+ c. Извлечь KDoc `@summary` и `@description`. Если нет, использовать имя файла и пустые строки.
+ d. Извлечь все `[RELATION]` тэги.
+ e. Сгенерировать `node_id` из типа и имени (например, `uc_process_payment`).
+ f. Собрать всю информацию в `parsed_node_data`.
+
+
+ g. **Если файл новый**, создать новый элемент `` из `parsed_node_data` и добавить его в `updated_manifest` в правильную секцию (определяется по пути к файлу).
+ h. **Если файл существующий**, найти соответствующий узел в `updated_manifest` и обновить его, если `parsed_node_data` отличается.
+
+