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