From f2e913604d2a31740c1944abf17a23d903b71ca3 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: Mon, 22 Jun 2026 19:39:32 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=B2=D1=8B=D0=BA=D0=B0=D1=82=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B4=2022.06=20=D0=B2=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=20=E2=80=94=20=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=B8=D1=82=D1=8C=20=C2=AB=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B4=D0=B5=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Деплой по рунбуку gitea→прод (prod-deploy-validator=GO): F-NEWPROJECT-1, RLS на tenants + created_at TZ (миграция 2026_06_22_150000 batch 20), фикс тоста, JivoSite-виджет — на боевом. Омега цела (1 835 400 ₽ / 1013 сделок), новых ошибок нет, RLS работает. Бэкап отката на проде. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/observer/STATUS.md | 14 +++++++------- .../2026-06-22-СОСТОЯНИЕ-остатки-и-ключи.md | 17 ++++++++++------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/docs/observer/STATUS.md b/docs/observer/STATUS.md index d06b5dcb..3de46e78 100644 --- a/docs/observer/STATUS.md +++ b/docs/observer/STATUS.md @@ -1,6 +1,6 @@ # Brain Status (auto-generated) -Last updated: 2026-06-22T16:26:46.847Z +Last updated: 2026-06-22T16:33:18.329Z | Контролёр | Состояние | Детали | |---|---|---| @@ -47,6 +47,9 @@ Last updated: 2026-06-22T16:26:46.847Z | Время | Действие | Причина | |---|---|---| +| 2026-06-22T16:32:08.562Z | bash:cd "c:/моя/проекты/claude-brain" && echo "=== линза/_reconcile.log ===" && cat "docs/secretary/линза/_reconcile.log | разговорный режим: только думать/спрашивать (реализация — после печати артефакта и плана) | +| 2026-06-22T16:32:08.452Z | bash:cd "c:/моя/проекты/claude-brain" && echo "=== линза/_reconcile.log ===" && cat "docs/secretary/линза/_reconcile.log | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cd "c:/моя/проекты/cla | +| 2026-06-22T16:29:22.905Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | | 2026-06-22T16:26:32.629Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | | 2026-06-22T16:24:44.007Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | | 2026-06-22T16:22:00.158Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | @@ -54,9 +57,6 @@ Last updated: 2026-06-22T16:26:46.847Z | 2026-06-22T16:19:05.841Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | | 2026-06-22T16:17:41.809Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | | 2026-06-22T16:17:18.508Z | bash:cat "$TEMP/claude-economy-c45f5b05-836d-48ba-bf47-ab3477fd20e5.json" 2>/dev/null \|\| echo "FILE_NOT_FOUND" | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cat "$TEMP/claude-econ | -| 2026-06-22T16:15:37.030Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | -| 2026-06-22T16:12:12.039Z | bash:ls $TEMP/claude-economy-ae7348fc-4410-4d81-8546-4b57c2df3ad0.json 2>/dev/null && cat $TEMP/claude-economy-ae7348fc- | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:ls $TEMP/claude-econom | -| 2026-06-22T16:10:29.400Z | bash:cat "$TEMP/claude-economy-c45f5b05-836d-48ba-bf47-ab3477fd20e5.json" 2>/dev/null \|\| echo "FILE_NOT_FOUND" | floor: опасная по содержанию команда без аварийного выхода — блок (правило 8); FLOOR-ESCAPE: bash:cat "$TEMP/claude-econ | ## Метрики (информационные, не алерты) @@ -140,9 +140,9 @@ Episodes since last run: 542 / threshold: 10 | PID | Имя | CPU-время | Возраст | |---|---|---|---| -| 6976 | Code | 2.60ч | 0.0ч | -| 3440 | MsMpEng | 2.59ч | NaNч | -| 14232 | msedge | 2.44ч | NaNч | +| 3440 | MsMpEng | 2.63ч | NaNч | +| 6976 | Code | 2.62ч | 0.0ч | +| 14232 | msedge | 2.50ч | 0.0ч | ⚠️ Проверь, не «осиротевшие» ли это процессы от завершённых Claude-сессий. diff --git a/docs/superpowers/specs/2026-06-22-СОСТОЯНИЕ-остатки-и-ключи.md b/docs/superpowers/specs/2026-06-22-СОСТОЯНИЕ-остатки-и-ключи.md index c8c5c617..9b4976c6 100644 --- a/docs/superpowers/specs/2026-06-22-СОСТОЯНИЕ-остатки-и-ключи.md +++ b/docs/superpowers/specs/2026-06-22-СОСТОЯНИЕ-остатки-и-ключи.md @@ -16,15 +16,17 @@ - impersonation_tokens RLS = ON. F1 CVE — пакеты пропатчены. - **failed_jobs очищены** (494 191 → 0). **tenant 24 удалён** (soft-delete). **rekey-orphans** проверен — сирот нет. -### В коде (gitea), ⏳ ЖДЁТ НАКАТА НА ПРОД +### ✅ ВЫКАЧЕНО НА ПРОД 22.06.2026 (деплой по рунбуку gitea→прод, prod-deploy-validator = GO) -- **F-NEWPROJECT-1** — клиентская валидация формы нового проекта. -- **RLS на `tenants`** + **`created_at` → TIMESTAMPTZ** (schema v8.51). ⚠️ TZ-ALTER блокирует партиции → деплой в окно низкой нагрузки. -- **Минор**: зелёный тост после отмены отчёта. -- **#21** — карта разделов schema (убран stale `reminders`). -- **JivoSite-виджет** — встроен, спит без ключа. +- **F-NEWPROJECT-1** — клиентская валидация формы нового проекта. ✅ на проде. +- **RLS на `tenants`** + **`created_at` → TIMESTAMPTZ** (schema v8.51, миграция `2026_06_22_150000`, batch 20). ✅ на проде — RLS работает (роль приложения видит свою компанию; омега цела 1 835 400 ₽ / 1013 сделок; новых ошибок нет). TZ-ALTER занял миллисекунды (340 строк). +- **Минор**: зелёный тост после отмены отчёта. ✅ на проде. +- **JivoSite-виджет** — на проде, спит без `VITE_JIVO_WIDGET_ID`. +- **#21** — карта разделов schema.sql (канон-файл, не БД). - Техдолг линтеров `db/` вычищен (коммиты схемы идут без `LEFTHOOK=0`). +**Бэкап отката:** `/tmp/app-backup-predeploy-2026-06-22.tgz` на проде + дамп БД `liderra-daily-20260622-033001.dump`. + --- ## 🔑 КЛЮЧИ ОТ ТЕБЯ (чтобы включить каналы) @@ -44,7 +46,8 @@ ## 👤 Решения/действия владельца -- **Накат на прод** свежих коммитов из gitea (через prod-deploy-validator). +- ~~Накат на прод~~ — ✅ выполнено 22.06.2026 (см. выше). +- **Ключи каналов** — дать Sentry DSN / Jivo ID / Slack Webhook (таблица выше). - **Slack-события** — подтвердить список (предложено: новый клиент / пополнение / кончились деньги / поставщик молчит). > Пункт «online→batch» снят с обсуждения по запросу владельца (известен, не остаток).