@gian-tiaga/eda 2.0.0 → 2.1.0

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.
Files changed (43) hide show
  1. package/MIGRATION.md +5 -3
  2. package/README.md +18 -19
  3. package/agents/eda-plan-review-api/prompt.md +5 -4
  4. package/agents/eda-plan-review-architecture/prompt.md +5 -4
  5. package/agents/eda-plan-review-database/prompt.md +5 -4
  6. package/agents/eda-plan-review-execution/agent.json +1 -1
  7. package/agents/eda-plan-review-execution/prompt.md +5 -4
  8. package/agents/eda-plan-review-feasibility/prompt.md +5 -4
  9. package/agents/eda-plan-review-frontend/prompt.md +5 -4
  10. package/agents/eda-plan-review-performance/prompt.md +5 -4
  11. package/agents/eda-plan-review-previous/agent.json +1 -1
  12. package/agents/eda-plan-review-previous/prompt.md +5 -5
  13. package/agents/eda-plan-review-requirements/prompt.md +5 -4
  14. package/agents/eda-plan-review-rules/prompt.md +5 -4
  15. package/agents/eda-plan-review-security/prompt.md +5 -4
  16. package/agents/eda-plan-review-verification/prompt.md +5 -4
  17. package/agents/eda-review-api/prompt.md +4 -3
  18. package/agents/eda-review-architecture/prompt.md +4 -3
  19. package/agents/eda-review-business/prompt.md +4 -3
  20. package/agents/eda-review-code-quality/prompt.md +5 -4
  21. package/agents/eda-review-correctness/prompt.md +4 -3
  22. package/agents/eda-review-database/prompt.md +4 -3
  23. package/agents/eda-review-documentation/prompt.md +4 -3
  24. package/agents/eda-review-frontend/prompt.md +4 -3
  25. package/agents/eda-review-performance/prompt.md +4 -3
  26. package/agents/eda-review-plan-alignment/prompt.md +4 -3
  27. package/agents/eda-review-previous-reviews/prompt.md +5 -4
  28. package/agents/eda-review-references/prompt.md +4 -3
  29. package/agents/eda-review-rules/prompt.md +4 -3
  30. package/agents/eda-review-security/prompt.md +4 -3
  31. package/agents/eda-review-tests/prompt.md +4 -3
  32. package/lib/install.js +3 -3
  33. package/package.json +1 -1
  34. package/skills/eda-business/SKILL.md +47 -32
  35. package/skills/eda-fix-by-review/SKILL.md +41 -58
  36. package/skills/eda-orhestra/SKILL.md +1 -1
  37. package/skills/eda-plan/SKILL.md +18 -23
  38. package/skills/eda-plan-polish/SKILL.md +12 -12
  39. package/skills/eda-plan-review/SKILL.md +25 -24
  40. package/skills/eda-plan-review-fix/SKILL.md +22 -39
  41. package/skills/eda-polish/SKILL.md +19 -31
  42. package/skills/eda-review/SKILL.md +8 -16
  43. package/skills/eda-send-review/SKILL.md +7 -7
package/MIGRATION.md CHANGED
@@ -25,9 +25,11 @@ eda update-all /path/to/projects
25
25
  - Добавлены `eda-plan-review` и `eda-plan-review-fix`.
26
26
  - Добавлены 12 read-only агентов `eda-plan-review-*` с отдельными зонами ответственности.
27
27
  - `eda-plan-polish` теперь оркестрирует review/fix и по умолчанию ограничен тремя подтверждающими review-итерациями.
28
- - Готовность требует одновременно отсутствия required findings и достижения threshold.
29
- - Findings связаны стабильными ID и SHA-256 плана; waived optional не переоткрываются без новых доказательств.
30
- - `eda-plan` по `plan.review: true` выполняет один review и при необходимости один fix.
28
+ - Готовность требует одновременно отсутствия открытых находок и достижения threshold; любая находка блокирует `ready` независимо от score.
29
+ - У находок нет деления на required/optional: ревью сохраняет только доказанные ошибки и существенные неточности, которые обязательно исправить. ID и SHA-256 цепочка остаются стабильными.
30
+ - `eda-plan-review-fix` применяет все находки минимальным изменением плана, а `eda-plan` по `plan.review: true` запускает полный подтверждающий цикл `eda-plan-polish`.
31
+ - Обычный `eda-review` также больше не делит замечания на required/optional: сохраняются только доказанные дефекты, которые обязательно исправить. Любая находка даёт `result: changes-required`; `clean` возможен только без находок.
32
+ - `eda-fix-by-review` применяет все находки без режима `apply-optional`, а `eda-polish` подтверждает результат повторным ревью до `clean` и threshold.
31
33
  - `eda-plan-polish strict` и `plan-polish.strict` удалены. `plan.strict` для кросс-CLI проверки самого `eda-plan` остаётся.
