Skip to main content
AdCP 仕様の各セクションは 5 つのステージの 1 つにあります。ステージは実装者にどれだけの安定性を期待すべきかを伝えます: Draft セクションはコントラクトを運びません。Final セクションは完全な 3.x 安定性保証 によって保護されます。

一目でのステージ

vocabulary match 列が鍵です: 仕様ステージとスキーマ注釈は同じ状態の 2 つのビューです。static/schemas/source/ の JSON Schema が "x-status": "experimental" を持つなら、それが属するセクションは Proposed ステージにあります。x-status マーカーを持たず、スキーマが GA リリースで出荷されているなら、Final ステージにあります。

ステージ定義

Draft

セクションは、ワーキンググループが GitHub マイルストーンでスコープされた提案 — 定義されたスコープを持つ spec / protocol ラベル付き issue — を開いたが、まだ static/schemas/source/ にスキーマが公開されていないとき Draft にあります。Draft セクション:
  • いかなる種類の安定性コントラクトも運ばない。Draft セクションに対して進むビルダーは自己責任でそうし、変更のため該当する GitHub マイルストーンを追跡すべき(SHOULD)。
  • get_adcp_capabilities で宣言されない。セラーは Draft セクションとの適合性を主張できない。
  • Proposed に達する前に放棄されることがある。
参入: スコープされた仕様 issue がワーキンググループのアクティブなマイルストーンに受け入れられる。ドメインワーキンググループリードがスコープが範囲内であることを確認する。 決定権限: ドメインワーキンググループリード。 RFC プロセスが適用されるとき: 実質的な仕様変更 — 新しいタスク、既存フィールドに影響するスキーマ変更、規範的散文への変更 — は、Draft に入る前に承認された RFC を必要とします。RFC は動機、検討された代替案、互換性への影響、レビュアーチェックリストを文書化します。軽量な変更(動作上の帰結のない新しい任意フィールド)は、正式な RFC の代わりにワーキンググループレビューを伴う PR 経由で Draft に入れます。

Proposed

セクションは、そのスキーマがスキーマルートまたは特定のプロパティに "x-status": "experimental" を持って static/schemas/source/ に存在し、かつ それを実装するセラーが get_adcp_capabilitiesexperimental_features に機能 id を宣言するとき Proposed です。 完全な Proposed ステージのコントラクト — 6 週間予告で変わりうるもの、変わらないもの(認証、トランスポート、エラーエンベロープ)、セラー宣言要件を含む — は 実験的ステータス で仕様化されています。そのページが統治します。このページはステージ語彙をそれにマップします。 参入: スキーマが x-status: experimental を持って 3.x リリースで公開される。リリースに伴うアーキテクチャ委員会レビューが実験的ステータスを確認する。 決定権限: アーキテクチャ委員会、リリース時。

Final

セクションは、そのスキーマが安定 — アーキテクチャ委員会がレビューした意図的な卒業 PR 経由で x-status: experimental が削除された — とき Final です。 4 つの卒業基準は 実験的ステータス — 安定版への卒業 で仕様化されています — 本番シグナル要件、クロスパーティ検証ハードル(45 日以上稼働しうち少なくとも 1 つが本番の 2 番目の実装、または 1 実装 + バイヤー統合)、スキーマ安定性ウィンドウ、意図的な昇格 PR を含む。そのページが統治します。このページはステージ語彙をそれにマップします。アーキテクチャ委員会は各 3.x リリースで卒業 PR をレビューします。 いったん Final になると、セクションは完全な 3.x 安定性保証 によって保護されます: フィールドは決して削除されず、enum は加算的のみ、タスク名はメジャーバージョン内で決して削除もリネームもされません。3.x の Final セクションは、4.0 開発サイクルを通じて — 同じ保証の下で — Final のままです。 アクティブな 4.0 スコーピング下のセクションは遡及的に降格されません。3.x コントラクトは 3.x サポートが終わるまで保たれます。前メジャーのサポートウィンドウ を参照。 参入: experimental-status.mdx の 4 つの卒業基準すべてが満たされる。アーキテクチャ委員会が承認し、スケジュールされた 3.x リリースで卒業 PR をマージする。 決定権限: アーキテクチャ委員会。

