Одна сессия opencode в роли **Orchestrator** и четыре субагента — **Analyst**, **Coder**, **Reviewer**, **Tester**, которых Orchestrator вызывает через Task tool. Роли лежат в [`.opencode/agent/`](./.opencode/agent/), Orchestrator назначен агентом по умолчанию в [`opencode.json`](./opencode.json).
- возвращает Coder'у actionable findings; при существенном изменении скоупа перед follow-up просит Analyst'а дополнить аналитику (журнал), повторяет цикл, пока Critical/Major не закрыты;
- когда Critical/Major закрыты и проверки зелёные — без вопроса деплоит на тестовый сервис (`docker compose up -d --build`, затем `curl http://localhost:8080/api/health`);
- отдаёт финальный отчёт уже после деплоя: что написано, просмотрено и протестировано, оставшиеся риски и просьба проверить в браузере с очисткой кэша (Ctrl+Shift+R).
- **Analyst** (subagent) — перед Coder'ом фиксирует задание в `analytics/*.md`, дополняет его по ходу работы (правки только затронутых секций, документ целиком не переписывается), при необходимости актуализирует `README.md`; отчитывается `ANALYST_DONE`.
- **Coder** (subagent) — единственный меняет код продукта; отчитывается `CODER_DONE`.
- **Tester** (subagent, `edit: deny`) — прогоняет проверки; может создавать игнорируемые артефакты, но не меняет отслеживаемые файлы; отчитывается `TEST_DONE`.