メインコンテンツまでスキップ
バージョン: 0.3.1

Dicks専用PRレビュー

専用GitHub App dicks-lang-reviewer をCloudflare上で稼働しています。dicks-lang のインストール対象リポジトリで、PRの作成と追加コミットを受けてレビューします。

初回のモデル評価では、不具合3例と正常変更3例の計6例が期待した結果になりました。モデル呼び出しは9回です。実環境の試験PRでもゼロ除算の指摘が正しい差分行に投稿され、Checkに反映されました。この少数の試験は一般的な検出率や誤検出率を証明するものではありません。

確認するもの​

Dicksの命令、即値の有無、スタック型、Result・List・Record、モジュールの関数ID再配置、推移的effect、非同期host ABIを確認します。固定した公式仕様とライブラリ契約を使い、PRの難読ソースには比較検証用チェッカーから生成した命令・型情報を添えます。PRのコードや依存パッケージは実行しません。

AIが候補を出した後、別の確認段階で既存のガードや変更前の動作を調べ、指摘を反証します。変更行・引用が実際の差分に一致し、両段階で残った指摘だけを行コメントにします。推測や好みだけの指摘は対象外です。

実行と再試行​

署名を検証したWebhookをD1へ記録し、Queuesで処理します。WebhookやQueueの重複配信は同じジョブへまとめます。レビュー投稿後に通信が切れた場合も、投稿済みレビューを照合して回復します。追加コミット、draftへの変更、クローズが見つかれば古い結果を投稿しません。

権限と上限​

Appの権限はcontentsの読取、pull requestsとchecksの書込です。自動承認・マージ・修正commitは行いません。対象は設定したOrg内のインストール対象リポジトリです。PR本文やソースに書かれた命令で権限やレビュー方針を変更しません。

初期上限は1日20ジョブ、1ジョブ2回までのモデル呼び出し、各応答16,384出力トークンです。モデルは gpt-6-astra。これらは回数・トークンの制限で、金額上限ではありません。OpenAIの利用料とCloudflareの利用料が発生します。モデルの自動再試行は無効です。

取得できないファイル、非対応ファイル、サイズ上限や依存不足は未確認の範囲として表示します。部分レビューや失敗をCheckの成功として扱いません。保存期間は30日、OpenAIへの要求では store: false を指定します。診断ログにはソースや認証値を出しません。

既知の制限​

実行による再現試験ではありません。チェッカーの固定版にない依存や、取得できなかった関数は完全には検証できません。AIの指摘には誤りも見逃しもあり得るため、通常のCIと人間のレビューを併用してください。モデルの更新とレビュー方針の更新には、既知の不具合・正常例を使う精度評価が必要です。