add shel
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Фаза 11. Пустая школа и пул соискателей
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 10](10-subjects.md)
|
||||
- [Фаза 6](06-people-generator.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
Школа открывается без единого сотрудника, а рядом появляется пул людей, готовых наняться.
|
||||
Нанимать пока нечем — это фаза про данные.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] `RosterGenerator` больше не закрывает должности: новая школа получает учеников, родителей
|
||||
и ноль сотрудников
|
||||
- [ ] Пул соискателей в `HSchool.People`: список полноценных `Person`, детерминированный от сида
|
||||
школы и номера недели
|
||||
- [ ] Соискателем может стать родитель ученика — тот же человек, без второй сущности
|
||||
- [ ] Базовый запрос по зарплате считается из навыков соискателя; шкала — в данных, не в коде
|
||||
- [ ] Еженедельное обновление: часть уходит, часть остаётся с теми же именами и запросом,
|
||||
приходят новые. Полная замена запрещена
|
||||
- [ ] Пул живёт в `saves/{id}.people.json` рядом с ростером и пишется по тем же правилам —
|
||||
при изменении состава, не по таймеру
|
||||
- [ ] Воркер публикует пул вместе со снимком ростера
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [ ] Тот же сид и та же неделя — тот же пул
|
||||
- [ ] После обновления часть людей та же самая, с теми же навыками и тем же запросом
|
||||
- [ ] Пул не пустеет и не растёт бесконечно за пятьдесят недель
|
||||
- [ ] Запрос по зарплате у сильного кандидата выше, чем у слабого
|
||||
- [ ] Новая школа не имеет ни одного сотрудника, но все ученические места заняты
|
||||
- [ ] Соискатель не попадает в ростер школы, пока не нанят
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- Создать школу — в списке людей есть ученики и родители, работников нет
|
||||
- Перезапуск сервера поднимает тот же пул
|
||||
- `dotnet test` проходит
|
||||
|
||||
## Стоп
|
||||
|
||||
Ни найма, ни денег, ни назначения предметов. Пул только существует и обновляется.
|
||||
Reference in New Issue
Block a user