From fe5ee09cf38c67755d77abb5268959b076bc516c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sat, 1 Aug 2026 23:31:12 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=80=D0=B0=D0=B7=D0=B1=D0=BE=D1=80=20?= =?UTF-8?q?=D1=82=D1=80=D1=91=D1=85=20=D1=81=D0=B1=D0=BE=D0=B9=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=B7=D0=B0=D0=BB=D0=B8=D0=B2=D0=BE=D0=BA=20=D0=BA?= =?UTF-8?q?=D0=B0=D1=80=D1=82=D0=B8=D0=BD=D0=BE=D0=BA=20=E2=80=94=20=D0=B2?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=20=D0=BD=D0=B5=D1=82,=20=D1=85=D0=B2?= =?UTF-8?q?=D0=BE=D1=81=D1=82=20=E2=84=964=20=D0=B7=D0=B0=D0=BA=D1=80?= =?UTF-8?q?=D1=8B=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Замер живой, боевая база и кабинет Яндекса, только чтение. Что нашлось: - три задания upload 29.07 (16:16/16:40/16:49), каждое спотыкалось на РАЗНОЙ картинке: 160x600, 300x600, 336x280; - обе причины уже вылечены: спешка робота при «Создать» и пересъёмка слепка «до» при повторе; - улика роста мусора — snapshot_before пух 466 -> 829 -> 1192 знака; - вреда нет: все 15 из 15 баннеров имеют креатив и объявление; - мусор в кабинете посчитан: 73 картинки, 32 заняты, 41 свободна. Владелец решил не чистить — работа по Яндексу закрыта. Три новые ловушки в промт: - удалить креатив программно НЕЛЬЗЯ: Creatives умеет только add/get; - SelectionCriteria — пустой объект, не массив (отказ 8000); - в кабинете 4 кампании и 33 объявления, «лишнее» считать по всем, иначе выходит 58 вместо настоящих 41. Co-Authored-By: Claude Opus 5 (1M context) --- .../2026-08-02-PROMT-ostalos-vladelcu.md | 47 +++++++++++++++++-- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/2026-08-02-PROMT-ostalos-vladelcu.md b/docs/superpowers/2026-08-02-PROMT-ostalos-vladelcu.md index 28c9663e..afe6d81d 100644 --- a/docs/superpowers/2026-08-02-PROMT-ostalos-vladelcu.md +++ b/docs/superpowers/2026-08-02-PROMT-ostalos-vladelcu.md @@ -98,11 +98,37 @@ «Rejected at moderation.» от 30.07 никуда не делись — новые сообщения просто легли поверх. Вреда нет, кроме вида. Убрать — правка боевой базы, только с «да» владельца. -### 🟡 №4. Три сбойных задания на заливку картинок +### ⬛ №4. Три сбойных задания на заливку картинок — **разобран 01.08.2026, вреда нет** -В боевой базе висят `upload` со статусом `failed` от 29.07 («после загрузки не появился -креатив размера …»). К разведке отношения не имеют, показам не мешают. Разбирать — -отдельная работа, не срочная. +Задания `id 1, 2, 3`, все `kind=upload`, кампания 6, подряд 29.07 в 16:16 / 16:40 / 16:49. +Каждое споткнулось на **разной** картинке: 160×600, потом 300×600, потом 336×280. + +**Две причины, обе уже вылечены в коде и на бою:** + +1. Робот жал «Создать» раньше, чем Яндекс принял все пятнадцать файлов — кто не успел, + терялся, и каждый раз это был другой (`bots/yandex-creatives/src/cabinet.js` §486-492). +2. При повторе портал переснимал слепок «до» заново, а там уже были видны картинки + прошлого захода → опознание падало по кругу и плодило дубли. Лечение — + `CreativeJobService::bannersToUpload()` берёт **только баннеры без номера креатива**. + +🔑 **Улика роста мусора прямо в базе:** `snapshot_before` у трёх заданий рос +466 → 829 → 1192 знака. Слепок пухнет ⇒ в кабинете прибавляются лишние картинки. +Датчик на будущее: сравнивать длину слепков соседних попыток одного задания. + +**Вреда нет, замер живой:** у кампании 6 все **15 из 15** баннеров имеют и номер креатива, +и номер объявления, «без креатива = 0». Сами три строки `failed` — просто журнал, +робот их не берёт. **Оставлены намеренно как история** (решение владельца 01.08.2026). + +**Мусор в кабинете — считан и оставлен.** Всего картинок **73**, из них **32 заняты** +живыми объявлениями, **41 ни к чему не привязана**. Владелец решил не чистить: работа +по Яндексу закрыта, новые дубли не плодятся. + +🔴 **Удалить картинку программно НЕЛЬЗЯ в принципе.** Наши картинки — «креативы» +(`v5/creatives`, тип `HTML5_CREATIVE`), а сервис `Creatives` у Яндекса умеет только +`add` и `get`. Метода удаления нет ни у нас, ни в API. Чистка возможна **только руками +в кабинете** через браузер, а для этого нужен профиль с живым входом (локальный занят +открытым Edge, второй — у робота на виртуалке, и его занятие роняет разведку). +Следующей смене: не искать «программный способ», его не существует. ### 🟡 №5. Телеграм в main, но на бой не выкачен @@ -142,6 +168,16 @@ 🪤 **Логин кабинета** — не тот, под которым ходит программный доступ. Конкретные учётки в файлы не пишем; смотреть `2026-08-01-PROMT-zakryt-hvosty.md` §хвост №1. +🪤 **`SelectionCriteria` — пустой ОБЪЕКТ, а не пустой массив.** В PHP `[]` уезжает в JSON +как `[]`, и живой Яндекс отвечает отказом 8000 «SelectionCriteria не может содержать +массив». Писать `new \stdClass` / `(object) []`. Наступал на это 01.08 при разборе +картинок, хотя в боевом клиенте про это уже написан комментарий. + +🪤 **Кабинет НЕ равен нашей кампании.** Там живут **4 кампании и 33 объявления**, из них +наша учебная — одна. Прежде чем объявлять картинку «лишней», спросить `v5/ads` по **всем** +кампаниям: 32 картинки из 73 заняты чужими объявлениями. Считать «лишние» по одному +размеру внутри своей кампании — ошибка, так у меня вышло 58 вместо настоящих 41. + ### Про чтение боевой базы (только чтение) Кладём php-файл в `/tmp` heredoc'ом с кавычками `<<'PHPEOF'`, зовём @@ -219,7 +255,8 @@ Реклама Яндекса **закрыта**: робот обучен, кампания была учебной, документов не будет и они не нужны (см. №1). Возвращаться к ней не надо. -Дальше — либо «да» владельца на одну из мелочей №3/№4, либо телеграм по порядку Г1 → Г2. +Хвост №4 разобран и закрыт 01.08: вреда нет, мусор в кабинете оставлен намеренно. +Дальше — либо «да» владельца на мелочь №3, либо телеграм по порядку Г1 → Г2. Телеграм — единственное направление, где осталась настоящая работа. Если владелец молчит — не выдумывать себе работу на боевом и не «дожимать» уже закрытое.