Files
h-school/docs/phases/12-office/70-director-summons.md
T
2026-08-21 09:26:06 +03:00

3.1 KiB

Фаза 70. Вызов к директору и очередь

Зависимости

Зачем

Проступок гонит ученика к директору сам: ходьба, ожидание в коридоре, один в кабинете.

Задачи

  • Авто-триггер вызова из фактов (обрыв драки / выговор и пороги в BehaviorDef); кнопки игрока нет
  • Временное состояние «вызван» — сильная обязанность дойти до PrincipalsOffice, пройти приём, сняться
  • Нет директора в штате или нет узла кабинета — вызов не стартует / гаснет по правилу в данных
  • Кабинет занят приёмом → ждут в коридорном узле у ребра к кабинету, не внутри
  • В кабинете один на приём; очередь FIFO с детерминированным порядком
  • Приём — короткое действие; мнение о директоре падает; при необходимости допись в список проступков (69)
  • Обычная ходьба и travelMinutes; телепорта нет
  • Skip / утро не оставляют вечный «вызван» без разрешения (явное правило в коде фазы)
  • Очередь и вызовы только на потоке школы (инвариант 3)

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

  • После qualifying-проступка ученик получает обязанность к кабинету (при живом директоре)
  • Двое вызванных: один в кабинете, второй в коридоре у входа, не оба внутри
  • Освобождение кабинета впускает следующего из очереди
  • Тот же сид и те же события → тот же порядок очереди
  • Без директора вызов не зависает навечно
  • Игрок не может послать вызов по HTTP/сокету (нет такого намерения)

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

  • Драка с обрывом → ученик идёт к директору; второй вызванный ждёт в коридоре; после приёма оба снова живут обычным днём
  • Отфильтрованные тесты по Testing policy проходят

Стоп

Не собрания. Не тосты (если нужны — фаза 71). Не присутствие-протокол без нужды — только если без нового статуса UI врёт; бамп версии тогда в этом коммите.