# Бэклог — Мультиагентная разработка ПО --- 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: Тестирование / аудит (24.05.2026) - [ ] Определить тип Work Item для чистого тестирования (Audit / Regression или Feature+skip:*) - [ ] Описать YAML-схему Test Plan (чтобы Tester agent мог исполнять автономно) - [ ] Обновить `proposal_v1/09_ui_testing.md` под сценарий «регресс без новой фичи» - [ ] Прописать как Tester agent запускает Playwright + vision + формирует отчёт - [ ] Добавить тип `Audit` в список типов Work Item в `06_plane_integration.md` --- ## TODO: Управление бэклогом (24.05.2026) - [ ] Решить: кто и куда заводит задачи (Слава → Plane / через Analyst / через Стрим) - [ ] Описать правила декомпозиции крупных фич (тип `Decomposition`, когда и как) - [ ] Прописать правила работы с backlog (приоритет, эпик/фаза, когда заводить Phase) - [ ] Решить: кто обновляет статусы в Plane (Analyst? Orchestrator?) - [ ] Решить: Plane — единственный источник backlog'а или нужно отдельное хранилище --- ## TODO: Остальные агенты (после Analyst) - [ ] Architect (Claude CLI, Opus) - [ ] Developer (Claude CLI, Sonnet) - [ ] Reviewer (Claude CLI, Opus) - [ ] Tester (Claude CLI, Sonnet) - [ ] Deployer (Claude CLI, Sonnet)