@gian-tiaga/eda 3.13.0 → 3.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,7 +54,7 @@ eda update-all ~/Code
54
54
  | `eda-plan-execute` | Управляет выполнением плана по фазам в режиме `subagents`, `main` или `auto`. В `subagents` каждую фазу целиком выполняет отдельный изолированный субагент: он читает план, правила, архитектуру и только business/reference-карточки затронутого поведения и компонентов. Фазы проходят строго последовательно и принимаются независимыми проверяющими. В `main` весь план по тем же правилам выполняет и проверяет основной агент в одном контексте, а `auto` выбирает режим по плану. Отметки подтверждённых задач и журнал ведёт основной агент | `docs/artifacts/executions/` |
55
55
  | `eda-just-do-it` | Сразу выполняет задачу из текста рядом с вызовом: определяет scope, загружает только необходимые проектные инструкции, business/reference-карточки, код и тесты, вносит нужные изменения и проверяет результат. Не подменяет выполнение планом и не делает git- или внешние действия без прямого указания | `docs/artifacts/just-do-it/` |
56
56
  | `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или плану. Перед правками читает правила, архитектуру и только применимые карточки, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/artifacts/fixes/` |
57
- | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт `changes-required`, а чистое ревью — `clean` и 100/100. Без аргументов ревьюит `git diff HEAD` | `docs/artifacts/reviews/` |
57
+ | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Для PR/MR переиспользует результаты CI текущего head и не запускает локально уже завершённые там тесты, линтеры, typecheck, сборку и аналогичные проверки; смысловое ревью diff при этом выполняется полностью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт `changes-required`, а чистое ревью — `clean` и 100/100. Без аргументов ревьюит `git diff HEAD` | `docs/artifacts/reviews/` |
58
58
  | `eda-fix-by-review` | Применяет все находки из ревью с учётом правил, архитектуры и применимых карточек. Спрашивает только при неоднозначности, конфликте, расширении scope или рискованном действии. В конце ссылается на отчёт прямо в файле ревью | `docs/artifacts/review-fixes/` |
59
59
  | `eda-manual-test` | Делает ручную проверку после изменений. По умолчанию проверка полная: разбирает план или другой артефакт по разделам, дополняет его фактическим `git diff HEAD` и закрывает матрицу областей — API, база данных, консольные команды, интерфейс, алгоритмы, фон и интеграции, права и роли, конфигурация, логи, регрессии рядом. Область нельзя закрыть чтением кода или зелёными автотестами; незакрытая область даёт `blocked`. Быстрый smoke включается настройкой `manual-test.depth` или словом в запросе. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий. Не правит код, не пишет автотесты и не коммитит | `docs/artifacts/manual-tests/` |
60
60
  | `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review` и повторяет цикл до `clean` и отсутствия находок либо до лимита 5 итераций. Режим цикла задаёт `polish.execution`: в `main` оба контракта выполняет основной агент без субагентов, в `subagents` каждый шаг получает отдельный изолированный контекст. Все находки исправляются, score остаётся справочным. Не коммитит | `docs/artifacts/reviews/`, `docs/artifacts/review-fixes/` |
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Вход и работа
6
6
 
7
- В task-сообщении получи рабочую директорию, `TARGET`, `PLAN_FILE`, `REFERENCE_FILES`, `MODEL` и краткий `REVIEW_CONTEXT`. Прочитай diff, изменённое поведение, существующие тесты и проектные команды тестирования. Запускай только безопасные read-only проверки, если это нужно для подтверждения; не меняй snapshots и другие tracked-файлы.
7
+ В task-сообщении получи рабочую директорию, `TARGET`, `PLAN_FILE`, `REFERENCE_FILES`, `MODEL`, краткий `REVIEW_CONTEXT` и `CI_CONTEXT`. Прочитай diff, изменённое поведение, существующие тесты и проектные команды тестирования. Запускай только безопасные read-only проверки, если это нужно для подтверждения; не меняй snapshots и другие tracked-файлы. Для PR/MR не повторяй тест, линтер, typecheck, сборку или другую автоматическую команду, уже завершённую в CI на текущем head: используй переданный результат и лог CI как доказательство. Это не отменяет анализ полноты и корректности самих тестов.
8
8
 
9
9
  Не требуй тест на каждую строку. Находка должна описывать конкретную регрессию, которую текущие тесты не поймают, либо ошибку в самих тестах. Не дублируй функциональную проблему, если можешь сформулировать только тестовый пробел. Не правь файлы.
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gian-tiaga/eda",
3
- "version": "3.13.0",
3
+ "version": "3.13.1",
4
4
  "description": "Пакет скилов и специализированных агентов eda-* для Claude Code и Codex CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -70,12 +70,15 @@ Default — `subagents`. При неизвестном или отсутству
