Record slice 5 recheck after later slices drifted presence paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 15:29:03 +03:00
co-authored by Cursor
parent 0ec02dde8d
commit 882ff9ed8c
2 changed files with 40 additions and 1 deletions
+39
View File
@@ -40,3 +40,42 @@
маскировал (численность растёт).
- `OpeningASchoolDuringAMathLesson_...` после снятия паузы сразу ждал людей и съедал бюджет на
паузные кадры. Теперь ждёт `clock.Running`, потом людей.
## Срез 5. Жизнь школы — перепроверка
- **Фазы:** 1821
- **Проверен на:** `0ec02dd`, 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`
- **Итог:** перепроверка после дрейфа с `cbe739a` (одежда, погода, темп часов, общение, последствия
урока). Все 32 теста из списков фаз на месте и зелёные. Код не менялся. AppHost не гонялся.
Что подтверждено:
- Ходьба и пропуск: `WalkingTests` и `PresenceTests` (маршрут 201, `travelMinutes`, воскресенье
и каникулы, класс без уроков, первый звонок, детерминизм, сейв на перемене, суббота→понедельник,
ночь/вечер, рабочее окно в 7:00, школа без учителей, лето через 1 сентября, промотанная неделя).
`SetTimetable` по-прежнему обнуляет `PlanDay`; тесты найма и назначения посреди урока зелёные.
- Присутствие: раскладка и круговой прогон с обеих сторон (в кадре теперь ещё кружок разговора —
срезы 9, версия протокола 9). Снимок карты без людей. `skipAllowed` в кадре часов. Клиент не
считает пропуск сам. `HSchool.Ai` без Arch/ASP.NET/`DateTime.Now`; ходьба на тике границу не
пересекает. Присутствие ~2 Гц (`TickRate / 2`).
- Нужды: декей голода, обед и стулья, сон и голод вне школы, неизвестная нужда, детерминизм.
В столовой 112 стульев, обед — две смены по параллелям.
- Решения: туалет с урока и возврат, порог, доведение действия, досуг на перемене, навык и голод,
потолок очереди, неделя с одним сидом, таблица весов без мира.
Замечено рядом (не этого среза):
- На перемене перед физкультурой класс идёт в раздевалку, не сразу в зал (фаза 35). Стоимость
пути 101→зал по-прежнему 6 минут из 10.
- Рост навыка дополнительно зависит от учителя в комнате, учебника и тепла (фазы 48–51). Тест
«голодный учится хуже» всё ещё проходит.
AppHost (`OpeningASchoolDuringAMathLesson`, `SkipEmpty_DuringWorkHours`) в этом проходе не
гонялся: чужой сервер не останавливали и свой не поднимали. Симуляционные тесты тех же обещаний
зелёные.
+1 -1
View File
@@ -24,7 +24,7 @@
| Срез 2. Люди | `8108508` | [02-people](02-people/reviewed.md) |
| Срез 3. Штат | `cf1403e` | [03-staffing](03-staffing/reviewed.md) |
| Срез 4. Расписание | `01ef277` | [04-schedule](04-schedule/reviewed.md) |
| Срез 5. Жизнь школы | `cbe739a` | [05-ai](05-ai/reviewed.md) |
| Срез 5. Жизнь школы | `0ec02dd` | [05-ai](05-ai/reviewed.md) |
| Срез 6. Фундамент | `cbe739a` | [06-foundation](06-foundation/reviewed.md) |
| Срез 7. Этап A — данные и гардероб | `d5547b7` | [07-inventory](07-inventory/reviewed.md) |
| Срез 7. Этап B–C — климат, жизнь одежды и правила | `5dcdee6` | [07-inventory](07-inventory/reviewed.md) |