Devotd Github
新着AIエージェント

benord-labs/frink b5b3178 — 5プロバイダー共通のテストグリッドを追加

Frink は、5つのエージェントプロバイダーを同じシナリオで検証する共通テストグリッドを追加し、テストケースの間で漏れていた権限承認の누수를整理した。

リポジトリ情報benord-labs/frink ↗

Frink は、5つのエージェントプロバイダーを同じシナリオで検証する共通テストグリッドを追加し、テストケースの間で漏れていた権限承認の누수를整理した。

GitHub の説明: Fine-tuned automation for everyone: visual workflows where AI coding agents act on your tickets, errors and schedules, and ask before they change anything. Works with Claude Code, Codex, OpenCode, GitHub Copilot and Cursor. Local and open source, on macOS and Linux.

スター
★ 48
フォーク
5
言語
TypeScript
ライセンス
MIT
最新リリース
0.4.0
原文を見る ↗GitHub で見る ↗

benord-labs/frink は、AI コーディングエージェントがチケット・エラー・スケジュールを根拠に動作するプロジェクトであり、今回の変更以前は、承認 여부를先に尋ねる自動化をローカル・オープンソースとして提供していた。2026年10月26日のコミット b5b3178 は、5つのプロバイダー(Claude Code、Codex、OpenCode、GitHub Copilot、Cursor)を同じシナリオで検証する共通テストグリッドを追加する一方、テストケースの間で権限承認が漏れる問題もあわせて整理した。

グリッドの各行は実際のチャットや Flow ステージが通過する handleRemoteExecute を通り、行名は conformance: <シナリオ> x <ランタイム> という形式なので、結果は適合性マトリックスとして読める。シナリオは二つだけである。テキスト応答がチャットに届きターンが最後まで完走する単純なターンは5つのプロバイダーすべてが通過するが、ファイルを書き込み後にエディタタブが更新されるシナリオは Claude だけが通過する。Claude のターンループだけが file-changed を送り、Codex の編集カードには file_path が含まれないためである。現在の隔たりは conformance/baseline.ts に列挙し、vitest の fails オプションで示している。リストにない失敗も、リストにある成功もいずれもテストを壊すため、リストが縮むだけになるのを防ぐようにした。

同じコミットは、それより前のテスト状態も是正した。executor.test.ts の490ケースのうち237件は前のケースが残した権限カードが待機中었고、479件は前のケースがインストールしたカード送信をそのまま引き継いでいた。そのうち470件は自動承認の実装だった。削除した後も実装が残っていたのは vi.clearAllMocks のせいである。今では全ケースが待機カードなしで開始し、両方の数値はいずれも0になった。drain テストも、検査が偽 CLI の中で実行され、例外が失敗したターンとして飲み込まれていた問題をあわせて修正された。

ただし、今回の変更は製品挙動には手を触れていない。プロバイダーの実バイナリで記録された許可書き込み実行がまだ存在しないため、フィクスチャはすべてスクリプトであり、RECORDED と SCRIPTED でしか区別されていない。ユニットスイートは Linux CI でのみ実行され、Windows での検証ではない。次の PR でエディタ更新の効果が Claude のループから共通コードへ移れば、残りの行は合格へ変わると見られる。現時点で、ファイル書き込み後のエディタタブ更新が到達するのは Claude の経路のみで、グリッドはその差を隠さず表に出している。