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

42 lines
2.7 KiB
Markdown

# 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](mods.md).