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

48 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](build.md). Full release Compose
проверен через `config`, запуск нового релиза в Phase 2 не выполнялся.
Deployment/cleanup/rollback по ownership manifest относятся к следующим
фазам. Build лишь фиксирует контракт.