From bb82e27b8a6467aab4b68fe0a6ef4f317fcdb2e3 Mon Sep 17 00:00:00 2001 From: Stream Date: Tue, 19 May 2026 13:40:09 +0300 Subject: [PATCH] auto-sync: 2026-05-19 13:40:01 --- tasks/multi-agent/BACKLOG.md | 100 +++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 tasks/multi-agent/BACKLOG.md diff --git a/tasks/multi-agent/BACKLOG.md b/tasks/multi-agent/BACKLOG.md new file mode 100644 index 0000000..7077f02 --- /dev/null +++ b/tasks/multi-agent/BACKLOG.md @@ -0,0 +1,100 @@ +# Бэклог — Мультиагентная разработка ПО + +--- +type: backlog +updated_at: 2026-05-19 +--- + +## Решения (19.05.2026) + +### Analyst — пересмотр архитектуры + +**Было:** Analyst = Стрим (OpenClaw main agent), работает как посредник. + +**Стало:** Analyst = **отдельный полноценный агент OpenClaw** (не субагент). + +**Ключевые решения:** +- Analyst — первоклассный агент в `agents.list[]`, равноправен с main +- Слава общается с Analyst **напрямую** (не через Стрим) +- Каналы связи: **отдельный Telegram-чат** + **Plane** (комментарии) +- Модель: `anthropic/claude-sonnet-4-6` (API, не CLI) +- Свой workspace, своя память, свои сессии + +**Поведение:** +1. Получает задачу от Славы (Telegram или Plane) +2. Читает `00-business-request.md` + `CLAUDE.md` проекта +3. Если неясности → формирует вопросы, останавливается, ждёт ответа +4. Пишет BRD, ТЗ, AC, Test Plan +5. Коммитит в feature-ветку +6. Запрашивает approve у Славы + +**Правила:** +- ❌ Не пишет код +- ❌ Не трогает архитектуру, дизайн, ADR +- ❌ Не закрывает задачу без `:approved:` от Славы +- ❌ Не угадывает — спрашивает +- ✅ Читает весь репо (контекст) +- ✅ Пишет только в `docs/work-items//` +- ✅ Коммитит в feature-ветку +- ✅ Обновляет статусы в Plane + +**Поток:** +``` +Слава (Telegram) ──────► Analyst agent +Слава (Plane comment) ──► Analyst agent (через webhook) +Analyst ──► Git (коммит в feature-ветку) +Analyst ──► Plane (статус, комментарии) +Analyst ──► Слава (ответ в Telegram / Plane) +``` + +Стрим в цепочке НЕ участвует — Analyst автономен. + +--- + +## TODO: Analyst agent + +- [ ] Решить: тот же Telegram-бот (binding по peer) или отдельный бот? +- [ ] Решить: Plane webhook сразу или пока руками? +- [ ] Решить: первый проект — enduro-trails? +- [ ] Добавить `analyst` в `agents.list[]` в openclaw.json +- [ ] Создать workspace `~/.openclaw/workspace-analyst/` с AGENTS.md (промпт из proposal) +- [ ] Настроить Telegram binding +- [ ] Дать доступ к Gitea (SSH key или token для `claude-bot`) +- [ ] Дать `PLANE_API_TOKEN` в env агента +- [ ] Написать скилл `plane-api` (или использовать exec curl) +- [ ] Тестовый прогон: создать Work Item → Analyst пишет BRD + +--- + +## TODO: Инфраструктура (из ревью 18.05) + +- [x] Claude Code CLI установлен на mva154 (v2.1.142) +- [x] Gitea работает (v1.25.5) +- [x] Plane работает +- [x] Node.js на mva154 (v24.14.0) +- [x] Service account `claude-bot` в Gitea +- [x] Репо enduro-trails — каноническая структура +- [x] CI workflow (lint + test + build) +- [ ] Проверить авторизацию Claude CLI (`claude auth status`) +- [ ] Проверить Gitea Actions runner (работает ли?) +- [ ] Настроить branch protection на main +- [ ] Plane webhooks → endpoint + +--- + +## TODO: Orchestrator (Фаза 2) + +- [ ] FastAPI скелет: `/webhook/plane`, `/webhook/gitea`, `/health` +- [ ] QG-проверки (lint-spec, req-coverage, reaction check) +- [ ] Запуск агентов по событиям +- [ ] Репо `admin/agent-dev` — заполнить кодом + +--- + +## TODO: Остальные агенты (после Analyst) + +- [ ] Architect (Claude CLI, Opus) +- [ ] Developer (Claude CLI, Sonnet) +- [ ] Reviewer (Claude CLI, Opus) +- [ ] Tester (Claude CLI, Sonnet) +- [ ] Deployer (Claude CLI, Sonnet)