Files
h-school/docs/phases/05-ai/reviewed.md
T

43 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Журнал ревью
Сводка: [`../reviewed.md`](../reviewed.md). Индекс среза: [`README.md`](README.md).
## Срез 5. Жизнь школы
- **Фазы:** 1821
- **Проверен на:** `cbe739a`, 2026-08-20
- **Пути:** `src/HSchool.Ai`, `src/HSchool.Simulation/{PresenceSystem,ActivitySystem,LessonLearningSystem,School}.cs`,
`src/HSchool.Protocol` (кадр `Presence`, пропуск в кадре часов),
`src/HSchool.Server/Game/PresenceFrame.cs`, `src/HSchool.Client/src/ui/gameScreen.ts`,
`src/HSchool.Server/mods/core/defs/{actions,behavior,needs}`, `tests/HSchool.Ai.Tests`,
`tests/HSchool.Simulation.Tests/{PresenceTests,DecisionTests,ActivityTests,NeedDecayTests,LunchTests}.cs`,
`tests/HSchool.AppHost.Tests/GameSocketTests.cs`
- **Итог:** все 32 теста из списков фаз на месте; дописаны 2 теста явки; `SetTimetable` сбрасывает
планы дня. Голод закрыт данными. AppHost после правки не гонялся — Aspire держал DLL.
Что подтверждено:
- Ходьба: 13 тестов списка фазы 18 (маршрут, `travelMinutes`, воскресенье/каникулы, звонок,
детерминизм, пропуск пустого времени, лето, промотанная неделя).
- Присутствие: раскладка с обеих сторон, круговой прогон, люди не в снимке карты, пропуск в
учебное время отбрасывается. На паузе кадры **идут** (occupancy + подписи урока); людей в них
может не быть.
- Нужды: декей, обед, стулья, ночь вне школы, неизвестная нужда, детерминизм.
`Hunger` восстанавливается вне школы, в столовой 112 стульев, обед — смена по параллелям.
`SleepAndHunger_ReturnToMaxOffCampus`, `AfterASchoolDay_NobodyIsLeftStarving`.
- Решения: восемь тестов фазы 21, в том числе туалет с урока и возврат, потолок отложенных,
детерминизм за неделю. `HSchool.Ai` без Arch/ASP.NET/`DateTime.Now`.
Дописано:
- `HireAndAssignMath_DuringLessonThree_PutsSomeoneOnCampus`
- `AssigningMath_AfterDayPlansWereBuilt_PutsSomeoneOnCampus`
Исправлено:
- `School.SetTimetable` обнуляет `PlanDay`. Иначе после назначения предмета без смены численности
`EnsurePlans` считает планы актуальными, `AppearAt` остаётся `null`, кампус пуст. Найм это
маскировал (численность растёт).
- `OpeningASchoolDuringAMathLesson_...` после снятия паузы сразу ждал людей и съедал бюджет на
паузные кадры. Теперь ждёт `clock.Running`, потом людей.