# Фаза 51. Учебник на уроке ## Зависимости - [Фаза 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` проходит ## Стоп Не заставлять идти за учебником отдельной целью. Не замедлять ходьбу перегрузом. Не тратить деньги на замену.