Skip to main content

report_plan_outcome

アクションの結果をガバナンスエージェントに報告します。セラーが応答した後にオーケストレーター(バイヤーサイドエージェント)が呼び出す。これはガバナンスループの「after」の半分だ — 実際に何が起きたかをガバナンスエージェントに伝えて状態を更新し、問題があればフラグを立てる。 セラーはこのタスクを呼び出さない。セラーは phase: "delivery" を使った check_governance で配信データを報告します。

セラーレスポンス(create_media_buy 後)

{
  "tool": "report_plan_outcome",
  "arguments": {
    "plan_id": "plan_q1_2026_launch",
    "check_id": "chk_xyz789",
    "outcome": "completed",
    "seller_response": {
      "media_buy_id": "mb_seller_456",
      "packages": [
        {
          "package_id": "pkg_001",
          "product_id": "premium_video_300k",
          "budget": 150000,
          "targeting_overlay": {
            "geo": { "include": [{ "type": "country", "code": "US" }] },
            "viewability": { "standard": "mrc", "threshold": 50 }
          }
        }
      ],
      "planned_delivery": {
        "geo": { "countries": ["US"] },
        "channels": ["olv"],
        "start_time": "2026-03-15T00:00:00Z",
        "end_time": "2026-06-15T00:00:00Z",
        "total_budget": 150000,
        "currency": "USD"
      },
      "creative_deadline": "2026-03-20T00:00:00Z"
    }
  }
}

レスポンス(問題なし)

{
  "outcome_id": "out_001",
  "status": "accepted",
  "committed_budget": 150000,
  "plan_summary": {
    "total_committed": 425000,
    "budget_remaining": 75000
  }
}
ガバナンスエージェントは状態を更新します: セラーが確認した金額に基づいて予算がコミットされ、メディアバイが追跡されます。

レスポンス(不一致検出)

同じアクションの別のシナリオで、セラーがリクエストを変更した場合:
{
  "outcome_id": "out_002",
  "status": "findings",
  "committed_budget": 120000,
  "findings": [
    {
      "category_id": "seller_verification",
      "severity": "warning",
      "explanation": "Seller reduced budget from $150,000 to $120,000 and added geo targeting for CA that was not requested.",
      "details": {
        "discrepancies": [
          { "field": "packages[0].budget", "requested": 150000, "received": 120000 },
          { "field": "packages[0].targeting_overlay.geo.include", "requested": ["US"], "received": ["US", "CA"] }
        ]
      }
    }
  ],
  "plan_summary": {
    "total_committed": 395000,
    "budget_remaining": 105000
  }
}
ガバナンスエージェントはセラーの実際の金額(要求した 150Kではなく150K ではなく 120K)をコミットするが、オーケストレーターが対処するための検出事項を返します。

配信データ(定期レポート)

{
  "tool": "report_plan_outcome",
  "arguments": {
    "plan_id": "plan_q1_2026_launch",
    "outcome": "delivery",
    "delivery": {
      "media_buy_id": "mb_seller_456",
      "reporting_period": {
        "start": "2026-03-15T00:00:00Z",
        "end": "2026-03-22T00:00:00Z"
      },
      "impressions": 1250000,
      "spend": 18750,
      "cpm": 15.00,
      "viewability_rate": 0.72,
      "completion_rate": 0.65
    }
  }
}

レスポンス(順調)

{
  "outcome_id": "out_del_001",
  "status": "accepted"
}

レスポンス(異常検出)

{
  "outcome_id": "out_del_002",
  "status": "findings",
  "findings": [
    {
      "category_id": "budget_authority",
      "severity": "warning",
      "explanation": "Spend is pacing 62% above plan. At current rate, budget will be exhausted 5 weeks early.",
      "details": {
        "planned_weekly_spend": 11538,
        "actual_weekly_spend": 18750,
        "overpace_pct": 62,
        "projected_exhaustion": "2026-05-03T00:00:00Z"
      }
    }
  ]
}

失敗したアクション

セラーがリクエストを拒否した場合、ガバナンスエージェントがプラン状態を更新できるよう報告する:
{
  "tool": "report_plan_outcome",
  "arguments": {
    "plan_id": "plan_q1_2026_launch",
    "check_id": "chk_xyz789",
    "outcome": "failed",
    "error": {
      "code": "PRODUCT_UNAVAILABLE",
      "message": "Product premium_video_300k is no longer available."
    }
  }
}
{
  "outcome_id": "out_003",
  "status": "accepted",
  "committed_budget": 0,
  "plan_summary": {
    "total_committed": 275000,
    "budget_remaining": 225000
  }
}

フィールド

リクエスト

フィールド必須説明
plan_idstringYesこの結果が対象のプラン。
check_idstringConditionalcheck_governance からの check_id。結果を承認したガバナンスチェックにリンクします。completedfailed の結果に必須。
outcomeenumYescompletedfailed、または delivery
seller_responseobjectNoセラーの完全なレスポンス。outcomecompleted の場合に必須。
seller_response.media_buy_idstringNoセラーのメディアバイ識別子。
seller_response.committed_budgetnumberNo確認されたすべてのパッケージにわたってコミットされた総予算。存在する場合、ガバナンスエージェントは個々のパッケージ予算を合計する代わりにこれを直接使用します。
seller_response.packagesarrayNo実際の予算とターゲティングを含む確認済みパッケージ。
seller_response.planned_deliveryobjectNoセラーが配信すると言ったもの。セラーサイドガバナンスが設定されていない場合、これがガバナンスエージェントのセラーの配信パラメーターに対する唯一のビューとなります。
seller_response.creative_deadlinestringNoクリエイティブ提出の ISO 8601 締め切り。
deliveryobjectNo配信メトリクス。outcomedelivery の場合に必須。
delivery.media_buy_idstringNoレポート対象のメディアバイ。
delivery.reporting_periodobjectNoレポートウィンドウの開始と終了タイムスタンプ。
delivery.impressionsintegerNo期間中に配信されたインプレッション数。
delivery.spendnumberNo期間中の消化額。
delivery.cpmnumberNo期間の実効 CPM。
delivery.viewability_ratenumberNoビューアビリティ率(0-1)。
delivery.completion_ratenumberNo動画完了率(0-1)。
errorobjectNoエラー詳細。outcomefailed の場合に必須。
error.codestringNoセラーからのエラーコード。
error.messagestringNo人間が読めるエラーの説明。

レスポンス

フィールド説明
outcome_idstringこの結果レコードの一意識別子。
statusenumaccepted(状態更新、問題なし)または findings(問題検出)。
committed_budgetnumberこの結果からコミットされた予算(completed/failed の結果に存在)。
findingsarrayステータスが findings の場合のみ存在。
findings[].category_idstring問題をフラグした検証カテゴリ。
findings[].severityenuminfowarning、または critical
findings[].explanationstring問題の人間が読める説明。
findings[].detailsobjectプログラム的な処理のための構造化された詳細。
plan_summaryobject更新されたプランの予算状態(completed/failed の結果に存在)。

エラーコード

コード回復説明
PLAN_NOT_FOUNDcorrectableこの ID のプランが存在しません。
CHECK_NOT_FOUNDcorrectableこの check_id のガバナンスチェックが存在しません。
CAMPAIGN_NOT_FOUNDcorrectableプラン内にこの governance_context のキャンペーンが存在しません。
CAMPAIGN_SUSPENDEDcorrectableプランが人間のレビューを待ちながら停止されています。エスカレーションが解決されるまで結果レポートはブロックされます。

関連タスク