# Phase 8 — завершена Проверено 4 октября 2026 (Asia/Novosibirsk): rollback по SSH без повторного build. Оба режима автоматизированы; команды и условия описаны в [rollback.md](rollback.md). На изолированном SSH/Docker-стенде восстановлен snapshot Phase 7, применён чистый release 0.0.5, затем выполнен pack-only rollback на retained 0.0.4. Маркеры мира и состояния модов сохранили текущий прогресс. Следующий snapshot rollback восстановил исходные маркеры, убрал появившийся позже файл из активного runtime и сохранил его вместе с текущим прогрессом в retired runtime. Для обеих операций проверены backup текущего состояния, успешный health, сохранение `.env` и публикации `0.0.0.0:25566`, правильные pointers и освобождение общей блокировки. Просмотр планов сохранил список файлов root, ID контейнера и время его запуска. Финальный Minecraft status query прошёл. Контейнер стенда удалён. 68 unit tests прошли: CLI подтверждения, readonly plan, corrupt snapshot до stop, ошибка current backup, startup failure без автоматического возврата, snapshot recovery после failed deploy по фактическому binding, lock и безопасные ID. Старый immutable Compose проверен настоящим pinned Compose без зависимости от dist. Обнаруженные права `700` у опубликованного release исправлены на `755`, чтобы контейнер UID 1000 мог читать bind-mounted `.mrpack`; добавлена регрессионная проверка. Доказательства: `.tools/phase8-check.Hgc1oL/evidence/`, `.tools/phase8-unit-tests.log`, `.tools/phase8-integration.log`. Рабочий host не откатывался: прямой query `192.168.1.61:25565` прошёл; результат `.tools/phase8-target-evidence/direct-status.json`. Ограничения: world compatibility подтверждает оператор; аварийное завершение между обновлениями двух pointer files требует сверки state/binding. Незавершённый rollback требует документированного ручного recovery. Retired runtime и backups сохраняются без автоматической очистки. Forge остаётся непроверенной веткой.