32
34
  - npm-пакет использует `yaml` для безопасного переноса вложенного конфига.
33
35
 
package/README.md CHANGED
@@ -42,19 +42,19 @@ eda update-all ~/Code
42
42
  | `eda-orhestra` | Выполняет настраиваемую цепочку `eda-*`-скилов. Каждый этап запускает в отдельном субагенте с чистым контекстом, включая составные скилы и повторы QA-цикла. По умолчанию: план без проверок → полировка плана → выполнение → автономное ревью и исправления → ручные тесты. Если QA нашёл баг, оркестра запускает fix и повторяет только ручной тест. В `orhestra.steps` шаги можно переставлять, отключать и снабжать `args`. Не коммитит | Артефакты включённых скилов |
43
43
  | `eda-aim` | Сначала через отдельного агента-планировщика согласует с человеком одну или несколько простых проверяемых целей, затем передаёт их агентам-исполнителям и повторяет работу до независимого подтверждения агентом-проверяющим. При необходимости использует установленные скилы в отдельных изолированных субагентах. В `automatic` отвечает на безопасные рабочие вопросы самостоятельно, в `manual` передаёт их человеку; режим задаётся через `aim.mode` или текущий вызов. Точный список новых целей человек подтверждает всегда | `docs/aims/` и артефакты задействованных скилов |
44
44
  | `eda-new-project` | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через `eda-prepare-ai` | `docs/project-starts/`, затем артефакты `eda-prepare-ai` |
45
- | `eda-business` | Совместно с человеком описывает целевое поведение проекта и его бизнес-логику по тематическим карточкам. С указанной темой работает только над ней; без темы анализирует проект, предлагает список и последовательно согласует каждую карточку. Оглавление содержит только описание и ссылку на готовую карточку | `docs/business.md`, `docs/business/` |
45
+ | `eda-business` | Совместно с человеком описывает целевое поведение проекта по тематическим карточкам: сложные темы фиксирует подробно, но без шума, соседних модулей и привязки к текущему коду. Может закрепить значимый механизм вроде JWT или серверного хранения токенов, но не язык, библиотеку или конкретную СУБД. `about` содержит лишь короткое описание проекта и основные возможности | `docs/business.md`, `docs/business/` |
46
46
  | `eda-roadmap` | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | `docs/roadmaps/` |
