Files
h-school/docs/phases/24-behavior-numbers.md
T

37 lines
2.2 KiB
Markdown
Raw 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.
# Фаза 24. Числа поведения в данные
## Зависимости
- [Фаза 20](20-needs-actions.md) — `BehaviorDef` уже есть
## Зачем
[`../design/ai.md`](../design/ai.md) обещает: числа поведения — деф правил, как `StaffingDef` у
штата. Порог нужды и разброс на дорогу туда уехали, а веса целей остались константами в коде.
Пока они там, мод, меняющий одно число, вынужден быть форком.
## Задачи
- [x] Веса целей переезжают в `BehaviorDef`: обязанность-урок, обязанность-переход, нужда на нуле,
обед
- [x] Значения по умолчанию — сегодняшние; поведение не должно измениться ни на минуту
- [x] Каталог без `BehaviorDef` работает на константах кода, а не падает
- [x] Валидатор ловит отрицательные веса и порядок, который делает обед сильнее урока
- [x] Комментарий у каждого числа объясняет, что оно перевешивает — иначе мод-автор крутит вслепую
## Тесты, без которых фаза не закрыта
- [x] Ванильные числа дают ровно те же решения, что и до переезда (таблица входов и выходов)
- [x] Пак, поднявший вес обеда выше урока, уводит класс с урока в столовую
- [x] Каталог без `BehaviorDef` принимает решения на значениях по умолчанию
- [x] Отрицательный вес роняет загрузку каталога
## Критерий готовности
- Отпечаток недели из фазы 25 не меняется от самого переезда
- `dotnet test` проходит
## Стоп
Не заводить формулы в данных. Число — да, выражение — нет.