Files
h-school/docs/phases/off-queue/reviewed.md
T
2026-08-20 17:10:50 +03:00

6.1 KiB
Raw Blame History

Проверенные фазы «Вне очереди»

Разделы ниже — отдельные проходы. Чужой раздел не затирать. 48, 50–53 и 62 этот журнал не закрывает.

Портреты. Модели, слои промпта, LoRA и embeddings

  • Фазы: 6061
  • Проверен на: 5e23d1f, 2026-08-20
  • Пути: src/HSchool.Server/Game/SwarmUiSettingsStore.cs, src/HSchool.Server/Game/SwarmUiLoraFormatter.cs, src/HSchool.Server/Game/SwarmUiClient.cs, src/HSchool.Server/Game/SwarmUiDiscovery.cs, src/HSchool.Server/Game/PortraitPromptBuilder.cs, src/HSchool.Server/Game/PortraitService.cs, src/HSchool.Server/Api/SettingsEndpoints.cs, src/HSchool.Server/swarmui.json, src/HSchool.Client/src/ui/swarmUiSettingsDialog.ts, src/HSchool.Client/src/net/api.ts, tests/HSchool.Server.Tests, tests/HSchool.AppHost.Tests/PortraitApiTests.cs, docs/protocol.md, docs/design/off-queue/portrait-models.md, docs/design/off-queue/portrait-loras-embeds.md
  • Итог: обещания фаз 60–61 совпадают с кодом и тестами; сокет не бампили (ProtocolConstants.Version / PROTOCOL_VERSION = 9). Дописаны проверки cfg без оверрайда, склейки negative и смены модели в диалоге. Хостовые PortraitApiTests в этом проходе не гонялись (общий AppHost / живой сервер). Расхождений с дизайном нет.

Фаза 60

Лифт positivestyle и kind positiveshotType, пикер Swarm ∩ каталог, слои промпта (модель → стиль → кадр → promptExtra → пустая поза → внешность → одежда), HTTP GET/PUT /api/settings/swarmui с models и копией в сейв при create — на месте. Resolve без оверрайда берёт steps/cfg с модели; с оверрайдом — с пресета.

Фаза 61

Discovery читает models.Embedding (офлайн — пустой список). LoRA и embeddings склеиваются модель → пресет → кадр. Промпт содержит <embed:…> и не содержит <lora:. Generate шлёт loras и loraweights раздельно. В диалоге поля embeddings есть у модели и у вида кадра.

Открытое

Ничего, что требовало бы решения. swarmui.json на диске не пишет ключи embeddings — после NormalizeAfterLoad списки пустые, как в Catalog().

DX. Пропуск сборки, «Что нового», состояние экрана

  • Фазы: 49, 54, 55
  • Проверен на: d8d0423, 2026-08-20
  • Пути: tools/apphost-uptodate.ps1, run-aspire.cmd, run-aspire.ps1, run-aspire.sh, tests/HSchool.AppHost.Tests/LaunchBuildStamp.cs, tests/HSchool.AppHost.Tests/LaunchBuildStampTests.cs, src/HSchool.Server/Changelog/BuildChangelog.cs, src/HSchool.Server/Api/ChangelogEndpoints.cs, src/HSchool.Server/HSchool.Server.csproj, tools/embed-changelog.ps1, tools/embed-changelog.sh, tests/HSchool.Server.Tests/BuildChangelogTests.cs, tests/HSchool.AppHost.Tests/ChangelogApiTests.cs, src/HSchool.Client/src/ui/whatsNew.ts, src/HSchool.Client/src/ui/whatsNew.test.ts, src/HSchool.Client/src/ui/seenRevision.ts, src/HSchool.Client/src/ui/viewState.ts, src/HSchool.Client/src/ui/viewState.test.ts, src/HSchool.Client/src/ui/gameScreen.ts, src/HSchool.Client/src/main.ts, docs/protocol.md, docs/design/off-queue/skip-stale-build.md, docs/design/off-queue/whats-new.md, docs/design/off-queue/view-state.md
  • Итог: обещания 49/54/55 совпадают с кодом. Сокет не бампили (v9). Дописаны порядок нескольких коммитов в changelog и восстановление вкладки с меню из sessionStorage. run-aspire передаёт -c в dotnet run, не только в штамп. Дизайн 49 догнан до run-aspire.sh. BuildChangelogTests зелёные (4). Хостовые ChangelogApiTests и LaunchBuildStampTests в этом проходе не гонялись (штамп не менялся; HTTP не менялся; живой сервер пользователя не трогали).

Фаза 49

apphost-uptodate.ps1 / LaunchBuildStamp / needs_build в .sh смотрят AppHost+Server dll против *.cs/*.csproj/*.props под src/ и трёх named props; TS/JSONC и bin/obj/node_modules не входы. Семь тестов штампа на временных папках есть, без AppHostFixture. --rebuild собирает и затем стартует AppHost.

Фаза 54

SHA и first-parent лог вшиваются при сборке Server, не из рантайма. GET /api/changelog за сессией: пусто без since / неизвестный / текущий SHA; Mark phase N в списке нет, якорем остаётся. Кука hschool.seen-rev (год, Path=/, SameSite=Lax, не HttpOnly). Модалка после ensureSession на старте и после logout, не при выходе из школы на меню.

Фаза 55

Query держит школу/режим/вкладки/выбор; sessionStorage ключ h-school.view.{id} — фильтры людей, соискателей, карточку и управление. Вход/выход — pushState, вкладки и фильтры — replaceState. Гость с mode=manage остаётся в обзоре. F5 с ?school= шлёт тот же OpenSchool.

Открытое

Ничего, что фаза 54 обещала и не сделала. Баги сессии из журнала среза 8 (другое имя при живой куке, Data Protection) сюда не входят — не трогали.