@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.
- package/MIGRATION.md +5 -3
- package/README.md +18 -19
- package/agents/eda-plan-review-api/prompt.md +5 -4
- package/agents/eda-plan-review-architecture/prompt.md +5 -4
- package/agents/eda-plan-review-database/prompt.md +5 -4
- package/agents/eda-plan-review-execution/agent.json +1 -1
- package/agents/eda-plan-review-execution/prompt.md +5 -4
- package/agents/eda-plan-review-feasibility/prompt.md +5 -4
- package/agents/eda-plan-review-frontend/prompt.md +5 -4
- package/agents/eda-plan-review-performance/prompt.md +5 -4
- package/agents/eda-plan-review-previous/agent.json +1 -1
- package/agents/eda-plan-review-previous/prompt.md +5 -5
- package/agents/eda-plan-review-requirements/prompt.md +5 -4
- package/agents/eda-plan-review-rules/prompt.md +5 -4
- package/agents/eda-plan-review-security/prompt.md +5 -4
- package/agents/eda-plan-review-verification/prompt.md +5 -4
- package/agents/eda-review-api/prompt.md +4 -3
- package/agents/eda-review-architecture/prompt.md +4 -3
- package/agents/eda-review-business/prompt.md +4 -3
- package/agents/eda-review-code-quality/prompt.md +5 -4
- package/agents/eda-review-correctness/prompt.md +4 -3
- package/agents/eda-review-database/prompt.md +4 -3
- package/agents/eda-review-documentation/prompt.md +4 -3
- package/agents/eda-review-frontend/prompt.md +4 -3
- package/agents/eda-review-performance/prompt.md +4 -3
- package/agents/eda-review-plan-alignment/prompt.md +4 -3
- package/agents/eda-review-previous-reviews/prompt.md +5 -4
- package/agents/eda-review-references/prompt.md +4 -3
- package/agents/eda-review-rules/prompt.md +4 -3
- package/agents/eda-review-security/prompt.md +4 -3
- package/agents/eda-review-tests/prompt.md +4 -3
- package/lib/install.js +3 -3
- package/package.json +1 -1
- package/skills/eda-business/SKILL.md +47 -32
- package/skills/eda-fix-by-review/SKILL.md +41 -58
- package/skills/eda-orhestra/SKILL.md +1 -1
- package/skills/eda-plan/SKILL.md +18 -23
- package/skills/eda-plan-polish/SKILL.md +12 -12
- package/skills/eda-plan-review/SKILL.md +25 -24
- package/skills/eda-plan-review-fix/SKILL.md +22 -39
- package/skills/eda-polish/SKILL.md +19 -31
- package/skills/eda-review/SKILL.md +8 -16
- 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
|
-
- Готовность требует одновременно отсутствия
|
|
29
|
-
-
|
|
30
|
-
- `eda-plan` по `plan.review: true`
|
|
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` | Совместно с человеком описывает целевое поведение проекта
|
|
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` запускает
|
|
49
|
-
| `eda-plan-review` | Параллельно запускает узких read-only агентов требований, правил, архитектуры, реализуемости, исполнения, верификации и применимых API/DB/security/frontend/performance/previous.
|
|
50
|
-
| `eda-plan-review-fix` | Применяет
|
|
51
|
-
| `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix до отсутствия
|
|
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, БД, документации и предыдущих ревью.
|
|
55
|
-
| `eda-fix-by-review` | Применяет
|
|
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
|
|
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 | Сверяет закрытие предыдущих
|
|
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
|
-
# Запускает
|
|
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
|
-
# План готов без
|
|
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` —
|
|
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 при отсутствии
|
|
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
|
|
478
|
-
plan-polish = специализированный plan-review ─> plan-review-fix
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
35
|
+
При отсутствии проблем верни `находки: []`. Не выставляй score.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "eda-plan-review-previous",
|
|
4
|
-
"description": "Проверяет закрытие
|
|
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 проверяющий предыдущих
|
|
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
|
|
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
|
-
|
|
21
|
-
|
|
20
|
+
находки: []
|
|
21
|
+
предыдущие_находки:
|
|
22
22
|
- id: PR-001
|
|
23
|
-
status: resolved | still_open | regressed
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии нарушений верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
предыдущие_находки: []
|
|
31
32
|
question: <блокер или null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
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
|
-
|
|
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
|
-
При отсутствии проблем верни
|
|
35
|
+
При отсутствии проблем верни `находки: []`.
|