07a17b2767
Т-Б3 приёмки телеграма и падающая задача incidents:watch-failures. 1. Реклама, вставшая из-за нехватки денег, была в тупике: ручка возобновления принимала только `paused`, ручка запуска — только `draft`, а на экране у такой кампании не было ни одной кнопки. Клиент пополнял кошелёк и не мог вернуть рекламу ничем. Найдено чтением кода, БЕЗ траты живых денег и без остановки рекламы Яндекса — ровно то, ради чего карточка откладывалась. 2. incidents:watch-failures падал на бою каждые 10 минут с 05.08 09:30. Причина: не отправилось письмо тревоги, упавшее письмо легло в failed_jobs, а в его слепке — нулевой байт от закрытых полей объекта PHP. Postgres такую строку хранит, но текст из неё не достаёт и роняет весь запрос. Одна строка глушила всю охрану очередей и вебхуков поставщика, а в журнале был только «код 1». Сторожа обеих починок видены красными до правки. NB: настоящий нулевой байт из своих же комментариев убран — с ним git считал оба файла двоичными и переставал показывать различия. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>