70
70
 
71
71
  ## Подготовить контекст
72
72
 
73
- 1. Определи `$TARGET`: явный файл, папка, URL PR/MR, ветка, коммит, указанный diff или `git diff HEAD` без аргументов. Для GitHub/GitLab URL получи metadata и diff read-only командами `gh`/`glab`; для другого сервиса используй доступное read-only средство. Если основной diff недоступен, остановись: warning разрешён только для недоступных прошлых обсуждений, а не для самого target.
73
+ 1. Определи `$TARGET`: явный файл, папка, URL PR/MR, ветка, коммит, указанный diff или `git diff HEAD` без аргументов. Для GitHub/GitLab URL получи metadata, diff, SHA текущего head и статусы CI read-only командами `gh`/`glab`; для другого сервиса используй доступное read-only средство. Если основной diff недоступен, остановись: warning разрешён для недоступных CI-результатов и прошлых обсуждений, но не для самого target.
74
74
  2. Прочитай `AGENTS.md`, `CLAUDE.md`, `docs/rules.md`, `docs/arch.md` и сам target настолько, чтобы выбрать проверки и сформировать точный контекст. В `subagents` на этом шаге не делай собственное code review; в `main` эти документы и target станут общей основой всех проходов и не должны загружаться заново для каждой проверки.
75
75
  3. Определи `$PLAN_FILE`. Если его нет, используй `none` и не пытайся восстановить последний план наугад.
76
76
  4. Определи `$REFERENCE_FILES`: если план содержит `sources.references`, используй их; иначе через `docs/references.md` выбери только применимые карточки для компонентов target. Если карточек нет, используй `none`.
77
77
  5. Определи `$BUSINESS_FILES`: сначала установи исходную задачу и фактически затронутое пользовательское или доменное поведение по текущему сообщению, плану и target. Если план содержит `sources.business`, используй только относящиеся к этому поведению пути; иначе прочитай `docs/business.md` и по описаниям выбери только применимые карточки. Если индекс отсутствует, подходящих карточек нет или изменения не затрагивают бизнес-поведение, используй `none`. Не загружай все карточки только потому, что индекс существует.
78
78
  6. Сформируй краткий `$REVIEW_CONTEXT`: тип target, base, исходную задачу из текущего сообщения, плана, PR/MR title/body или явно связанного issue/артефакта, изменённые области, применимые документы и явные решения пользователя. Если надёжного описания задачи нет, явно напиши `task: unknown`, а не восстанавливай намерение по догадке. Не включай в контекст domain-инструкции агентов.
79
+ 7. Для PR/MR сформируй `$CI_CONTEXT`: SHA head, названия, статусы, определимые команды и ссылки на автоматические CI-проверки; для failure добавь только значимый фрагмент лога, не передавай полные логи всех jobs. Учитывай только результаты для текущего head. Завершённую в CI проверку со статусом success или failure не запускай локально повторно: используй её результат и лог как доказательство. Локальный запуск допустим только для отсутствующей, отменённой, пропущенной, устаревшей или не сопоставимой с CI проверки либо по прямому указанию пользователя. Недоступный CI отметь warning и выполняй нужные проверки обычным способом. Для не-PR/MR target используй `CI_CONTEXT: none`.
80
+
81
+ CI переиспользуется только как результат автоматических команд — тестов, линтеров, typecheck, сборки и аналогичных jobs. Он не заменяет выбранные смысловые проходы `correctness`, `architecture`, `tests` и другие: они по-прежнему анализируют diff и качество покрытия, но не дублируют уже завершённые CI-команды.
79
82
 
80
83
  Текущая задача задаёт область и намерение изменений. Применимые business-карточки проверяют затронутое поведение, но не расширяют target. Если задача явно меняет правило карточки, это возможная рассинхронизация business-документации, которую должен классифицировать `eda-review-business`, а не основание молча объявить реализацию неверной.
81
84
 
@@ -106,10 +109,10 @@ Default — `subagents`. При неизвестном или отсутству
106
109
 
107
110
  Прочитай [references/review-matrix.md](references/review-matrix.md) целиком. Это обязательный контракт всех специализированных проходов в `main`; не читай packaged prompts из `agents/eda-review-*` и не пытайся вызвать их как скилы.
108
111
 
109
- 1. Прочитай target и общий код вокруг изменений один раз. Применимые инструкции, `$PLAN_FILE`, `$REFERENCE_FILES` и `$BUSINESS_FILES` также загрузи один раз и только когда соответствующая проверка выбрана.
112
+ 1. Прочитай target и общий код вокруг изменений один раз. Применимые инструкции, `$PLAN_FILE`, `$REFERENCE_FILES` и `$BUSINESS_FILES` также загрузи один раз и только когда соответствующая проверка выбрана. Соблюдай `$CI_CONTEXT`: не перезапускай автоматическую команду, уже завершённую в CI на текущем head.
110
113
  2. Последовательно выполни отдельный проход по каждой выбранной проверке из матрицы. Не смешивай области и не пропускай проход из-за того, что соседняя проверка уже изучала тот же код.
