Merge phase 23 example pack.
ci / server (push) Failing after 3m32s
ci / client (push) Failing after 12s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 01:12:47 +03:00
co-authored by Cursor
21 changed files with 406 additions and 15 deletions
+10 -10
View File
@@ -12,21 +12,21 @@
## Задачи
- [ ] Пак `mods/example` рядом с `core`: `pack.jsonc`, свои локали, пара черт, набор имён,
- [x] Пак `mods/example` рядом с `core`: `pack.jsonc`, свои локали, пара черт, набор имён,
патч чужого def и одна комната
- [ ] Пак нарочно скучный: он образец и фикстура, а не контент. Ванильную игру он не меняет,
- [x] Пак нарочно скучный: он образец и фикстура, а не контент. Ванильную игру он не меняет,
пока не выбран
- [ ] Пак едет в вывод сборки тестов теми же правилами, что и `core`
- [ ] Короткий `README.md` внутри пака: что где лежит и как добавить своё
- [ ] Ориентир в [`../design/defs.md`](../design/defs.md) показывает на него как на образец
- [x] Пак едет в вывод сборки тестов теми же правилами, что и `core`
- [x] Короткий `README.md` внутри пака: что где лежит и как добавить своё
- [x] Ориентир в [`../design/defs.md`](../design/defs.md) показывает на него как на образец
## Тесты, без которых фаза не закрыта
- [ ] `GET /api/catalog?mods=example` отдаёт типы и подписи пака поверх `core`
- [ ] Школа создаётся с паком и поднимается с ним после перезапуска
- [ ] Патч пака виден в каталоге школы, а без пака его нет
- [ ] Одинаковый `defName` в `core` и в паке — побеждает пак, в логе предупреждение
- [ ] Карта пака проходит валидацию и годится для создания школы
- [x] `GET /api/catalog?mods=example` отдаёт типы и подписи пака поверх `core`
- [x] Школа создаётся с паком и поднимается с ним после перезапуска
- [x] Патч пака виден в каталоге школы, а без пака его нет
- [x] Одинаковый `defName` в `core` и в паке — побеждает пак, в логе предупреждение
- [x] Карта пака проходит валидацию и годится для создания школы
## Критерий готовности
+1 -1
View File
@@ -107,7 +107,7 @@
| Фаза | Статус | Зачем |
| --- | --- | --- |
| [22. Удостоверение пака](22-mod-identity.md) | ✅ | Название, версия, зависимости и порядок загрузки |
| [23. Пример мода](23-example-pack.md) | 🔄 | Настоящая папка вместо документов в памяти |
| [23. Пример мода](23-example-pack.md) | | Настоящая папка вместо документов в памяти |
| [24. Числа поведения](24-behavior-numbers.md) | ✅ | Веса целей в `BehaviorDef`, а не в коде |
| [25. Золотые файлы](25-golden-fixtures.md) | ✅ | Отпечаток ростера, старый сейв, кривая голода, нехватка учителей |
| [26. Свой сид](26-school-seed.md) | ✅ | Состав школы перестаёт зависеть от порядка создания |