3b55c96a85
Задача 8a. Джоб ChargeCampaignSpendJob переключён с модели за клики и наценки 30% делением на модель за показы и наценку 40% вычитанием через готовый CampaignImpressionCharger. YandexDirectClient.getCampaignSpend заменён на getCampaignImpressions за всё время кампании ALL_TIME, счётчик сам считает дельту от уже списанного и идемпотентен по external_key yandex-imp. Всё за рубильником yandex_direct.enabled ВЫКЛ, на боевых деньгах ничего не крутится. Реклама-модуль 190/190 зелёный. Отчёт показов помечен «проверить при go-live» ReportName без даты, ALL_TIME, формат TSV. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>