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

2.7 KiB

Phase 3: mod wrappers

Phase 3 завершена: mcpack add, remove, update <mod>, update --all делегируют операции закреплённому packwiz. Config/путь source/бинарник проверяются до вызова; оригинальные prompts, stdout/stderr и exit code packwiz сохраняются. Add поддерживает штатные Modrinth version URLs.

Реальная integration-проверка

bash scripts/verify-phase3.sh успешно выполнен в тестовом clone .tools/phase3-check.m9vdq6/clone. Лог: .tools/phase3-integration.log; diff source: .tools/phase3-check.m9vdq6/source-changes.diff.

  1. Remove Backpacks удалил .pw.toml и обновил index.
  2. Add version URL создал metadata для 3.26.6.2174 / pJxNzk4X; уже установленный Core сохранился.
  3. Update одного мода заменил Backpacks на 3.26.7.2182 / Igmp9PwW.
  4. Для update --all снова установлена старая версия. Команда реально обновила её, после чего metadata вернулась к 3.26.7.2182.
  5. После каждого состояния успешен full build: phase3-remove, phase3-add, phase3-update, phase3-all. Для всех прошли Compose config и SHA256SUMS, source metadata осталась консистентной.

Тестовые versions менялись только в clone, чтобы сохранить неизменяемые готовые релизы. Основной pack остаётся 0.0.4 с прежними тремя модами; активный сервер и мир не изменялись и не перезапускались.

Автоматические проверки

npm test: 16/16 успешны. Помимо 12 build-тестов проверены:

  • точное отображение команд/аргументов packwiz, включая --all и --yes;
  • отклонение неверных комбинаций до запуска tool;
  • выбор source directory через config при вызове из другого cwd;
  • literal search argv без shell execution;
  • сохранение stdout/stderr и тестового exit code 17;
  • отказ при изменённом hash packwiz.

Bash/Node syntax и git diff --check успешны. Реальные GUI/server проверки новых модов не входят в Phase 3; wrappers меняют source, не deployment. Пользовательские команды и контракт — mods.md.