# Фаза 73. Оценка с урока ## Зависимости - [Фаза 48](../off-queue/48-lesson-teacher-present.md) - [Фаза 50](../off-queue/50-teacher-skill-gain.md) - [Фаза 51](../off-queue/51-warmth-lesson.md) - [Фаза 52](../off-queue/52-textbook-lesson.md) ## Зачем Рост навыка получает школьный смысл: оценка 2–5 за урок. ## Задачи - [x] Из качества урока (те же входы, что `LessonLearning.Gain`) писать оценку **2, 3, 4 или 5** - [x] Пороги и «когда писать» (раз за слот урока) — в `BehaviorDef` / данных `core` - [x] Нет учителя / множитель 0 — явное правило (нет оценки или 2), зафиксировать в данных и тесте - [x] Хранение на ученике, потолок недавних; сейв - [x] Детерминизм: тот же сид и те же входы → та же оценка - [x] Игрок оценку не ставит и не правит (нет API правки) ## Тесты, без которых фаза не закрыта - [x] Урок с сильным учителем и полными множителями даёт не ниже урока с пустым кабинетом учителя при тех же прочих - [x] За один слот не пишется пачка оценок каждую минуту - [x] Сейв сохраняет последние оценки - [x] HTTP/сокет не принимает «поставить оценку» ## Критерий готовности - После урока у ученика в данных есть 2–5; перезагрузка школы не стирает - Отфильтрованные тесты по Testing policy проходят ## Стоп Не явка. Не UI журнала. Не тосты. Не болезни.