Files
wiki/memory/2026-06-01.md
2026-06-01 17:10:01 +03:00

12 KiB
Raw Blame History

2026-06-01

Orchestrator: Полная интеграция с Plane

Что сделано

  • Написано ТЗ для Dev-агента: tasks/multi-agent/DEV_TASK_PLANE_FULL_INTEGRATION.md (12 задач)
  • Dev-агент реализовал все 12 пунктов, acceptance checks пройдены
  • Обновлена документация: ORCHESTRATOR_DOCS.md (полностью переписана)
  • Обновлена таблица расхождений: PROPOSAL_VS_REALITY.md (18/33 = 55% done)

Реализованные фичи (Plane integration)

  • 8 статусов Issue: Backlog, Todo, In Progress, Needs Input, In Review, Blocked, Done, Cancelled
  • Analyst questions flow: 01-questions.md → Needs Input → ответ Славы → relaunch (макс 3 раунда)
  • :rejected: с причиной + relaunch analyst / rollback
  • :approved: → In Progress → advance
  • Tester FAIL → developer retry (до 3 раз → Blocked)
  • Deploy FAIL → Blocked + rollback + notification
  • Architect conflict (10-conflict.md) → rollback to analysis
  • QG-0 при создании Issue (title 5-80, description ≥2 предложений)
  • Ссылки в комментариях Plane (branch URL + PR link)

Модели агентов

  • Сейчас все на claude-sonnet-4-6
  • В контейнере доступен claude-opus-4-7 (подписка Max 5x)
  • Слава спросил про переключение Architect/Reviewer на Opus — ждёт подтверждения
  • Нужно добавить --model opus в launcher.py для architect и reviewer

Оставшиеся TODO (🟡)

  • Architect/Reviewer на Opus (ждёт подтверждения Славы)
  • E2E тесты (Playwright)
  • Event dedup (idempotency)
  • Budget tracking
  • Test/prod environments split

2026-06-01

Orchestrator: Полная интеграция с Plane

Что сделано

  • Написано ТЗ для Dev-агента: tasks/multi-agent/DEV_TASK_PLANE_FULL_INTEGRATION.md (12 задач)
  • Dev-агент реализовал все 12 пунктов, acceptance checks пройдены
  • Обновлена документация: ORCHESTRATOR_DOCS.md (полностью переписана)
  • Обновлена таблица расхождений: PROPOSAL_VS_REALITY.md (18/33 = 55% done)

Реализованные фичи (Plane integration)

  • 8 статусов Issue: Backlog, Todo, In Progress, Needs Input, In Review, Blocked, Done, Cancelled
  • Analyst questions flow: 01-questions.md → Needs Input → ответ Славы → relaunch (макс 3 раунда)
  • :rejected: с причиной + relaunch analyst / rollback
  • :approved: → In Progress → advance
  • Tester FAIL → developer retry (до 3 раз → Blocked)
  • Deploy FAIL → Blocked + rollback + notification
  • Architect conflict (10-conflict.md) → rollback to analysis
  • QG-0 при создании Issue (title 5-80, description ≥2 предложений)
  • Ссылки в комментариях Plane (branch URL + PR link)

Модели агентов — обновлено

  • Architect и Reviewer переключены на Opus (claude-opus-4-7) — подтверждено Славой
  • Analyst, Developer, Tester, Deployer — остаются на Sonnet (claude-sonnet-4-6)
  • Добавлено поле model в AGENT_CONFIGS + --model в команду запуска launcher.py
  • Контейнер пересобран и задеплоен

Оставшиеся TODO (🟡)

  • Architect/Reviewer на Opus сделано
  • E2E тесты (Playwright)
  • Event dedup (idempotency)
  • Budget tracking
  • Test/prod environments split

Баги

