Add foundational phase documentation for mod development
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Фаза 24. Числа поведения в данные
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 20](20-needs-actions.md) — `BehaviorDef` уже есть
|
||||
|
||||
## Зачем
|
||||
|
||||
[`../design/ai.md`](../design/ai.md) обещает: числа поведения — деф правил, как `StaffingDef` у
|
||||
штата. Порог нужды и разброс на дорогу туда уехали, а веса целей остались константами в коде.
|
||||
Пока они там, мод, меняющий одно число, вынужден быть форком.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] Веса целей переезжают в `BehaviorDef`: обязанность-урок, обязанность-переход, нужда на нуле,
|
||||
обед
|
||||
- [ ] Значения по умолчанию — сегодняшние; поведение не должно измениться ни на минуту
|
||||
- [ ] Каталог без `BehaviorDef` работает на константах кода, а не падает
|
||||
- [ ] Валидатор ловит отрицательные веса и порядок, который делает обед сильнее урока
|
||||
- [ ] Комментарий у каждого числа объясняет, что оно перевешивает — иначе мод-автор крутит вслепую
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [ ] Ванильные числа дают ровно те же решения, что и до переезда (таблица входов и выходов)
|
||||
- [ ] Пак, поднявший вес обеда выше урока, уводит класс с урока в столовую
|
||||
- [ ] Каталог без `BehaviorDef` принимает решения на значениях по умолчанию
|
||||
- [ ] Отрицательный вес роняет загрузку каталога
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- Отпечаток недели из фазы 25 не меняется от самого переезда
|
||||
- `dotnet test` проходит
|
||||
|
||||
## Стоп
|
||||
|
||||
Не заводить формулы в данных. Число — да, выражение — нет.
|
||||
Reference in New Issue
Block a user