N4darae/shrt
A contract-driven gRPC regression harness for AI coding agents, with human-approved baselines. Snapshot the valid call chains of an API so an agent can look one up instead of tracing for it. gRPC today, OpenAPI next
解決する課題
shrt は、RPCチェーンを使用するサービスのための回帰テストスイートを作成・維持するためのツールです。手動でテストチェーンを作成する際に発生しがちな、重要なエッジケース(境界条件やトークンの欠落など)の見落としという問題を解決します。「コントラクト」を使用してテストチェーンを自動的に構成し、サービスの動作が時間の経過とともに一貫していることを検証します。
仕組み
このツールは、利用可能なRPCの記述子を構築し、コントラクトオーバーレイを使用して期待される動作を定義します。以下のワークフローに従います。
- 導出 (Derivation):利用可能なRPCを特定し、コントラクトを使用して呼び出しの順序付きチェーンを計画・構成します。
- 実行 (Execution):これらのチェーンを実行し、結果を記録します。
- 検証 (Verification):現在の実行結果を「セーフスポット」(以前に承認された成功した実行)と比較し、ドリフトや回帰を検出します。
- ゲート (Gating):CIゲート (
shrt gate) がすべてのチェーンを実行し、回帰、断続的な障害、および明示的にアサートされていないレスポンスフィールドの変更をチェックします。
対象ユーザー
RPCベースのサービスの安定性を確保する必要がある開発者やQAエンジニア、特に Protocol Buffers (protos) を使用しており、厳格でコントラクト駆動型の回帰テストアプローチを求める方に最適です。
ハイライト
- コントラクト駆動型プランニング:手動スクリプトではなく、定義されたコントラクトに基づいてテストチェーンを自動構成します。
- セーフスポット検証:人間が承認した「セーフスポット」をベースラインとして使用し、レスポンスデータの変更(ドリフト)を検出します。
- 自動回帰ゲート:CI対応のゲートにより、回帰、断続的な障害、および疑わしいRPCを特定します。
- チェーンスライシング:特定の障害を再現するために最小限のサブチェーンを作成する機能。
- 厳格なLinting:サービスが「クラッシュしなかった」ことだけを確認するようなテストを防ぐため、高品質なアサーションを強制します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト