Skip to main content

check_governance

実験的機能。 キャンペーンガバナンス(sync_planscheck_governancereport_plan_outcomeget_plan_audit_logs)は、実験的サーフェスとして AdCP 3.0 の一部です — 少なくとも 6 週間の予告をもって 3.x リリース間で変更される可能性があります。これを実装するセラーは experimental_featuresgovernance.campaign を宣言しなければなりません(MUST)。完全なコントラクトについては 実験的ステータス を参照。
キャンペーンアクションのための汎用ガバナンスチェック。オーケストレーター(バイヤー側)とセラーの両方がこのタスクを呼び出します。ガバナンスエージェントは、存在するフィールドからチェックタイプを推論します。 ガバナンスエージェントがすべての状態を維持します。呼び出し元はチェック ID をチェーンしたり会話履歴を追跡したりしません — アクションをポストし、ガバナンスエージェントが plan_id で相関させます。後続のライフサイクルチェックでは、呼び出し元は継続性のために前のレスポンスの governance_context を含めます。 アカウントは1つのガバナンスエージェントにバインドされます(sync_governanceアカウントごとに1つのガバナンスエージェント を参照)。被管理アクションのすべてのライフサイクル呼び出しは、その同じエージェントに送られます。
専門家ごとのレビューはここに表面化します。 内部的な分解(法務、ブランドセーフティ、カテゴリ)は別個のエンドポイントとして公開されません — categories_evaluated、および deniedconditions、情報提供的な approved レスポンスでは findings[].details に、エージェント内部のラベルとして現れます。これらの値は不透明な監査値として扱ってください。固定リストに対してパターンマッチングしないでください。

チェックタイプ

意図チェック(オーケストレーター)

オーケストレーターは、セラーにツール呼び出しを送信する前に、toolpayload を伴って check_governance を呼び出します。ガバナンスエージェントは意図したアクションをキャンペーンプランに照らして評価します。
  1. オーケストレーターがセラーツール(例: create_media_buy)を呼び出すことを決定する
  2. オーケストレーターがツール名と完全なペイロードを伴って check_governance を呼び出す
  3. approved なら、オーケストレーターはツール呼び出しをセラーに送信する
  4. denied なら、オーケストレーターはツール呼び出しを送信しない
  5. conditions なら、オーケストレーターはペイロードを調整して check_governance を再呼び出しする
  6. ガバナンスエージェントが人間のレビューを必要とする場合、タスクは非同期になり、最終的に approved または denied に解決する

実行チェック(セラー)

セラーは、ガバナンスエージェントが設定された(sync_governance で設定)アカウントでリクエストを処理する際に、governance_contextplanned_delivery を伴って check_governance を呼び出します。実行チェックは常に拘束的です — ガバナンスエージェントが拒否した場合、セラーは進めてはなりません。 チェックを実行する前に、セラーはバイヤーからプロトコルエンベロープに到着した署名付き governance_context トークンを検証します。バイヤーは意図フェーズのトークンを生成します(JWS プロファイルに従う)。セラー自身の実行チェックは、ライフサイクルの残りについて、割り当てられた media_buy_id にバインドされた purchase/modification/delivery フェーズのトークンを生成します。
検証をまだ実装していないセラーも、トークンを変更せずに永続化して転送しなければなりません(MUST)— 監査人や規制当局はこれに依存します。検証は「転送のみ」のコンプライアンスから暗号的な説明責任へのランプであり、段階的に採用できます。 実行チェックは、3 つのフェーズを通じてメディアバイのライフサイクル全体をカバーします。 セラーは、コミット済みガバナンスチェックを段階的に採用できます。
  • レベル 1: 購入のみcreate_media_buy ごとに 1 回の呼び出し。最小限の実行可能な統合。
  • レベル 2: + 変更update_media_buy ごとに 1 回の呼び出し。
  • レベル 3: + 配信レポート — アクティブな配信中の定期的な呼び出し。

呼び出し要件

プランにガバナンスエージェントが設定されている場合、バイヤーエージェントはすべての支出コミットリクエスト(create_media_buyupdate_media_buyacquire_rightsupdate_rightsactivate_signalbuild_creative)の前に check_governance を呼び出さなければなりません(MUST)— 例外なく。ドル下限も、異常しきい値も、コールドスタート免除もありません。すべてのコミットがガバナンスエージェントを通ります。バイヤー側の呼び出しは意図チェック(tool + payload)であり、バイヤーがセラーへのリクエストに添付する意図フェーズの governance_context トークンを生成します。ガバナンスエージェントは、プランの budget.reallocation_thresholdhuman_review_required フィールドに従って、自動承認、条件適用、拒否、または人間のレビューへのエスカレーションを内部的に決定します。 セラー側の強制が、署名付き governance_context トークンを通じて MUST を実効化します。ガバナンスエージェントが設定されたプランの支出コミットを受け取ったセラーは、有効で期限内の意図フェーズトークン(phase: "intent"sub がプラン ID に等しい、aud がこのセラー宛て)を要求しなければならず(MUST)、そうでなければ PERMISSION_DENIED で拒否しなければなりません(MUST)。次にセラーは自身の実行チェックを実行します — planned_delivery と受け取った governance_context を伴って check_governance を呼び出す — これがライフサイクルの残りについて、新たに割り当てられた media_buy_id にバインドされた purchase フェーズのトークンを生成します。意図チェックをスキップするバイヤーは有効な意図トークンを生成できないため、コミットはセラーが実行チェックに到達する前に拒否されます。 プランにガバナンスエージェントが設定されていない場合、check_governance の呼び出しは必須でも意味もありません — 呼び出す対象がありません。セラーは、独自の商業ポリシーの問題として、ガバナンスエージェントが設定されていないプランでの取引を拒否してもかまいません(MAY)。 完全な定義(監査要件、セラー側の保持 MUST、冪等性との相互作用を含む)については 仕様 を参照。

