promt refactors
This commit is contained in:
85
agent_promts/implementations/gitea_issue_task_source.xml
Normal file
85
agent_promts/implementations/gitea_issue_task_source.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<GITEA_ISSUE_DRIVEN_PROTOCOL>
|
||||
<META>
|
||||
<PURPOSE>Определить единый, отказоустойчивый и полностью автоматизированный протокол для межагентной коммуникации, основанный на использовании высокоуровневого клиента 'gitea-client.zsh'.</PURPOSE>
|
||||
<VERSION>4.0</VERSION>
|
||||
</META>
|
||||
|
||||
<CORE_PRINCIPLES>
|
||||
<PRINCIPLE name="Abstraction_Is_Mandatory">
|
||||
<DESCRIPTION>**КЛЮЧЕВОЕ ИЗМЕНЕНИЕ:** Все взаимодействия с Gitea **ОБЯЗАНЫ** осуществляться исключительно через `gitea-client.zsh`. Прямые вызовы `tea` или `git` в рамках жизненного цикла задачи запрещены, чтобы гарантировать предсказуемость и централизованное управление логикой.</DESCRIPTION>
|
||||
</PRINCIPLE>
|
||||
<PRINCIPLE name="Automated_Context_Discovery">
|
||||
<DESCRIPTION>Клиент `gitea-client.zsh` автоматически определяет репозиторий (`{repo_slug}`) при инициализации. Агентам не нужно управлять этим состоянием. Роль (`{role_name}`) передается как первый аргумент при каждом вызове.</DESCRIPTION>
|
||||
</PRINCIPLE>
|
||||
<PRINCIPLE name="Human_Out_Of_The_Loop">
|
||||
<DESCRIPTION>Человек взаимодействует с системой исключительно через диалог с Агентом-Архитектором, который инициирует весь воркфлоу.</DESCRIPTION>
|
||||
</PRINCIPLE>
|
||||
<PRINCIPLE name="Pull_Request_As_The_Unit_Of_Work">
|
||||
<DESCRIPTION>Конечным продуктом работы Агента-Разработчика является формальный Pull Request (PR), который является основой для проверки и слияния.</DESCRIPTION>
|
||||
</PRINCIPLE>
|
||||
</CORE_PRINCIPLES>
|
||||
|
||||
<CLIENT_API name="gitea-client.zsh">
|
||||
<SYNTAX>`./gitea-client.zsh {role_name} {command} [options]`</SYNTAX>
|
||||
<COMMAND name="create-task">
|
||||
<SIGNATURE>`create-task --title "..." --body "..." --assignee "..." --labels "..."`</SIGNATURE>
|
||||
<PURPOSE>Создание новой задачи в Gitea.</PURPOSE>
|
||||
</COMMAND>
|
||||
<COMMAND name="find-tasks">
|
||||
<SIGNATURE>`find-tasks --type "{label_name}"`</SIGNATURE>
|
||||
<PURPOSE>Поиск открытых задач с нужным типом и статусом 'pending'.</PURPOSE>
|
||||
</COMMAND>
|
||||
<COMMAND name="update-task-status">
|
||||
<SIGNATURE>`update-task-status --issue-id ID --old "{label}" --new "{label}"`</SIGNATURE>
|
||||
<PURPOSE>Атомарное изменение статуса задачи (например, с 'pending' на 'in-progress').</PURPOSE>
|
||||
</COMMAND>
|
||||
<COMMAND name="create-pr">
|
||||
<SIGNATURE>`create-pr --title "..." --body "..." --head "{branch}" --base "{target_branch}"`</SIGNATURE>
|
||||
<PURPOSE>Создание Pull Request.</PURPOSE>
|
||||
</COMMAND>
|
||||
<COMMAND name="merge-and-complete">
|
||||
<SIGNATURE>`merge-and-complete --issue-id ID --pr-id ID --branch "{branch_to_delete}"`</SIGNATURE>
|
||||
<PURPOSE>Атомарная операция: слияние PR, удаление ветки и закрытие связанной задачи.</PURPOSE>
|
||||
</COMMAND>
|
||||
<COMMAND name="return-to-dev">
|
||||
<SIGNATURE>`return-to-dev --issue-id ID --pr-id ID --report "{defect_report_text}"`</SIGNATURE>
|
||||
<PURPOSE>Атомарная операция: отклонение PR, добавление комментария с отчетом и переназначение задачи разработчику.</PURPOSE>
|
||||
</COMMAND>
|
||||
</CLIENT_API>
|
||||
|
||||
<MASTER_WORKFLOW name="Automated_Feature_Lifecycle">
|
||||
<STEP id="1" name="Initiation (Architect Agent)">
|
||||
<ACTION>1. Архитектор, после согласования с человеком, создает задачу для Разработчика.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-architect create-task --title "Реализовать модуль X" --body "..." --assignee "agent-developer" --labels "type::development,status::pending"`</CLIENT_CALL>
|
||||
</STEP>
|
||||
|
||||
<STEP id="2" name="Implementation (Developer Agent)">
|
||||
<ACTION>1. Разработчик находит назначенную ему задачу.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-developer find-tasks --type "type::development"`</CLIENT_CALL>
|
||||
<ACTION>2. Берет задачу в работу.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-developer update-task-status --issue-id {issue-id} --old "status::pending" --new "status::in-progress"`</CLIENT_CALL>
|
||||
<ACTION>3. После написания кода и локальных тестов создает Pull Request.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-developer create-pr --title "feat: Реализован модуль X" --body "Closes #{issue-id}" --head "feature/{issue-id}-module-x"`</CLIENT_CALL>
|
||||
<ACTION>4. Создает задачу для QA-агента, передавая ему контекст (ID задачи и PR).</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-developer create-task --title "QA: Проверить реализацию модуля X" --body "PR: #{pr-id}\nIssue: #{issue-id}" --assignee "agent-qa" --labels "type::quality-assurance,status::pending"`</CLIENT_CALL>
|
||||
</STEP>
|
||||
|
||||
<STEP id="3" name="Verification_And_Merge (QA Agent)">
|
||||
<ACTION>1. QA-Агент находит свою задачу.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-qa find-tasks --type "type::quality-assurance"`</CLIENT_CALL>
|
||||
<ACTION>2. Берет задачу в работу.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-qa update-task-status --issue-id {qa-issue-id} --old "status::pending" --new "status::in-progress"`</CLIENT_CALL>
|
||||
<ACTION>3. Извлекает `PULL_REQUEST_ID` и `DEVELOPER_ISSUE_ID` из тела задачи и проводит аудит кода.</ACTION>
|
||||
|
||||
<SUCCESS_PATH name="If Audit Passed">
|
||||
<ACTION>Выполняет единую команду для слияния PR, удаления ветки и закрытия исходной задачи разработчика.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-qa merge-and-complete --issue-id {developer-issue-id} --pr-id {pr-id} --branch "feature/{issue-id}-module-x"`</CLIENT_CALL>
|
||||
</SUCCESS_PATH>
|
||||
|
||||
<FAILURE_PATH name="If Audit Failed">
|
||||
<ACTION>Выполняет единую команду для отклонения PR и возврата задачи разработчику с отчетом.</ACTION>
|
||||
<CLIENT_CALL>`./gitea-client.zsh agent-qa return-to-dev --issue-id {developer-issue-id} --pr-id {pr-id} --report "Найдены следующие дефекты: ..."`</CLIENT_CALL>
|
||||
</FAILURE_PATH>
|
||||
</STEP>
|
||||
</MASTER_WORKFLOW>
|
||||
</GITEA_ISSUE_DRIVEN_PROTOCOL>
|
||||
Reference in New Issue
Block a user