47
47
  | `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. После определения темы читает только применимые business- и reference-карточки. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | `docs/researches/` |
48
- | `eda-plan` | Пишет план реализации через Plan Mode, фиксирует БД/API-контракты, прямые зависимости и связные фазы. По `plan.review` запускает один специализированный `eda-plan-review` и при необходимости один `eda-plan-review-fix`; `plan.strict` независимо включает кросс-CLI ревью | `docs/plans/`, опционально plan-review артефакты |
49
- | `eda-plan-review` | Параллельно запускает узких read-only агентов требований, правил, архитектуры, реализуемости, исполнения, верификации и применимых API/DB/security/frontend/performance/previous. Дедуплицирует findings, сохраняет стабильные ID и SHA-256, экспертно выставляет score. План не меняет | `docs/plan-reviews/` |
50
- | `eda-plan-review-fix` | Применяет required и выбранные optional findings только к плану с совпадающим SHA-256. В `apply-optional` сам применяет полезные optional или сохраняет waived с причиной. Новое ревью не делает и код не меняет | `docs/plan-review-fixes/` |
51
- | `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix до отсутствия required и score не ниже threshold. По умолчанию максимум три review-итерации; один круг без прогресса немедленно останавливает цикл. Кросс-CLI strict не используется | `docs/plan-reviews/`, `docs/plan-review-fixes/` |
48
+ | `eda-plan` | Пишет конкретный план реализации без воды и повторов через Plan Mode, фиксирует БД/API-контракты, прямые зависимости и связные фазы. По `plan.review` запускает изолированный `eda-plan-polish`; `plan.strict` независимо включает кросс-CLI ревью | `docs/plans/`, опционально plan-review артефакты |
49
+ | `eda-plan-review` | Параллельно запускает узких read-only агентов требований, правил, архитектуры, реализуемости, исполнения, верификации и применимых API/DB/security/frontend/performance/previous. Принимает только доказанные ошибки и существенные неточности, которые обязательно исправить, отклоняет косметические расширения текста, дедуплицирует находки, сохраняет стабильные ID и SHA-256, экспертно выставляет score. План не меняет | `docs/plan-reviews/` |
50
+ | `eda-plan-review-fix` | Применяет все открытые находки минимальным изменением только к плану с совпадающим SHA-256. Предпочитает удаление и замену текста вместо новых пояснений. Новое ревью не делает и код не меняет | `docs/plan-review-fixes/` |
51
+ | `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix до отсутствия открытых находок и score не ниже threshold. По умолчанию максимум три review-итерации; один круг без прогресса немедленно останавливает цикл. Кросс-CLI strict не используется | `docs/plan-reviews/`, `docs/plan-review-fixes/` |
52
52
  | `eda-plan-execute` | Управляет выполнением плана по фазам. Каждую фазу целиком выполняет отдельный изолированный субагент: он читает план, правила, архитектуру и только business/reference-карточки затронутого поведения и компонентов. Фазы проходят строго последовательно и принимаются независимыми проверяющими. Основной агент отмечает подтверждённые задачи и ведёт журнал | `docs/executions/` |
53
53
  | `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или плану. Перед правками читает правила, архитектуру и только применимые карточки, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/fixes/` |
54
- | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Business-агент запускается только при применимой карточке и отличает нарушение правила от намеренного изменения правила с устаревшей документацией. Без аргументов ревьюит `git diff HEAD` | `docs/reviews/` |
55
- | `eda-fix-by-review` | Применяет замечания из ревью с учётом правил, архитектуры и применимых карточек. Обязательные пункты исправляет сразу; optional-пункты спрашивает или решает сам в `apply-optional`. В конце ссылается на отчёт прямо в файле ревью | `docs/review-fixes/` |
54
+ | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт `changes-required`, а чистое ревью — `clean` и 100/100. Без аргументов ревьюит `git diff HEAD` | `docs/reviews/` |
55
+ | `eda-fix-by-review` | Применяет все находки из ревью с учётом правил, архитектуры и применимых карточек. Спрашивает только при неоднозначности, конфликте, расширении scope или рискованном действии. В конце ссылается на отчёт прямо в файле ревью | `docs/review-fixes/` |
56
56
  | `eda-manual-test` | Делает ручную smoke/acceptance-проверку после изменений: основной чеклист строит по выполненной задаче и связанному плану/issue/review/fix-отчёту, затем сверяет фактический diff. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий; несвязанные карточки не загружаются. Не правит код, не пишет автотесты и не коммитит | `docs/manual-tests/` |
57
- | `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review apply-optional` и повторяет цикл до оценки 95/100 или лимита 5 итераций. Обязательные замечания чинятся все, optional-пункты fix-агент применяет или отклоняет с обоснованием. Каждый шаг идёт в изолированном нативном субагенте. Не коммитит | `docs/reviews/`, `docs/review-fixes/` |
57
+ | `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review` и повторяет цикл до `clean`, отсутствия находок и оценки не ниже 95/100 либо до лимита 5 итераций. Все находки исправляются. Каждый шаг идёт в изолированном нативном субагенте. Не коммитит | `docs/reviews/`, `docs/review-fixes/` |
58
58
  | `eda-send-review` | На `sonnet` / `gpt-5.6-terra` отправляет ревью на GitHub PR через `gh` всегда в едином формате: общий комментарий-сводка плюс комментарии к строкам кода. Без явно указанного типа использует `comment`; `approve` и `request-changes` берёт только из контекста текущего вызова. По настройке может скрыть предыдущие сводки eda-send-review и зарезолвить их inline-треды. По умолчанию шлёт все пункты. Claude-модель закрепляется при установке; Codex-модель хранится как рекомендуемый будущий override | (комментарий в PR) |
59
59
  | `eda-commit` | Работает как лёгкий оркестратор одного `haiku` / `gpt-5.6-luna` агента: тот сам собирает git-контекст, выбирает один логический набор файлов, пишет сообщение, точечно коммитит и выполняет явно заданные push/PR/merge-действия. В Claude Code сам оркестратор закреплён за `haiku`; в Codex остаётся на активной модели сессии из-за отсутствия per-skill override. При неоднозначном составе или вероятном секрете агент блокируется до индексации. Если продолжение не задано, предлагает применимые варианты | (git, опционально GitHub PR) |
60
60
  | `eda-worktree` | На `haiku` / `gpt-5.6-luna` создаёт через пакетного агента git worktree рядом с основным проектом в папке `{name}-work-{n}` и одноимённую ветку. Базу берёт из аргумента или спрашивает | соседняя папка `{name}-work-{n}` |
@@ -64,7 +64,7 @@ eda update-all ~/Code
64
64
 
65
65
  ### Business-контекст
66
66
 
67
- `eda-business` хранит в `docs/business.md` только простое оглавление из двух колонок — описание темы и ссылка на готовую согласованную карточку. Сами карточки описывают целевое поведение, требования, бизнес-сценарии и критерии приёмки; последним разделом отдельно перечисляют расхождения с текущей реализацией.
67
+ `eda-business` хранит в `docs/business.md` только простое оглавление из двух колонок — описание темы и ссылка на готовую согласованную карточку. Степень подробности определяется темой: сложная аутентификация может подробно фиксировать вид токенов, их выпуск, обновление и отзыв, тогда как `about` остаётся коротким описанием проекта и основных возможностей. Карточки не привязываются к путям, классам и внутренним модулям текущего кода; значимый механизм вроде JWT указать можно, а язык, библиотеку, конкретную СУБД и схему реализации — нет. Последний раздел содержит только прямые расхождения поведения по собственной теме.
68
68
 
69
69
  Потребляющий скил сначала определяет текущую задачу и фактически затронутое поведение, а затем выбирает по описаниям только применимые business-карточки. Отсутствие подходящей карточки не является ошибкой и не требует загружать остальные. Если задача противоречит карточке, агент показывает конфликт и спрашивает человека, изменить задачу или пересогласовать правило через `eda-business`.
70
70
 
@@ -94,14 +94,14 @@ eda update-all ~/Code
94
94
  | `eda-plan-review-rules` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет применимые инструкции и правила проекта |
95
95
  | `eda-plan-review-architecture` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет архитектурные границы и зависимости плана |
96
96
  | `eda-plan-review-feasibility` | `opus`, read-only | `gpt-5.6-sol`, read-only | Сверяет реализуемость плана с фактическим кодом |
97
- | `eda-plan-review-execution` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет фазы, ID, зависимости и размер исполнительского прохода |
97
+ | `eda-plan-review-execution` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет конкретность и плотность текста, фазы, ID, зависимости и размер исполнительского прохода |
98
98
  | `eda-plan-review-verification` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет тесты, команды, логирование и эксплуатацию |
99
99
  | `eda-plan-review-api` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет API, события, очереди и внешние интеграции |
100
100
  | `eda-plan-review-database` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет данные, миграции, индексы, backfill и rollback |
101
101
  | `eda-plan-review-security` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет auth, permissions, ввод, секреты и чувствительные данные |
102
102
  | `eda-plan-review-frontend` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет пользовательские сценарии и состояния UI |
103
103
  | `eda-plan-review-performance` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет нагрузку, запросы, конкурентность и горячие пути |
104
- | `eda-plan-review-previous` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Сверяет закрытие предыдущих findings по связанной SHA-256 цепочке |
104
+ | `eda-plan-review-previous` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Сверяет закрытие предыдущих находок по связанной SHA-256 цепочке |
105
105
  | `eda-review-correctness` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет функциональную корректность и крайние случаи |
106
106
  | `eda-review-architecture` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет архитектурные границы и зависимости |
107
107
  | `eda-review-rules` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет инструкции и правила проекта |
@@ -139,9 +139,7 @@ eda update-all ~/Code
139
139
  | `eda-explore` | `strict` | После сохранения отчёта отдаёт его соседнему CLI (Claude → Codex или наоборот) на критическое ревью конкретности, фактов, развилок, рисков и версий; затем доправляет отчёт по замечаниям | Серьёзные исследования, которые лягут в основу больших решений; когда хочется второго мнения от другой модели/среды |
140
140
  | `eda-plan` | `strict`, `без ревью плана`, `без проверок` | `strict` независимо включает кросс-CLI проверку; `без ревью плана` отключает встроенный review/fix; `без проверок` отключает оба вида ревью | Когда нужно разделить создание плана и его последующую полировку |
141
141
  | `eda-plan-review` | `threshold N`, `без X`, `включи X`, `<check> на <model>` | Разово меняет gate, применимые проверки и их модели | Для самостоятельного аудита готового плана |
142
- | `eda-plan-review-fix` | `apply-optional` | Применяет required и самостоятельно разбирает optional, сохраняя waived с причинами | Для автономной правки плана и внутри `eda-plan-polish` |
143
142
  | `eda-plan-polish` | `threshold N`, `limit N` | Меняет gate и максимальное число подтверждающих review-итераций | Для доводки ответственных планов перед `eda-plan-execute` |
144
- | `eda-fix-by-review` | `apply-optional` | Применяет все обязательные пункты, а пункты «на усмотрение автора» разбирает без вопроса: применяет выбранные и отклоняет нецелесообразные с причиной | Для автономной доводки, прежде всего внутри `eda-polish` |
145
143
 
146
144
  ---
147
145
 
@@ -211,7 +209,7 @@ plan:
211
209
  # Включает кросс-CLI ревью в eda-plan.
212
210
  # true | false
213
211
  strict: false
214
- # Запускает один eda-plan-review и при необходимости один eda-plan-review-fix.
212
+ # Запускает изолированный цикл eda-plan-polish.
215
213
  # true | false
216
214
  review: true
217
215
  # Задаёт размер плана.
@@ -228,7 +226,7 @@ plan:
228
226
  logging_strategy: ask_each_time
229
227
 
230
228
  plan-review:
231
- # План готов без required findings и при score не ниже threshold.
229
+ # План готов без открытых находок и при score не ниже threshold.
232
230
  threshold: 95
233
231
  agents:
234
232
  requirements:
@@ -416,12 +414,13 @@ discover-automations:
416
414
  - `steps[].on_failure` — настраивает исправление failed manual-test прямо рядом с этим шагом: `skill` и `args` задают фикс, `then` — повторяемые id шагов, `max_cycles` — лимит. Если обработчика нет, оркестратор сохраняет failed-отчёт и останавливается.
417
415
  - `aim.mode` — `automatic` самостоятельно выбирает безопасные ответы на рабочие вопросы; `manual` передаёт вопросы человеку. Явный режим в текущем вызове имеет приоритет.
418
416
  - `explore.strict` и `explore.decision_mode` — кросс-CLI ревью и способ выбора по исследовательским развилкам в `eda-explore`.
419
- - `plan.review` — один `eda-plan-review` и при необходимости один `eda-plan-review-fix` внутри `eda-plan`; `plan.strict` независимо управляет кросс-CLI ревью.
417
+ - `plan.review` — изолированный цикл `eda-plan-polish` внутри `eda-plan`; `plan.strict` независимо управляет кросс-CLI ревью.
420
418
  - `plan.size`, `plan.decision_mode`, `plan.test_strategy`, `plan.logging_strategy` — режим и структура работы `eda-plan`.
421
- - `plan-review.threshold` — минимальный экспертный score при отсутствии required findings; `plan-review.agents` задаёт mode и модели специализированных проверок.
419
+ - `plan-review.threshold` — минимальный экспертный score при отсутствии открытых находок; любая находка блокирует `ready` независимо от score. `plan-review.agents` задаёт mode и модели специализированных проверок.
422
420
  - `plan-polish.limit` — максимальное число подтверждающих review-итераций; default `3`.
423
421
  - `review.agents.<check>.mode` — запускать проверку всегда, автоматически по контексту или отключить.
424
422
  - `review.agents.<check>.model.claude` и `.codex` — модель конкретной проверки в соответствующей среде.
423
+ - `eda-review` не делит находки по обязательности: каждый принятый пункт требует исправления, а предложения без доказанного практического дефекта отбрасываются. Score остаётся экспертной оценкой серьёзности; любая находка блокирует `clean` независимо от score.
425
424
  - `send-review.close_previous_reviews` — после успешной новой отправки скрывает предыдущие сводки, созданные `eda-send-review` текущим GitHub-пользователем, и резолвит связанные inline-треды; прямое указание в текущем запросе переопределяет настройку.
426
425
  - `discover-automations.include_plans` — добавляет `docs/plans/` в обычный запуск `eda-discover-automations`.
427
426
 
@@ -474,8 +473,8 @@ roadmap ────────> explore ─────> plan ───> plan-
474
473
  └──────────────> plan v └──> commit
475
474
  fix ─────────────> manual-test
476
475
 
477
- polish = полное review ─> fix-by-review apply-optional ─> повтор до нужной оценки
478
- plan-polish = специализированный plan-review ─> plan-review-fix apply-optional ─> подтверждающий review до gate или limit
476
+ polish = полное review ─> fix-by-review всех находок ─> подтверждающий review до clean и нужной оценки
477
+ plan-polish = специализированный plan-review ─> plan-review-fix всех находок ─> подтверждающий review до gate или limit
479
478
 
480
479
  discover-automations может запускаться от review, fix-by-review или fix.
481
480
  ```