ステータス値

期限切れ

expires_atverdictapproved または conditions の場合に存在します。失効した承認は承認ではありません — 呼び出し元は進める前に check_governance を再呼び出ししなければなりません。

条件

verdictconditions の場合、呼び出し元は進める前に調整したパラメーターで check_governance を再呼び出ししなければなりません(MUST)。required_value を持つ条件は機械処理可能です — 呼び出し元はプログラム的に値を適用できます。required_value のない条件はアドバイザリです — 呼び出し元は reason を解釈してそれに応じて調整すべきです。 ガバナンスエージェントは、同じアクションに対する 3 回の失敗した再呼び出しの後、(conditions ではなく)denied を返すべきです(SHOULD)。これは無限の交渉ループを防ぎます。特に、セラーがキャンペーンプランを見えないセラー側チェックで有効です。

人間によるレビュー

ガバナンスエージェントが人間のレビューが必要と判断した場合(例: アクションがプランの reallocation_threshold を超える、またはプランが human_review_required: true を運ぶ)、エージェントは内部的にエスカレーションを処理します。check_governance タスクは非同期になります — 呼び出し元は標準の非同期タスクライフサイクルステータス(submittedworking)を受け取り、人間が行動すると最終的に approved または denied を得ます。呼び出し元は、非同期タスクをサポートすること以外に、このケースの特別な処理を必要としません(タスクライフサイクルを参照)。 committed チェック(セラー側)では、セラーがタイムアウトを設定します。ガバナンスエージェントがタイムアウト内に応答しない場合、セラーはそれを denied として扱い、オーケストレーターにエラーを返します。オーケストレーターは、ガバナンスエージェントが解決した後にメディアバイを再開始できます。

結果とのリンク

レスポンスには check_id が含まれます。これを report_plan_outcome で使い、結果をそれを認可したガバナンスチェックにリンクします。

ガバナンスエージェントが利用不可の場合

ガバナンスエージェントが設定されていて、呼び出し元がそれに到達できない場合(タイムアウト、ネットワークエラー)、呼び出し元は進めてはなりません(MUST NOT)。ガバナンスはゲートです — ゲートに到達できないとき、デフォルトは停止です。呼び出し元はバックオフを伴って再試行し、失敗を上流にレポートすべきです(SHOULD)。

配信ケイデンス

レスポンスに next_check が存在することは、ガバナンスエージェントが継続的な配信レポートを期待しているというシグナルです。セラーは next_check の時刻までに呼び出すべきです(SHOULD)。ガバナンスエージェントは、期限の見逃しを次の配信チェックでの検出事項として扱ってもかまいません(MAY)。

リクエスト

意図チェック(オーケストレーターがセラーに送信する前にチェック)

最初の check_governance 呼び出しで、ガバナンスエージェントは payload から必要なものを抽出します。レスポンスには、呼び出し元がプロトコルエンベロープに添付し、この被管理アクションの後続のすべてのガバナンス呼び出しに含める governance_context 文字列が含まれます。3.0 では、ガバナンスエージェントは、セラーが真正性、認可スコープ、鮮度(15 ステップのセラーチェックリスト)を検証できるよう、AdCP JWS プロファイルに従って署名されたコンパクト JWS を発行しなければなりません(MUST)。トークンは必須の plan_hash 監査層クレームも運びます — 正規化ルール、保持義務、およびガバナンスエージェントの実装者が出荷前に検証すべき 11 個の参照ベクターについては プランバインディングと監査 を参照。

意図チェック(権利ライセンス)

実行チェック — purchase

実行チェック — modification

実行チェック — delivery

レスポンス

approved(意図チェック)

オーケストレーターは expires_at の前に create_media_buy をセラーに送信します。

approved(実行チェック — 配信オプトイン付き purchase)

セラーはメディアバイを進めます。next_check の存在は、ガバナンスエージェントがその時刻から配信レポートを期待していることを示します。

approved(実行チェック — delivery)

セラーは配信を続け、次のガバナンスチェックを next_check にスケジュールします。

denied(意図チェック)

オーケストレーターはツール呼び出しをセラーに送信してはなりません(MUST NOT)。

denied(実行チェック — delivery ジオドリフト)

セラーは直ちに配信を一時停止し、再開する前にジオターゲティングを修正しなければなりません(MUST)。

conditions(実行チェック — purchase)

セラーは計画された配信を調整し、進める前に更新したパラメーターで check_governance を再呼び出ししなければなりません(MUST)。

conditions(実行チェック — delivery オーバーペーシング)

セラーはペーシングを調整し、直ちに check_governance を再呼び出ししなければなりません(MUST)。next_check は、ガバナンスエージェントが修正を検証できるよう通常より近くに設定されます。

フィールド

リクエスト

配信メトリクス

レスポンス

エラーコード

関連タスク