Skip to content
← Назад к набору

Дополнение AI Diff Reviewer

Каждый Deep Work Plan завершается одинаково: обязательным Final Review, который прочитывает весь накопленный планом набор изменений, прежде чем работу можно будет считать сделанной. Проверка безопасности внутри него — последняя точка, где ещё можно что-то заметить. Без посторонней помощи единственный читатель в этот момент — тот же агент, который написал код.

Это дополнение сажает за тот же диф второго читателя. Оно подключает AI Diff Reviewer — в маркетплейсе он значится как “AI Diff Reviewer”, текущий релиз v3.3.14 — к проверке безопасности, где тот возвращает не прозу, а структуру: вердикт, таблицу находок и уровень серьёзности для каждой. Начиная с v3 находка critical означает, что верификатор дополнения подтвердил её вторым, опирающимся на код вызовом модели; блокировать завершение до исправления или явного принятия могут только подтверждённые критические находки. Этот обзор — шлюз, а не комментарий.

Начиная со стандарта 2.3.0 такой локальный обзор — часть базового уровня, а не дополнение. Онбординг его устанавливает, каждый Final Review его запускает. Опциональной остаётся CI-поверхность: Flow B, где тот же обзор контролирует pull request’ы через GitHub Action.

Граница, которая делает всё это безопасным для внедрения, проведена намеренно узко. Обозреватель — это skill под лицензией MIT, закреплённый за тегом и исполняемый тем самым кодовым агентом, который у вас уже работает, так что ни один поток Deep Work Plan не зависит от коммерческого сервиса, CI-провайдера или секрета. Flow A (только локально) получает каждый прошедший онбординг репозиторий; Flow B предлагается явно и никогда не устанавливается без запроса. Разработчик вправе и вовсе отказаться от обозревателя — отказ фиксируется как заявленное исключение, и verify сообщает о несоответствии репозитория по этому пункту, пока обозреватель не будет установлен.

Когда использовать

Сигнал Действие
Каждый прошедший онбординг репозиторий Flow A устанавливается в фазе 7a онбординга (вендорённый skill + .review/extension.md); точечное обновление harness добавляет его в репозитории, прошедшие онбординг раньше
Команда хочет CI-шлюз для слияния PR со структурированными находками Предложить Flow B — явное согласие, никогда не по умолчанию
Личный или экспериментальный репозиторий; локального обзора достаточно Остаться на Flow A — базовый уровень полон

Два потока принятия

Поток Что вы получаете
A — только локально (базовый уровень) Вендорённый skill + обязательный .review/extension.md (через generate-extension). Запускает локальный обзор внутри проверки безопасности каждого Final Review. Без рабочего процесса GitHub Actions.
B — двойная поверхность Flow A плюс setup записывает рабочий процесс обзора (Action @v3), тот же файл расширения для локальной и CI-проверки. Опциональные компаньоны apply-review и address-review после того, как CI публикует находки.

Для обнаружения локального обзора требуется skill + файл расширения в одном из мест: .review/extension.md, .github/ai-diff-reviewer/extension.md или .github/ai-pr-reviewer/extension.md. Одного skill недостаточно.

Что подключает это дополнение (намеренно ограничено)

Дополнение DWP не изобретает обозревателя заново. Оно делегирует установку, методологию, мастер CI, создание расширений, составление PR и циклы обзора после CI шести подскиллам вышестоящего skill (родительский поток по умолчанию, generate-extension, setup, open-pr, apply-review, address-review).

Обязательный локальный обзор

create добавляет шаг локального обзора к проверке безопасности каждого Final Review, а execute его запускает. Вывод добавляется под ## AI Diff Reviewer local review в локальном для плана analysis_results/SECURITY_REVIEW.md (внутри собственной папки плана, никогда в корне репозитория).

  • Отсутствующий обозреватель — фиксируется, никогда не пропускается тихо: отсутствующий skill или расширение становится находкой local reviewer not installed; Final Review запускает локальный проход, когда skill установлен, иначе находка переносится в отчёт о завершении — установка принадлежит согласию онбординга или явному вызову адд-она, никогда не внезапная установка.
  • Мягкий сбой (только вызов): обзор, который смог стартовать, но завершился ошибкой → предупредить один раз, зафиксировать, продолжить; никогда не проваливать задачу из-за этого промаха.
  • Шлюз после завершённого прохода: подтверждённые находки critical блокируют завершение Final Review до исправления или явного принятия (BC-07). Неподтверждённые критические утверждения приходят как аннотированные предупреждения — видимые и неблокирующие, пока strict-unverified-criticals: true не вернёт блокировку по утверждению. Обзор, упёршийся в лимит ходов (incomplete) или в лимит времени (timeout), не является чистым проходом при блокирующей строгости (BC-04). warning / info документируются, но не блокируют.
  • Flow A не требует CI-секрета. Незаданный ключ провайдера не должен подавлять локальный проход.

