# Фаза 11. Пустая школа и пул соискателей ## Зависимости - [Фаза 10](10-subjects.md) - [Фаза 6](06-people-generator.md) ## Зачем Школа открывается без единого сотрудника, а рядом появляется пул людей, готовых наняться. Нанимать пока нечем — это фаза про данные. ## Задачи - [x] `RosterGenerator` больше не закрывает должности: новая школа получает учеников, родителей и ноль сотрудников - [x] Пул соискателей в `HSchool.People`: список полноценных `Person`, детерминированный от сида школы и номера недели - [x] Соискателем может стать родитель ученика — тот же человек, без второй сущности - [x] Базовый запрос по зарплате считается из навыков соискателя; шкала — в данных, не в коде - [x] Еженедельное обновление: часть уходит, часть остаётся с теми же именами и запросом, приходят новые. Полная замена запрещена - [x] Пул живёт в `saves/{id}.people.json` рядом с ростером и пишется по тем же правилам — при изменении состава, не по таймеру - [x] Воркер публикует пул вместе со снимком ростера ## Тесты, без которых фаза не закрыта - [x] Тот же сид и та же неделя — тот же пул - [x] После обновления часть людей та же самая, с теми же навыками и тем же запросом - [x] Пул не пустеет и не растёт бесконечно за пятьдесят недель - [x] Запрос по зарплате у сильного кандидата выше, чем у слабого - [x] Новая школа не имеет ни одного сотрудника, но все ученические места заняты - [x] Соискатель не попадает в ростер школы, пока не нанят ## Критерий готовности - Создать школу — в списке людей есть ученики и родители, работников нет - Перезапуск сервера поднимает тот же пул - `dotnet test` проходит ## Стоп Ни найма, ни денег, ни назначения предметов. Пул только существует и обновляется.