Files
h-school/docs/phases/10-craft/reviewed.md
T
2026-08-20 14:07:41 +03:00

49 lines
3.5 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.
# Журнал ревью — срез 10
Сводка: [`../reviewed.md`](../reviewed.md). Индекс среза: [`README.md`](README.md).
## Срез 10. Этапы B–C — работник, карточка и дамп
- **Фазы:** 5859
- **Проверен на:** `f4f726a`, 2026-08-20
- **Пути:** `src/HSchool.Server/Game/SchoolWorker.cs`,
`src/HSchool.Server/Game/SchoolWorker.Mailbox.cs`,
`src/HSchool.Server/Game/SchoolWorker.Tick.cs`,
`src/HSchool.Server/Game/SchoolWorker.Persist.cs`,
`src/HSchool.Server/Game/PersonCardReader.cs`,
`src/HSchool.Server/Game/PersonCardReader.Overview.cs`,
`src/HSchool.Server/Game/PersonCardReader.Inventory.cs`,
`src/HSchool.Server/Game/PersonCardReader.Connections.cs`,
`src/HSchool.Server/Game/SchoolDumpReader.cs`,
`src/HSchool.Server/Api/DevEndpoints.cs`,
`src/HSchool.Client/src/ui/personCard.ts`,
`src/HSchool.Client/src/ui/personCardHost.ts`,
`src/HSchool.Client/src/ui/personCardOverview.ts`,
`src/HSchool.Client/src/ui/personCardApparel.ts`,
`src/HSchool.Client/src/ui/personCardCarry.ts`,
`src/HSchool.Client/src/ui/personCardNow.ts`,
`src/HSchool.Client/src/ui/personCardConnections.ts`,
`src/HSchool.Client/src/ui/personCardPortrait.ts`,
`src/HSchool.Client/src/ui/personCardDom.ts`,
`tests/HSchool.Server.Tests/SchoolWorkerShapeTests.cs`,
`tests/HSchool.AppHost.Tests/ServiceabilityTests.cs`
- **Итог:** обещания 58–59 на месте; тесты из списков фаз есть; код не чинился. Этап A (56–57) в этот проход не входил. 46 и 60 — **в работе на момент проверки**, как готовые не закрывались.
### Что проверено
**58.** `SchoolWorker` — один `internal sealed partial` (почта / тик / запись), тот же `LongRunning`-поток и тот же mailbox; `lock` вокруг `School`/`World` нет. `PersonCardReader.Read(School, personId, locale)` — единственный публичный вход; вкладки в `partial`. Клиент: вкладки в модулях, `personCardHost.ts` по-прежнему `fetchPerson` / `fetchPersonLog`. `GameLoopService` не резался. Протокол и сейв не тронуты. Карточка: `PeopleApiTests.Card_IncludesFamilyAndLiveNeeds`, `InventoryApiTests.Card_IncludesWornAndCarried_ListDoesNot`, `Card_ConnectionsCarryOnlyThisPersonsOpinions`. UI: `personCard.test.ts` (вкладки, портрет, связи). Пауза: `PausingOneSchool_DoesNotStopAnother`. Форма воркера: `SchoolWorkerShapeTests` (прогнан, 1/1).
**59.** `Dump_ReturnsPeopleNodesAndTimetable` нанимает математику, требует идущие часы, ждёт непустой `NodeId`, отдельно нужды и `Lessons` Mathematics. На паузе wait сразу красный, не висит. Неизвестный id — 404 `unknown-school`. JSON дампа и `SchoolDumpReader` не расширялись; ручка по-прежнему за `HSchool:AllowSaveReload`; HTTP кладёт `DumpSchool` в mailbox, `World` читает только работник.
### Что дописано
- (нет — списки фаз закрыты существующими тестами)
### Что исправлено
- (нет)
### Открытое
- Нет. Этап A (56–57) проверяет соседний проход. 46 и 60 чужие 🔄.