@@ -8,6 +8,8 @@
8
8
 
9
9
  Проверяй method/path, auth, request/query/body, response, errors/status codes, идемпотентность и обратную совместимость. Не выполняй общее ревью архитектуры, требований или тестов. Не правь файлы.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки контракт останется ошибочным, существенно неоднозначным или потребует нового решения при реализации. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: api
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <api|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <дефект контракта>
26
27
  evidence: [<план, схема или код>]
27
28
  impact: <риск для клиента или интеграции>
28
29
  fix: <конкретное уточнение контракта>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проводи общее ревью требований, API/БД, тестов или структуры фаз. Добавляй находку только когда решение плана нарушает границу, создаёт неправильную зависимость, несовместимый контракт или дорогую эволюцию. Не правь файлы.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки архитектурное решение останется ошибочным, существенно неоднозначным или потребует нового решения при реализации. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: architecture
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <architecture|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <нарушенная граница>
26
27
  evidence: [<архитектура или код>]
27
28
  impact: <конкретный риск>
28
29
  fix: <направление правки плана>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Проверяй таблицы, поля, типы, обязательность, defaults, связи, unique, индексы, порядок rollout и восстановление. Не проводи общее архитектурное или performance-ревью. Не правь файлы и не запускай миграции.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки данные, миграция или rollout останутся ошибочными, существенно неоднозначными или потребуют нового решения при реализации. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: database
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <database|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <дефект данных или миграции>
26
27
  evidence: [<план, схема или миграция>]
