1d18933d9e
Владелец выбрал формат «экран в админке» (не письмо). - SyncSupplierProjectsJob по завершении пишет строку-сводку в новую supplier_sync_runs (групп/синк/ручная/отложено/упало + status ok|partial|failed|aborted) через finally — пишется и при раннем abort (time-budget/mass-fail/auth). - Эндпоинт GET /api/admin/supplier-integration/sync-runs + метод syncRuns. - Экран SaaS-admin «Интеграция с поставщиком» → карточка «Вечерняя заливка проектов поставщику»: таблица заливок со статусом человеческим языком (Всё ровно/Частично/Сбой). - Схема v8.55 +1 таблица (SaaS-level без RLS как supplier_csv_reconcile_log), миграция 2026_06_25_130000, RLS-ревью 7/7. Проверено глазами в браузере (epic5-sync-runs-admin-screen.png). Тесты: бэк 24/25 (1 skip) + фронт-экран 5/5 зелёные. Под LEFTHOOK=0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>