| # 🛠️ Поток установки потомка на новом хосте (CCore Deployment Flow) | |
| > Этот документ описывает процесс развертывания нового CCore-потомка на новом хосте. | |
| > Развертывание на том же ПК проще и уже описано в разделе "Создание потомков" [описания REPL-цикла](HMP-agent-REPL-cycle.md). | |
| ## 1. Инициация | |
| * Родительский агент формирует универсальный **модуль развертывания** под целевую ОС. | |
| * Модуль включает: | |
| - шаблон запуска и инициализации; | |
| - ссылки (magnet/HTTP) на актуальные сборки и внешние компоненты; | |
| - `bootstrap.txt` с адресом родителя (а также с другими узлами на выбор родителя) для первичной синхронизации. | |
| ## 2. Автоматическая установка | |
| * Проверка окружения (наличие интерпретатора, зависимостей, сетевых модулей). | |
| * Установка недостающих компонентов. | |
| * Автоматическая настройка параметров (например, выбор свободных портов). | |
| ## 3. Ошибки и обработка | |
| * **Технические сбои** контролируются CCore-родителем: | |
| - выбор альтернативных билдов; | |
| - подмена конфликтующих параметров; | |
| - повторные попытки установки. | |
| * **Критические ситуации** (затрагивающие интересы пользователя) требуют явного согласия: | |
| - перезагрузка; | |
| - обновление, нарушающее совместимость; | |
| - вмешательство в используемые приложения. | |
| ## 4. Финализация | |
| * Создание рабочей папки `../CCORE-[DID]`. | |
| * Инициализация базы данных потомка. | |
| * Запуск REPL-цикла потомка. | |
| * Двусторонняя регистрация в таблице `agent_peers` (у родителя и у потомка). | |
| * Итоговое уведомление пользователю: | |
| > ✅ Новый агент установлен и запущен. | |
| --- | |
| ## 🔄 Схема процесса | |
| ```mermaid | |
| flowchart TD | |
| A[Инициация: Родитель формирует модуль] --> B[Проверка среды] | |
| B -->|ОК| C[Установка зависимостей] | |
| B -->|Конфликт| D[Автоисправление, CCore-родитель] | |
| D --> C | |
| C --> E[Создание папки CCORE-DID] | |
| C -->|Ошибка| D | |
| E --> F[Запуск потомка] | |
| F --> G[Синхронизация с родителем] | |
| G --> H[Сообщение пользователю] | |
| B -->|Критическая ошибка| U[Запрос согласия пользователя] | |
| C -->|Критическая ошибка| U | |
| U --> D | |
| ``` | |
| > **Примечание:** этап «Проверка среды → Автоисправление, CCore-родитель» на диаграмме отражает полный цикл анализа и исправления конфликтов в среде. После выполнения автоисправления процесс продолжается с этапа «Установка зависимостей», повторная проверка среды происходит только при критических ошибках. | |