Verify Release
OpenClawリリースが完全にリリース、公開、プロモート、スモークテスト、ライブ検証されているかどうかを尋ねられた場合にこれを使用します。これは検証スキルであり、公開スキルではありません。リリース状態を変更する前に $release-openclaw-maintainer を使用してください。
ルール
.27のような短いサフィックスは、現在の日付/コンテキストから具体的なCalVerバージョンに解決し、その解決したバージョンを伝えます。- 最初にトラックを解決します。両方のトラックは共有のGitHub Release証拠台帳を使用します。通常版ベータ/安定版はプラットフォームグラフも使用します。拡張安定版はその正規ブランチ、npmセレクター、およびGatewayサーフェスを使用します。一方のトラックのネイティブアーティファクトやClawHubアーティファクトをもう一方のトラックに要求しないでください。
- ライブ状態を検証します。ローカルチェックアウトの状態、リリースノート、または古い記憶を現在の真実として信頼しないでください。
- チェックアウトがダーティまたは分岐している場合は、スクリプト/参照にのみ使用します。バージョンメタデータについては、GitHubリリース/タグからフェッチするか、
/tmpの下にタグtarballを展開します。 - 機密情報を決して出力しないでください。
- 最終出力は簡潔に保ちます:
yes/no、証拠の箇条書き、注意点、クリーンアップ。
通常版ベータ/安定版チェック
これらのチェックは通常のオーケストレーションされたリリーストラックにのみ使用します。
- GitHubリリース:
gh release view v<VERSION> --repo openclaw/openclaw --json tagName,name,publishedAt,isDraft,isPrerelease,targetCommitish,url,body,assets- 安定版リリースがドラフトやプレリリースでないことを確認します。
- リリースボディに、期待されるnpm、CI、プラグインnpm、ClawHub、mac/appcastの証拠リンクが含まれていることを確認します。
- 安定版macリリースに期待されるアセット(zip、dmg、dSYM、依存関係証拠、不変の完全検証マニフェスト、公開後証拠、安定版メインクローズアウトマニフェスト)がアップロードされていることを確認します。
- 各不変証拠アセットとその
.sha256コンパニオンをダウンロードし、リリースレコードを信頼する前にチェックサムを検証します。
- ルートnpm:
npm view openclaw@<VERSION> version dist-tags.latest dist.tarball dist.integrity time.<VERSION> --json- 安定版の場合、
latestは<VERSION>と等しくなければなりません。 - tarball、整合性、公開時刻を記録します。
- リリース公開後証拠が
npmRegistrySignaturesVerified: trueおよびnpmProvenanceAttestationMatched: trueを記録していることを確認します。
- プラグイン公開セット:
- ダーティな場合はローカルチェックアウトではなく、GitHubから正確なタグメタデータを取得します:
https://api.github.com/repos/openclaw/openclaw/tarball/v<VERSION>を/tmp/openclaw-v<VERSION>-srcにダウンロードします。 - 記録されたリリースツールSHAの正規の公開プランナー/コレクターを使用して、正確なタグのパッケージメタデータから、リリーストラックの完全な期待npmおよびClawHubパッケージセットを導出します。
生の公開フラグをカウントしないでください:
openclaw.build.bundledDist === trueは、公開フラグが設定されている場合でも外部公開を明示的に延期します。遅延されたパッケージ名と理由を別途記録します。 - 不変の公開計画、レジストリ読み戻し、およびワークフロージョブを使用して、元の公開、以前に公開されたバージョン、および選択されたリカバリ実行全体で、期待されるパッケージID、バージョン、および数値を調整します。選択されたリカバリサブセットは、完全な期待リリースセットを狭めてはなりません:
gh api repos/openclaw/openclaw/actions/runs/<RUN>/jobs --paginate。 - 期待される各npmプラグインについて、その不変公開計画から計画されたバージョンとnpmセレクターを検証します。通常版ベータは
betaに公開します。latestを移動させる必要はありません。計画されたミラータグは別途検証します。
- ダーティな場合はローカルチェックアウトではなく、GitHubから正確なタグメタデータを取得します:
- ClawHub:
- Plugin ClawHub Releaseワークフローの結論と公開ジョブ数を確認します。
- ライブレジストリ証明にはOpenClaw自体を使用します:
openclaw plugins search <known-plugin> --json。 - 隔離されたHOMEで、ClawHubから正確な要求リリースバージョンで1つの公式プラグインをインストールします:
openclaw plugins install clawhub:@openclaw/matrix@<VERSION>。matrixを優先しますが、そのプラグインが期待セットに含まれていない場合は別のプラグインを使用します。ClawHubバージョンはspecに属します。--pinはnpmインストールでのみサポートされます。
- リリースワークフロー:
- リリースノート証拠リンクに関する結論を検証します: Full Release Validation、OpenClaw Release Checks、OpenClaw NPM Release、 Plugin NPM Release、Plugin ClawHub Release、mac preflight/validation/publish (安定版macアセットが期待される場合)。
- 安定版の場合、
OpenClaw Stable Main Closeoutが成功し、そのマニフェストが一致するリリースタグ、現在のロールバックドリル、安定版ソーク、およびブロッキングパフォーマンス証拠を記録していることを確認します。 - 関連する成功/失敗したジョブのみを要約します。ルーチンのスキップされたオプションレーンは、リリースボディで約束されていない限り無視します。
拡張安定版チェック
拡張安定版には共有リリース証拠を持つGitHub Releaseがありますが、ネイティブまたはClawHubアーティファクトはありません。ライブタグ、ワークフロー、レジストリ、証明、およびイメージ状態とともに検証します。
- ID: パッチ
33+での最終v<VERSION>を、サフィックスなしで、extended-stable/YYYY.M.33に含まれていることを要求します。アクティブな候補のみが先端と等しくなければなりません。ルートおよび公開可能なすべての公式プラグインは<VERSION>を宣言しなければなりません。Gitタグと、タイトルと正規ボディがタグと一致する公開されていないプレリリースではないGitHub Releaseを要求します。isLatest=false、依存関係証拠、不変のFull Release Validationマニフェスト、公開後証拠、およびそれらのチェックサムを要求します。ネイティブまたはClawHubアセットを要求しません。 - ワークフローチェーン: 成功した親リリース実行と、そのpreflight、完全な検証、プラグインnpm、およびコア公開子実行を見つけます。保護された
release-publish/*親と正規のrelease-ci/*検証プロデューサーを、検証済みワークフローSHA証明とともに要求します。検証はrerun_group=all、release_profile=stable、ブロッキングソーク/パフォーマンス、および保存された試行を使用しなければなりません。コア公開は3つの実行IDすべてを参照し、そのマニフェスト、ワークフロー参照、およびtarballダイジェストをリリースSHAにバインドしなければなりません。 - レジストリ: ルート、すべてのpreflight
corePackageTarballsエントリ、およびタグから派生したpublishToNpm === trueのすべての公式プラグインに対して、正確なセレクターとextended-stableセレクターが<VERSION>を返すことを要求します。プラグイン計画、ジョブ、および完全な読み戻しを比較します。差分からインベントリを推測しないでください。 - 証明: 信頼された現在のツールから、
node --import tsx scripts/openclaw-npm-postpublish-verify.ts <VERSION>を実行します。署名、正規ブランチ証明、およびリリースSHAへの公開/preflightダイジェストバインディングを要求します。出力とワークフローURLを保存します。 - Docker: 両方のレジストリで、正確なデフォルト、slim、browser、およびアーキテクチャイメージとアテステーションを検証します。3つの
extended-stable*エイリアスのみがそれらのダイジェストに解決される必要があります。成功したOpenClaw Release Publish親実行とその完了したDocker検証を要求します。通常ルートはその後ファイナライズします。明示的に要求された高速パスは、最初にGitHubをアクティブ化する場合があります。リビルドなしで、正確なタグに対して現在のメインDocker Channel Promotionを通じてエイリアスを修復します。 - リカバリ: 再公開しないでください。ルートセレクター(サフィックスなしの最終パッチ
33+)にはopenclaw/releasesdist-tagワークフローでpromote_extended_stableを使用し、その他には承認されたクレデンシャル分離ツールを使用してから、完全な読み戻しを繰り返します。ClawHub、ネイティブ/モバイルアプリ、ウェブサイト、プライベートdist-tag、または通常のlatestを要求しません。共有リリース証拠を要求しますが、通常のネイティブまたはClawHubアセットは要求しません。
公開済みパッケージスモーク
トラック固有の公開チェックが通過した後、隔離されたOpenClaw状態で使い捨てのインストール/キャッシュを使用します:
npm exec --yes --package openclaw@<VERSION> -- openclaw --version。- 公開されたCLIサーフェスに触れる無害なコマンドを少なくとも1つ実行します。例えば
plugins --helpやgateway --help。
予備的なリリースチェックとして、追加のローカルGatewayを起動したり、アドホックなライブモデルターンを実行したりしないでください。上記の正規のリリース検証ワークフローと公開証拠を使用します。これはそれらの必要なレーンを削除するものではありません。明示的に要求された場合にのみ、追加の手動ライブチェックを実行します。
報告すべき注意点
- Dist-tag注意点:安定版
latestがリリースの真実です。オプションのbetaミラーがまだベータバージョンを指している場合は、安定版リリースのブロッカーではなく注意点として報告します(ユーザーがベータプロモーションの検証を求めていない限り)。 - トラック注意点:トラック名と意図的に欠落しているサーフェスを明記します。通常版リリースのアーティファクトがないことを拡張安定版の失敗と呼んではなりません。
- 分岐チェックアウト注意点:ローカルソースSHAがリリースタグやoriginと異なる場合と、代わりにどのライブソースが使用されたかを伝えます。