Files
h-school/docs/phases/11-applicants.md
T
2026-08-18 23:51:10 +03:00

2.8 KiB

Фаза 11. Пустая школа и пул соискателей

Зависимости

Зачем

Школа открывается без единого сотрудника, а рядом появляется пул людей, готовых наняться. Нанимать пока нечем — это фаза про данные.

Задачи

  • RosterGenerator больше не закрывает должности: новая школа получает учеников, родителей и ноль сотрудников
  • Пул соискателей в HSchool.People: список полноценных Person, детерминированный от сида школы и номера недели
  • Соискателем может стать родитель ученика — тот же человек, без второй сущности
  • Базовый запрос по зарплате считается из навыков соискателя; шкала — в данных, не в коде
  • Еженедельное обновление: часть уходит, часть остаётся с теми же именами и запросом, приходят новые. Полная замена запрещена
  • Пул живёт в saves/{id}.people.json рядом с ростером и пишется по тем же правилам — при изменении состава, не по таймеру
  • Воркер публикует пул вместе со снимком ростера

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

  • Тот же сид и та же неделя — тот же пул
  • После обновления часть людей та же самая, с теми же навыками и тем же запросом
  • Пул не пустеет и не растёт бесконечно за пятьдесят недель
  • Запрос по зарплате у сильного кандидата выше, чем у слабого
  • Новая школа не имеет ни одного сотрудника, но все ученические места заняты
  • Соискатель не попадает в ростер школы, пока не нанят

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

  • Создать школу — в списке людей есть ученики и родители, работников нет
  • Перезапуск сервера поднимает тот же пул
  • dotnet test проходит

Стоп

Ни найма, ни денег, ни назначения предметов. Пул только существует и обновляется.