42e907c882
Ветка разошлась с боевым 28.06 (334 коммита в main / 215 у нас). Влито ВСЁ боевое: автоподбор конкурентов, мобильный адаптив портала, свой учёт посетителей, мониторинг внешних сервисов, фиксы поставщика/биллинга/бота/разборов. ПОБАЙТОВАЯ СВЕРКА: из 1008 файлов, изменённых боевым, 989 совпадают точно; 19 отличаются — все с нашей законной работой (обе стороны внутри). Затёртых — 0. 24 конфликта разобраны вручную. Ключевое: - VerifySupplierOrderJob — взята БОЕВАЯ версия (фикс инцидента 11-12.07: площадка берётся из src, а не из имени; наша была старой и вернула бы баг, терявший заявки). - SyncSupplierProjectsJobTest — 15 боевых тестов + наш уникальный (limit-1 → только B1). - routes/web, router/index, config/services, bootstrap/app — обе стороны сложены. - NewProjectDialog — зелёные дни недели (наше) + мобильная раскладка (боевое). - CHANGELOG схемы — номера версий столкнулись, наши перенумерованы в v8.67-v8.70. - composer — обе зависимости (laravel-dompdf наш + geoip2 боевой). Гейты: бэкенд 2907/2911 (0 падений), Larastan 0, фронт 1333/1333, сборка OK. Baseline статанализа принял пре-существующий долг боевого кода (автоподбор/чат). @mixin в 26 моделях — требование статанализа, dev-докблок, на рантайм не влияет. Откат: git reset --hard pre-merge-main-20260714 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>