3.1 KiB
3.1 KiB
Журнал ревью
Сводка: ../reviewed.md. Индекс среза: README.md.
Срез 3. Штат
- Фазы: 10–13
- Проверен на:
bdb1253, 2026-08-20 - Пути:
src/HSchool.People/Staffing.cs,src/HSchool.People/ApplicantPool.cs,src/HSchool.Content/SubjectDefиdefs/staffing,src/HSchool.Server/Api/SchoolEndpoints.cs(staffing/hire/subjects),src/HSchool.Server/mods/core/defs/{subjects,positions,rooms,staffing,traits},src/HSchool.Client/src/ui/managementPanel.ts,src/HSchool.Client/src/net/api.ts,tests/HSchool.People.Tests/{StaffingTests,ApplicantPoolTests}.cs,tests/HSchool.AppHost.Tests/StaffingApiTests.cs,src/HSchool.Client/src/ui/managementPanel.test.ts - Итог: обещания фаз 10–13 целы; дописаны 3 теста;
docs/protocol.mdдополнен?lang=
Что подтверждено:
PETeacherнет; кабинеты без учительской должности; места черезdefaultSeats. Неизвестный навык в предмете роняет каталог. Стартовая дата 31 марта 2012.- Пул: детерминизм по сиду и неделе, частичное обновление, устойчивый размер, «сильный просит больше», пустой штат, соискатель вне ростера до найма. Пул 32.
- Фонд оплаты, деление часов, пол ставки, покрытие.
GET /staffingчитает снимок, наём и назначение —GameCommandсTaskCompletionSource.MaxWeeklyHoursне запрещает назначение, а оставляет предмет непокрытым.PrimarySchoolна ванили требует трёх учителей (teachersShort). - Экран: деньги, непокрытые, пул, штат, назначение с карточки, отказ по пределу текстом,
всё через
t(...). - Полностью укомплектованная школа влезает в 100 000 впритык (запас 5–13%). Нанять пул целиком без назначений предела достигает. Раскладка «каждому все предметы» — самая дешёвая, не «укомплектованная школа».
Дописано:
StaffingApiTests.AssigningPastTheCap_IsRejectedWithTheNumbers— фаза 12 требовала API-тест на отказ по пределу; единственное место было написано черезif (over.StatusCode == Conflict)и проходило при любом исходе.ApplicantPoolTests.ConfidentTraits_AskForMoreAndQuietOnesForLess- В
AssignAndUnassign_HonourTheCap_AndReloadKeepsAssignments— тот же пул с теми же ставками после перезапуска.
Исправлено:
docs/protocol.mdне упоминал?lang=у hire/subjects, хотя клиент его шлёт.