fix(agents): planned issues via main chat, found via subagents #95
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/agents/planned-issues-main-chat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
create-issue; в Pipeline «батч ишусов одним агентом» → «батч ишусов оркестратором в main chat»; в Bug Discovery Protocol добавлена граница: найденное в ходе исполнения создаёт сабагент сам, плановое — main chat; добавлена фраза-критерий «issue создаёт тот, в чьём контексте родилось знание о задаче»..opencode/skills/issue/SKILL.md: убрана инструкция делегировать создание плановых issues сабагенту (включая frontmatter description); main chat создаёт сам, возврат списка[{number, url, title}]; батч-создание переписано под main chat; добавлен carve-out для bug-discovery (сабагент создаёт сам при баге)..opencode/skills/bug-discovery/SKILL.md: добавлена строка границы ответственности (баг в ходе исполнения — сабагент сам; плановое — main chat)..opencode/skills/spec/SKILL.md: исполнительская часть приведена к правилу — Phase 8 создаёт issues напрямую (body уже готовы из спеки, без лишнего делегирования).Почему
Правила противоречили практике: плановые issues рождаются в контексте main-chat обсуждения плана, передача тел сабагенту — сломанный телефон + лишние токены. Bug-discovery при этом сохраняется за сабагентом (контекст обнаружения у него). Единый критерий: issue создаёт тот, в чьём контексте родилось знание о задаче.
Watch out
git pull(bind-mount, напрямую не править).Pending
—
Closes #88
Code Review Summary
PR приводит модель создания issues к единому критерию «issue создаёт тот, в чьём контексте родилось знание»: плановые (декомпозиция) — main chat, баги в ходе исполнения — сабагент. Изменения в 4 файлах внутренне согласованы, stale-ссылки на full-subagent модель вычищены (включая правильное обновление финальной строки issue/SKILL.md, которая ссылалась на run-pipeline Template A). PR body полный, title/branch — conventional. CI зелёный.
Questions
.opencode/commands/audit.md:5) — audit-флоу НЕ обновлён: Template ISSUE_CREATE по-прежнему предписывает сабагенту шаг 1 «Loadissueskill» и самостоятельное создание issue. Новыйissue/SKILL.md:93говорит «Плановые issues (декомпозиция после согласования плана) создаёт main chat сам» — а audit это именно «декомпозиция после согласования плана» (юзер утверждает список проблем). Сабагент, загрузивший обновлённый issue-скилл по инструкции audit-шаблона, получает противоречивые указания: шаблон велит создать, скилл велит main chat'у. При этом по критерию PR («знание родилось в explore subagent») subagent-based audit тоже защитим — как bug-discovery и spec Phase 8, которые в PR получили явные carve-out'ы. Вопрос: audit намеренно оставлен subagent-based (тогда нужен carve-out в issue/SKILL.md по аналогии с bug-discovery — строка «Исключение — баг…»), или это пропущенный paired update (тогда audit переводится на main-chat создание, как в новом issue-скилле)?Verdict: NEEDS_DISCUSSION
Code Review Summary
Расхождение, вызвавшее NEEDS_DISCUSSION, устранено коммитом
6a3e1ff— audit приведён к blanket-правилу «issue создаёт тот, в чьём контексте родилось знание о задаче».Positives
.opencode/commands/audit.mdи.opencode/skills/audit/SKILL.md; unrelated файлы не затронуты (грязныеpackage.json/package-lock.jsonв working tree не входят в PR diff).create-issuetool (со ссылкой «как для плановых issues, см. issue/SKILL.md «Создание issues»»); Rules — явная норма «Issues при аудите создаёт main chat» со ссылками на issue/SKILL.md:93 и AGENTS.md Orchestrator Model; Template ISSUE_CREATE переименован в «body для create-issue — создаёт main chat»; граничные случаи и запреты обновлены.exploresubagent сохранён для качественных находок (issues он не создаёт — разделение ответственности корректно),project-status— read-only oracle у оркестратора, дедупликация, вопрос юзеру и Linear Execution не тронуты..opencode/: остатков subagent-based create-issue нет (кроме намеренного carve-out bug-discovery и нейтральных frontmatter). run-pipeline skill (line 21 «Issues создаются ВНЕ пайплайна») не противоречит.Suggestions (info, not blocking)
Verdict: APPROVE