Skip to content

Верификация качества (операторам и мейнтейнерам)

Краткий журнал автоматических проверок перед возвратом к roadmap. Полный цикл — см. CONTRIBUTING.ru.md, TESTING.ru.md.

2026-04-02 — cleanup, удаление backend-хвостов и финальная полировка

Проверка Результат
python -m pytest tests/test_api.py tests/test_species_registry.py -q (app/web) 96 passed
npm run build (app/ui) OK
Public GET /api/ui/health 200 {"status":"ok"}
Public GET /api/ui/status/debug без авторизации 403 {"error":"Password required"}
Public POST /api/ui/system/species-registry/enrich-metadata 404 Not Found
Public POST /api/ui/system/species-registry/repair-cards 404 Not Found
Диагностика каталога на production duplicate names 0, classifier/catalog drift 0, dataset drift 0

Какие фиксы внесены в репозиторий: - Удалены мёртвые legacy UI-файлы, из-за которых старые опасные Library-контролы могли пережить рефакторинг в дереве проекта. - Публичный debug surface закрыт за доступом к settings, а неиспользуемые sync routes species-registry удалены. - TESTING / CONFIGURATION / ARCHITECTURE приведены к текущему поведению роутов и актуальной модели UI.

2026-03-29 — критический фикс UI

Проверка Результат
Кнопки «предыдущая / следующая запись» на /videos/:id Исправлен ReferenceError (listReturnState не был объявлён); см. CHANGELOG.md [Unreleased]
make test-web (Docker, app/) 100 passed
npm run build (app/ui) OK

Рекомендуется вручную на стенде: открыть ролик с Timeline → шаг prev/next → «Назад» возвращает в список; прямой заход по URL без state — навигация между роликами работает, «Назад» в браузере — по истории.

Вне объёма автопрогона: weekly E2E Playwright, полный make docs при изменении MkDocs.

2026-04-01 — аудит стабилизации и hardening

Проверка Результат
python -m pytest app/web/tests/test_system_stabilization.py app/web/tests/test_security_hardening.py -q 12 passed
python -m pytest app/web/tests/test_species_catalog_reconcile.py -q 4 passed
npm run build (app/ui) OK
Production storage/stats после 2026-03-24 Файлы на диске есть вплоть до 2026-04-01
Production overview / timeline после 2026-03-24 Детекций и визитов после 2026-03-24 нет; архив есть, но ingest не создал video_species / species_visit

Какие фиксы внесены в репозиторий: - Library теперь показывает реальный архив записей и больше не выставляет опасные maintenance-потоки. - Обслуживание БД в System поддерживает честный preview/apply для cleanup orphaned visits и realign visit times. - В production больше нельзя неявно получить доступ к settings/system через «пустой пароль». - Merge видов сохраняет недостающие metadata у итоговой карточки. - Overview учитывает визиты, пересекающие выбранный день, включая переход через полночь.

Как интерпретировать live-хаб: если день подсвечен в Library, но пуст в Overview или Timeline, значит файлы записей на диске есть, а детекции за этот день не были сохранены в БД. После разведения Library и System это видно и диагностируется заметно проще.