Decision acceptance deadline

17.11.26 (inclusive)

Form of award

Договорная

Product status

Idea

Task type

ICT tasks

Сфера применения

Media sphere

Область задачи

Information processing and transformation

Purpose and description of task (project)

Разработать сервис, который автоматически проверяет каждый pull request: находит ошибки логики, уязвимости, секреты в коде, проблемы качества и изменения без тестов, и оставляет комментарии к конкретным строкам с уровнем серьёзности и предложением исправления. Разработка и приёмка ведутся на открытых репозиториях: spring-projects/spring-petclinic (Java) и реализациях RealWorld (Python, TypeScript). Интеграции: GitHub (webhooks, REST API, GitHub Actions), Semgrep и линтеры языков, Gitleaks, база уязвимостей OSV, LLM (облачная или локальная), Docker. Сервис не сливает и не отклоняет изменения сам. Результат: прототип, пилот, исходный код и документация.

Type of product

Software/ IS

Problem description

Ревьюеры тратят много времени на типовые замечания: забытые проверки, небезопасные конструкции, секреты в коде, изменения без тестов. При большом потоке pull request такие проблемы пропускаются и попадают в основную ветку. Критерии приемки: На контрольном наборе заказчика (40 pull request с 60 внесёнными дефектами и 20 pull request без дефектов): найдено не менее 70% дефектов, уязвимостей и секретов не менее 85%; обоснованных замечаний не менее 70%; на чистых pull request не более 1 критичного замечания на весь набор; замечание указывает нужную строку в 90% случаев; предложенные исправления проходят сборку и тесты не менее чем в 60% случаев; pull request до 500 строк проверяется не дольше 3 минут; подключение к новому репозиторию не дольше 1 часа. Подробности в приложенном ТЗ.

Expected effect

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

Full name of responsible person

Зубов Александр

Note

Стенд: копии открытых репозиториев spring-projects/spring-petclinic и реализаций RealWorld (github.com/gothinkster/realworld), код заказчика не передаётся. Интеграции: GitHub, Semgrep и линтеры, Gitleaks, OSV, LLM, Docker. Права сервиса: чтение кода, комментарии, статус проверки, без записи в ветки. Обязателен вариант с локальной моделью. Подробности в ТЗ, пункты 3 и 4.5.