@gian-tiaga/eda 3.2.1 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/agents/eda-aim-executor/agent.json +1 -2
- package/agents/eda-aim-planner/agent.json +1 -2
- package/agents/eda-aim-verifier/agent.json +1 -2
- package/agents/eda-commit-executor/agent.json +1 -2
- package/agents/eda-merge-worktree-executor/agent.json +1 -2
- package/agents/eda-review-api/agent.json +1 -2
- package/agents/eda-review-architecture/agent.json +1 -2
- package/agents/eda-review-business/agent.json +1 -2
- package/agents/eda-review-code-quality/agent.json +1 -2
- package/agents/eda-review-correctness/agent.json +1 -2
- package/agents/eda-review-database/agent.json +1 -2
- package/agents/eda-review-documentation/agent.json +1 -2
- package/agents/eda-review-frontend/agent.json +1 -2
- package/agents/eda-review-performance/agent.json +1 -2
- package/agents/eda-review-plan-alignment/agent.json +1 -2
- package/agents/eda-review-previous-reviews/agent.json +1 -2
- package/agents/eda-review-references/agent.json +1 -2
- package/agents/eda-review-rules/agent.json +1 -2
- package/agents/eda-review-security/agent.json +1 -2
- package/agents/eda-review-tests/agent.json +1 -2
- package/agents/eda-worktree-executor/agent.json +1 -2
- package/lib/renderers/claude-agent.js +0 -1
- package/package.json +1 -1
- package/skills/eda-aim/SKILL.md +13 -0
- package/skills/eda-commit/SKILL.md +13 -0
- package/skills/eda-merge-worktree/SKILL.md +13 -0
- package/skills/eda-orhestra/SKILL.md +13 -0
- package/skills/eda-plan/SKILL.md +13 -0
- package/skills/eda-plan-execute/SKILL.md +13 -0
- package/skills/eda-plan-polish/SKILL.md +13 -0
- package/skills/eda-polish/SKILL.md +13 -0
- package/skills/eda-review/SKILL.md +13 -0
- package/skills/eda-worktree/SKILL.md +13 -0
package/README.md
CHANGED
|
@@ -451,6 +451,7 @@ discover-automations может запускаться от review, fix-by-revie
|
|
|
451
451
|
- **Простой язык.** Скилы общаются с тобой так, чтобы понял человек без глубоких знаний предмета. Термины — только когда без них нельзя.
|
|
452
452
|
- **Все вопросы — интерактивно.** В Claude Code — через `AskUserQuestion`; в интерактивном Codex — через `request_user_input` или блокирующий вопрос в чат. В `codex exec` и других неинтерактивных запусках скил не имитирует диалог: если без ответа нельзя безопасно продолжать, он завершает работу со статусом `blocked: нужен ответ пользователя`.
|
|
453
453
|
- **Проверки — через субагентов.** `eda-review` запускает установленных read-only агентов нативным механизмом Claude/Codex. Если субагенты недоступны, review останавливается: CLI-fallback, кросс-проверки соседним провайдером и подмена ролей главным агентом не используются.
|
|
454
|
+
- **Технические остановки обрабатываются по причине.** Оркестраторы ждут свободный слот при лимите параллельности, запрашивают недостающее разрешение, один раз продолжают агента после временной API-ошибки и без бессмысленных retry останавливаются при лимите глубины, исчерпанной квоте или неизвестном сбое.
|
|
454
455
|
- **Повторяемые роли — в пакетных агентах.** Скилы управляют процессом, а стабильные изолированные роли получают собственный prompt, модель и доступ. Полные review-prompts не дублируются в оркестраторе.
|
|
455
456
|
- **Артефакты по папкам.** Исследования отдельно, планы отдельно, ревью отдельно. Между файлами — ссылки. Через месяц легко найти, кто что когда решал.
|
|
456
457
|
- **Границы между скилами жёсткие.** `plan-execute` только управляет субагентами и не коммитит — это работа `commit`. `review` не правит код — это `fix-by-review`. Никаких размытых ответственностей.
|
|
@@ -17,7 +17,6 @@ export function renderClaudeAgent(agent, prompt) {
|
|
|
17
17
|
lines.push(`model: ${agent.models.claude}`);
|
|
18
18
|
if (agent.reasoning?.claude) lines.push(`effort: ${agent.reasoning.claude}`);
|
|
19
19
|
if (agent.access === 'read-only') lines.push('permissionMode: plan');
|
|
20
|
-
if (agent.maxTurns) lines.push(`maxTurns: ${agent.maxTurns}`);
|
|
21
20
|
|
|
22
21
|
lines.push('---', '', prompt.trimEnd(), '');
|
|
23
22
|
return lines.join('\n');
|
package/package.json
CHANGED
package/skills/eda-aim/SKILL.md
CHANGED
|
@@ -43,6 +43,19 @@ aim:
|
|
|
43
43
|
- Не копируй системный промпт агента в сообщение с заданием.
|
|
44
44
|
- Если нужный агент или нативные субагенты недоступны, остановись: `blocked: нужен установленный агент <имя>`. Не выполняй его роль основным агентом и не заменяй отдельным CLI-процессом.
|
|
45
45
|
|
|
46
|
+
## Технические остановки субагентов
|
|
47
|
+
|
|
48
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
49
|
+
|
|
50
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
51
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
52
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
53
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
54
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
55
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
56
|
+
|
|
57
|
+
Ожидание слота и один технический retry не расходуют лимиты содержательных итераций или циклов достижения цели.
|
|
58
|
+
|
|
46
59
|
## Вопросы и автоматический режим
|
|
47
60
|
|
|
48
61
|
Агент может вернуть один конкретный `question`, 1–3 взаимоисключающих `options` и `recommended_answer`.
|
|
@@ -31,6 +31,19 @@ description: 'Коммитит выбранные или все незакомм
|
|
|
31
31
|
- Передавай агенту только рабочую директорию, данные текущего запуска и требуемый формат результата.
|
|
32
32
|
- Если custom agent или инструмент субагентов недоступен, остановись: `blocked: нужен установленный агент <имя>`; не выполняй его роль основным агентом и не заменяй отдельным CLI-процессом.
|
|
33
33
|
|
|
34
|
+
## Технические остановки субагентов
|
|
35
|
+
|
|
36
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
37
|
+
|
|
38
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
39
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй работу сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
40
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
41
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
42
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
43
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
44
|
+
|
|
45
|
+
Ожидание слота и один технический retry не меняют `$REQUESTED_ACTIONS` и не разрешают повторять уже выполненные git/GitHub-действия без сверки текущего состояния.
|
|
46
|
+
|
|
34
47
|
## Интерактивные вопросы
|
|
35
48
|
|
|
36
49
|
Когда агент вернул `blocked`, задай его один конкретный вопрос пользователю.
|
|
@@ -25,6 +25,19 @@ description: 'Мержит ветку из соседнего git worktree в т
|
|
|
25
25
|
- Передавай агенту только рабочую директорию, данные текущего запуска и требуемый формат результата.
|
|
26
26
|
- Если custom agent или инструмент субагентов недоступен, остановись: `blocked: нужен установленный агент eda-merge-worktree-executor`. Не выполняй его роль основным агентом и не заменяй отдельным CLI-процессом.
|
|
27
27
|
|
|
28
|
+
## Технические остановки субагентов
|
|
29
|
+
|
|
30
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
31
|
+
|
|
32
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
33
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй работу сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
34
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
35
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
36
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
37
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
38
|
+
|
|
39
|
+
Ожидание слота и один технический retry не разрешают повторять уже выполненный merge без сверки текущего состояния.
|
|
40
|
+
|
|
28
41
|
## Интерактивные вопросы
|
|
29
42
|
|
|
30
43
|
Когда агент вернул `blocked`, задай его один конкретный вопрос пользователю через общий паттерн `AskUserQuestion`.
|
|
@@ -110,6 +110,19 @@ orhestra:
|
|
|
110
110
|
5. Каждый повтор шага и каждый `on_failure.skill` считай новым вызовом: запускай его в новом изолированном субагенте с полным актуальным входом.
|
|
111
111
|
6. Если чистый контекст, субагент этапа или нужная составному скилу вложенная делегация недоступны, остановись с `blocked: недоступна изоляция этапа`. Не выполняй этап основным агентом и не вводи новый CLI-fallback, которого нет в инструкции вызываемого скилла.
|
|
112
112
|
|
|
113
|
+
## Технические остановки субагентов
|
|
114
|
+
|
|
115
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
116
|
+
|
|
117
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
118
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
119
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
120
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
121
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
122
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
123
|
+
|
|
124
|
+
Ожидание слота и один технический retry не расходуют лимиты содержательных итераций или QA-циклов.
|
|
125
|
+
|
|
113
126
|
## Выполнение и QA-цикл
|
|
114
127
|
|
|
115
128
|
Веди внутренний журнал: нормализованные шаги, текущий id, итоговый ввод, статус, созданные артефакты, review score и число QA-циклов. Отдельный orchestration-файл не создавай.
|
package/skills/eda-plan/SKILL.md
CHANGED
|
@@ -64,6 +64,19 @@ description: 'Создаёт понятный исполнимый план ре
|
|
|
64
64
|
14. Если нужны пакеты, библиотеки, CLI или сервисы, а версия не указана в контексте или lock-файлах, найди последнюю стабильную версию через context7 или web search. Не пиши `latest` без конкретной версии и источника.
|
|
65
65
|
15. Финальный план прост, исполним и без альтернатив вида «выбрать», «решить», «можно так или так», «предпочтительно».
|
|
66
66
|
|
|
67
|
+
## Технические остановки субагентов
|
|
68
|
+
|
|
69
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
70
|
+
|
|
71
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
72
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
73
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
74
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
75
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
76
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
77
|
+
|
|
78
|
+
Ожидание слота и один технический retry не расходуют лимиты содержательных итераций.
|
|
79
|
+
|
|
67
80
|
## Этапы
|
|
68
81
|
|
|
69
82
|
### 1. Собрать контекст
|
|
@@ -84,6 +84,19 @@ current_phase: <номер>
|
|
|
84
84
|
|
|
85
85
|
В Codex используй `spawn_agent` с `fork_turns: "none"`, в Claude Code — новый `Agent` с самодостаточным сообщением. Если изоляция или субагенты недоступны, остановись: `blocked: недоступно изолированное выполнение`. Работу основным агентом не делай и CLI-fallback не добавляй.
|
|
86
86
|
|
|
87
|
+
#### Технические остановки субагентов
|
|
88
|
+
|
|
89
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
90
|
+
|
|
91
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
92
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
93
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
94
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
95
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
96
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
97
|
+
|
|
98
|
+
Ожидание слота и один технический retry не считаются попыткой исправления фазы и не расходуют её лимит сходимости.
|
|
99
|
+
|
|
87
100
|
Каждому исполнителю фазы передай: рабочую директорию, `$PLAN_FILE`, номер и полный текст фазы, краткие результаты завершённых фаз, пути к `docs/rules.md`, `docs/arch.md`, `docs/business.md` и `docs/references.md`, ограничения пользователя, критерии проверки фазы и запрет коммитить и менять план и журнал.
|
|
88
101
|
|
|
89
102
|
Требуй YAML-результат:
|
|
@@ -33,6 +33,19 @@ description: 'Доводит план циклом ревью и исправл
|
|
|
33
33
|
4. Основной агент не меняет содержание плана. После `ready` он может обновить только front matter: `status`, `plan_review`, `plan_review_fix`.
|
|
34
34
|
5. Не запускай проверки проекта и не коммить.
|
|
35
35
|
|
|
36
|
+
## Технические остановки субагентов
|
|
37
|
+
|
|
38
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
39
|
+
|
|
40
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
41
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
42
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
43
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
44
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
45
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
46
|
+
|
|
47
|
+
Ожидание слота и один технический retry не расходуют `$LIMIT` и не считаются новой review-итерацией.
|
|
48
|
+
|
|
36
49
|
## Снапшот лучшей версии
|
|
37
50
|
|
|
38
51
|
Перед первым fix скопируй план в `docs/artifacts/plan-snapshots/{slug}.md` и запомни его score как лучший.
|
|
@@ -22,6 +22,19 @@ description: 'Итеративно ревьюит и исправляет изм
|
|
|
22
22
|
5. Не коммить и не отправляй ревью.
|
|
23
23
|
6. Останавливайся при повторном сбое обязательной проверки review, блокере fix-агента, несокращении числа открытых находок за полный круг или достижении лимита.
|
|
24
24
|
|
|
25
|
+
## Технические остановки субагентов
|
|
26
|
+
|
|
27
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
28
|
+
|
|
29
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
30
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй этап сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
31
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
32
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
33
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
34
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
35
|
+
|
|
36
|
+
Ожидание слота и один технический retry не расходуют `$LIMIT` и не считаются новой polish-итерацией.
|
|
37
|
+
|
|
25
38
|
## Вопросы
|
|
26
39
|
|
|
27
40
|
Если target неоднозначен, передай управление первому `eda-review`: он задаст один конкретный вопрос по правилам своей среды. Если шаг вернул `blocked`, основной агент повторяет только этот вопрос и после ответа продолжает тот же шаг.
|
|
@@ -98,6 +98,19 @@ description: 'Проводит полное read-only ревью diff, ветк
|
|
|
98
98
|
|
|
99
99
|
В Claude Code запускай установленный custom agent через `Agent` tool. В Codex запускай установленный custom agent через `spawn_agent` или аналог. Передай выбранную модель как runtime override. Если хост не умеет применить выбранную модель или нативные субагенты недоступны, остановись: не выполняй роли главным агентом и не создавай отдельные CLI-процессы.
|
|
100
100
|
|
|
101
|
+
### Технические остановки субагентов
|
|
102
|
+
|
|
103
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
104
|
+
|
|
105
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
106
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй проверку сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
107
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
108
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
109
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
110
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
111
|
+
|
|
112
|
+
Ожидание слота и один технический retry не считаются повторной содержательной проверкой агента.
|
|
113
|
+
|
|
101
114
|
Запусти все выбранные проверки одним параллельным пакетом; если хост ограничивает concurrency, разреши ему поставить лишние задачи в очередь. Каждому агенту передай только:
|
|
102
115
|
|
|
103
116
|
```text
|
|
@@ -27,6 +27,19 @@ description: 'Создаёт новый соседний git worktree и одн
|
|
|
27
27
|
- Передавай агенту только рабочую директорию, данные текущего запуска и требуемый формат результата.
|
|
28
28
|
- Если custom agent или инструмент субагентов недоступен, остановись: `blocked: нужен установленный агент eda-worktree-executor`. Не выполняй его роль основным агентом и не заменяй отдельным CLI-процессом.
|
|
29
29
|
|
|
30
|
+
## Технические остановки субагентов
|
|
31
|
+
|
|
32
|
+
Техническую ошибку инструмента субагентов не смешивай со статусами `failed` и `blocked` содержательного контракта. Сохрани полный исходный текст ошибки и обработай её по причине:
|
|
33
|
+
|
|
34
|
+
- лимит параллельности или отсутствие свободного слота — дождись уже запущенного этим workflow агента, при необходимости закрой завершённые потоки и повтори тот же запуск; если управляемых активных агентов нет, заверши `blocked: заняты слоты субагентов`;
|
|
35
|
+
- лимит глубины вложения — не повторяй запуск и не выполняй работу сам; заверши `blocked: достигнут лимит глубины субагентов`, указав наблюдаемую и требуемую глубину;
|
|
36
|
+
- исчерпана usage-квота — не делай автоматических повторов; заверши `blocked: исчерпана квота`, сохрани время reset или условие продолжения, если хост его сообщил;
|
|
37
|
+
- не хватает разрешения — запроси одно конкретное разрешение по правилам текущей среды и после ответа продолжи того же агента; в неинтерактивной среде заверши `blocked: нужно разрешение пользователя`;
|
|
38
|
+
- временная API-, server-, overload- или network-ошибка — один раз продолжи того же агента; если resume недоступен, один раз запусти ту же роль с исходным входом, полным частичным результатом и требованием сначала сверить текущее состояние; повторный такой сбой заверши как `blocked` с исходной ошибкой;
|
|
39
|
+
- неизвестная техническая ошибка — не угадывай причину и не зацикливай retry; заверши `blocked: техническая ошибка субагента` с полным исходным текстом.
|
|
40
|
+
|
|
41
|
+
Ожидание слота и один технический retry не разрешают создавать второй worktree без сверки текущего состояния.
|
|
42
|
+
|
|
30
43
|
## Интерактивные вопросы
|
|
31
44
|
|
|
32
45
|
Когда агент вернул `blocked`, задай его один конкретный вопрос пользователю через общий паттерн `AskUserQuestion`.
|