6.4 KiB
6.4 KiB
Журнал ревью
Сводка: ../reviewed.md. Индекс среза: README.md.
Срез 6. Фундамент
- Фазы: 22–28
- Проверен на:
cbe739a, 2026-08-20 - Пути:
src/HSchool.Content(PackManifest,PackLoadOrder,BehaviorDef),src/HSchool.Server/mods/{core/pack.jsonc,example},src/HSchool.Server/Game/SchoolStore.cs,src/HSchool.Server/Api/DevEndpoints.cs,src/HSchool.Server/Game/SchoolDumpReader.cs,src/HSchool.People/RosterJson.cs,src/HSchool.Client/src/ui/*.test.ts,tests/HSchool.Content.Tests/{PackIdentityTests,ExamplePackTests,BehaviorDefTests}.cs,tests/HSchool.People.Tests/GoldenRosterTests.cs,tests/HSchool.AppHost.Tests/{ExamplePackTests,GoldenSaveTests,SchoolSeedTests,ServiceabilityTests}.cs - Итог: все тесты из списков семи фаз на месте; дописан один клиентский;
foundation.mdприведён к закрытому срезу. Хостовые тесты сверены по коду, не прогоном.
Что подтверждено:
- Пак: манифест,
missing-mod, порядок — выбор игрока плюс топология (не алфавит), цикл —mod-cycle, def без подписи предупреждает и грузится. mods/exampleна диске; каталог/create/reload; патч только с паком; ваниль без выбора не меняется.- Веса в
BehaviorDef; пак с обедом выше урока уводит класс; отрицательный вес роняет загрузку. - Золотой ростер и сейв;
PrimarySchoolтребует трёх;teachersShortв API и вt(...). - Сид — поле школы. Format новее — школа не стартует, файл нетронут. Дамп через снимок + мейлбокс,
не в
Worldс HTTP.HSchool.Simulation.Testsбез параллельности. - Клиентские экраны в
happy-dom: фильтры/пейджер, create, сетка, предел фонда текстом.
Дописано:
managementPanel.test.ts— непокрытый предмет показываетteachersShort.
Исправлено:
AGENTS.mdутверждал, что на паузе кадры присутствия не приходят. Работник их шлёт (occupancy + подписи). Тест, который ждёт людей на паузе, зависнет; тест на подпись урока — нет.../../design/06-foundation/foundation.md: порядок загрузки — не алфавит; «почему сейчас» про веса вDecision.csустарел.
Замечено рядом:
Dump_ReturnsPeopleNodesAndTimetableпринимаетNodeId is not null || Needs.Count > 0. Нужды есть у всех, так что узлы на кампусе не проверяются. Усиливать до явки — срез 5.
Перепроверка среза 6. Фундамент
- Фазы: 22–28
- Проверен на:
1c63357, 2026-08-20 - Пути:
src/HSchool.Content(PackManifest,PackLoadOrder,BehaviorDef,CatalogLoader),src/HSchool.Server/mods/{core/pack.jsonc,example},src/HSchool.Server/Game/SchoolStore.cs,src/HSchool.Server/Api/DevEndpoints.cs,src/HSchool.Server/Game/SchoolDumpReader.cs,src/HSchool.People/RosterJson.cs,src/HSchool.Client/src/ui/{gameScreen,peoplePanel,createSchoolDialog,timetableGrid,managementPanel}.test.ts,tests/HSchool.Content.Tests/{PackIdentityTests,ExamplePackTests,BehaviorDefTests,CatalogLoaderTests}.cs,tests/HSchool.People.Tests/GoldenRosterTests.cs,tests/HSchool.AppHost.Tests/{ExamplePackTests,GoldenSaveTests,SchoolSeedTests,ServiceabilityTests}.cs,docs/design/06-foundation/foundation.md - Итог: перепроверка после дрейфа с
cbe739a. Обещания фаз 22–24, 26–28 держатся. ХостовыеGoldenSaveTests(фаза 25/26), снятые в фазе 39, возвращены под текущийCanStart. Дамп с фазы 59 ждёт человека на узле — прошлое открытое замечание закрыто кодом среза 10, не этим проходом.
Что подтверждено:
- Пак, пример, веса, золотой ростер,
teachersShort, свой сид, формат новее, дамп через мейлбокс, экраны вhappy-dom— те же классы, что в первом проходе.UnlabelledDef_WarnsButLoadsна месте. Dump_ReturnsPeopleNodesAndTimetableбольше не принимает «нужды непусты» вместо явки.- Формат 2 без страны школу не стартует; сид из
people.json(в т.ч. равный id) поднимается.
Дописано:
GoldenSaveTests.HistoricFormat2Golden_LeavesTheSchoolUnstartedAndTheFileUntouchedGoldenSaveTests.SaveWithoutNativeLanguage_LoadsWithoutReshuffling— штамп format 3 +countryId+ владелец на копиюlegacy-no-native/gameScreen.test.ts— заголовок показывает сид черезt('schoolSeed')
Исправлено:
foundation.md: «Format никогда не сравнивается» неверно послеCanStart; золотые папки — исторический формат 2.tests/HSchool.AppHost.Tests/golden/README.md— то же про формат 2 и абстрактныйUnderwearвcurrent/1.people.json
Открыто:
current/1.people.jsonносит абстрактныйUnderwear(потом разложили на Briefs/Boxers/Panties). Даже со штампом сегодняшнего формата школа не стартует (RequireKnownApparel). Переписывать отпечаток одежды в этом срезе не стали — это гардероб.
Замечено рядом:
- Фаза 39 сняла золотую загрузку в пользу несовместимых сейвов; этот проход вернул узкие тесты, не миграцию формата 2.