Phase 49 is already claimed for skip-stale-build. Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# Фаза 52. Учебник на уроке
|
||
|
||
## Зависимости
|
||
|
||
- [Фаза 48](48-lesson-teacher-present.md)
|
||
- [Фаза 35](35-appropriateness.md)
|
||
|
||
## Зачем
|
||
|
||
Утренний `RepackBag` уже кладёт учебники сегодняшних предметов в сумку. Урок начинает это
|
||
проверять.
|
||
|
||
## Задачи
|
||
|
||
- [ ] Рост урока полный, только если в **сумке** есть экземпляр с `subject` этого предмета
|
||
- [ ] Шкафчик и дом не считаются: ученик в кабинете
|
||
- [ ] Нет учебника — множитель `BehaviorDef.lessonNoTextbookFactor`, ваниль 0.5
|
||
- [ ] Валидатор: число 0–1
|
||
- [ ] Лог `lesson-no-textbook` один раз на предмет в сутки; `thingDef` — предмет
|
||
- [ ] `docs/protocol.md` — тип лога
|
||
|
||
## Тесты, без которых фаза не закрыта
|
||
|
||
- [ ] Учебник математики в сумке → полный рост (при учителе на месте)
|
||
- [ ] Тот же учебник в шкафчике или дома → рост как с коэффициентом 0.5
|
||
- [ ] Учебник другого предмета в сумке не закрывает этот урок
|
||
- [ ] Одна строка лога за сутки на предмет, не по числу тиков
|
||
- [ ] Пак без поля — 0.5, каталог не падает
|
||
|
||
## Критерий готовности
|
||
|
||
- Слабая переноска, учебник остался дома — на уроке растут хуже одноклассника с книгой
|
||
- `dotnet test` проходит
|
||
|
||
## Стоп
|
||
|
||
Не заставлять идти за учебником отдельной целью. Не замедлять ходьбу перегрузом. Не тратить
|
||
деньги на замену.
|