About this project

ripr performs static mutation-exposure analysis to identify gaps where tests reach changed behavior but lack focused assertions to catch breakage. It reads PR diffs and routes targeted, test-only repairs for human or coding agents. Key capabilities: - Identifies gaps: changed behavior whose tests are too weak to notice breakage, each with a stable canonical ID - Generates repair cards: what to assert, where, and why current proof is weak - Produces bounded packets: test-only work orders specifying allowed files, forbidden files, and stop conditions - Provides verify commands (e.g., cargo test, pytest) to check repairs - Records before/after receipts proving whether gaps actually closed The tool operates through a gap → fix → verify agent loop. The primary command `ripr check` analyzes changes and returns a bounded starting route with selected gaps and evidence pointers. A two-phase repair transaction (`ripr agent repair --phase before/after`) manages evidence plumbing while the human or external agent owns the test edit. ripr positions itself between coverage (did lines run?) and mutation testing (did tests fail with real mutants?). It is static and advisory—does not run mutants, report killed/survived outcomes, replace coverage, or claim test adequacy. Language support: Rust/Cargo gap-repair is usable alpha. Python pytest/unittest repair-routing is usable alpha. TypeScript is opt-in preview. Perl is preview/advisory. Distribution surfaces: CLI (cargo install), VS Code extension, Open VSX, CI integration via `ripr init --ci github`. Requires Rust ≥1.95 and Git, run inside a Git repository. Licensed MIT OR Apache-2.0. This repository (ripr-swarm) is the development trunk for trusted agent and maintainer PRs; the EffortlessMetrics/ripr repository is the release and distribution authority.