auto-sync: 2026-05-15 01:40:01
This commit is contained in:
@@ -344,29 +344,111 @@ claude -p "Прочитай CLAUDE.md. Прочитай docs/work-items/<plane-i
|
||||
| Orchestrator падает | Конвейер стоит | Низкая | Docker restart policy, healthcheck |
|
||||
| Gitea Actions не работает | Нет CI | Средняя | Проверить на старте, альтернатива — скрипт |
|
||||
|
||||
## 10. План запуска (3 недели)
|
||||
## 10. Roadmap (фазы)
|
||||
|
||||
Каждая фаза самодостаточна — можно остановиться на любой и уже получать пользу.
|
||||
|
||||
### Фаза 0: Инфраструктура (фундамент)
|
||||
|
||||
**Цель:** всё готово для ручного запуска агентов.
|
||||
|
||||
**Неделя 1: Инфраструктура**
|
||||
- [ ] Node.js на mva154
|
||||
- [ ] Claude Code CLI установлен и авторизован
|
||||
- [ ] Claude Code CLI установлен + авторизован через Max
|
||||
- [ ] Git repo Enduro Trails в Gitea (структура по канону)
|
||||
- [ ] Gitea Actions runner работает
|
||||
- [ ] Базовый CI (lint + build)
|
||||
- [ ] Service account `claude-bot` в Gitea (PAT, без push в main)
|
||||
- [ ] CLAUDE.md в корне репо
|
||||
- [ ] Базовый CI (Gitea Actions: lint + build)
|
||||
- [ ] Branch protection на main (только через PR)
|
||||
|
||||
**Неделя 2: Orchestrator + интеграции**
|
||||
- [ ] Orchestrator (FastAPI) написан и задеплоен
|
||||
- [ ] Webhooks: Plane → Orchestrator, Gitea → Orchestrator
|
||||
- [ ] Plane: лейблы, шаблоны подзадач
|
||||
- [ ] Тест: ручной прогон одной задачи через конвейер
|
||||
**Критерий выхода:** `claude -p "Прочитай CLAUDE.md и выведи стек проекта"` — работает.
|
||||
|
||||
**Неделя 3: Пилот**
|
||||
- [ ] Первая реальная фича через полный конвейер
|
||||
- [ ] Метрики: lead time, cost, intervention rate
|
||||
- [ ] Ретроспектива, корректировка
|
||||
### Фаза 1: Ручной конвейер (валидация подхода)
|
||||
|
||||
**Цель:** убедиться что агенты справляются с задачами. Всё руками, без автоматизации.
|
||||
|
||||
- [ ] Стрим пишет ТЗ → коммитит в ветку
|
||||
- [ ] Слава ставит :approved: в Plane
|
||||
- [ ] Стрим вручную запускает Architect (ssh → `claude -p "..." --systemPrompt ...`)
|
||||
- [ ] Стрим вручную запускает Developer
|
||||
- [ ] CI проходит (lint + test + build)
|
||||
- [ ] Стрим вручную запускает Reviewer
|
||||
- [ ] Стрим вручную запускает Tester
|
||||
- [ ] PR мержится, деплой
|
||||
|
||||
**Критерий выхода:** одна фича прошла полный цикл (Analyst → Architect → Developer → Reviewer → Tester → merge). Код рабочий, тесты зелёные.
|
||||
|
||||
### Фаза 2: Orchestrator MVP
|
||||
|
||||
**Цель:** автоматизировать запуск агентов после CI/review событий.
|
||||
|
||||
- [ ] FastAPI скрипт в Docker (~500 строк)
|
||||
- [ ] Слушает webhooks от Gitea (push, PR opened, CI result, review submitted)
|
||||
- [ ] Автоматически запускает Reviewer после CI green
|
||||
- [ ] Автоматически запускает Tester после review approve
|
||||
- [ ] FIFO-очередь (один агент одновременно)
|
||||
- [ ] Lock по plane_id + stage (идемпотентность)
|
||||
- [ ] Журнал запусков (SQLite: when, agent, task, status, duration)
|
||||
|
||||
**Критерий выхода:** после push в ветку — Reviewer и Tester запускаются автоматически без участия Стрим.
|
||||
|
||||
### Фаза 3: Plane интеграция
|
||||
|
||||
**Цель:** Plane как единая витрина, approve через reactions.
|
||||
|
||||
- [ ] Webhooks Plane → Orchestrator
|
||||
- [ ] Автоматическое создание подзадач (7 шт) при новом Feature
|
||||
- [ ] Автоматическое создание ветки `feature/<id>-<slug>`
|
||||
- [ ] Reactions (:approved:) триггерят QG-переходы
|
||||
- [ ] Лейблы `stage:*` обновляются автоматически
|
||||
- [ ] Custom fields (qg_status, repo_branch, repo_pr) заполняются
|
||||
- [ ] Эскалация → уведомление Славе через Стрим
|
||||
|
||||
**Критерий выхода:** Слава создаёт Feature в Plane → ставит :approved: на ТЗ → дальше всё автоматически до "Готово, проверь".
|
||||
|
||||
### Фаза 4: Полный конвейер
|
||||
|
||||
**Цель:** автономная работа с обратной связью и самовосстановлением.
|
||||
|
||||
- [ ] QG-0 → QG-7 полностью автоматические
|
||||
- [ ] Back-to: Reviewer → Dev (≤3 итерации), Tester → Dev, Architect → Analyst
|
||||
- [ ] Architect запускается автоматически после QG-1
|
||||
- [ ] Retry при ошибках CLI (rate limit, timeout) с exponential backoff
|
||||
- [ ] Метрики: lead time, cost per task, intervention rate
|
||||
- [ ] Дашборд в Plane (текущая работа, health, backlog)
|
||||
- [ ] Graceful degradation (если CLI недоступен — задача в очередь, не теряется)
|
||||
|
||||
**Критерий выхода:** 5 фич подряд проходят конвейер без человеческого вмешательства (кроме постановки и финального approve).
|
||||
|
||||
### Фаза 5: Оптимизация (v2)
|
||||
|
||||
**Цель:** масштабирование и расширение возможностей.
|
||||
|
||||
- [ ] Designer-агент (Figma MCP или генерация макетов)
|
||||
- [ ] Deployer-агент (автоматический deploy в prod с canary)
|
||||
- [ ] Visual regression (Playwright screenshots + diff)
|
||||
- [ ] a11y тесты (axe-core)
|
||||
- [ ] Performance / security scan
|
||||
- [ ] Параллельные задачи (второй аккаунт Max или API)
|
||||
- [ ] Масштабирование на другие проекты (fr24-noisemap, snowbike-rag)
|
||||
- [ ] Plane MCP-сервер (вместо прямых API-вызовов)
|
||||
|
||||
**Критерий выхода:** система обслуживает 3+ проекта одновременно.
|
||||
|
||||
---
|
||||
|
||||
**Оценка сроков:**
|
||||
| Фаза | Длительность | Зависимости |
|
||||
|------|-------------|-------------|
|
||||
| 0 | 2-3 дня | Node.js, Claude CLI auth |
|
||||
| 1 | 3-5 дней | Фаза 0 |
|
||||
| 2 | 1 неделя | Фаза 1 (валидация что агенты работают) |
|
||||
| 3 | 1 неделя | Фаза 2 + Plane API |
|
||||
| 4 | 1-2 недели | Фаза 3 |
|
||||
| 5 | ongoing | Фаза 4 |
|
||||
|
||||
## 11. Definition of Done (BRD)
|
||||
|
||||
- [ ] Слава подтвердил scope и метрики
|
||||
- [ ] Архитектура согласована
|
||||
- [ ] План запуска реалистичен
|
||||
- [ ] Roadmap (фазы) реалистичен
|
||||
- [ ] Риски приемлемы
|
||||
|
||||
Reference in New Issue
Block a user