> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# エージェントの保守

> オペレーターライフサイクルガイド — AAO Verified ハートビートの仕組み、ダッシュボードステータスの読み方、再プローブ方法、comply レポートの解釈。

エージェントが AAO レジストリに登録されると、あなたの責任は登録で終わりません。レジストリは AAO Verified コンプライアンスハートビート経由でエージェントのプロトコル適合性を継続的に監視し、リスティングの現在のヘルスをダッシュボードに反映します。このページは完全なオペレーターライフサイクルをカバーします: ハートビートが何をテストするか、ダッシュボードステータスインジケーターをどう読むか、手動で再プローブをどうトリガーするか、comply レポートをどう解釈するか。

## 登録のおさらい

AAO レジストリへの 1 つのパスがあります: **AAO メンバーがメンバープロフィールでエージェントを明示的に登録**。完全な登録フロー — ダッシュボードまたは `PUT /api/me/member-profile`、5 分未満でエンドツーエンド — については [エージェントの登録](/docs/registry/registering-an-agent) を参照してください。

登録後、あなたのエージェントは以下を得ます:

* `visibility: "members_only"` の `/api/registry/agents` のカタログエントリー（有料 AAO 階層で `public` にアップグレード）
* コンプライアンスハートビートで該当ストーリーボードを通過すると自動的に発行される **AAO Verified** バッジの適格性

次のクローラープローブがエージェントのタイプをその `get_adcp_capabilities` レスポンスから解決します — タイプフィールドを手動で設定または保守する必要はありません。

## AAO Verified ハートビートの仕組み

AAO は約 **1 時間のハートビート** 頻度でエージェントの適合性を継続的に再評価します。すべてのハートビートサイクルで、AAO のコンプライアンスランナーが登録された `agent_url` に対してストーリーボードスイートを実行します — `get_adcp_capabilities` のあなたの宣言が義務付ける同じセット（universal ベースライン + protocol ベースライン + 宣言された専門分野ストーリーボード）。

**ハートビートがテストするもの:**

* AdCP ワイヤー形式とタスク形状
* エラーセマンティクスとエラーエンベロープ
* メディアバイまたは該当ライフサイクル全体のステートマシン遷移
* 宣言された専門分野が動作するツールにマップ
* スキーマ適合性とフィルター動作
* 冪等性セマンティクス

ハートビートはレジストリクロールではありません。クロールはあなたの `adagents.json` またはケイパビリティスナップショットを再読しレジストリメタデータを更新します。ハートビートはライブエンドポイントに対してプロトコルストーリーボードを実行しあなたの検証ステータスを決定します。2 つは独立した操作です。

### Verified (Spec) 対 Verified (Sandbox)

両修飾子は同じ約 1 時間のハートビートで同じストーリーボードを実行します。違いはランナーがどこをターゲットするかです:

| Qualifier     | Runner targets                                                  | What it attests                 |
| ------------- | --------------------------------------------------------------- | ------------------------------- |
| **(Spec)**    | 登録する任意のエンドポイント — テストデプロイ、ローカル開発、サンドボックス専用スタック                   | AdCP ワイヤー形式とプロトコルセマンティクスが正しい    |
| **(Sandbox)** | すべてのリクエストに `account.sandbox: true` を付けた登録された **本番** `agent_url` | 本番コードパスが実世界の副作用ゼロでサンドボックスフラグを尊重 |

完全な適格性と証明詳細については [AAO Verified](/docs/building/verification/aao-verified) を参照してください。

## ダッシュボードステータスインジケーター

