【米国カリフォルニア州メンローパーク】コーディングアシスタントは、正しく見えるコードを生み出すのが得意になりました。それをマージしなければならない開発者にとって、より難しい問いは、誰かがそれを確認したのかどうかです。Corepassのコーディングエージェント「Remy」は、いわば「証拠の記録」でこれに答えます。実行したチェック、チェックが失敗したときに何を変更したか、そして何を検証しなかったかを明示した記録です。
Remyの製品ページで説明されているこの動作は、決まった順序に従います。コードを変更した後、Remyは関連するテスト、型チェック、ビルドを実行します。何かが失敗すれば原因を探して修正し、同じチェックを再実行します。別の、より簡単なチェックではありません。製品ページは最後のステップを率直にこう記しています。「そして、何を実行したか、結果はどうだったか、何を検証しなかったかを伝えます」。
- チェックを実行テスト、型チェック、ビルド
- 原因を特定チェックが失敗したとき
- 修正して再実行同じチェックをもう一度
- 報告何を実行したか、結果、検証しなかった点
失敗したチェックこそが再実行される
同じチェックを繰り返す理由
要点は、まったく同じチェックを再実行することへのこだわりにあります。修正の後に別のテストを行ったり、テストをまったく行わなかったりすれば、元の失敗が解消されたかどうかは分からないままです。失敗したチェックを再実行することで、修正とそれが機能した証拠が結びつき、その証拠がレビュー担当者の目に届く場所に置かれます。
「そして、何を実行したか、結果はどうだったか、何を検証しなかったかを伝えます」
確認しなかった点を伝える
報告の最後の部分は、コーディングツールの中でもおそらく最も珍しいものです。Remyの締めくくりのメモは、検証したことと検証しなかったことを分けて示します。製品自身のデモでは、タスクの最後に「Verified」(検証済み)と「Not verified」(未検証)という2つのリストが表示されます。たとえば、どのテストも対象としていないコードへの変更は、見過ごされるのではなく、未検証として明示されます。
マージ前のレビュー
検証は1つの層にすぎません。Remyのドキュメントには、独立したコードレビューモードが記載されています。このモードは指摘事項を重大度別に報告し、それぞれに場所、影響、根拠となる証拠を添えます。製品ページのワークフローでは、レビュー用ボットのBugbotが差分を読み、プルリクエストが出される前にテストで見落とされた問題を探します。
Corepassは開発の原則の1つに「作業をレビュー可能に保つ」ことを挙げており、検証レポートは製品の中でそれを最も明確に体現しています。チェックはエージェントが行い、開発者はマージするかどうかを判断するために必要な記録を受け取ります。