CI-шлюз Flow B (опционально)

Action DailybotHQ/ai-diff-reviewer@v3, обычно блокированный меткой (ready), со стабильно именованным заданием AI review gate для защиты ветки и опциональной меткой пропуска skip-review-label: skip-ai-review. Начиная с v3 бюджет обзора следует детерминированному уровню риска изменения — 8/20/30/40 ходов от low до critical при budget-profile: auto (fixed на время перехода возвращает константы до v3), — а push, не меняющий кода, запускает раунд только с верификатором. Общие prompt.md + расширение согласовывают методологию и уровень серьёзности; локальная и CI-проверки остаются методологически идентичными, при этом раунды CI 2+ при Iteration-Aware Review могут быть короче, а локальный проход остаётся полным.

Опциональные компаньоны для обзора

Два вызываемых разработчиком подскилла замыкают цикл после того, как CI публикует обзор; ни тот ни другой никогда не является файлом задачи плана (это нарушило бы обязательный порядок финальных задач).

  • apply-review проходит по находкам одну за другой (применить / отложить / пропустить) с согласия. Только чтение по умолчанию; никогда не делает коммитов и push.
  • address-review (новый в v3.1.1) — это цикл в одно обращение: найти открытые PR ветки, проверить свежесть обзора для текущего head, представить находки с планом применить/отложить/пропустить, а затем — после одного «да» — применить, закоммитить малыми партиями Conventional Commits, сделать push и перевзвести обозревателя тем способом, каким репозиторий его запускает (по метке → переключить метку выкл/вкл; по push → подтвердить новый запуск). В отличие от apply-review, он делает коммиты и push; в этом смысл цикла. На агрегированных обзорах ансамбля он читает агрегированный документ и маркер ai-pr-reviewer-aggregate.
  • Машинный путь — структурированный вывод, а не тело обзора: документ review-output/3.0 (.aiprr/review-output.json, находимый через выходы structured-output-path и structured-output-sha256) несёт запись запуска, находки с доказательствами и верификацией, опровергнутые находки и шлюз. Тело обзора, в котором написано Recommendation: approve, не является доказательством, что проверка прошла, — сначала прочитайте блок Highest severity / Strictness gate / Check status в маркере отслеживания.

Что изменилось в v3

Три релиза вышли 2026-09-24 (v3.0.0, v3.0.1, v3.1.0), за которыми последовал v3.1.1 с подскиллом address-review; затем v3.2.0 и v3.2.2 (2026-09-26) сделали этот цикл осведомлённым о CI и способным взводить PR, на котором обозреватель ещё не запускался. Ни один из них не меняет то, как это дополнение подключает обозревателя, — Flow A, три пути обнаружения и лесенка «никогда не блокировать» остались прежними, — но они меняют то, что получает тот, кто его внедряет.