111
114
  3. Для каждого прохода сохрани внутренний результат: `check`, `status`, `summary` и кандидаты в находки с `severity`, `explanation`, `evidence`, `repro`, `fix` и `tests`. YAML между проходами не нужен.
112
- 4. Если проверка оказалась неприменима, перенеси её в skipped с конкретной причиной. Если обязательную проверку невозможно выполнить из-за недоступного target или контекста, остановись без итогового файла. Недоступные предыдущие удалённые обсуждения преврати в warning и продолжай.
115
+ 4. Если проверка оказалась неприменима, перенеси её в skipped с конкретной причиной. Если обязательную проверку невозможно выполнить из-за недоступного target или контекста, остановись без итогового файла. Недоступные CI-результаты и предыдущие удалённые обсуждения преврати в warning и продолжай.
113
116
  5. После всех проходов проверь доказательства, дедуплицируй кандидатов, выставь score и сохрани итог по общим правилам ниже. Не запускай отдельный редакторский или подтверждающий проход.
114
117
 
115
118
  ### Режим subagents
@@ -150,6 +153,9 @@ REFERENCE_FILES: <paths | none>
150
153
  BUSINESS_FILES: <paths | none>
151
154
  MODEL: <фактически выбранная модель>
152
155
  REVIEW_CONTEXT: <краткий общий контекст>
156
+ CI_CONTEXT: <head SHA, CI-проверки со статусами, командами, ссылками и значимыми failure-логами | none>
157
+
158
+ Для PR/MR не запускай локально автоматическую команду, если CI_CONTEXT подтверждает, что эквивалентная проверка уже завершилась в CI на текущем head. Используй результат и лог CI как доказательство; смысловой review-проход выполни полностью.
153
159
 
154
160
  Верни результат строго по YAML-контракту установленного агента.
155
161
  ```
@@ -214,6 +220,7 @@ checks:
214
220
  - **Completed:** <проверки и модели>
215
221
  - **Skipped:** <проверки и причины>
216
222
  - **Warnings:** <предупреждения или «нет»>
223
+ - **CI:** <переиспользованные результаты текущего head, локально запущенные отсутствующие проверки и недоступные данные>
217
224
  - **Frontend:** <если запускался: «UI/UX проверены по коду; браузерная проверка не выполнялась»>
218
225
  - **Previous reviews:** <актуальные / исправленные, но открытые / недоступны>
219
226
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  Этот файл используется только при `review.execution: main`. Выполни отдельный проход по каждой выбранной проверке, но читай общий target и проектные инструкции один раз. Не смешивай области: одна проблема должна остаться в наиболее точной проверке.
4
4
 
5
+ Для PR/MR соблюдай переданный `CI_CONTEXT`: не запускай локально тесты, линтеры, typecheck, сборку или другую автоматическую команду, если эквивалентная проверка уже завершилась в CI на текущем head. Используй CI-результат и доступный лог как доказательство. Это не отменяет смысловые проходы матрицы: анализируй diff и полноту тестов как обычно.
6
+
5
7
  Для любой находки обязательны точное место, достижимый на текущем коде сценарий, практический ущерб, доказательство, `repro`, способ исправления и нужный тест. Не принимай вкусовой рефакторинг, косметику, спекулятивное усиление, необязательный тест или проблему, которая появится только после гипотетического будущего изменения. Не перечисляй удачные решения и выполненные пункты.
6
8
 
7
9
  ## correctness
@@ -39,7 +41,7 @@
39
41
 
40
42
  ## tests
41
43
 
42
- Ищи пропущенные регрессии, неверные ожидания, неподходящий уровень теста, хрупкие проверки и изменённое поведение без защиты. Не требуй тест на каждую строку. Находка должна назвать конкретную регрессию, которую текущие тесты не поймают, либо ошибку в самих тестах. Для подтверждения разрешены только безопасные проверки, не меняющие tracked-файлы.
44
+ Ищи пропущенные регрессии, неверные ожидания, неподходящий уровень теста, хрупкие проверки и изменённое поведение без защиты. Не требуй тест на каждую строку. Находка должна назвать конкретную регрессию, которую текущие тесты не поймают, либо ошибку в самих тестах. Для подтверждения разрешены только безопасные проверки, не меняющие tracked-файлы и не дублирующие завершённые CI-проверки текущего head.
43
45
 
44
46
  ## security
45
47