このプロジェクトについて
riprは静的ミューテーション露出解析を行い、テストが変更された挙動に到達しているものの、破損を検知するための重点的なアサーションが不足しているギャップを特定します。PRのdiffを読み取り、人間またはコーディングエージェント向けに、テストのみに特化したターゲットを絞った修正ルートを提示します。
主な機能:
- ギャップの特定:破損に気づくにはテストが弱すぎる変更後の挙動を特定し、それぞれに安定したカノニカルIDを付与します
- リペアカードの生成:何を、どこでアサーションすべきか、および現在の証明がなぜ不十分であるかを提示します
- 境界付きパケットの作成:許可されるファイル、禁止されるファイル、および停止条件を指定したテスト専用の作業指示書を作成します
- 検証コマンドの提供:修正を確認するための検証コマンド(例:cargo test, pytest)を提供します
- レシートの記録:ギャップが実際に解消されたかどうかを証明する修正前後のレシートを記録します
このツールは「ギャップ → 修正 → 検証」のエージェントループを通じて動作します。主要コマンドである `ripr check` は変更を分析し、選択されたギャップとエビデンスポインタを含む境界付きの開始ルートを返します。2フェーズの修正トランザクション(`ripr agent repair --phase before/after`)がエビデンスの配管を管理し、人間または外部エージェントがテストの編集を担当します。
riprは、カバレッジ(行が実行されたか?)とミューテーションテスト(実際のミュータントでテストが失敗したか?)の中間に位置します。これは静的かつアドバイザリなツールであり、ミュータントを実行したり、Killed/Survivedの結果を報告したり、カバレッジを置き換えたり、テストの十分性を主張したりすることはありません。
言語サポート:Rust/Cargoのギャップ修正は利用可能なアルファ版です。Python pytest/unittestの修正ルーティングは利用可能なアルファ版です。TypeScriptはオプトインプレビュー版です。Perlはプレビュー/アドバイザリ版です。
配布形態:CLI (cargo install)、VS Code拡張機能、Open VSX、`ripr init --ci github` によるCI統合。Rust 1.95以上とGitが必要であり、Gitリポジトリ内で実行してください。ライセンスはMITまたはApache-2.0です。
本リポジトリ(ripr-swarm)は、信頼されたエージェントおよびメンテナーによるPRの開発トランクであり、EffortlessMetrics/riprリポジトリがリリースおよび配布の権限を持ちます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.