Files
h-school/docs/phases/off-queue/48-lesson-teacher-present.md
T

2.5 KiB
Raw Blame History

Фаза 48. Учитель в кабинете

Зависимости

Зачем

Ученик в кабинете больше не качает навык в пустоту. Нет учителя на месте — нет роста.

Задачи

  • LessonLearningSystem растёт навык, только если назначенный учитель стоит в lesson.RoomId: на кампусе, путь пуст, остаток минут 0
  • Нет человека с TeacherId в мире — как отсутствующий
  • Действие учителя урок не отменяет
  • Формула LessonLearning.Gain не меняется
  • Лог ученика lesson-no-teacher один раз на предмет в сутки, не каждый тик; thingDef — предмет; подпись из каталога
  • docs/protocol.md — новый type у HTTP лога, без бампа сокета
  • Фикстуры, где учитель был строкой t1 вне ростера, нанимают живого человека — иначе существующий тест роста навыка зелёный впустую

Тесты, без которых фаза не закрыта

  • Ученик и учитель стоят в кабинете → навык за урок вырос
  • Ученик в кабинете, учитель в другом узле → навык не вырос
  • Учитель идёт по коридору в этот кабинет → пока идёт, роста нет
  • Нет человека с id учителя → роста нет
  • За урок без учителя в логе ученика одна строка lesson-no-teacher, не по числу тиков
  • Голодный по-прежнему учится хуже сытого, когда учитель на месте

Критерий готовности

  • Учитель ушёл в туалет посреди математики — класс в кабинете есть, навык за эти минуты не ползёт
  • dotnet test проходит

Стоп

Не масштабировать рост навыком учителя. Не трогать тепло, учебник и дорогу. Не бампить протокол. Не писать лог учителю.