auto-sync: 2026-06-01 20:20:01

This commit is contained in:
Stream
2026-06-01 20:20:01 +03:00
parent 8294bfcd8e
commit e9b64e8c91

View File

@@ -189,3 +189,95 @@
- Серверный pipeline gps_collect.py по cron, отдельная БД gps_tracks.sqlite
- Дедупликация: bbox-bucket + length + date
- Визуализация: vector tiles на z8-11, GeoJSON на z12+
# 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 — ПОЧИНЕН (01.06 ~16:00 UTC)
- **Симптом:** Слава написал `:approved:` в Plane, orchestrator не получил webhook
- **Причина:** Plane шлёт comment event с полем `"issue": "<uuid>"`, а код искал `"work_item_id"` и `"issue_id"`
- **Фикс:** fallback chain `work_item_id → issue_id → issue` + читать `comment_stripped` первым
- **Файл:** `src/webhooks/plane.py` — функция `handle_comment`
- **Коммит:** `e27e489` fix(plane-webhook): read issue/comment_stripped fields from Plane comment payload
- **Статус:** ✅ починен, протестирован
#### 🐛 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 финал ~17: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 (run_id=42, sonnet) — PASS
- ✅ deploy (deployer) — merge PR → tag → deploy → smoke ✓
- ✅ done — Issue закрыт в Plane
- Источники MVP: OSM GPS Traces + EnduroRussia + ttrails (Wikiloc/Strava/Komoot — out of scope)
- Серверный pipeline gps_collect.py по cron, отдельная БД gps_tracks.sqlite
- Дедупликация: bbox-bucket + length + date
- Визуализация: vector tiles на z8-11, GeoJSON на z12+
- **Pending:** `docker compose up -d gps-collector` на mva154 (ждёт Славу)
### Итог дня
- 3 бага починены (webhook, rate limit timeout, analyst Write tool)
- ET-008 прошёл полный pipeline analyst→architect→developer→reviewer→tester→deployer→done
- Orchestrator документация актуализирована
- MEMORY.md обновлена