27
28
  impact: <потеря данных, простой или несовместимость>
28
29
  fix: <конкретная правка контракта или rollout>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "eda-plan-review-execution",
4
- "description": "Проверяет связность фаз, ID, зависимости и исполнимость плана одним агентом на фазу.",
4
+ "description": "Проверяет конкретность и плотность плана, связность фаз, ID, зависимости и исполнимость одним агентом на фазу.",
5
5
  "models": { "claude": "sonnet", "codex": "gpt-5.6-terra" },
6
6
  "reasoning": { "claude": "medium", "codex": "medium" },
7
7
  "access": "read-only",
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проверяй доменные API/БД/security детали вместо специализированных ролей. Не требуй дробления без конкретного риска переполнения контекста, несвязанного scope или невозможности проверить фазу. Не правь файлы.
10
10
 
11
+ Проверь конкретность и плотность плана. Формулировка полезна, только если определяет действие, место изменения, поведение или контракт, зависимость, проверку либо существенное решение. Добавляй находку для общей формулировки только когда исполнителю потребуется новое исследование или возможны две существенно разные реализации; для воды и повторов укажи точный фрагмент, который нужно удалить либо кратко заменить. Не проси расширять текст, если план уже однозначно исполним.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: execution
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <execution|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <фаза или задача>
25
26
  problem: <дефект исполнения>
