first cycle lab release

This commit is contained in:
2026-10-04 00:30:09 +07:00
parent 85f6897365
commit d134daafd8
92 changed files with 5623 additions and 9 deletions
+51
View File
@@ -0,0 +1,51 @@
# Phase 1: каркас проекта
Phase 1 завершена для рабочей основы NeoForge 21.1.252 / Minecraft 1.21.1.
## Каркас
- `platform/config.yaml`: schema version, pack/output paths, server defaults,
будущий SSH deployment target. Host/directory не заданы.
- `platform/schemas/`: место для будущей схемы вместе с parser в Phase 2.
- `pack/`: проверенный packwiz source без изменения версий и состава модов.
- `server/`: Compose, `.env.example`, явно подключаемый override template.
- `scripts/`: минимальные spike-инструменты; основного CLI пока нет.
- `docs/`, `examples/`, `testdata/`: результаты и материалы воспроизведения.
- `dist/`, `runtime/`: только `.gitkeep` включается в source.
`server.properties` генерируется из Compose environment, поэтому отдельный
source-файл не создан. Дополнительные pack-директории создаются по мере
появления контента; пустые файлы не добавляются в экспорт. Makefile и команды
deploy/backup/rollback появятся в соответствующих фазах, без пустых заглушек.
Platform manifest пока не читается spike-скриптами. Текущий runtime использует
env-файлы; подключение manifest и validation относятся к Phase 2.
## Проверка на чистом clone
Из неигнорируемых файлов рабочего дерева создан временный Git snapshot в
`.tools/phase1-check.0Od3T1/source`, затем выполнен локальный `git clone` в
соседний `clone/`. Основной репозиторий не коммитился и не менял index.
В clone отсутствовали прежние `.tools/`, runtime state, backups и `.env`.
Пройдены:
1. `scripts/spike-tools.sh`: новые downloads packwiz и Compose;
архив/бинарники совпали с закреплёнными SHA256, Compose v5.6.0.
2. `packwiz refresh`: успешен, `git diff --exit-code -- pack` подтвердил
отсутствие изменений metadata после refresh/export/build.
3. `packwiz modrinth export`: успешен, ZIP содержит index и pack config.
4. `scripts/spike-server.sh config --quiet`: основной Compose валиден.
5. То же с `-f server/compose.override.yaml.example`: слой overrides валиден.
6. `scripts/spike-build.sh`: экспорт в новый `dist/` с SHA256SUMS успешен.
7. Bash syntax и `git diff --check`: успешны.
8. `git check-ignore`: runtime, dist, tools, backups, локальные `.env` и
активный override игнорируются; `.env.example` не игнорируется.
Проверка Compose не запускала сервер; активный мир и артефакт не изменены.
Точный порядок работы для нового checkout описан в корневом README.
Bootstrap использует закреплённый GitHub Actions artifact packwiz; такие
артефакты имеют ограниченный срок хранения. Для долгосрочного bootstrap
потребуется постоянное хранение проверенного бинарника либо сборка
закреплённого commit. Текущий URL проверен свежим скачиванием.