@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
|
@@ -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: architecture
|
|
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
|
+
При отсутствии проблем верни `находки: []`. Не перечисляй соблюдённые архитектурные решения.
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
Не проверяй общую корректность, архитектуру, кодовый стиль, технические references или полноту документации вне business-карточек. Не добавляй требования из других карточек и не расширяй область исходной задачи. Не правь файлы и не запускай команды, меняющие репозиторий.
|
|
19
19
|
|
|
20
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
21
|
+
|
|
20
22
|
## Результат
|
|
21
23
|
|
|
22
24
|
Верни один YAML-блок:
|
|
@@ -26,10 +28,9 @@ status: completed | not_applicable | blocked
|
|
|
26
28
|
check: business
|
|
27
29
|
model: <MODEL>
|
|
28
30
|
summary: <краткий итог>
|
|
29
|
-
|
|
31
|
+
находки:
|
|
30
32
|
- title: <короткий заголовок>
|
|
31
33
|
severity: critical | high | medium | low
|
|
32
|
-
recommendation: required | optional
|
|
33
34
|
explanation: <какое бизнес-правило нарушено или почему карточка рассинхронизирована>
|
|
34
35
|
evidence:
|
|
35
36
|
- path: <business-карточка>
|
|
@@ -43,4 +44,4 @@ findings:
|
|
|
43
44
|
question: <почему работа заблокирована | null>
|
|
44
45
|
```
|
|
45
46
|
|
|
46
|
-
При отсутствии проблем верни
|
|
47
|
+
При отсутствии проблем верни `находки: []`. Не перечисляй соблюдённые правила. `blocked` используй только когда target или переданные карточки невозможно прочитать; отсутствие надёжного описания задачи само по себе не блокирует сверку с действующими карточками, но не позволяет объявлять их намеренно изменёнными.
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
В task-сообщении получи рабочую директорию, `TARGET`, `PLAN_FILE`, `REFERENCE_FILES`, `MODEL` и краткий `REVIEW_CONTEXT`. Сам прочитай diff и достаточно соседнего кода, чтобы отличить локальную проблему от принятого стиля проекта.
|
|
8
8
|
|
|
9
|
-
Не сообщай вкусовые предпочтения и мелкие стилистические
|
|
9
|
+
Не сообщай вкусовые предпочтения и мелкие стилистические замечания. Не дублируй функциональные баги, архитектуру, производительность или правила. Находка по качеству кода допустима только когда сложность или структура уже создаёт конкретный риск ошибок, тестовых пробелов или дорогой поддержки и код обязательно нужно исправить. Не правь файлы.
|
|
10
|
+
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
10
12
|
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: code_quality
|
|
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
|
+
При отсутствии проблем верни `находки: []`. Не перечисляй достоинства кода.
|
|
@@ -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: correctness
|
|
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
|
+
При отсутствии проблем верни `находки: []`. Не перечисляй удачные решения. `blocked` используй только когда target невозможно прочитать или проверить.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не выполняй миграции и не изменяй базу. Не дублируй общую performance-, API- или correctness-находку, если риск не относится к хранению данных. Не требуй индекс без обоснованного запроса и нагрузки.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: database
|
|
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
|
+
При отсутствии проблем верни `находки: []`.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не требуй комментарии или документацию для внутренних очевидных изменений. Не выполняй редакторское ревью текста и не дублируй rules/references. Не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: documentation
|
|
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
|
+
При отсутствии обязательных обновлений верни `находки: []`.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не утверждай, что реально видел интерфейс: браузерная и визуальная проверка относится к `eda-manual-test`. Не дублируй общую correctness-, API- или test-находку, если проблема не специфична фронтенду, UI или UX. Не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: frontend
|
|
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: <сломанный UI/UX-сценарий и практический риск>
|
|
25
26
|
evidence:
|
|
26
27
|
- path: <путь>
|
|
@@ -31,4 +32,4 @@ findings:
|
|
|
31
32
|
question: <почему работа заблокирована | null>
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
При отсутствии проблем верни
|
|
35
|
+
При отсутствии проблем верни `находки: []`. В summary укажи, что браузерная проверка не выполнялась.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не сообщай микроптимизации без измеримого или очевидного эффекта. Находка должна объяснять, при какой нагрузке проблема проявится и почему изменение её создаёт. Не дублируй database- или correctness-находки. Не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: performance
|
|
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
|
+
При отсутствии подтверждённых проблем верни `находки: []`.
|
|
@@ -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: plan_alignment
|
|
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
|
+
При отсутствии проблем верни `находки: []` без отчёта о выполненной работе.
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
- Если дана только ссылка на корень репозитория без PR/MR, верни `blocked` с просьбой указать PR, ветку, коммит или файлы.
|
|
13
13
|
- Если сервис, авторизация или формат обсуждений недоступны, верни `unavailable`, а не выдумывай результат.
|
|
14
14
|
|
|
15
|
-
Классифицируй незакрытые замечания: проблема всё ещё существует; код исправлен, но тред открыт; невозможно проверить. В
|
|
15
|
+
Классифицируй незакрытые замечания: проблема всё ещё существует; код исправлен, но тред открыт; невозможно проверить. В `находки` включай только проблемы, которые всё ещё существуют. Исправленные открытые треды перечисли в `resolved_but_open`.
|
|
16
|
+
|
|
17
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
16
18
|
|
|
17
19
|
## Результат
|
|
18
20
|
|
|
@@ -23,10 +25,9 @@ status: completed | not_applicable | blocked | unavailable
|
|
|
23
25
|
check: previous_reviews
|
|
24
26
|
model: <MODEL>
|
|
25
27
|
summary: <краткий итог>
|
|
26
|
-
|
|
28
|
+
находки:
|
|
27
29
|
- title: <короткий заголовок>
|
|
28
30
|
severity: critical | high | medium | low
|
|
29
|
-
recommendation: required | optional
|
|
30
31
|
explanation: <старое замечание и почему оно всё ещё актуально>
|
|
31
32
|
evidence:
|
|
32
33
|
- path: <путь или URL треда>
|
|
@@ -41,4 +42,4 @@ warning: <почему обсуждения недоступны | null>
|
|
|
41
42
|
question: <почему работа заблокирована | null>
|
|
42
43
|
```
|
|
43
44
|
|
|
44
|
-
Если незакрытых актуальных замечаний нет, верни
|
|
45
|
+
Если незакрытых актуальных замечаний нет, верни `находки: []`. Не перечисляй закрытые треды и не хвали выполненные исправления.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не загружай все `docs/references/`, не ищи внешние источники и не проверяй остальные области ревью. Отличие от примера без практического риска не является проблемой. Не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: references
|
|
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
|
+
При отсутствии проблем верни `находки: []`. Не перечисляй совпадения с карточками.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не проверяй архитектуру, references или качество кода вместо соответствующих агентов. Не выдумывай правила и не превращай предпочтение в нарушение. Не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: rules
|
|
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
|
+
При отсутствии нарушений верни `находки: []`. Не перечисляй соблюдённые правила.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
Не выдавай гипотетические общие советы без конкретного пути эксплуатации или нарушения защитного инварианта. Не дублируй обычные ошибки корректности и API-контракта. Не выполняй активные атаки и не правь файлы.
|
|
10
10
|
|
|
11
|
+
Добавляй находку только для конкретной доказанной проблемы, которую обязательно исправить. Укажи точное место, достижимый сценарий и практический ущерб. Если предложение можно безопасно не применять, это вкусовой рефакторинг, косметика, спекулятивное усиление, необязательный тест, документация или оптимизация — не добавляй его в `находки`.
|
|
12
|
+
|
|
11
13
|
## Результат
|
|
12
14
|
|
|
13
15
|
Верни один YAML-блок:
|
|
@@ -17,10 +19,9 @@ status: completed | not_applicable | blocked
|
|
|
17
19
|
check: security
|
|
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
|
+
При отсутствии подтверждённых рисков верни `находки: []`.
|
|
@@ -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: tests
|
|
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
|
+
При достаточных тестах верни `находки: []`, не перечисляя успешные сценарии.
|
package/lib/install.js
CHANGED
|
@@ -261,7 +261,7 @@ const PLAN_REVIEW_AGENT_DEFINITIONS = [
|
|
|
261
261
|
},
|
|
262
262
|
{
|
|
263
263
|
key: 'previous',
|
|
264
|
-
description: 'Проверяет закрытие
|
|
264
|
+
description: 'Проверяет закрытие находок предыдущей связанной итерации plan-review.',
|
|
265
265
|
auto: 'В auto запускается только при наличии связанной цепочки review/fix для текущего SHA-256 плана.',
|
|
266
266
|
mode: 'auto',
|
|
267
267
|
claude: 'haiku',
|
|
@@ -1329,7 +1329,7 @@ plan:
|
|
|
1329
1329
|
# Включает кросс-CLI ревью в eda-plan.
|
|
1330
1330
|
# true | false
|
|
1331
1331
|
strict: ${settings.plan.strict ? 'true' : 'false'}
|
|
1332
|
-
# Запускает
|
|
1332
|
+
# Запускает изолированный цикл eda-plan-polish.
|
|
1333
1333
|
# true | false
|
|
1334
1334
|
review: ${settings.plan.review !== false ? 'true' : 'false'}
|
|
1335
1335
|
# Задаёт размер плана.
|
|
@@ -1346,7 +1346,7 @@ plan:
|
|
|
1346
1346
|
logging_strategy: ${settings.plan.loggingStrategy}
|
|
1347
1347
|
|
|
1348
1348
|
plan-review:
|
|
1349
|
-
# План готов только без
|
|
1349
|
+
# План готов только без открытых находок и при score не ниже этого порога.
|
|
1350
1350
|
# 1..100
|
|
1351
1351
|
threshold: ${settings.planReview.threshold}
|
|
1352
1352
|
# Каждая проверка имеет собственный режим запуска и модели для обеих сред.
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
5
5
|
|
|
6
6
|
# Скил: Бизнес-логика (eda-business)
|
|
7
7
|
|
|
8
|
-
Создаёшь и поддерживаешь согласованную бизнес-документацию проекта: короткое оглавление `docs/business.md` и самостоятельные тематические карточки в `docs/business/`.
|
|
8
|
+
Создаёшь и поддерживаешь согласованную бизнес-документацию проекта: короткое оглавление `docs/business.md` и самостоятельные тематические карточки в `docs/business/`. Каждая карточка подробно фиксирует значимые решения своей темы, но не засоряется сведениями соседних тем и деталями конкретной реализации.
|
|
9
9
|
|
|
10
10
|
## Вход из сообщения пользователя
|
|
11
11
|
|
|
@@ -22,11 +22,16 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
22
22
|
1. **Только business-документация.** Меняй лишь `docs/business.md` и Markdown-файлы непосредственно в `docs/business/`. Не правь код, настройки, правила, архитектуру, планы, тесты или другие документы.
|
|
23
23
|
2. **Целевое поведение.** Карточки фиксируют согласованные требования и бизнес-логику, даже если код пока им не соответствует. Фактические отличия вынеси в последний раздел `Расхождения с реализацией`.
|
|
24
24
|
3. **Никаких догадок как фактов.** Код помогает найти существующие сценарии и вопросы, но не подтверждает продуктовые решения сам по себе.
|
|
25
|
-
4. **Одна тема за раз.** После согласования общего списка
|
|
25
|
+
4. **Одна тема за раз.** После согласования общего списка полно опиши и подтверди значимые решения текущей темы до записи, затем переходи к следующей.
|
|
26
26
|
5. **В индекс — только готовое.** Не записывай предложенные, незавершённые или спорные темы в `docs/business.md` и не создавай для них черновые карточки.
|
|
27
27
|
6. **Самодостаточные карточки.** Основной текст не должен требовать чтения исходного кода, плана или внешнего материала, чтобы понять бизнес-правило.
|
|
28
|
-
7. **Не проектируй реализацию.** Не назначай
|
|
28
|
+
7. **Не проектируй конкретную реализацию.** Не назначай язык, фреймворк, библиотеку, конкретную СУБД, схему данных, классы, функции, внутренние модули или порядок технических изменений.
|
|
29
29
|
8. **Сохраняй подтверждённое.** При обновлении не удаляй и не ослабляй существующее правило, не переименовывай и не удаляй карточку без явного решения пользователя.
|
|
30
|
+
9. **Полнота без шума.** Зафиксируй все подтверждённые детали, которые меняют целевое поведение темы: правила, выбранные алгоритмы, состояния, переходы, ограничения, исключения и наблюдаемые результаты. Не сокращай сложную тему ради краткости; убирай повторы, общие рассуждения и факты, не влияющие на правило.
|
|
31
|
+
10. **Строгая граница темы.** Карточка описывает только названную тему. Сведения о соседнем домене, внутреннем модуле или другой карточке опускай; если у них есть самостоятельное бизнес-значение, предложи отдельную тему, но не включай её в текущую.
|
|
32
|
+
11. **`about` — только обзор.** Это не сводная бизнес-спецификация и не каталог остальных карточек. Кратко опиши сам проект и перечисли его основные пользовательские возможности; не раскладывай их по модулям и не детализируй правила, сценарии и исключения других тем.
|
|
33
|
+
12. **Карточка не привязана к коду.** Код, тесты и конфиги используй для поиска вопросов и проверки текущего поведения, но пиши карточку устойчивым предметным языком. Не включай пути и строки исходников, имена классов, функций, файлов и внутренних модулей — в том числе в `about` и `Расхождения с реализацией`.
|
|
34
|
+
13. **Алгоритм допустим, стек — нет.** Фиксируй выбранный функциональный или security-механизм, если он определяет поведение продукта: например, JWT либо непрозрачные токены с хранением в базе данных, правила выпуска, срока действия, обновления и отзыва. Не регламентируй язык, framework, библиотеку, конкретную СУБД, таблицы и способ программной сборки механизма, если это не отдельное подтверждённое ограничение продукта.
|
|
30
35
|
|
|
31
36
|
## Интерактивные вопросы
|
|
32
37
|
|
|
@@ -43,7 +48,7 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
43
48
|
|
|
44
49
|
### 1. Прочитать существующий контекст
|
|
45
50
|
|
|
46
|
-
Прочитай `docs/business.md` и только карточки, которые относятся к текущей теме. Затем изучи
|
|
51
|
+
Прочитай `docs/business.md` и только карточки, которые относятся к текущей теме. Затем изучи минимальный набор релевантных источников, достаточный для понимания именно этой темы. Для `about` обычно достаточно основного README, метаданных проекта и пользовательских точек входа; не обходи каждый внутренний модуль, route, модель или тест.
|
|
47
52
|
|
|
48
53
|
Не загружай все карточки и весь код без необходимости. Разделяй:
|
|
49
54
|
|
|
@@ -54,60 +59,61 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
54
59
|
|
|
55
60
|
### 2. Выбрать темы при пустом вызове
|
|
56
61
|
|
|
57
|
-
Если тема не задана, составь короткий список только из реально применимых тем. Для каждой укажи, что именно будет
|
|
62
|
+
Если тема не задана, составь короткий список только из реально применимых и непересекающихся тем. Для каждой одной фразой укажи, что именно будет описано. Не используй обязательный универсальный набор и не создавай тему для каждого технического модуля: `auth`, `posts`, `payments` и другие названия допустимы только при наличии самостоятельных правил продукта.
|
|
58
63
|
|
|
59
64
|
Покажи список через `AskUserQuestion` и попроси подтвердить его или изменить. До подтверждения ничего не записывай. После ответа прорабатывай темы последовательно. Если работа прервана, следующий пустой вызов заново анализирует индекс и предлагает только отсутствующие или требующие актуализации темы.
|
|
60
65
|
|
|
61
66
|
### 3. Согласовать текущую тему
|
|
62
67
|
|
|
63
|
-
|
|
68
|
+
Сначала сформулируй суть темы в одном-двух предложениях. Затем собери все конкретные решения, необходимые для полного описания целевого поведения этой темы. Требования, термины, сценарии, состояния, ограничения, исключения и критерии приёмки добавляй по смыслу, а не ради заполнения универсального чеклиста. Не пропускай значимую конкретику только потому, что карточка получится длинной.
|
|
64
69
|
|
|
65
|
-
|
|
66
|
-
- участники, роли и значимые термины;
|
|
67
|
-
- требования, правила и инварианты;
|
|
68
|
-
- основные сценарии и порядок бизнес-действий;
|
|
69
|
-
- состояния, переходы, ограничения и исключения;
|
|
70
|
-
- ошибки и пограничные случаи, видимые пользователю или внешнему потребителю;
|
|
71
|
-
- проверяемые критерии приёмки.
|
|
70
|
+
Например, карточка аутентификации может подробно фиксировать выбранный вид токенов, их выпуск, срок действия, обновление, отзыв, завершение сессий и значимые ошибки. В ней допустимо выбрать JWT или токены, хранящиеся в базе данных, но не следует назначать язык, framework, библиотеку, конкретную СУБД, таблицы, классы и файлы.
|
|
72
71
|
|
|
73
|
-
Для `about`
|
|
72
|
+
Для `about` подготовь короткое описание проекта и компактный список его основных возможностей. Не включай аудиторию, решаемую проблему, границы, общие ограничения или пользовательские сценарии отдельными разделами, если пользователь их явно не запросил и они не нужны для самого краткого описания. Не упоминай устройство внутренних модулей и не пересказывай содержимое тематических карточек.
|
|
74
73
|
|
|
75
|
-
Сравни
|
|
74
|
+
Сравни с реализацией только подтверждённые правила непосредственно текущей темы. Расхождение описывай как отличие наблюдаемого поведения от целевого, без ссылок на исходники и без пересказа устройства кода. В `Расхождения с реализацией` не добавляй наблюдения о соседних модулях, случайно замеченные дефекты, технический долг и неполноту других карточек. Для `about` не перечисляй пофункциональные расхождения: они относятся к отдельным тематическим карточкам. Если прямого существенного расхождения по теме нет, напиши `Известных расхождений не обнаружено.`
|
|
76
75
|
|
|
77
|
-
Покажи человеку
|
|
76
|
+
Покажи человеку короткий текст будущей карточки целиком и запроси итоговое подтверждение через `AskUserQuestion`. Если остаётся спорное решение, сначала закрой его отдельным вопросом. Не записывай карточку до подтверждения.
|
|
78
77
|
|
|
79
78
|
### 4. Записать карточку и индекс
|
|
80
79
|
|
|
81
80
|
Используй стабильное имя файла в lowercase ASCII kebab-case: `docs/business/<topic>.md`.
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
У обычной тематической карточки нет обязательного набора содержательных разделов. Выбирай структуру по сложности темы и фиксируй в ней всю значимую подтверждённую конкретику без лишних разделов, например:
|
|
84
83
|
|
|
85
84
|
```markdown
|
|
86
85
|
# <Название темы>
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
<что покрывает тема и что не покрывает>
|
|
87
|
+
<краткое описание темы>
|
|
90
88
|
|
|
91
|
-
##
|
|
92
|
-
<роли и доменные понятия>
|
|
89
|
+
## Правила
|
|
93
90
|
|
|
94
|
-
|
|
95
|
-
<согласованные требования и инварианты>
|
|
91
|
+
- <только необходимые согласованные правила>
|
|
96
92
|
|
|
97
|
-
##
|
|
98
|
-
|
|
93
|
+
## Расхождения с реализацией
|
|
94
|
+
|
|
95
|
+
<подтверждённые отличия с доказательствами либо «Известных расхождений не обнаружено.»>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Если отдельный раздел `Правила` не нужен, не создавай его. Для сложной темы добавь столько смысловых разделов, сколько требуется, чтобы не смешивать правила, алгоритмы, состояния, исключения и критерии. Для простой темы не создавай пустые или формальные разделы.
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
<переходы, ограничения, ошибки и пограничные случаи>
|
|
100
|
+
Для `about.md` используй простой обзорный формат:
|
|
102
101
|
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
```markdown
|
|
103
|
+
# О проекте
|
|
104
|
+
|
|
105
|
+
<краткое описание проекта>
|
|
106
|
+
|
|
107
|
+
## Основные возможности
|
|
108
|
+
|
|
109
|
+
- <возможность на уровне пользователя>
|
|
105
110
|
|
|
106
111
|
## Расхождения с реализацией
|
|
107
|
-
|
|
112
|
+
|
|
113
|
+
Известных расхождений не обнаружено.
|
|
108
114
|
```
|
|
109
115
|
|
|
110
|
-
|
|
116
|
+
Сохраняй `Расхождения с реализацией` последним разделом любой карточки.
|
|
111
117
|
|
|
112
118
|
Создай или обнови `docs/business.md` как короткое оглавление только существующих согласованных карточек:
|
|
113
119
|
|
|
@@ -116,7 +122,7 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
116
122
|
|
|
117
123
|
| Описание | Карточка |
|
|
118
124
|
|---|---|
|
|
119
|
-
|
|
|
125
|
+
| Краткое описание проекта и основные возможности | [О проекте](business/about.md) |
|
|
120
126
|
| Регистрация, вход, восстановление доступа и права пользователей | [Авторизация](business/auth.md) |
|
|
121
127
|
```
|
|
122
128
|
|
|
@@ -128,6 +134,11 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
128
134
|
|
|
129
135
|
- индекс содержит только существующие согласованные карточки и ровно две колонки `Описание` и `Карточка`;
|
|
130
136
|
- новая или обновлённая карточка соответствует подтверждённому содержанию;
|
|
137
|
+
- карточка не содержит сведений о соседних темах и не раздута необязательными разделами;
|
|
138
|
+
- `about` остаётся коротким обзором проекта и его основных возможностей без описания внутренних модулей;
|
|
139
|
+
- сложная тема подробно фиксирует все значимые подтверждённые правила, алгоритмы, состояния и исключения;
|
|
140
|
+
- текст карточки не ссылается на файлы, строки, классы, функции и внутренние модули текущей реализации;
|
|
141
|
+
- выбранный механизм поведения отделён от языка, framework, библиотеки, конкретной СУБД и схемы реализации;
|
|
131
142
|
- каждое правило однозначно и проверяемо на уровне поведения;
|
|
132
143
|
- техническая реализация не выдана за бизнес-требование;
|
|
133
144
|
- раздел `Расхождения с реализацией` последний и отделяет целевое состояние от текущего;
|
|
@@ -142,6 +153,10 @@ description: 'Создаёт и обновляет согласованное о
|
|
|
142
153
|
- Записывать неподтверждённые темы или черновики в индекс.
|
|
143
154
|
- Выводить бизнес-правило только из текущего кода и сразу считать его целевым.
|
|
144
155
|
- Подменять карточку исследованием, roadmap, архитектурой или планом реализации.
|
|
156
|
+
- Сокращать сложную тему до общего описания и терять подтверждённые правила или алгоритмы.
|
|
157
|
+
- Переписывать в карточку структуру кода, пути, строки, классы, функции и внутренние модули.
|
|
158
|
+
- Использовать `about` как сводку всех доменов, модулей, правил и расхождений проекта.
|
|
159
|
+
- Переносить в текущую карточку подробности и расхождения соседней темы «для контекста».
|
|
145
160
|
- Создавать ссылки из индекса на отсутствующие файлы.
|
|
146
161
|
- Молча удалять, переименовывать или ослаблять подтверждённые требования.
|
|
147
162
|
- Сохранять business-документацию вне `docs/business.md` и `docs/business/`.
|