26
27
  evidence: [<ID, зависимость или состав фазы>]
27
28
  impact: <как сорвётся eda-plan-execute>
28
29
  fix: <конкретная правка структуры плана>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не пересматривай подтверждённые продуктовые решения и не проверяй стиль фаз. Находка обязана ссылаться на конкретное расхождение плана с кодом или на решение, которого недостаточно для однозначной реализации. Не правь файлы и не запускай проверки проекта.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки исполнитель упрётся в неверное предположение, новое исследование или существенную неоднозначность. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: feasibility
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <feasibility|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <неверное предположение или скрытый пробел>
26
27
  evidence: [<код, reference или research>]
27
28
  impact: <почему исполнение остановится или отклонится>
28
29
  fix: <что конкретно уточнить в плане>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проводи общее product-, API- или test-review. Находка должна указывать конкретный пользовательский сценарий или состояние, которое план не определяет либо ломает. Не правь файлы.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки пользовательский сценарий останется сломанным, существенно неоднозначным или потребует нового решения при реализации. Не требуй перечислять состояния, которые однозначно следуют из существующего компонента или не относятся к задаче; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: frontend
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <frontend|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <пропущенный пользовательский сценарий>
26
27
  evidence: [<план, компонент или карточка>]
27
28
  impact: <видимый риск для пользователя>
