dc4d835b73
Клиент после создания рекламы был слеп: ни отчёта, ни причины отказа проверки, ни способа что-то изменить. Закрыто. Что теперь видит клиент - слова «МТС» на клиентских экранах больше нет — он покупает рекламу в Телеграме - на карточке: увидят рекламу, зарезервировано, списано, показов, кликов, подписались - кнопки «Отчёт», «Отменить», «Повторить эту рекламу» - отчёт даёт ПОЛНЫЙ текст причин отказа проверки, дословно - пересдача принимает новый заголовок и новую картинку - вердикт проверки уходит клиенту письмом, а не только в колокольчик Показы читает робот - новый режим read-stats: список кабинета, срок «За всё время», строка кампании - разбор строки С КОНЦА: начало ряда плавает, хвост из 12 колонок постоянен - прочерк площадки значит «не знаем», а не ноль, и различие доезжает до экрана - пять колонок stats_* в client_tg_campaigns, запись v9.73 в журнале схемы - опросчик PollTelegramStatsJob раз в час Закрыто по дороге, сверх заказа - утечка: закупочная цена mts_cost_rub уезжала клиенту в браузер, из пары с actual_cost_rub наценка считалась вычитанием - расход площадки stats_spend_rub скрыт по той же причине - кабинет пишет «Запущена», робот такого слова не знал: кампания висела на проверке навсегда, хотя реклама уже шла и деньги площадки тратились - в runner.js висел неразрешённый конфликт слияния — робот не запускался вовсе - сторож сессии ходил БЕЗ окна, а работа робота ходит С окном: сторож ловил отказ там, где работа проходила, и слал письмо каждый час о беде, которой не было - текст отказа больше не советует менять адрес выхода — совет был ошибочный и увёл целую смену на поиск блокировки, которой не существовало Замеры - Pest tests/Feature/ClientTg 396 зелёных, смежные области 97 зелёных - тесты робота 182 зелёных, Larastan 0 ошибок - Vitest tests/Frontend 2231 зелёный; 5 падений кошелька — чужие, были до этого - сторожа проверены КРАСНЫМ: подсунутые ошибки красят их, возврат кода зеленит - живая проверка чтения цифр на настоящей кампании кабинета П-8 «Остановить» не входит: владелец запретил нажимать «Завершить» в кабинете, а без этого неизвестно, что она делает с деньгами. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>