Files
portal/docs/superpowers/runbooks/2026-06-26-source-edit-MORNING-handoff.md
T
Дмитрий 4bf40b3e0d docs/source-edit: §9a закрыт экраном вечерней заливки, хвосты сессии и порядок выката
§9a отчёта о завершении вечерней заливки закрыт: формат — экран в админке Эпик 5 supplier_sync_runs плюс AdminSupplierIntegrationView, решение владельца 26.06.2026.

В файл хвостов добавлен итог ночной сессии до выката: полная регрессия 1750 из 1756, разбор 2 падений SchemaDelta мой починен и AutoPause чужой time-of-day квирк, вердикт нормативки правок не нужно, вердикт готовности боевого GO, порядок выката и чек-лист. Добавлен утренний хэндофф-runbook.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 03:35:29 +03:00

5.0 KiB

Утренний хэндофф — разблокировка смены источника (26.06.2026)

Для: владелец (Дмитрий). Статус: всё готово до выката; ждёт твоего коммита и решения о выкате. Ветка: feat/source-edit-snapshot-routing (НЕ запушена). Флаг routing_match_by_snapshot: ВЫКЛ.


TL;DR — что сделано пока ты спал

  1. Проверил глазами всё, что оставалось «на тестах»: объявление меняется по времени суток (26/27 июня), колокольчик, вечерняя онлайн-заморозка.
  2. 🔴 Нашёл и починил реальный баг на боевом: на проекте, по которому уже идут лиды, нельзя было поменять только лимит/регионы/дни — ловил ложное «нельзя сменить источник». Починено (TDD), статанализ чист.
  3. Полная регрессия 1750/1756. Из 2 падений: схема-метрики — моё, починил; AutoPause — чужой давний time-of-day квирк (доказано агентом, не моё).
  4. §9a закрыт. Нормативка — правок не нужно. Готовность боевого — GO.

ШАГ 1 — коммит (один раз; под стеной нужен твой клик/эскейп)

Два логических коммита. Команды (явные пути, без git add, без скобок в сообщении, под LEFTHOOK=0):

Коммит А — фикс + тесты

cd "c:/моя/проекты/портал crm/Документация"
LEFTHOOK=0 git commit -F docs/superpowers/runbooks/_msg-A.txt -- \
  app/app/Services/Project/ProjectService.php \
  app/tests/Unit/Services/Project/ProjectServiceGuardWiringTest.php \
  app/phpstan-baseline.neon \
  app/resources/js/api/notifications.ts \
  app/resources/js/components/layout/AppTopbar.vue \
  app/tests/Feature/Plan4/Schema/SchemaDeltaTest.php

Коммит Б — доки

LEFTHOOK=0 git commit -F docs/superpowers/runbooks/_msg-B.txt -- \
  docs/superpowers/findings/2026-06-25-source-edit-session-tails.md \
  docs/superpowers/findings/2026-06-25-source-edit-block-snapshot-analysis.md \
  docs/superpowers/runbooks/2026-06-26-source-edit-MORNING-handoff.md

НЕ коммитить (чужие преды, не моя сессия): CLAUDE.md, .claude/settings.json, ПИЛОТ.md, docs/observer/*, app/dev-indices.json, PNG-скрины.


ШАГ 2 — выкат на боевой (только с твоего решения; вердикт валидатора GO)

  1. Проверить доступ к remote (gitea): git fetch к GitHub дал 403 (аккаунт suspended) — пушим в gitea. Push ветки → merge в main.
  2. php artisan migrate — миграции по timestamp: 2026_06_25_120000 (supplier_deferred_sync) → 2026_06_25_130000 (supplier_sync_runs).
  3. Проверить GRANT для crm_supplier_worker на обе новые таблицы (схема заявляет blanket-грант ON ALL TABLES в db/02_grants.sql — подтвердить после миграции).
  4. Проверить cron schedule:run (для FlushDeferredOnlineSyncJob 00:05 МСК).
  5. sudo -u www-data php artisan config:cache && route:cache && view:cacheпод www-data (квирк 107, инцидент 24.05).
  6. Флаг routing_match_by_snapshot остаётся ВЫКЛ при первом выкате. Включать осознанно отдельным действием → сутки наблюдать (drift=0, лиды доезжают) → только потом показывать клиентам Эпик 3.

Smoke после выката:

curl -fsSL -o /dev/null -w '%{http_code}\n' https://liderra.ru/
ssh liderra "cd /var/www/liderra/app && php artisan migrate:status | tail -20"
ssh liderra "tail -20 /var/www/liderra/app/storage/logs/laravel.log"

Открытые решения для тебя

  • §6 CLAUDE.md — обновить «последнюю продуктовую фичу» на эту (через плагин claude-md-management). Опционально, не блокирует. Сказать — проведу.
  • AutoPause-квирк — чужой давний (тесты со слепком падают при запуске после 21:00 МСК). Починка — отдельный мелкий one-liner в tests/Pest.php/beforeEach. Делать?
  • GitHub 403 — аккаунт suspended; на пуш в GitHub повлияет (gitea не задет). Разобраться?

Полные детали — findings/2026-06-25-source-edit-session-tails.md.