first cycle lab release
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 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 лишь фиксирует контракт.
|
||||
Reference in New Issue
Block a user