Перейти к основному содержимому

Сценарий 09: ревью ограниченного изменения

Проверьте pull request, коммиты или выбранные файлы. Получите находки с расположением в коде и результатами проверок для ревью изменения.

Руководства

Используйте этот сценарий для pull request, сравнения коммитов, подготовленных к коммиту изменений или заданного набора файлов. Привяжите ревью к точным базовой и конечной ревизиям. Начните с находок, требующих действия, и явно укажите неполный или неподдержанный анализ.

Сценарий OpenCode

Подключите OpenCode к CodeGraph. Откройте рабочую папку проверяемого проекта и убедитесь, что доступна команда .opencode/commands/review.md. В установленном клиенте выполните:

/review

Команда проверяет готовность проекта и графа, определяет базовую ревизию и изменённые файлы. Затем она исследует находки высокого риска и собирает результаты ревью качества кода и архитектурного влияния. Отчёт содержит ссылки на использованные исходники и результаты проверок.

При устаревшем или недоступном графе команда сообщает причину и дальнейшее действие. Отчёт указывает, какие проверки выполнены и какие данные доступны.

Ревью через CLI

Подготовьте окружение по руководству CLI. Выполняйте команды в PowerShell из корня репозитория CodeGraph. Нужны доступный сервис GoCPG gRPC и CPG зарегистрированного проекта, соответствующий проверяемой ревизии. Замените обозначения в кавычках перед запуском:

python -m src.cli review --db "<cpg-path>" --base-ref "<git-ref>" --format json --output-file "<report.json>"

Та же команда поддерживает другие области:

python -m src.cli review --db "<cpg-path>" --staged --format markdown
python -m src.cli review --db "<cpg-path>" --files "<file1>" "<file2>" --format sarif --output-file "<results.sarif>"

Выберите одну область ревью. --base-ref сравнивает базовую ревизию с HEAD и не включает незакоммиченные изменения рабочего дерева. Проверка безопасности выполняется только при наличии --base-ref и отсутствии --no-security. Ревью только подготовленных изменений или файлов не включает её. Укажите состав выполненных проверок.

Создайте каталог для результата и выберите новое имя отчёта. --output-file записывает структурированный отчёт без сообщений о ходе работы, которые попадают в стандартный вывод. Если основной формат — sarif, флаг --sarif-file не записывает отдельный файл.

Проверьте код завершения, новый отчёт, предупреждения и полноту анализа. Код 1 может означать ошибку выполнения или критичные находки либо находки высокой серьёзности. Код 0 возможен и при неполном анализе. В JSON проверьте metadata.status, metadata.degradation_reasons, metadata.changed_file_paths, metadata.freshness и findings. Сопоставьте находки с изменёнными файлами и статусом выполненных проверок; причины неполного анализа перечислены в metadata.degradation_reasons.

Обновлением графа управляет review_pipeline.auto_reparse: значение по умолчанию prompt откладывает обновление, а auto запускает его при доступном графе и превышении review_pipeline.stale_threshold_commits (по умолчанию 0). Проверьте результат в metadata.refresh и свежесть в metadata.freshness.

Порядок проверки

  1. Подтвердите базу, конечную ревизию, изменённые файлы и область задачи.
  2. До стиля ищите расхождения в поведении и критериях приёмки.
  3. Проверьте публичные интерфейсы, сериализацию, хранение, авторизацию и ошибочные пути.
  4. Проследите изменённые символы до вызывающего кода высокого риска и зависимостей за границами компонента.
  5. Проверьте тесты ожидаемого поведения и важных негативных путей.
  6. Для каждой находки укажите серьёзность, место, свидетельство, последствие и минимальную безопасную коррекцию.
  7. После исправлений повторите точечные проверки и оставьте нерешённые пункты явными.

Одобрение оформляется при доказанной области, готовности и наборе включённых проверок; пустой отчёт фиксирует отсутствие результатов.

Эта страница — краткий сценарий. Полная модель проверки, находок и интеграций приведена в каноническом руководстве по ревью кода.