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

3.3 KiB
Raw Blame History

Phase 2: build command

Phase 2 завершена. ./mcpack build читает platform YAML, валидирует packwiz source и создаёт полный релиз, не меняя source или активный runtime. Node.js 22+ используется для orchestration с закреплёнными YAML/TOML parsers; экспорт и dependency resolution остаются у packwiz.

Выпущенный development artifact

dist/minecraft-lab-neoforge-spike-0.0.4/ содержит .mrpack, server/, manifest.json, SHA256SUMS. Все файлы кроме SHA256SUMS покрыты checksums, включая manifest. Pack version увеличена с 0.0.1 до 0.0.4, чтобы сохранить существующие spike-артефакты 0.0.1–0.0.3 без перезаписи. Состав модов, Minecraft и NeoForge не менялись.

  • .mrpack SHA256: 877b34bf582f9d06b9dbd2832db8a1b376a786be21826628229df52a6672cd52.
  • Manifest SHA256: 5933ed34f35473026a32f0c3eab9a8b86b6fb484461bac2f670e0a74930aaa0c.
  • Git commit: 85f6897365b8d4717d8670808d2223c3024d247f, dirty=true.

Dirty flag отражает незакоммиченную текущую работу. Main repo не коммитился. Development build допускает это; --release требует чистого worktree.

Подтверждённые проверки

  • Реальный ./mcpack build с закреплённым packwiz: refresh/export успешны, metadata в копии не менялась. Перед build версия явно обновлена и refresh выполнен пользователю видимым отдельным шагом.
  • Compose нового релиза валиден с абсолютными root/release bindings; image literal digest и defaults взяты из lock/platform config.
  • Checksums всех шести release files успешны.
  • Manifest содержит Minecraft/loader, provenance инструментов, исходные hashes и управляемые пути клиента/сервера. Mouse Tweaks отсутствует в server ownership; server marker явно overrides pack marker.
  • 12 автоматических тестов успешны. Используют настоящий Git и Compose, контролируемый packwiz substitute для отказов и ZIP fixtures. Проверяют чистый/dirty build, configurable output/defaults, checksums, отсутствие local secrets/target, повторную сборку, stale source, export failure, неподтверждённый loader, дубликаты, invalid YAML/paths, tracked secrets, symlinks и tampered tool hash.
  • Bash/Node syntax, git diff --check успешны.
  • Активный NeoForge-сервер после build остаётся healthy на 0.0.1; контейнер не пересоздавался, мир не менялся командой build.

Контракт и воспроизведение — build.md. Full release Compose проверен через config, запуск нового релиза в Phase 2 не выполнялся. Deployment/cleanup/rollback по ownership manifest относятся к следующим фазам. Build лишь фиксирует контракт.