5.3 KiB
5.3 KiB
Session Goal
выполни план на ночь (полный план ниже — автономное исполнение, пользователь спит)
Ночная сессия — полный план (пользователь спит, 2026-08-03)
1. Баги (реальные, найденные в проде)
- Пустое имя воркера: регистрация принимает
name=""(в БД пользователя было 15 таких). Фикс: валидация вdomain.NewWorker(TrimSpace != "") + регрессионный тест. Частично начат — вworker_test.goсломан тест (fixedTimevstestNow), доделать. worker-agent --checkне видит venv: проверяет только системный python3; после Install воркер работает через~/.scimesh-worker/venv. Выровнять с визардом (пробовать venv, если он есть).
2. Визуальный долг — рестайлинг старых страниц в дизайн-систему админки (#0b0e13, карточки, pill-статусы, кнопки)
new-job.html(форма запуска вычислений, UIElement-поля сохранить)job.html(детали джоба: шарды, артефакты, прогресс, JS-логику сохранить)workloads.htmladd-worker.htmlprofile.html- Браузерная проверка каждой страницы (playwright).
3. Технический долг (паритет движков, обещанный планом)
- Postgres integration-тесты для admin-методов:
SetTrust,WorkloadSettings(Get/List/Set),ListJobsPaginated, метрики (JobCountsByDay,TaskStats,ArtifactSizeByKind,DatabaseSizeBytes) — сейчас покрыт только sqlite. (build tag integration, docker postgres как в CI.)
4. Фичи из плана (v2-задел)
- Статистика воркера в визарде: статусная страница — claimed/completed/failed/heartbeat, парсинг из
worker.log(обещано в docs/ui-admin-worker-plan.md §4). - Admin: prune артефактов (danger zone): удаление артефактов completed-джобов старше N дней (строки + blob-файлы), освобождает место; кнопка в Settings с подтверждением.
- Admin: удаление offline-воркеров (устаревшие, как 15 мусорных) — кнопкой в Workers вместо SQL.
5. Гигиена
pyproject.tomlверсия 0.1.0 → setuptools_scm (версия из git-тегов), убрать sed-костыль из release.yml; локальныйpip install -e .покажет правильную версию.- Синхронизация STATUS.md / README с фактическим состоянием (админка, визард, wheel, авто-открытие, restyle).
6. Верификация и релиз
- Полный гейт:
go test -race ./..., golangci-lint--build-tags=integration, pytest. - Браузерные проверки: админка (все секции), визард (install+start), рестайленные страницы.
- E2E quorum-флоу (untrusted воркер через worker key → джоб требует quorum) в Docker, если останется время.
- Релиз
v1.1.0-alpha.16(бинарники + wheel), проверка ассетов. - Обновить этот файл: прогресс по пунктам, COMPLETED в конце.
Plan (предыдущая задача — выполнена)
1–7. Docker E2E пайплайна «install как человек → serve → визард → воркер → джоб» — выполнено, см. Progress ниже.
Progress (ночная сессия)
- (начало) Пустое имя воркера: валидация добавлена в
domain.NewWorker, добавленTestNewWorkerRejectsBlankName; вworker_test.goсломан тест из-заfixedTimevstestNow— на паузе, продолжить.
Progress (прошлая работа — выполнено)
- ✅ Релизы alpha.12–15: фикс версии визарда, venv task_runner, preflight через venv, MkdirAll при скачивании wheel, кнопка Install в шаблоне.
- ✅ Docker E2E: координатор+воркер контейнеры, установка install.sh, визард (config→install→start), воркер online, джоб completed, результат байт-в-байт = локальному эталону.
- ✅ На машине пользователя: визард alpha.15, правильный токен, venv из wheel, воркер emil-pc online, 15 пустых воркеров вычищены из БД.
- ✅ Гейт: race + lint + pytest 208.
Completion (предыдущая задача)
COMPLETED — пайплайн доведён до рабочего состояния и проверен на релизных артефактах v1.1.0-alpha.14.