Об этом проекте
ripr выполняет статический анализ воздействия мутаций для выявления пробелов, где тесты достигают измененного поведения, но им не хватает сфокусированных утверждений (assertions) для обнаружения поломок. Он считывает диффы PR и направляет целевые исправления только в тестах для людей или кодинг-агентов.
Ключевые возможности:
- Выявление пробелов: измененное поведение, тесты которого слишком слабы, чтобы заметить поломку; каждый пробел имеет стабильный канонический ID
- Генерация карт исправлений: что нужно проверить, где и почему текущее доказательство слабое
- Создание ограниченных пакетов: рабочие заказы только по тестам с указанием разрешенных файлов, запрещенных файлов и условий остановки
- Предоставление команд верификации (например, cargo test, pytest) для проверки исправлений
- Запись квитанций «до/после», доказывающих, были ли пробелы фактически закрыты
Инструмент работает через цикл агент-взаимодействия: пробел → исправление → верификация. Основная команда `ripr check` анализирует изменения и возвращает ограниченный начальный маршрут с выбранными пробелами и указателями на доказательства. Двухфазная транзакция исправления (`ripr agent repair --phase before/after`) управляет передачей доказательств, в то время как человек или внешний агент отвечает за редактирование теста.
ripr позиционирует себя между покрытием (выполнялись ли строки?) и мутационным тестированием (упали ли тесты при реальных мутантах?). Он является статическим и рекомендательным — не запускает мутантов, не сообщает о результатах «убит/выжил», не заменяет покрытие и не заявляет о достаточности тестов.
Поддержка языков: Rust/Cargo (gap-repair) — доступная альфа-версия. Python pytest/unittest (repair-routing) — доступная альфа-версия. TypeScript — предварительный просмотр по запросу. Perl — предварительный просмотр/рекомендации.
Способы распространения: CLI (cargo install), расширение VS Code, Open VSX, интеграция в CI через `ripr init --ci github`. Требуется Rust ≥1.95 и Git, запуск внутри Git-репозитория. Лицензия MIT OR Apache-2.0.
Данный репозиторий (ripr-swarm) является основным стволом разработки для доверенных агентов и PR от мейнтейнеров; репозиторий EffortlessMetrics/ripr является авторитетным источником релизов и распространения.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.