Статус проекта: Мультиагентная разработка ПО
Дата обновления: 2026-05-31 12:10 UTC
Ревьюер: Стрим
Общая зрелость
| Фаза (из BRD) |
Статус |
Комментарий |
| Фаза 0: Инфраструктура |
✅ Завершена |
Всё установлено и работает |
| Фаза 1: Ручной конвейер |
✅ Завершена |
ET-001 прошёл полный цикл |
| Фаза 2: Orchestrator MVP |
✅ Завершена (21.05) |
QG реальные, автозапуск Claude CLI, 27 тестов |
| Фаза 3: Plane интеграция |
✅ Завершена (21.05) |
Webhooks + обратная связь (state sync, comments) |
| Фаза 4: Полный конвейер |
✅ Первый прогон (21.05) |
ET-002 прошёл полный автоматический цикл! |
| Фаза 5: Оптимизация |
🟡 В работе |
Analyst полностью интегрирован как первая стадия (31.05), 27 тестов green |
🎉 MILESTONE: Первый полный автоматический прогон (21.05.2026)
ET-002 "Чекбокс POI в попапе рельефа" прошёл весь пайплайн автоматически:
| Стадия |
Агент |
Результат |
Время |
| architecture |
Architect (Claude CLI, Opus) |
ADR + infra-requirements |
~5 мин |
| development |
Developer (Claude CLI, Sonnet) |
feat commit + тесты |
~55 мин (docker build) |
| review |
Reviewer (Claude CLI, Opus) |
APPROVED (0 P0/P1) |
~3 мин |
| testing |
Tester (Claude CLI, Sonnet) |
PASS (pytest 14/14, JS 7/7) |
~5 мин |
| deploy |
Merge PR #5 → main |
Merged |
— |
Коммиты на ветке:
Баги и фиксы (21.05.2026)
| # |
Баг |
Статус |
Фикс |
| 1 |
/repos mounted as :ro |
✅ Исправлен |
Убрал :ro из docker-compose.yml |
| 2 |
check_review_approved — PR not found |
✅ Исправлен |
Lookup PR по branch + file-based fallback |
| 3 |
git не установлен в контейнере |
✅ Исправлен |
Уже был в Dockerfile (git v2.47.3) |
| 4 |
Коммиты от root ломают permissions |
✅ Исправлен |
GIT_AUTHOR_NAME/EMAIL = claude-bot в launcher.py |
| 5 |
task_id=NULL в agent_runs |
✅ Исправлен |
task_id передаётся в launch() |
| 6 |
Нет timeout для агентов |
✅ Исправлен |
Watchdog 30 мин, kill -9 |
| 7 |
Нет auto-advance после CI green |
✅ Исправлен |
gitea.py: CI green → review, PR approved → testing |
| 8 |
Orchestrator не пишет в Plane |
✅ Исправлен |
plane_sync.py: state update + comments |
| 9 |
dismiss_stale_approvals + duplicate CI statuses |
⚠️ Workaround |
Временно отключал status check для merge |
| 10 |
Developer застревает на docker build (~55 мин) |
🔴 Не исправлен |
Для frontend-only фич docker build избыточен |
Инфраструктура на mva154 (82.22.50.71)
Контейнеры (docker ps на 21.05.2026)
| Контейнер |
Образ |
Статус |
Порт |
orchestrator |
orchestrator-orchestrator (self-built) |
Up |
127.0.0.1:8500 |
openclaw-gateway |
ghcr.io/openclaw/openclaw:latest |
Up (healthy) |
127.0.0.1:18789 |
enduro-trails-app-1 |
enduro-trails-app (self-built) |
Up |
0.0.0.0:5558 |
gitea |
gitea/gitea:latest |
Up |
127.0.0.1:3000, 0.0.0.0:2222 |
claude-cli-proxy |
eceasy/cli-proxy-api:latest |
Up |
127.0.0.1:8317 |
xray |
ghcr.io/xtls/xray-core:latest |
Up |
— |
plane-* (8 контейнеров) |
makeplane/* |
Up (healthy) |
0.0.0.0:8091, 0.0.0.0:8443 |
Установленное ПО на хосте
| Компонент |
Версия |
Путь |
| Claude Code CLI |
2.1.142 |
/usr/bin/claude (+ mount в orchestrator) |
| Node.js |
v24.14.0 |
— |
| Docker + Compose |
— |
— |
| Nginx |
— |
reverse proxy |
| Gitea Actions Runner |
act_runner |
/home/slin/act_runner (online, self-hosted) |
Orchestrator — детальный статус
Репо: /home/slin/repos/orchestrator/
Контейнер: orchestrator (порт 8500, network_mode: host)
Конфиг: .env
Архитектура
Stage Machine
Auto-advance (добавлено 21.05, расширено 31.05)
| Триггер |
Действие |
| work_item.created в Plane |
created → analysis, launch Analyst |
| :approved: comment + QG analysis |
analysis → architecture, launch Architect |
| Push с ADR файлами |
architecture → development, launch Developer |
| CI status = success |
development → review, launch Reviewer |
| PR review = approved |
review → testing, launch Tester |
| PR review = request_changes |
back-to development, relaunch Developer (max 3x) |
| Test report PASS |
testing → deploy |
Plane Sync (добавлено 21.05)
| Событие |
Действие в Plane |
| Stage change |
PATCH issue state (Todo/In Progress/Done) + comment |
| QG failure |
Comment с причиной |
| Task done |
State → Done + closing comment |
| Task created (webhook) |
Сохраняет plane_issue_id для маппинга |
Данные в БД (на 21.05.2026)
- events: 40+
- tasks: 6 (ET-001..ET-004 + smoke tests)
- agent_runs: 8 (architect x4, developer x1, reviewer x1, tester x1)
- Таблица tasks: добавлена колонка
plane_issue_id (UUID из Plane)
Docker-compose.yml
Analyst agent (OpenClaw) — статус
| Параметр |
Значение |
| ID |
analyst |
| Модель |
vibecode/claude-sonnet-4.6 |
| Workspace |
/home/node/.openclaw/workspace-analyst/ |
| Telegram binding |
✅ account analyst (отдельный бот) |
| Статус |
✅ Полностью зарегистрирован и работает |
| Orchestrator интеграция |
✅ Полностью интегрирован (31.05): автозапуск, QG, :approved: → architecture |
Gitea — статус
| Параметр |
Значение |
| URL |
https://git.mva154.duckdns.org |
| Repos |
enduro-trails, orchestrator |
| CI Runner |
✅ mva154-runner (online, self-hosted) |
| Branch protection |
✅ main: require 1 approval + CI green |
| Webhooks → Orchestrator |
✅ Работают (push, PR, status events) |
| Service accounts |
admin, claude-bot, stream |
| claude-bot token |
38c6fa88... (write:repository) |
Plane — статус
| Параметр |
Значение |
| URL |
https://plane.mva154.duckdns.org |
| Workspace |
ag_proj |
| Проект |
"Enduro Trails" (identifier: ET) |
| Project ID |
7a79f0a9-5278-49cd-9007-9a338f238f9c |
| Issues |
ET-1 (POI checkbox) — Done ✅ |
| Webhook → Orchestrator |
✅ Через PostgreSQL trigger (HMAC-SHA256) |
| Orchestrator → Plane |
✅ State sync + comments (plane_sync.py) |
States в Plane
| ID |
Name |
Group |
113b24f6-... |
Backlog |
backlog |
2c7d3df3-... |
Todo |
unstarted |
b873d9eb-... |
In Progress |
started |
381a2833-... |
Done |
completed |
b1cae7f9-... |
Cancelled |
cancelled |
Репозиторий enduro-trails
Ветки: main (актуальная с ET-001 + ET-002 merged)
Work Items
| ID |
Название |
Статус |
| ET-001 |
Исключить шлагбаумы и тротуары из OSRM |
✅ Done (ручной цикл) |
| ET-002 |
Чекбокс POI в попапе рельефа |
✅ Done (автоматический цикл!) |
Следующие шаги (приоритет)
Оставшиеся баги
dismiss_stale_approvals + duplicate CI statuses — Gitea создаёт duplicate pending statuses, блокирует merge. Нужно: либо отключить dismiss_stale_approvals, либо чистить stale statuses через API.
- Developer застревает на docker build — для frontend-only фич нужен skip docker build или определение scope по git diff.
Улучшения для полной автономности
- Deploy stage — автоматический merge PR + deploy (сейчас ручной)
- Notifications в Telegram — отправлять Славе статус при смене stage
- Custom fields в Plane — qg_status, stage, tokens_spent
- Лейблы в Plane — stage:, back-to:, escalation:*
- Параллельные задачи — FIFO-очередь (F2-6 из BRD)
Доступ к mva154
Из OpenClaw контейнера:
- Тип:
ssh-direct, Хост: 82.22.50.71:22, User: slin
Документация проекта
| Файл |
Описание |
tasks/multi-agent/BRD.md |
Полный BRD с архитектурой, QG, roadmap |
tasks/multi-agent/BACKLOG.md |
Бэклог + решения по Analyst |
tasks/multi-agent/STATUS.md |
Этот файл — актуальный статус |
tasks/multi-agent/DEV_TASK_ORCHESTRATOR_QG.md |
ТЗ: QG + автозапуск (выполнено) |
tasks/multi-agent/DEV_TASK_ORCHESTRATOR_FIXES.md |
ТЗ: 5 критических фиксов (выполнено) |
tasks/multi-agent/DEV_TASK_PLANE_SYNC.md |
ТЗ: Plane sync (выполнено) |
tasks/multi-agent/DEV_TASK_WEBHOOKS.md |
ТЗ: Webhooks (выполнено) |