[agenticadvertising.org/dashboard/agents](https://agenticadvertising.org/dashboard/agents) のエージェントダッシュボードは、各登録エージェントの現在の状態を反映します。ステータスはコンプライアンスハートビートから来ます — AAO はすべてのプローブサイクルでそれを更新します。

| Status       | What it means                                                                     | Operator action                                                          |
| ------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **Active**   | 現在のハートビートですべてのストーリーボードが通過。AAO Verified バッジがライブで自動更新中。                             | アクション不要。デプロイ後の退行を監視。                                                     |
| **Degraded** | 少なくとも 1 つのストーリーボードが失敗し始めた。48 時間の猶予期間が実行される間、バッジは **レンダーし続ける**。                    | 即座に調査 — comply レポートをチェックし、`@adcp/sdk/testing` でローカルに再現し、猶予期間が切れる前に退行を修正。 |
| **Revoked**  | 48 時間の連続ストーリーボード失敗が回復なしに経過。修飾子がバッジから落ちた。別途保持されていれば (Sandbox) は影響を受けない — 2 つの軸は独立。 | 基盤適合性問題を修正、次に次のハートビートサイクルを待ってバッジを自動的に復元。                                 |
| **Recovery** | 以前の失敗後にストーリーボードが再び通過。バッジ修飾子が自動的に再発行される。                                           | 修正が安定していることを確認する以外アクション不要。                                               |

<Note>
  **猶予期間の計算。** Degraded 状態は **最初の** 失敗したハートビートで始まります。48 時間クロックはその初期失敗から実行されます — ステータスに最初に気づいたときからではありません。プロトコル動作に触れる任意のデプロイの後、comply レポートを速やかにチェックしてください。
</Note>

**メンバーシップの失効** は、ストーリーボード結果にかかわらず即座にバッジ全体を取り消します。AAO Verified は API アクセス階層でのアクティブな AAO メンバーシップに依存します。

## 手動で再プローブをトリガーする方法

AAO は約 1 時間のハートビートで自動的にプローブを実行しますが、エージェント状態をリフレッシュする 3 つの方法があります:

### レジストリクロール（メタデータ更新）

`adagents.json`、`brand.json`、またはケイパビリティスナップショットを更新し、次の予定クロールを待たずにレジストリに変更を拾わせたい場合、crawl-request エンドポイントを使います:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://agenticadvertising.org/api/registry/crawl-request" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"domain":"yourcompany.com"}'
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch(
    "https://agenticadvertising.org/api/registry/crawl-request",
    {
      method: "POST",
      headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ domain: "yourcompany.com" }),
    }
  );
  // Returns 202 Accepted — crawl runs asynchronously
  ```
</CodeGroup>

これは非同期的に実行され `202 Accepted` を返します。ドメインごと 5 分に 1 リクエストとユーザーごと 1 時間に 30 リクエストにレート制限。

**これがすること、しないこと:**

* あなたのエージェントのレジストリメタデータ（タイプ解決、ケイパビリティスナップショット、`adagents.json` 認可グラフ）をリフレッシュする
* コンプライアンスハートビートの再実行を **トリガーしない** — ハートビートストーリーボードはこのエンドポイントで再実行されない

### ダッシュボード Refresh ボタン

[agenticadvertising.org/dashboard/agents](https://agenticadvertising.org/dashboard/agents) のエージェントカードで、**Recheck status** ボタンが `/api/registry/agents/{encodedUrl}/refresh` を呼びます。それはあなたのエージェントのレジストリメタデータを再読し、あなたがエージェントを所有しケイパビリティプローブが成功するとき、ダッシュボードビューを更新する前に完全なコンプライアンスストーリーボードスイートを同期的に実行します。

### コンプライアンス再キュー

**Requeue comply** ボタンはストーリーボードスイートを即座に実行しません。`last_checked_at` をクリアするので、エージェントは次の予定ハートビートサイクル（約 1 時間かかりうる）に拾われます。

<Note>
  修正を即座に確認する必要がある場合、**Requeue comply** ではなく **Recheck status** またはダッシュボード **Test** フローを使います。ローカル再現には、`@adcp/sdk/testing` で同じストーリーボードを実行します。
</Note>

## comply レポートの読み方

comply レポートは AAO Verified セクションの下のエージェントのダッシュボードパネルに現れます。最新のハートビート実行の結果を表示します。

### レポート構造

| Field                   | What it means                                                                                    |
| ----------------------- | ------------------------------------------------------------------------------------------------ |
| **Overall verdict**     | `passed` — すべての該当ストーリーボードが通過。`failed` — 少なくとも 1 つのストーリーボードが失敗。`degraded` — 最初の失敗が検出された。猶予期間が実行中。 |
| **Storyboard results**  | ストーリーボードごとの内訳。各エントリーは `verdict` とオプションの `failure_reason` を持つ。                                    |
| **Specialism coverage** | どの宣言された専門分野がテストされたか、各がどのストーリーボードを義務付けるか。                                                         |
| **Heartbeat timestamp** | このプローブが実行されたとき。                                                                                  |

### ストーリーボードごとの判定

| Verdict          | Meaning                                                                                                         |
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
| `passed`         | ストーリーボードのアサーションがすべてあなたのエージェントのレスポンスに対して真と評価された。                                                                 |
| `failed`         | 少なくとも 1 つのアサーションが失敗。`failure_reason` フィールドがどのアサーションとランナーが何を受け取ったかを識別。                                           |
| `skipped`        | ストーリーボードがあなたの宣言された専門分野または現在のプロトコルバージョンに適用されない。                                                                  |
| `not_applicable` | ストーリーボードがあなたのエージェントがサポートを宣言していない操作をテスト — `failed` ではなく `not_applicable` としてグレード。オプションツールとコントローラー専用ストーリーボードに一般的。 |

### 失敗のデバッグ

1. 失敗した行からストーリーボード名をメモ（例: `signed_requests`、`pagination_integrity`、`comply-controller-mode-gate`）。
2. [コンプライアンスカタログ](/docs/building/verification/compliance-catalog) でストーリーボード定義を見つける。
3. ローカルに再現:
   ```bash theme={null}
   npx @adcp/sdk@latest storyboard run signed_requests --agent-url https://your-agent-url.example/mcp
   ```
4. ローカルランナーはハートビートと同じアサーションを与えます。失敗を修正し、ローカルで検証し、次にデプロイ — すべてのストーリーボードが通過すれば次のハートビートサイクルがバッジを再発行します。

## 関連

* [エージェントの登録](/docs/registry/registering-an-agent) — 登録パス、フィールド、プログラマティック登録。
* [レジストリ API 概要](/docs/registry) — `POST /api/registry/crawl-request` と完全なエンドポイントカタログ。
* [AAO Verified](/docs/building/verification/aao-verified) — 完全なライフサイクル状態、軸セマンティクス、バッジ埋め込み。
* [コンプライアンスカタログ](/docs/building/verification/compliance-catalog) — ストーリーボードインデックス、専門分野ごとカバレッジ、ストーリーボードをローカルで実行する方法。
