diff --git a/memory/2026-05-31.md b/memory/2026-05-31.md new file mode 100644 index 0000000..99c7f54 --- /dev/null +++ b/memory/2026-05-31.md @@ -0,0 +1,78 @@ +# 2026-05-31 + +## Enduro Trails — Спутниковая карта (ET-005/ET-007) + +- Слава попросил добавить режим спутниковой карты (переключатель Схема/Спутник как в Google Maps) +- Создала BRD: `tasks/enduro-trails/BRD_SATELLITE_MODE.md` +- Создала тикет в Plane через API (ET-005, issue_id: `8e66974a-a9d4-40bd-871c-c5c39a4ba943`) +- Перевела тикет в Todo → Orchestrator запустил Analyst (run_id=22, 12:49 UTC) + +### Проблема: Analyst не синхронизировался с Plane +- Analyst отработал (exit_code=0, 8 мин), создал полный комплект документов (BRD, ТЗ, AC, Test Plan, UI-кейсы) +- НО: не закоммитил в Gitea, не написал комментарий в Plane, не запросил :approved: +- Причина: Analyst был запущен на старом коде (до интеграции с Plane) + +### Фикс: DEV_TASK_ANALYST_PLANE_SYNC +- Создала `tasks/multi-agent/DEV_TASK_ANALYST_PLANE_SYNC.md` +- Dev (Opus) реализовал интеграцию: auto-commit, Plane comments, запрос :approved: +- Перезапустила Analyst (run_id=26) — документы закоммичены в `feature/ET-007-et-005`, комментарий в Plane отправлен +- **Статус:** BRD готов, ждёт :approved: от Славы в Plane + +### Баг: _monitor_agent race condition +- Monitor thread не всегда корректно отслеживает завершение subprocess.Popen +- Пришлось коммитить вручную (run_id=22 и run_id=26) +- Нужен отдельный фикс (TODO) + +--- + +## Multi-Agent: Analyst в Orchestrator + +### DEV_TASK_ANALYST_IN_ORCHESTRATOR +- Создала `tasks/multi-agent/DEV_TASK_ANALYST_IN_ORCHESTRATOR.md` +- Dev (Sonnet) начал, но таймаутнулся (5 мин) — успел только анализ +- Dev (Opus) доделал — стадия `analysis` добавлена в stages.py, роутинг в plane.py, QG в checks.py +- Analyst теперь полноценная первая стадия конвейера + +### DEV_TASK_ANALYST_PLANE_SYNC +- Создала `tasks/multi-agent/DEV_TASK_ANALYST_PLANE_SYNC.md` +- Dev (Opus) реализовал: auto-commit, Plane comments, запрос :approved:, auto-advance + +--- + +## Multi-Agent: Telegram-уведомления + +- Слава попросил детерминированные уведомления в Telegram (без моделей/галлюцинаций) +- Бот: Стрим (8298776127), chat_id: 126472752 +- Создала `tasks/multi-agent/DEV_TASK_TELEGRAM_NOTIFICATIONS.md` +- Dev (Opus) реализовал за 3 мин: + - `send_telegram()` в notifications.py (fire-and-forget, httpx) + - Все notify_* отправляют в Telegram + - Формат: эмодзи + work_item_id + событие +- Тестовое сообщение отправлено + +--- + +## Аудит конвейера (17:10 UTC) + +### Работает ✅ +- Orchestrator (health ok, порт 8500) +- Stage machine (8 стадий: created → analysis → ... → done) +- Analyst зарегистрирован и запускается автоматически +- Plane webhook → создание задачи +- Auto-advance после CI green, PR approved +- Architect/Developer/Reviewer/Tester — все работают (ET-002 полный цикл) +- Plane state sync (plane_sync.py) +- :approved: handler +- Telegram-уведомления + +### Проблемы ⚠️ +- _monitor_agent race condition (коммит не всегда срабатывает) +- Plane webhook signature failures (некоторые 401 в логах) +- Тестовые задачи ET-008..010 удалены (мусор от smoke-тестов) + +--- + +## Решения дня +- Analyst — единственный агент, который не был интегрирован с Plane. Остальные (architect, developer, reviewer, tester) уже были. +- Dev-агент по умолчанию на `vibecode/claude-sonnet-4.6`, но для сложных задач Слава просит переключать на Opus +- Слава хочет получать уведомления детерминированно (скрипт), а не от модели — реализовано через httpx + Telegram Bot API