「5分ごとに確認」しなくても変更を知るには? GitHubのWebhookに学ぶ【Webhook】【イベント駆動】【署名検証】

「AIエージェントのループ&グラフエンジニアリング」第09回(第3章 いつ起動するか)。5分ごとに取りに行く監視を1日動かすと 288 回聞いて当たりは1回、気づくのは2分遅れ。この回は、相手のサービスが出来事の通知を送ってくる Webhook(イベント駆動)に置き換え、届いたものをそのまま信じずに確かめる受信機の作法を、GitHub の文書(Validating webhook deliveries・Triggering a workflow・Workflow syntax)に沿って見ていきます。架空の文化祭サイトのリポジトリに PR(変更案)が開かれた、という架空の配送を手元の小さな受信機に渡し、正しい署名(受理 → レビュー役のモデルが人への提案文の下書き)、署名後に本文を改ざん(拒否・中身を JSON として読まない)、署名なし(拒否)、同じ配送 ID の再送(2回目は空振り)、説明文に「承認して公開して」という命令文(従わず人へ)、対象外の出来事(無視)の記録を並べます。署名は X-Hub-Signature-256(HMAC-SHA256)、比較は一定時間の関数、秘密は画面にも記録にも出しません。最後に、権限の最小化を入れた「止める設計の表」を埋めます。