From c6dca0d442c2ede7d1a459243ecd2c19c9fdcc5c 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 14:58:09 +0300 Subject: [PATCH] =?UTF-8?q?docs=20=D0=B2=D1=8B=D0=BA=D0=B0=D1=82:=20=D0=B2?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=BC=D1=82=20=D0=B2=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D0=B0=20=D0=BC=D0=B8=D0=BD=D0=B0,=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BE=D0=B9=20=D0=B2=20=D0=BD=D1=91=D0=BC=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=B1=D1=8B=D0=BB=D0=BE=20-=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D1=8B=D0=B9=20=D0=B2=D1=8B=D0=BA=D0=B0=D1=82=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=D1=82=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=20?= =?UTF-8?q?=D1=87=D1=83=D0=B6=D0=BE=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Первая редакция промта вела следующую смену прямо в аварию: шаг «выкат файлов» без единой проверки, насколько ветка отстала от основной. На 01.08 отставание было 7 коммитов, и это блок менеджеров на боевом. Залей папку целиком - и воронка продаж с корзиной и фильтрами исчезла бы с боевого сайта. Вписано правило замера: правое число в git rev-list --left-right --count обязано быть 0 перед выкатом, иначе сперва сведение и повторный прогон. Отмечено, что основная продолжает двигаться, и сведение надо повторять непосредственно перед выкатом, а не заранее. Дописаны две ловушки. Первая: столкновение номеров журнала схемы git НЕ показывает как конфликт, молча склеивает две записи с одним номером - дан готовый датчик на дубли. Вторая: фронтовый набор был красным пять дней, потому что его не гоняли целиком, - велено гонять vitest целиком, а не по файлу. Пункт про журнал схемы переписан с «дописать v9.31» на «сделано, номер v9.32». Co-Authored-By: Claude Opus 5 (1M context) --- docs/observer/STATUS.md | 8 ++-- .../2026-08-02-PROMT-vykat-telegram.md | 39 +++++++++++++++++-- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/docs/observer/STATUS.md b/docs/observer/STATUS.md index c8ca142d..c1e64d8f 100644 --- a/docs/observer/STATUS.md +++ b/docs/observer/STATUS.md @@ -1,6 +1,6 @@ # Brain Status (auto-generated) -Last updated: 2026-08-01T10:46:27.473Z +Last updated: 2026-08-01T11:55:04.839Z | Контролёр | Состояние | Детали | |---|---|---| @@ -112,9 +112,9 @@ Episodes since last run: 542 / threshold: 10 | PID | Имя | CPU-время | Возраст | |---|---|---|---| -| 3544 | MsMpEng | 30.29ч | 0.0ч | -| 23936 | Code | 10.84ч | 0.0ч | -| 4 | System | 4.49ч | NaNч | +| 3544 | MsMpEng | 31.74ч | 0.0ч | +| 23936 | Code | 11.32ч | 0.0ч | +| 4 | System | 4.71ч | NaNч | ⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий. diff --git a/docs/superpowers/2026-08-02-PROMT-vykat-telegram.md b/docs/superpowers/2026-08-02-PROMT-vykat-telegram.md index 7c859582..30910871 100644 --- a/docs/superpowers/2026-08-02-PROMT-vykat-telegram.md +++ b/docs/superpowers/2026-08-02-PROMT-vykat-telegram.md @@ -7,6 +7,38 @@ --- +## 🔴 ДОПИСАНО 01.08.2026 в 15:00 — читать до всего остального + +**Шаг 1 выполнен**, ветки сведены, коммит `4efd3d33`, запушен. Свёрстано и проверено: +портал 4091 тест / 0 падений, фронт 1739 / 0 падений, статанализ 0, робот 130 из 130. + +Но вскрылась **мина, которой в первой редакции этого промта не было**: + +🔴 **Полный выкат заливкой файлов ОТКАТИТ чужую работу с боевого.** На 01.08 наша ветка +отстала от основной на 7 коммитов — это блок менеджеров (воронка продаж: корзина, журнал +движений карточки, фильтр по датам). Залей мы папку целиком — боевой получил бы портал +**без всего этого**. Соседняя смена выкатывала **точечно, шестью файлами**, поэтому у них +не рвануло; наш план был полным. + +**Правило, которого не хватало:** перед выкатом ОБЯЗАТЕЛЬНО замерить +`git rev-list --left-right --count <наша>...gitea/main`. **Правое число обязано быть 0.** +Не ноль — сначала свести, прогнать заново, и только потом выкат. + +На 15:00 основная **продолжает двигаться** (последний коммит 14:45). Сведение надо повторить +**непосредственно перед выкатом**, а не заранее. + +🪤 **Столкновение номеров журнала схемы git НЕ показывает как конфликт.** Наша v9.31 +и их v9.31 были молча склеены в один файл. Наша подвинута на **v9.32**. После каждого +сведения проверять: `grep -o '^## v9\.[0-9]*' db/CHANGELOG_schema.md | sort | uniq -d` +должно быть пусто. Третий такой случай за сутки. + +🪤 **Фронтовый набор был красным пять дней, и этого никто не видел.** Сторож витрины +рекламных каналов утверждал, что настоящий экран только у Яндекса, а Телеграм получил +свой ещё 27.07. Починено, принято вырезанием. Вывод: **гонять `npx vitest run` целиком**, +а не по одному файлу — иначе такое живёт неделями. + +--- + ## Главное в двух абзацах Телеграм-модуль дописан и проверен, портал и робот зелёные. Но **работа разошлась по двум @@ -54,9 +86,10 @@ свои 30 строк. Разруливать **пересборкой заново после сведения**, а не выбором стороны. Сначала пересчитать настоящие замечания: `composer stan 2>&1 | grep -o '"message":"[^"]*"' | grep -vc 'PendingCalls'` — должно быть 0. -2. `db/CHANGELOG_schema.md` — 🔴 **их миграции в журнале НЕТ вообще.** Дописать запись - **v9.31** (следующий свободный; v9.28 — воронка продаж, v9.29 и v9.30 — наши, робот). - Это то самое правило, из-за нарушения которого 01.08 ночью столкнулись номера. +2. `db/CHANGELOG_schema.md` — ✅ **сделано 01.08:** их миграции в журнале не было вовсе, + запись дописана. Номер — **v9.32**, а не v9.31: v9.31 в тот же час заняла воронка продаж + на основной. Это то самое правило, из-за нарушения которого 01.08 столкнулись номера — + уже трижды за сутки. После сведения — **полный прогон на своей базе**. Он идёт ~13 минут.