Files
minecraft-lab/docs/phase8-results.md
2026-10-04 00:30:09 +07:00

2.9 KiB

Phase 8 — завершена

Проверено 4 октября 2026 (Asia/Novosibirsk): rollback по SSH без повторного build. Оба режима автоматизированы; команды и условия описаны в 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 остаётся непроверенной веткой.