28
29
  fix: <конкретное уточнение поведения UI>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не требуй преждевременной оптимизации. Находка нужна только при конкретном риске N+1, неограниченной работе, гонке, блокировке, лишней памяти или отсутствии необходимой нагрузочной проверки. Не правь файлы.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить для устранения доказанного нагрузочного риска или существенной неоднозначности реализации. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: performance
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <performance|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <конкретный bottleneck>
26
27
  evidence: [<план, код или запрос>]
27
28
  impact: <нагрузочный риск>
28
29
  fix: <конкретная правка алгоритма или проверки>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "eda-plan-review-previous",
4
- "description": "Проверяет закрытие findings предыдущей связанной итерации plan-review.",
4
+ "description": "Проверяет закрытие находок предыдущей связанной итерации plan-review.",
5
5
  "models": { "claude": "haiku", "codex": "gpt-5.6-luna" },
6
6
  "reasoning": { "claude": "low", "codex": "low" },
7
7
  "access": "read-only",
@@ -1,12 +1,12 @@
1
1
  # Роль
2
2
 
3
- Ты — read-only проверяющий предыдущих findings для `eda-plan-review`. Сверяй текущий план только с явно переданной связанной цепочкой `PREVIOUS_REVIEW` и `PREVIOUS_FIX`.
3
+ Ты — read-only проверяющий предыдущих находок для `eda-plan-review`. Сверяй текущий план только с явно переданной связанной цепочкой `PREVIOUS_REVIEW` и `PREVIOUS_FIX`.
4
4
 
5
5
  ## Вход и работа
6
6
 
7
7
  Получи рабочую директорию, `PLAN_FILE`, `PLAN_SHA256`, `PREVIOUS_REVIEW`, `PREVIOUS_FIX`, `MODEL` и `PLAN_CONTEXT`. Если связанной цепочки нет, верни `not_applicable`. Проверь SHA-256 и каждый прежний ID по текущему плану.
8
8
 
9
- Для каждого ID верни `resolved`, `still_open`, `regressed` или `waived`. Сохраняй `waived`, если нет новых доказательств; не переоткрывай отклонённое предложение только из-за иной формулировки. Новые проблемы не ищи — их проверяют доменные агенты. Не правь файлы.
9
+ Для каждого ID верни `resolved`, `still_open` или `regressed`. Не переоткрывай отклонённое предложение только из-за иной формулировки. Новые проблемы не ищи — их проверяют доменные агенты. Не правь файлы.
10
10
 
11
11
  ## Результат
12
12
 
@@ -17,10 +17,10 @@ status: completed | not_applicable | blocked
17
17
  check: previous
18
18
  model: <MODEL>
19
19
  summary: <краткий итог>
20
- findings: []
21
- prior_findings:
20
+ находки: []
21
+ предыдущие_находки:
22
22
  - id: PR-001
