Sobre el proyecto
ripr realiza un análisis estático de exposición a mutaciones para identificar brechas donde las pruebas alcanzan el comportamiento modificado pero carecen de aserciones enfocadas para detectar fallos. Lee los diffs de los PR y dirige reparaciones dirigidas, solo de pruebas, para humanos o agentes de codificación.
Capacidades clave:
- Identifica brechas: comportamiento modificado cuyas pruebas son demasiado débiles para notar la rotura, cada una con un ID canónico estable
- Genera tarjetas de reparación: qué asertar, dónde y por qué la prueba actual es débil
- Produce paquetes delimitados: órdenes de trabajo solo de pruebas que especifican archivos permitidos, archivos prohibidos y condiciones de parada
- Proporciona comandos de verificación (ej. cargo test, pytest) para comprobar las reparaciones
- Registra recibos de antes/después que prueban si las brechas realmente se cerraron
La herramienta opera a través de un bucle de agente de brecha → reparación → verificación. El comando principal `ripr check` analiza los cambios y devuelve una ruta de inicio delimitada con brechas seleccionadas y punteros de evidencia. Una transacción de reparación de dos fases (`ripr agent repair --phase before/after`) gestiona la infraestructura de evidencia mientras que el humano o el agente externo se encarga de la edición de la prueba.
ripr se posiciona entre la cobertura (¿se ejecutaron las líneas?) y las pruebas de mutación (¿fallaron las pruebas con mutantes reales?). Es estático y consultivo: no ejecuta mutantes, no reporta resultados de eliminados/sobrevividos, no reemplaza la cobertura ni reclama adecuación de las pruebas.
Soporte de lenguaje: La reparación de brechas en Rust/Cargo es alpha utilizable. El enrutamiento de reparación en Python pytest/unittest es alpha utilizable. TypeScript es una vista previa opcional. Perl es vista previa/consultivo.
Superficies de distribución: CLI (cargo install), extensión de VS Code, Open VSX, integración de CI vía `ripr init --ci github`. Requiere Rust ≥1.95 y Git, ejecutado dentro de un repositorio Git. Licenciado bajo MIT OR Apache-2.0.
Este repositorio (ripr-swarm) es el tronco de desarrollo para PRs de agentes confiables y mantenedores; el repositorio EffortlessMetrics/ripr es la autoridad de lanzamiento y distribución.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.