12 KiB
12 KiB
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
- Webhook URL в Plane настроен только на
- Приоритет: 🔴 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
- Webhook URL в Plane настроен только на
- Приоритет: 🔴 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+