AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月9日 10:00

Codexレビュー未通過ならデプロイ止める仕組み

LINEで送る
Codexレビュー未通過ならデプロイ止める仕組み

3つのポイント

  1. 何が起きたか

    約260行のNode.jsスクリプトが作業中ファイルをハッシュ化し.git/review-stamp.jsonに保存しpredeployで照合する。不一致か未実施ならデプロイは止まる。

  2. なぜ重要か

    「出す前にレビュー」と決まりに書いても忙しい日には抜ける。また、指定したモデルが実際に2つのレビュー役を動かしたとは限らない。

誰に効くかClaude CodeやCodexのようなAIコーディングアシスタントを使い、レビュー方針をデプロイ時に強制したい開発者やチームは、このパターンを採用すれば未レビューのコードが出荷されるのを防げる。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

この方式の中心は、一時的なGitインデックスを使って作る現在の作業ファイルの指紋だ。一時的なGIT_INDEX_FILEをHEADから読み、git add -Aとgit write-treeで無視されていない全ファイルのツリーハッシュを生成する。インデックスは一時的なので、通常のステージング領域はそのまま残る。つまり、レビュー後のコミットでは指紋は変わらないが、未コミットの変更があれば変わる。

デプロイ側はnpmのpredeployに接続されており、deployの前に自動で走る。チェックスクリプトはスタンプを読み、指紋を再計算し、スタンプがないか指紋が違えば非ゼロで終了する。記事によれば、wrangler deployを直接実行するのは別のフックで止められる。

レビューが問題を指摘した場合、開発者はコードを直してレビューを再実行するか、理由を添えて承認を記録する。どちらでも指紋と理由が保存される。レビュー自体はOMX設定の$code-reviewを使う。-mでモデルを指定しても要約役にしか効かず、2つの役割は独自の設定ファイルを使うため、スクリプトは各レビュー後にCodexのセッションログを調べる。両方の役割が意図したモデルで動き、結果がAPPROVEかCOMMENTだったことを確認してからスタンプを書く。利用上限に達した、レビュー中にコードが変わった、変更のないツリーの再レビューが失敗した、といった場合はすべて未レビューとして扱われる。

よくある質問
レビュー後にコードが変わっていないと、どうやって分かるのか?
作業ファイルの指紋を.git/review-stamp.jsonに保存する。デプロイ時、predeployが現在の指紋と保存した指紋を比べ、違えば止める。
指定モデルでレビューが動かなかった場合は?
スクリプトはCodexのセッション記録を読み、レビュアー、アーキテクト、親セッションのモデルを確認する。どちらかの役割が欠けているか、誤ったモデルが使われていれば、スタンプは記録されずデプロイは止まったままになる。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へHex、評価活用でAI誤編集7分の1に