🎯 Цель задачи
Реализовать нового агента /architect, который не выполняет задачи напрямую, а выступает в роли менеджера-оркестратора: ставит подзадачи, контролирует их выполнение, проверяет результаты, мержит изменения в отдельную ветку и формирует финальный Pull Request для человеческого ревью.
📌 Ссылка на оригинальную задачу: link-assistant/hive-mind#935
🧠 Концепция работы агента
┌─────────────────────────────────────────┐
│ 🔹 Агент-Архитектор получает 1 задачу │
│ (ссылка на GitHub Issue) │
└─────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 🔹 Декомпозиция: │
│ • Разбивает задачу на N подзадач │
│ • Создаёт под-используя --split-by │
│ • Назначает метки (--label) │
└─────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 🔹 Параллельное выполнение: │
│ • Запускает /solve для каждой подзадачи│
│ • Использует общую ветку --base-branch│
│ • Мониторит статус через --watch │
└─────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 🔹 Валидация и мерж: │
│ • Проверяет готовность каждого PR │
│ • Выносит вердикт: approve / changes │
│ • Мержит в feature-ветку при --minimum-approvals │
└─────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 🔹 Финальная интеграция: │
│ • Проверяет согласованность решений │
│ • При необходимости создаёт доп. задачи│
│ • Формирует единый итоговый PR │
│ • Предоставляет на человеческое ревью │
└─────────────────────────────────────────┘
⚙️ Конфигурация команды
/architect <issue-url> [options]
| Опция |
Значение по умолчанию |
Описание |
--depth |
1 |
Глубина рекурсивной декомпозиции (1 = один уровень подзадач) |
--split-by |
2 |
На сколько подзадач делить одну задачу на каждом уровне |
--label |
"help wanted" |
Метка для автоматически создаваемых подзадач |
--minimum-approvals |
1 |
Минимальное количество аппрувов для автоматического мержа под-PR |
--orchestrate |
false |
Режим оркестрации: автоматический запуск /solve без зависимости от /hive |
--base-branch |
(из задачи) |
Ветка, в которую мержатся все подзадачи |
--use-base-issue-branch |
false |
Использовать ветку родительской задачи как базовую для подзадач |
--auto-use-base-issue-branch |
false |
Автоматически определять и использовать ветку родителя |
--watch |
false |
Режим постоянного мониторинга без перезапуска команды |
🔄 Жизненный цикл задачи
1️⃣ Инициализация
- Архитектор получает ссылку на главную задачу
- Анализирует описание, метки, приоритет
- Определяет тип задачи:
feature / bug / task / won't fix
2️⃣ Декомпозиция
- Генерирует план выполнения
- Создаёт подзадачи через GitHub API с меткой
--label
- Для каждой подзадачи:
- Указывает связь с родительской задачей
- Назначает ветку
--base-branch (общая для всех подзадач уровня)
3️⃣ Оркестрация выполнения
- Запускает
/solve <sub-issue-url> --base-branch <branch> --orchestrate
- Отслеживает статус через Telegram-уведомления [#380]
- При завершении подзадачи:
- Проверяет качество кода через
review.mjs
- Выносит вердикт через
gh pr review --approve или --request-changes
4️⃣ Интеграция
- После мержа всех подзадач одного уровня:
- Анализирует согласованность изменений
- При конфликтах/несоответствиях создаёт корректирующие подзадачи
- При рекурсии (
--depth > 1) переходит на следующий уровень
5️⃣ Финализация
- Когда все подзадачи закрыты и мержнуты:
- Создаёт финальный PR в основную ветку репозитория
- Добавляет сводное описание: что сделано, какие подзадачи решены
- Назначает ревьюверов, оставляет задачу на человеческое утверждение
🧩 Зависимости и предварительные требования
Перед реализацией необходимо убедиться, что реализованы:
| Задача |
Статус |
Описание |
| #380 |
✅ |
Уведомления в Telegram о завершении сессии |
| #1193 |
⏳ |
Оркестратор CLI-команда |
--base-branch в /solve |
✅ |
Корректная работа с целевой веткой |
--watch режим в /solve |
⚠️ |
Мониторинг без перезапуска |
| Поддержка подзадач в GitHub |
✅ |
Связь issue через parent/sub-issue |
🗂️ Предлагаемая структура кода
src/
├── commands/
│ └── architect.mjs # Основная логика команды /architect
├── agents/
│ ├── architect/
│ │ ├── planner.js # Декомпозиция задач
│ │ ├── orchestrator.js # Запуск и мониторинг подзадач
│ │ ├── validator.js # Проверка результатов и ревью
│ │ └── integrator.js # Финальный мерж и создание PR
│ └── shared/
│ ├── task-graph.js # Граф зависимостей задач
│ └── branch-manager.js # Управление ветками
├── utils/
│ ├── github-api.js # Обёртка над GitHub API
│ └── pr-utils.js # Утилиты для работы с PR
└── config/
└── architect-defaults.js # Значения по умолчанию для опций
🧪 Критерии приемки (Acceptance Criteria)
🚀 План реализации (по этапам)
Этап 1: Прототип (MVP)
Этап 2: Оркестрация
Этап 3: Ревью и мерж
Этап 4: Рекурсия и финализация
Этап 5: Стабилизация
🔗 Ссылки и ресурсы
🎯 Цель задачи
Реализовать нового агента
/architect, который не выполняет задачи напрямую, а выступает в роли менеджера-оркестратора: ставит подзадачи, контролирует их выполнение, проверяет результаты, мержит изменения в отдельную ветку и формирует финальный Pull Request для человеческого ревью.🧠 Концепция работы агента
⚙️ Конфигурация команды
--depth1--split-by2--label"help wanted"--minimum-approvals1--orchestratefalse/solveбез зависимости от/hive--base-branch--use-base-issue-branchfalse--auto-use-base-issue-branchfalse--watchfalse🔄 Жизненный цикл задачи
1️⃣ Инициализация
feature/bug/task/won't fix2️⃣ Декомпозиция
--label--base-branch(общая для всех подзадач уровня)3️⃣ Оркестрация выполнения
/solve <sub-issue-url> --base-branch <branch> --orchestratereview.mjsgh pr review --approveили--request-changes4️⃣ Интеграция
--depth > 1) переходит на следующий уровень5️⃣ Финализация
🧩 Зависимости и предварительные требования
Перед реализацией необходимо убедиться, что реализованы:
--base-branchв/solve--watchрежим в/solveparent/sub-issue🗂️ Предлагаемая структура кода
🧪 Критерии приемки (Acceptance Criteria)
--split-by,--label)/solve --orchestrateapprove/request changesчерезghCLI--minimum-approvalsmain)--depth > 1процесс декомпозиции рекурсивно повторяется для подзадач--watchдля долгосрочных задач без перезапуска🚀 План реализации (по этапам)
Этап 1: Прототип (MVP)
/architectс парсингом аргументов/solveдля одной подзадачи в тестовом режимеЭтап 2: Оркестрация
Этап 3: Ревью и мерж
ghCLI для автоматического ревью PRЭтап 4: Рекурсия и финализация
--depth > 1Этап 5: Стабилизация
🔗 Ссылки и ресурсы