Files
NODEDC_MISSION_CORE/docs/audits/2026-09-22-core-launch-recovery.md
T

3.5 KiB

Core и Worker · восстановление запуска 22 сентября

После перезапуска Mac штатные LaunchAgents Core и двух старых Worker-туннелей завершались до запуска приложения с EX_CONFIG/78. Журнал macOS показал xpcproxy deny file-read-data для startup-журналов внутри Downloads и затем posix_spawn Operation not permitted. Фоновые элементы при этом были enabled/allowed. Это отдельный сбой запуска операторского контура, не ошибка навигации Isaac.

Исправление вынесло только launchd stdout/stderr в ~/Library/Logs/NODE.DC/MissionCore/. Исходные журналы и evidence оставлены на месте. Путь checkout, данные, env, SSH arguments/ports и полномочия не менялись. Разрешения macOS не расширялись. Tailscale включил владелец; после этого SSH к Worker 006 снова заработал. Применение выполнено с проверкой обеих идентичностей plist, резервной копией и ожиданием полного bootout перед bootstrap.

Версионированная реализация: src/k1link/launchd_logs.py, local_service_launchd.py, observatory/worker_tunnel_launchd.py, scripts/manage_mission_core_launch_agent.py, scripts/migrate_worker_tunnel_logs.py. Планирование не создаёт файлы; apply создаёт только новый приватный журнал, отклоняет symlink и не обнуляет существующее содержимое. Старый Core startup-log остаётся в .runtime/mission-core/k1link-serve-launchd.log как исторический файл.

Служба Предыдущий plist SHA-256 Применённый plist SHA-256
Core 5d7a58122c016f8021fede27d1b21891ee20238fc38c281e5b33574ff8204e3f 182a87853bc363555edea6af5911c288ec2e83e45354ba2e22a4090d50064486
Observatory tunnel db1df305e9ca135218e782b57e59a0ebb354c5267fdfe8a2379a1f4bc1a82880 1449901c566f576ca7a21accc60d12012c4f0a1c5d7f380c72e7b9210297b31b
Gaussian tunnel 88d5672b1a3620e68e0d622e00ebc22ee04aba5d774ed92dd84ed580d9ce3fad 3ac365e2cd173283d30c85dac38585440849e47ebbe9cd6b153778095adf6b80

Проверки: 16 focused launchd/tunnel tests прошли. Core health вернул ok=true, status=ok, service=mission-core-control-plane, operational=true. Единственный Python listener — 127.0.0.1:8000; на8765 слушателя нет. Оба прежних SSH-туннеля имеют устойчивые launchd PID. Каталог AI-полигона подтвердил runtime.available=true, активных заездов нет.

С задачей «Mission Core - PC - SINHRON» согласован один владелец запуска: эта задача восстанавливает службы, соседняя не выполняет параллельных рестартов. Готовность передана туда после health/worker проверки. Повторный reboot-drill не проводился; подтверждён именно текущий штатный запуск после исправления.