@@ -41,9 +41,11 @@ Use this skill for release and publish-time workflow. Keep ordinary development
4141 recommended replacement can shift as plugin ownership, externalization, and
4242 config footprint move, so do not blindly copy stale replacement annotations
4343 into release notes.
44- - Do not delete or rewrite beta tags after they leave the machine. If a
45- published or pushed beta needs a fix, commit the fix on the release branch and
46- increment to the next ` -beta.N ` .
44+ - Do not delete or rewrite beta tags after their matching npm package has been
45+ published. If a pushed beta tag fails preflight before npm publish, delete and
46+ recreate the tag and prerelease at the fixed commit so npm prerelease versions
47+ stay contiguous. If a published beta needs a fix, commit the fix on the
48+ release branch and increment to the next ` -beta.N ` .
4749- For a beta release train, run the fast local preflight first, publish the
4850 beta to npm ` beta ` , then run the expensive published-package roster focused
4951 on install/update/Docker/Parallels/NPM Telegram. If anything fails, fix it on
@@ -367,8 +369,10 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>
367369- Any fix after preflight means a new commit. Delete and recreate the tag and
368370 matching GitHub release from the fixed commit, then rerun preflight from
369371 scratch before publishing.
370- Exception: never delete or recreate a beta tag that has already been pushed or
371- published; increment to the next beta number instead.
372+ Exception: never delete or recreate a beta tag whose matching npm package has
373+ already been published; increment to the next beta number instead. If only the
374+ pushed tag/prerelease exists and npm publish has not happened, recreate that
375+ same beta tag at the fixed commit.
372376- For stable mac releases, generate the signed ` appcast.xml ` before uploading
373377 public release assets so the updater feed cannot lag the published binaries.
374378- Serialize stable appcast-producing runs across tags so two releases do not
@@ -561,6 +565,9 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>
561565 commit, and rerun all relevant preflights from scratch before continuing.
562566 Never reuse old preflight results after the commit changes. For pushed or
563567 published beta tags, do not delete/recreate; increment to the next beta tag.
568+ For preflight-only failures where npm did not publish the beta version,
569+ delete/recreate the same beta tag and prerelease at the fixed commit instead
570+ of skipping a prerelease number.
56457120 . Start ` .github/workflows/openclaw-npm-release.yml ` from the same branch with
565572 the same tag for the real publish, choose ` npm_dist_tag ` (` beta ` default,
566573 ` latest ` only when you intentionally want direct stable publish), keep it
@@ -573,9 +580,9 @@ node --import tsx scripts/openclaw-npm-postpublish-verify.ts <published-version>
573580 for critical fixes that landed after the release branch cut; backport only
574581 important low-risk fixes before starting expensive lanes, or increment to
575582 the next beta if the fix must change the already-published package. If any
576- lane fails after the beta tag/ package is pushed or published, fix,
577- commit/push/pull, increment to the next beta tag, and rerun the affected
578- beta evidence. Once the beta is live, start remote/manual rosters where they
583+ lane fails after the beta package is published, fix, commit/push/pull ,
584+ increment to the next beta tag, and rerun the affected beta evidence. Once
585+ the beta is live, start remote/manual rosters where they
579586 can overlap safely, but keep local Docker and Parallels load controlled.
580587 Ensure the full expensive roster has passed at least once before
581588 stable/latest promotion. The roster includes the manual Actions >
0 commit comments