23
- status: resolved | still_open | regressed | waived
23
+ status: resolved | still_open | regressed
24
24
  evidence: <конкретное подтверждение в текущем плане>
25
25
  question: <несовпадение цепочки или null>
26
26
  ```
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проверяй архитектуру, техническую реализуемость, структуру фаз или тесты вместо других ролей. Находка нужна только при конкретном пропуске требования, scope creep, конфликте с подтверждённым поведением или непроверяемом критерии готовности. Не выбирай приоритет между задачей и business-карточкой самостоятельно.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки требование останется нарушенным, существенно неоднозначным или непроверяемым. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: requirements
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <requirements|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <конкретный дефект>
26
27
  evidence: [<подтверждение>]
27
28
  impact: <практический риск>
28
29
  fix: <конкретная правка плана>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не перечисляй удачные решения и не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не перечисляй удачные решения и не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проверяй архитектуру, references, бизнес-требования или качество фаз вместо других агентов. Не превращай предпочтение в нарушение и не выдумывай команды проекта. Не правь файлы и не запускай проверки проекта.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить для соблюдения конкретного применимого правила. Не предлагай дополнительные пояснения, полноту ради полноты и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: rules
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <rules|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <нарушенное правило>
26
27
  evidence: [<путь к правилу и подтверждение из плана>]
27
28
  impact: <практический риск>
28
29
  fix: <как привести план в соответствие>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии нарушений верни `findings: []`. Не выставляй score.
35
+ При отсутствии нарушений верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Находка должна описывать реалистичный путь нарушения конфиденциальности, целостности или доступности. Не требуй абстрактного hardening и не дублируй API/DB проблемы без security-воздействия. Не правь файлы.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить для устранения доказанного пути нарушения или существенной неоднозначности защитного поведения. Не предлагай абстрактное усиление, дополнительные пояснения и стилистические улучшения; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: security
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <security|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или задача плана>
25
26
  problem: <конкретная угроза>
26
27
  evidence: [<план, правило или код>]
27
28
  impact: <практический security-риск>
28
29
  fix: <защитная правка плана>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не требуй тест на каждую строку и не дублируй функциональные, API, DB или security проблемы. Находка должна описывать конкретную регрессию, ошибку или эксплуатационный риск, который план не сможет подтвердить.
10
10
 
11
+ Добавляй находку только если план обязательно нужно исправить: без правки конкретная регрессия или эксплуатационный риск останутся непроверяемыми. Не предлагай дополнительные проверки, пояснения и документацию без доказанного риска; если замечание можно безопасно проигнорировать, верни `находки: []`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,18 +19,17 @@ status: completed | not_applicable | blocked
17
19
  check: verification
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - fingerprint: <verification|plan-location|root-cause>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  plan_location: <раздел или фаза>
25
26
  problem: <пробел проверки или эксплуатации>
26
27
  evidence: [<план, тесты или конфиг команды>]
27
28
  impact: <какая регрессия останется незамеченной>
28
29
  fix: <какой сценарий, команда или шаг нужен>
29
30
  acceptance: <как подтвердить закрытие>
30
- prior_findings: []
31
+ предыдущие_находки: []
31
32
  question: <блокер или null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`. Не выставляй score.
35
+ При отсутствии проблем верни `находки: []`. Не выставляй score.
@@ -8,6 +8,8 @@
8
8
 
9
9
  Не проверяй общую бизнес-логику, безопасность или базу данных вместо соответствующих агентов. Находка должна описывать конкретное нарушение контракта или совместимости. Не правь файлы.
10
10
 
11
+ Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
12
+
11
13
  ## Результат
12
14
 
13
15
  Верни один YAML-блок:
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
17
19
  check: api
18
20
  model: <MODEL>
19
21
  summary: <краткий итог>
20
- findings:
22
+ находки:
21
23
  - title: <короткий заголовок>
22
24
  severity: critical | high | medium | low
23
- recommendation: required | optional
24
25
  explanation: <нарушенный контракт и затронутый потребитель>
25
26
  evidence:
26
27
  - path: <путь>
@@ -31,4 +32,4 @@ findings:
31
32
  question: <почему работа заблокирована | null>
32
33
  ```
33
34
 
34
- При отсутствии проблем верни `findings: []`.
35
+ При отсутствии проблем верни `находки: []`.