docs: лента клиента вычищена — 17 английских сообщений, а не 4
Accessibility (Pa11y live) / a11y (push) Has been cancelled

По явному «да» владельца, боевая база, ровно по списку id
с дословной сверкой текста перед удалением.

- их оказалось 17 (id 1-15, 18, 19), прежняя цифра «4» была ошибкой;
- замер после: осталось 15 сообщений, английских 0,
  баннеров без единого сообщения 0 — русская причина есть у каждого;
- копия удалённых строк на бою:
  storage/app/udalennye-soobshcheniya-2026-08-01.json

Новая красная ловушка в промт: страховку перед необратимым ПРОВЕРЯТЬ.
file_put_contents вернул false предупреждением, а не исключением —
скрипт поехал дальше и удалил без копии. Спас отдельный снимок до удаления.

Уточнение по телеграму: на боевом нет ни одной таблицы телеграма
и робота МТС нет — Г1 упирается в выкат, а не в кампанию владельца.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-08-01 23:47:02 +03:00
parent fe5ee09cf3
commit fbd2ff86d4
@@ -93,10 +93,20 @@
🔴 **Не сводить эту ветку в main, пока телефоны не вычищены** — иначе ПДн уедут в общую
историю, и вычистить их будет уже переписыванием истории.
### 🟡 №3. Четыре старых английских сообщения в ленте клиента
### №3. Английские сообщения в ленте клиента — **вычищены 01.08.2026**
«Rejected at moderation.» от 30.07 никуда не делись — новые сообщения просто легли поверх.
Вреда нет, кроме вида. Убрать — правка боевой базы, только с «да» владельца.
🔴 **Их было 17, а не 4.** Прежняя цифра в промте — ошибка, взятая на веру и не проверенная:
`id 115` («Accepted at moderation.», среди них два «Rejected») от 30.07 15:00 плюс
`id 18, 19` (повтор «Rejected») от 17:00. Датчик, которым считать: тело сообщения целиком
из ASCII — `where body ~ '^[[:ascii:]]+$'`.
Удалены по явному «да» владельца, ровно по списку id, с проверкой перед стиранием:
под удаление отбирается ровно 17 строк и каждая обязана дословно совпасть с
«Accepted at moderation.» / «Rejected at moderation.», иначе скрипт отменяется.
**Замер после:** в ленте осталось **15** сообщений, английских **0**, баннеров без единого
сообщения **0** — русская причина есть у каждого из 15. Копия удалённых строк лежит на бою:
`/var/www/liderra/app/storage/app/udalennye-soobshcheniya-2026-08-01.json`.
### ⬛ №4. Три сбойных задания на заливку картинок — **разобран 01.08.2026, вреда нет**
@@ -200,6 +210,15 @@
🪤 **Файл, созданный от `www-data`, обычным пользователем не удаляется** — убирать
`sudo rm -f`, иначе останется мусор в `/tmp`.
🔴🪤 **Страховку перед необратимым — ПРОВЕРЯТЬ, а не надеяться.** 01.08 при чистке ленты
скрипт сперва писал копию удаляемых строк, потом удалял. Копия не записалась (папки по
указанному пути не было), `file_put_contents` вернул `false` **предупреждением, а не
исключением**, скрипт спокойно поехал дальше — и удалил, оставшись без страховки. Спасло
только то, что полный список строк был снят отдельным чтением ДО удаления.
Лечение: `if ($ok === false) { прекратить }` перед любым `delete`, и путь проверять
`is_dir()` заранее. NB: приложение лежит в `/var/www/liderra/app`, значит storage —
`/var/www/liderra/app/storage/app`, а не `/var/www/liderra/storage/app`.
Полезные таблицы: `ad_campaign_messages` (лента клиента), `ad_campaign_banners`
(статус и причина по объявлению), `ad_creative_jobs` (задания роботу), `ad_campaigns`.
@@ -255,8 +274,12 @@
Реклама Яндекса **закрыта**: робот обучен, кампания была учебной, документов не будет
и они не нужны (см. №1). Возвращаться к ней не надо.
Хвост №4 разобран и закрыт 01.08: вреда нет, мусор в кабинете оставлен намеренно.
Дальше — либо «да» владельца на мелочь №3, либо телеграм по порядку Г1 → Г2.
Телеграм — единственное направление, где осталась настоящая работа.
Хвосты1, №3 и №4 закрыты 01.08. Осталось **только №5 — телеграм**, и это единственное
направление, где есть настоящая работа.
🔴 Уточнение к Г1, замер живой 01.08: на боевом **нет ни одной таблицы телеграма**
и робота МТС на сервере нет. Значит Г1 упирается не в кампанию владельца, а в **выкат
модуля** — отдельная работа и отдельное разрешение. Порядок: выкат → кампания владельца
→ приёмка глазами в кабинете МТС.
Если владелец молчит — не выдумывать себе работу на боевом и не «дожимать» уже закрытое.