Deprecated

セクションは、正式な非推奨予告がリリースノートとチェンジログで公開され、削除への 6 か月のカウントダウンが始まったとき Deprecated です。セクションは非推奨ウィンドウ中、完全に機能し 3.x 安定性保証の下にあります。 非推奨ポリシー — 6 か月の最小予告、非推奨化後少なくとも 1 つの完全なリリースサイクル機能が持続、同じメジャーバージョン内で決して削除されない — は バージョニング — 非推奨ポリシー で仕様化されています。 参入: 非推奨予告が 3.x リリースのリリースノートとチェンジログに着地する。置き換え(あれば)が同じリリースで出荷される。アーキテクチャ委員会が削除ターゲット(常にメジャーバージョン境界)を確認する。 決定権限: アーキテクチャ委員会、ワーキンググループレビューを伴う。 アナウンス: deprecated ラベル + 移行ノート付きのリリースノートエントリ、チェンジログエントリ、スキーマのインライン @deprecated 注釈。

Sunset

セクションは、それがターゲットにされたメジャーバージョン境界が出荷されたら Sunset(削除)です。ポリシーにより、Deprecated セクションは同じメジャーバージョン内で決して削除されません — 最も早い削除日は次のメジャーの GA です。v2 サンセットタイムラインは v2 sunset ページ で文書化されています。 参入: 後継メジャーが GA 出荷される。以前に非推奨化されたフィールド、タスク、スキーマプロパティが新しいメジャーのスキーマから省略される。 決定権限: 暗黙 — メジャーバージョンリリースプロセスが削除を運ぶ。

遷移図

Draft は Proposed に達せずに放棄されることもあります。Final セクションは直接 Deprecated になりうる(中間ステージなし)。Sunset から任意の前のステージへのパスはありません — 削除された機能は復元されず、必要なら一から再提案されます。 ステージ遷移(Draft → Proposed → Final、Final → Deprecated など)は承認された RFC でゲートされます — RFC の結果(accepted / accepted-with-changes)が、コントリビューターに遷移を運ぶ仕様 PR を開くことを認可するトリガーです。RFC プロセス(issue #2437) を参照。

仕様セクションの現在のステージを確認する方法

  1. スキーマmarker: static/schemas/source/ の該当スキーマを確認。"x-status": "experimental" → Proposed。出荷されたスキーマにマーカーなし → Final。static/schemas/source/ にないがオープンな GitHub マイルストーン issue で参照 → Draft。
  2. 実験的サーフェスリスト: 実験的ステータス ページが、機能 id と現在のステータスを持つすべての現在 Proposed のサーフェスをリストする。
  3. GitHub マイルストーン: アクティブなマイルストーンのオープン issue は Draft と Proposed の作業を表す。マージされたスキーマに x-status のない出荷済みアイテムは Final。
  4. リリースノート: Deprecated セクションは、すべてのリリースのノートで deprecated ラベルと削除ターゲット付きで言及される。

ワーキンググループとガバナンス

誰がワーキンググループに座るか、投票しきい値、定足数、エスカレーションパスを統治する手続き:
  • RFC プロセス#2437): 提案テンプレート、決定記録形式、RFC から仕様変更までのライフサイクル
  • ワーキンググループ憲章#2438): 定足数、投票しきい値、名簿、忌避ポリシー — アクティブに開発中
アーキテクチャ委員会は、Final ステージの卒業と Deprecated ステージの参入について定義された決定権限です。実験的ステータス で参照され、安定性コントラクトを運ぶステージ遷移についてワーキンググループの批准機関として動作します。