Изменение Что это значит для репозитория DWP
critical публикуется только после подтверждения (v3.0.0) Каждое заявленное критическое утверждение — плюс 30 % выборка предупреждений — проходит вторую короткую опирающуюся на код проверку отдельным вызовом модели (≈ 3 k токенов, 10 с и $0.009 на подтверждённую находку). Подтверждённые критические находки блокируют проверку безопасности; опровергнутые утверждения остаются видимыми как аннотированные предупреждения и перечисляются в структурированном выводе, никогда не публикуясь инлайн.
Бюджеты следуют уровню риска (v3.0.0) 8/20/30/40 ходов от low до critical, выводимых из инвентаря изменений (budget-profile: auto). Push, не меняющий кода, запускает раунд только с верификатором за −93 % стоимости. budget-profile: fixed возвращает константы до v3 в 30 ходов.
Незавершённый обзор красный (v3.0.0) incomplete (лимит ходов) и timeout (лимит времени) публикуют частичные находки и проваливают блокирующую строгость — «находок нет» теперь всегда означает, что обозреватель посмотрел и ничего не нашёл.
Структурированный вывод — машинный путь (v3.0.0) Документ review-output/3.0 несёт запись запуска, инвентарь изменений, находки с типизированными доказательствами и верификацией, опровергнутые находки и шлюз. Читайте документ, а не соскребайте тела обзоров.
Шесть подскиллов (v3.1.1) address-review присоединяется к роутеру: одно обращение применяет, коммитит, делает push и перевзводит обозревателя.
Цикл учитывает CI (v3.2.0, v3.2.2) address-review также читает логи упавших workflow и исправляет их в том же согласованном проходе, обновляет ветку, отставшую от базовой, и взводит PR, на котором обозреватель ещё не запускался (простое «loop the review» нацелено на открытый PR текущей ветки).
Опциональный ансамбль (v3.0.0) Ветки только для чтения mode: emit плюс одно задание aggregate однократно проверяют консолидированные находки и публикуют единый обзор.
@v2 продолжает работать Линия v2 заморожена на release/v2 с шестью месяцами поддержки безопасности и каталога. v3 — рекомендация, никогда не принудительная миграция.

Два из этих пунктов важнее остальных для методологии.

Шлюз подтверждённых критических находок укрепляет проверку безопасности. До v3 модель могла свободно заявить critical, и шлюз следовал заявлению. Теперь критическая находка в Final Review означает, что второй вызов модели подтвердил её по коду, и релизная кампания измерила разницу: 771 платный оценочный прогон в десяти кампаниях примерно за $83 в сумме, критический уровень достиг полноты 63/63 при точности 1.0 по итогам разбора, а инкрементальные раунды срезали входные токены на 62–76 %. Эти цифры — опубликованные upstream измерения, а не собственные измерения Deep Work Plan.

economy намеренно не дешевле. Бенчмарк upstream от 2026-09-16 показал у grok-4.3 0 из 5 известных дефектов — он одобряет, не проверяя, — тогда как grok-4.5 сравнялся с grok-4.6, найдя 3 из 5 без ложных срабатываний, при той же стоимости и вчетверо меньшем времени. Поскольку более дешёвой модели xAI, которая всё ещё действительно проверяет, не существует, economy разрешается в ту же модель, что и balanced, вместо того чтобы быть уровнем, который ничего не находит; на runner’е grok стоимость масштабирует бюджет ходов уровня риска, а не выбор модели. Поэтому путь xAI через CLI дорожает примерно с $0.07 до примерно $0.40–0.75 за обзор; С промпта v3.0 повторное измерение на 63 прогонах подняло grok-4.3 с 0 из 5 до 83 % полноты без ложных срабатываний и с ~31 % меньшей стоимостью — но он по-прежнему примерно втрое чаще grok-4.5 не записывает файл находок, поэтому grok-4.5 остаётся значением по умолчанию, а model: grok-4.3 — явным выбором с принятым компромиссом. Эти цифры — опубликованные upstream измерения, а не собственные измерения Deep Work Plan.

Поведение

  • Flow A — базовый уровень; о Flow B спрашивают, никогда не угадывают. Установка рабочего процесса без запроса создаёт большую нагрузку, чем остаться на Flow A.
  • Согласовывать, не затирать. Существующий skill, расширение или рабочий процесс обзора сохраняются; заполнять только пробелы.
  • Аутентификация отложена. Секреты провайдера для CI настраивает сопровождающий; это дополнение никогда не хранит учётные данные.
  • Нейтральность к провайдеру. Коммерческий сервис, CI-провайдер или секрет никогда не требуются; CI-поверхность — единственная часть, которая касается провайдера.

Примечания

Локальный обзор обязателен начиная со стандарта 2.3.0; CI-поверхность опциональна. Вышестоящий skill: DailybotHQ/ai-diff-reviewer. Руководство по миграции upstream: docs/MIGRATION_v3.md. Страница спецификации: Add-ons.