Files
h-school/docs/phases/10-craft/reviewed.md
T
Leonid Pershin a7e2820824 Record slice 10 A review.
Phases 56-57 checked on e2e7d30. Phase 58 was in flight; 59 was out of this pass.
2026-08-20 14:06:12 +03:00

3.6 KiB
Raw Blame History

Проверенные этапы среза 10

Журнал этого среза. Сводка ссылок — ../reviewed.md.

Срез 10. Этап A — страховка

  • Фазы: 5657
  • Проверен на: e2e7d30, 2026-08-20
  • Пути: tests/HSchool.Architecture.Tests, src/HSchool.Client/package.json, src/HSchool.Client/scripts, AGENTS.md, README.md
  • Итог: обещания 56–57 на месте; дописаны проверки графа из projects.md и запрет AppHost/NetArchTest в csproj; README приведён к tsc+vitest. Этап B (58) в работе на момент проверки; 59 в этот проход не входила.
  • В работе на момент проверки: фаза 58 (этап B).

56. Слои одной пачкой

Все шесть пунктов «тестов, без которых фаза не закрыта» есть в LayerBoundaryTests и проходят (dotnet test tests/HSchool.Architecture.Tests --filter FullyQualifiedName~LayerBoundaryTests: 9 зелёных). Копипасты Assembly_DoesNotReference* / Sources_DoNotUseWallClock из People/Ai/Schedule/Simulation.Tests уехали. NetArchTest в solution нет; проект не ссылается на Server/AppHost. README больше не называет школу пустой, MaxSchools — слоты игрока. Testing policy в AGENTS.md указывает на HSchool.Architecture.Tests.

Дописано:

  • Content не ссылается на People, Schedule, Ai (таблица craft.md их не требовала; граф projects.md — да)
  • People/Schedule/Ai не ссылаются на Protocol и Simulation
  • csproj Architecture.Tests не содержит Server, AppHost, NetArchTest

Инвариант 4 (Simulation без ASP.NET/сокетов) и запрет DateTime.Now / UtcNow в шести библиотеках держатся; исходники дополнительно ловят неиспользованный using System.Net.Http.

57. tsc в npm test

package.json"test": "node ./scripts/run-test.mjs" гоняет tsc -b, потом vitest, и не глотает код выхода typecheck на Windows. "hschool-client": "file:" в зависимостях нет. test:watch — только vitest. AGENTS.md это описывает.

npm --prefix src/HSchool.Client test -- scripts/npm-test.test.ts на текущем дереве: tsc молча зелёный, 5 vitest зелёных (включая дубликат ключа в копии strings.ts → TS1117/TS2300 без vite build).

Дописано:

  • скрипт build по-прежнему tsc -b && vite build (сам vite build не гонялся)

README теперь говорит, что npm test = tsc + Vitest. Оговорка в сводке «vitest зелёный при красном tsc» снята: её закрыла эта фаза.

Открытое

  • README.md «What is deliberately missing» всё ещё пишет «No authentication» и что диалог создания не выбирает моды — ложь срезов 8 и 1, не этого этапа.
  • Дубликат ключа проверяется изолированным tsc -p, не tsc -b живого клиента; проводка run-test.mjs покрыта отдельно.
  • Фаза 58 (этап B) в работе — не проверялась. Фаза 59 (этап C) в этот проход не входила.