🐛 Plane comment webhook не доходит до orchestrator'а

  • Симптом: Слава написал :approved: в Plane, orchestrator не получил webhook, pipeline не продвинулся
  • Контекст: webhook work_item.created работает (Issue создание → analyst запуск сработал), а comment.created — нет
  • Workaround: вручную advance через python3 в контейнере
  • Гипотезы:
    • Webhook URL в Plane настроен только на work_item.created, не на comments
    • Plane шлёт comment webhook на другой endpoint
    • Webhook secret mismatch для comment events
  • Приоритет: 🔴 HIGH (без этого Слава не может approve'ить через Plane)
  • Статус: не починен, нужно разобраться

🐛 Claude CLI зависает при rate limit (Max 5x)

  • Симптом: run 35, 36 зависли — процесс не стартовал, лог пустой (только git output)
  • Причина: rate limit после run 34 (Opus, 9 мин работы)
  • Фикс: добавлен startup timeout 120 сек + kill + Telegram уведомление (задеплоен 01.06)
  • Статус: починен

🐛 Analyst не использовал Write tool (run 34)

  • Симптом: analyst вывел артефакты в stdout, файлы на диске не создал
  • Причина: в prompt не было явной инструкции использовать Write tool
  • Фикс: добавлен раздел "КРИТИЧЕСКИ ВАЖНО: Используй Write tool!" в analyst.md (merged в main)
  • Статус: починен

Изменения модели

  • Analyst: opus → sonnet (вернули обратно, экономия лимитов Max 5x)
  • Architect: opus (оставили)
  • Reviewer: opus (оставили)

ET-008: GPS-треки с публичных платформ

  • Issue создан в Plane (id: 020811f2-eaf0-434e-8257-f5e0d141274b)
  • Sequence: ET-008 (в Plane отображается как #4)
  • Branch: feature/ET-008-gps
  • Analyst завершён (v2, артефакты запушены)
  • Слава approve'нул → architect запущен (run_id=38, Opus)
  • Pipeline: analysis → architecture → development → review → testing → deploy → done

2026-06-01

Orchestrator: Полная интеграция с Plane

Что сделано

  • Написано ТЗ для Dev-агента: tasks/multi-agent/DEV_TASK_PLANE_FULL_INTEGRATION.md (12 задач)
  • Dev-агент реализовал все 12 пунктов, acceptance checks пройдены
  • Обновлена документация: ORCHESTRATOR_DOCS.md (полностью переписана)
  • Обновлена таблица расхождений: PROPOSAL_VS_REALITY.md (18/33 = 55% done)

Реализованные фичи (Plane integration)

  • 8 статусов Issue: Backlog, Todo, In Progress, Needs Input, In Review, Blocked, Done, Cancelled
  • Analyst questions flow: 01-questions.md → Needs Input → ответ Славы → relaunch (макс 3 раунда)
  • :rejected: с причиной + relaunch analyst / rollback
  • :approved: → In Progress → advance
  • Tester FAIL → developer retry (до 3 раз → Blocked)
  • Deploy FAIL → Blocked + rollback + notification
  • Architect conflict (10-conflict.md) → rollback to analysis
  • QG-0 при создании Issue (title 5-80, description ≥2 предложений)
  • Ссылки в комментариях Plane (branch URL + PR link)

Модели агентов — обновлено

  • Architect и Reviewer переключены на Opus (claude-opus-4-7) — подтверждено Славой
  • Analyst возвращён на Sonnet (01.06 — экономия лимитов Max 5x)
  • Developer, Tester, Deployer — Sonnet (claude-sonnet-4-6)
  • Добавлено поле model в AGENT_CONFIGS + --model в команду запуска launcher.py
  • Контейнер пересобран и задеплоен

Оставшиеся TODO (🟡)

  • E2E тесты (Playwright)
  • Event dedup (idempotency)
  • Budget tracking
  • Test/prod environments split

Баги

🐛 Plane comment webhook не доходит до orchestrator'а

  • Симптом: Слава написал :approved: в Plane, orchestrator не получил webhook, pipeline не продвинулся
  • Контекст: webhook work_item.created работает (Issue создание → analyst запуск сработал), а comment.created — нет
  • Workaround: вручную advance через python3 в контейнере
  • Гипотезы:
    • Webhook URL в Plane настроен только на work_item.created, не на comments
    • Plane шлёт comment webhook на другой endpoint
    • Webhook secret mismatch для comment events
  • Приоритет: 🔴 HIGH (без этого Слава не может approve'ить через Plane)
  • Статус: не починен, нужно разобраться после ET-008

🐛 Claude CLI зависает при rate limit (Max 5x)

  • Симптом: run 35, 36 зависли — процесс не стартовал, лог пустой (только git output)
  • Причина: rate limit после run 34 (Opus, 9 мин работы)
  • Фикс: добавлен startup timeout 120 сек + kill + Telegram уведомление (задеплоен 01.06)
  • Статус: починен

🐛 Analyst не использовал Write tool (run 34)

  • Симптом: analyst вывел артефакты в stdout, файлы на диске не создал
  • Причина: в prompt не было явной инструкции использовать Write tool
  • Фикс: добавлен раздел "КРИТИЧЕСКИ ВАЖНО: Используй Write tool!" в analyst.md (merged в main)
  • Статус: починен

🐛 Popen launcher зависает (не rate limit)

  • Симптом: architect run_id=38 завис — лог пустой, CLI при ручном запуске работает
  • Причина: вероятно shell expansion $(cat .task.md) ломается в контексте Popen
  • Workaround: ручной запуск через docker exec -e HOME=/home/slin
  • Статус: нужно разобраться с launcher.py (как именно формируется cmd)

Изменения модели (01.06.2026)

  • Analyst: opus → sonnet (вернули обратно, экономия лимитов Max 5x)
  • Architect: sonnet → opus (оставили)
  • Reviewer: sonnet → opus (оставили)

ET-008: GPS-треки с публичных платформ

  • Issue создан в Plane (id: 020811f2-eaf0-434e-8257-f5e0d141274b)
  • Sequence: ET-008 (в Plane отображается как #4)
  • Branch: feature/ET-008-gps
  • Analyst завершён v2 (артефакты запушены, 6 файлов в docs/work-items/ET-008/)
  • Слава approve'нул → architect запущен (run_id=38, Opus)
  • Pipeline прогресс (01.06 ~12:00 UTC):
    • analysis (run_id=37, sonnet)
    • architecture (run_id=38/39, opus) — 7 ADR, infra/data requirements, tech risks
    • development (run_id=40, sonnet) — backend + frontend + 48 тестов
    • review (run_id=41, opus) — нашёл 1xP0, 4xP1 → developer починил
    • testing — rate limit Sonnet, ждём сброса ~13:40 UTC
    • deploy
  • Источники MVP: OSM GPS Traces + EnduroRussia + ttrails (Wikiloc/Strava/Komoot — out of scope, OAuth/платный API)
  • Серверный pipeline gps_collect.py по cron, отдельная БД gps_tracks.sqlite
  • Дедупликация: bbox-bucket + length + date
  • Визуализация: vector tiles на z8-11, GeoJSON на z12+