これらは何か
リファレンステストベクターは、仕様の特定のワイヤーフォーマットルールにピン留めされた機械可読な JSON フィクスチャです。出力がベクターのexpected_* フィールドとバイト単位で一致する SDK は、そのルールのワイヤーフォーマットについてリファレンスと一致しています — 適合性クレームではありません(それは ストーリーボード のみが決定します)が、相互運用の必要な前提条件です。分岐する SDK は、自身のテストが合格しても相互運用バグを持っています。
ベクターは ストーリーボード を補完します。ストーリーボードはエージェントをエンドツーエンドで実行して pass/fail の判定を生成します。ベクターはライブラリを凍結された入力に対して分離して実行します。ベクターは署名者に「この 9421 リクエストはこの署名ベースを生成しなければならない(MUST)」と伝えます。ストーリーボードはエージェントに「バイヤーがこのリクエストを送るとき、このような形状の結果で応答しなければならない(MUST)」と伝えます。ほとんどの準拠スタックは両方を必要とします — ベクターはライブラリ内の正準化ドリフトを捕まえ、ストーリーボードはワイヤーでの動作ドリフトを捕まえます。
ベクターは適合性仕様ではありません — ストーリーボード がそれです。ベクターは、ストーリーボードと SDK ユニットテストが消費するリファレンス入力です。
バージョニング
コンプライアンスツリーの下に公開されるベクターセット —request-signing、webhook-signing、plan-hash、webhook-receiver-envelope、catalog-macro-substitution — は仕様とともにバージョン管理されます。/compliance/{version}/test-vectors/{set}/ で提供されるコピーは、そのバージョンの GA リリースで凍結されます。ベクターのバイトを変える修正は次の AdCP マイナーリリースで出荷されます。/compliance/latest/test-vectors/{set}/ は最新の GA を追跡し、リリース間であなたの下で移動します。
/test-vectors/{name}.json で提供されるトランスポートとレスポンス抽出のベクターは、現在バージョン管理されていません: 各ファイルは変更されたときにその場で上書きされます。これらのフィクスチャを消費する SDK は、これらのファイルがバージョン管理されたコンプライアンスツリーに巻き込まれるまで、コミットにピン留めされたコピーをベンダリングすべきです(SHOULD)。例えば https://raw.githubusercontent.com/adcontextprotocol/adcp/<sha>/static/test-vectors/<name>.json から取得し、<sha> をロックファイルに記録します。
SDK は、利用可能な場所でバージョン管理されたパスを取得し、テスト中のバージョンを記録すべきです(SHOULD)。ピン留めされたバージョンについては、/compliance/{version}/... の CDN コピーが真実の源泉です。/compliance/latest/... は安定したピンではなく便宜的なエイリアスです。
公開されたセット
ここから始める: すべてのセットの Source 列の
README.md が、ファイルレイアウト、鍵素材、前提条件(例: リプレイベクターに必要なランナー状態)、セットを SDK テストループに配線する方法を文書化します。ソースツリーの README が権威的です。このページのインデックスはカタログであり、統合ガイドではありません。
ディレクトリ CDN パス(3 つのコンプライアンスツリー行)はプログラム利用のためのベースパスです — CDN は個別のファイルを提供し、ディレクトリリストは提供しません。Source 列経由でツリーを参照してください。
テスト鍵は公開されている
すべての署名ベクターセットは、ライブラリが同一の入力に対して署名者と検証者のロールを実行できるよう、keys.json に秘密鍵素材を出荷します。これらの鍵は このスイートに対するグレーディングにのみ有効 です。
公開された keys.json ファイルの 1 つで宣言された kid を信頼する任意の本番検証者は悪用可能です — 秘密鍵は公開 CDN 上にあり、誰でもその kid の下で署名を偽造できます。執筆時点でこれには test-ed25519-2026、test-es256-2026、test-gov-2026、test-revoked-2026(request-signing)と test-ed25519-webhook-2026、test-es256-webhook-2026、test-wrong-purpose-2026、test-response-purpose-2026、test-revoked-webhook-2026(webhook-signing ベクター)が含まれます。任意のスイート keys.json に現れるすべての kid を、現在も将来も、グレーディング外では信頼できないものとして扱ってください。
本番署名者は独自のキーペアを鋳造し、独自の jwks_uri の下で公開します。本番検証者は、ライブトラフィックに公開された信頼ストアに任意のテスト kid を登録してはなりません(MUST NOT)。