ITSUKI.
技術700 文字2 分

Day 13|Approval — 方針と、一回の判断を分ける

#Codex#ソースコードリーディング#図解

この章しょうの答こたえ

承認しょうにん方針ほうしん、今回こんかいの要求ようきゅうに必要ひつような確認かくにん、実際じっさいの決定けっていを別々べつべつに読よむ。

毎回まいかい確認かくにんするのか、条件じょうけんに応おうじて確認かくにんするのか。その方針ほうしんと、今いまこの操作そうさを実行じっこうしてよいかの決定けっていは別べつです。承認しょうにん処理しょりを一ひとつの if 文ぶんとして考かんがえず、段階だんかいに分わけて追おいます。

01|図でつかむ

図13|Approval

判断はんだんを受うけたあとも、実行じっこうは選えらばれた権限けんげんと環境かんきょうの制約せいやくに従したがう。

02|3つのポイントで理解する

1. Policy は基本ルール

AskForApproval などの設定せっていは、承認しょうにんをどのように扱あつかうかを決きめます。設定せってい名めいの印象いんしょうだけで判断はんだんせず、どの条件分岐じょうけんぶんきで参照さんしょうされるかを読よみます。

2. Requirement は今回の操作についての判定

実行じっこうするコマンドやパスなどから、必要ひつような確認かくにんが組み立くみたてられます。設定せっていが同おなじでも操作そうさの内容ないようが違ちがえば、通とおる経路けいろが変かわる可能性かのうせいがあります。

3. Decision は判定結果

確認かくにんを担当たんとうする側がわから返かえった決定けっていが、実行じっこう・拒否きょひ・中断ちゅうだんなどへどう接続せつぞくされるかを見みます。ユーザーへの質問しつもん表示ひょうじだけでなく、返答へんとう後のちの処理しょりまで追おって初はじめて一周いっしゅうできます。

03|ソースで確かめる

以下いかの検索けんさくは Codex リポジトリのルートで実行じっこうします。最初さいしょに対象たいしょう commit を記録きろくし、検索結果けんさくけっかから定義ていぎと呼び出よびだし元もとを一ひとつずつ開ひらいてください。

git rev-parse --short HEAD
rg -n "AskForApproval|ReviewDecision" codex-rs

読よむ入口いりぐち: codex-rs/protocol/src/protocol.rs 。リンク先さきは照合しょうごうに使つかった固定こてい commit のファイルです。手元てもとの版はんと異ことなる場合ばあいは、上うえの検索語けんさくごから探さがし直なおします。

小さく試す

Approval の要求ようきゅうを作つくる場所ばしょと決定けっていを受け取うけとる場所ばしょを探さがし、その間あいだに運はこばれる情報じょうほうを書き出かきだします。

04|30秒で復習

  • 方針ほうしんと個別こべつ判断はんだんを分わける。
  • 操作そうさ内容ないようから確認かくにん要件ようけんが決きまる。
  • 決定後けっていごの実行じっこう・拒否きょひ経路けいろまで追おう。

全ぜん30章しょうの目次もくじへ