Journal slice 7 stage B-C review (phases 32-36).

This commit is contained in:
Leonid Pershin
2026-08-20 06:32:07 +03:00
parent e461a9f3e4
commit c4d6ed6f72
+47 -1
View File
@@ -256,4 +256,50 @@
- `Dump_ReturnsPeopleNodesAndTimetable` принимает `NodeId is not null || Needs.Count > 0`.
Нужды есть у всех, так что узлы на кампусе не проверяются. Усиливать до явки — срез 5.
- Срез 7 (одежда) в работе: не писать в журнал как закрытый.
- Срез 7, фаза 37 — в работе на момент проверки B–C; этап A проверяет соседний ревьюер.
## Срез 7. Этап B–C — климат и жизнь одежды (без 37)
- **Фазы:** 3236
- **Проверен на:** `e461a9f`, 2026-08-20
- **Пути:** `src/HSchool.Simulation/{WeatherSampler,WarmthDecay,PlaceClimate,ApparelDresser,ApparelWear,MorningDress,PersonLogBrowser}.cs`,
`src/HSchool.People/LockerAssigner.cs`, `src/HSchool.Content/{Appropriateness,ClimatePreset,DressRules}.cs`,
`src/HSchool.Ai/ApparelGoals.cs`, `src/HSchool.Protocol`, `src/HSchool.Server/Api/{SchoolEndpoints,PeopleModels}.cs`,
`src/HSchool.Server/Game/PersonCardReader.cs`, `src/HSchool.Client/src/{ui/personCard.ts,format/weather.ts,net/api.ts}`,
`docs/protocol.md`, `tests/HSchool.Simulation.Tests`, `tests/HSchool.People.Tests/LockerAssignerTests.cs`,
`tests/HSchool.Content.Tests/{ClimatePresetTests,AppropriatenessTests,ChangingRoomMapTests}.cs`,
`tests/HSchool.AppHost.Tests/{PersonLogApiTests,DressRulesApiTests}.cs`, `tests/HSchool.Protocol.Tests`,
`src/HSchool.Client/src/ui/personCard.test.ts`
- **Итог:** фазы 32–36 подтверждены; дописано 5 тестов; исправлены 2 бага переодевания; фаза 37 в работе
Что подтверждено:
- Погода детерминирована от пресета, сида и времени; skip выставляет утро; кадр часов v8 (27 байт) в
`ProtocolCodec`, `protocol.ts`, `docs/protocol.md`; клиент рисует температуру с wire, не из месяца.
- `Warmth` декейит на морозе, дома восстанавливается; черты `HeatLoving`/`ColdLoving` несовместимы.
- Техник держит комфорт; двор = улица, кабинет теплее двора без техника; две раздевалки на ванили;
шкафчики по полу/старшинству, пересчёт на 1 сентября.
- Износ только на кампусе, skip/утро заменяют ветхое; утренняя выдача пишет `apparel-replaced`.
- Уместность: утро, PE, погода, правила «с завтра» через API; карточка — вкладки и HTTP-лог с 6:00.
- `HSchool.Simulation` без ASP.NET; `dotnet test` и Vitest (`personCard`, `weather`, `protocol`) зелёные.
Дописано:
- `AppropriatenessSimulationTests.MorningDress_StagesPeKitForTodaysLesson`
- `AppropriatenessSimulationTests.PeBreak_CompletesChangeBeforeLesson`
- `AppropriatenessSimulationTests.PeLesson_WearsPeThenReturnsToEveryday`
- `AppropriatenessSimulationTests.AfterPeBreak_ModeExpectsEveryday`
- `PresenceTests.PhysicalEducationBeforeLesson_GoesToChangingRoomOnTheBreak` (переименован с ожидания зала на перемене)
Исправлено:
- `PresenceSystem`: ходьба по duty больше не обрывает активный `ChangeClothes` — форма успевает надеться до
звонка.
- `ApparelPresence.ModeAt`: после перемены following PE режим «everyday», иначе `PeForbidden` не
поднимался и форму не снимали.
Замечено рядом:
- Фаза 37 (вкладка «Правила», UI смены дресс-кода) — в работе, не проверялась.
- `PhysicalEducationBeforeLesson_…` в `PresenceTests` не гоняет полный цикл «зал с формой» — это в
`AppropriatenessSimulationTests.PeLesson_…`.