mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-14 10:16:14 +00:00
Two competing release-notes pipelines existed: the release branch's hardened render/verify/provenance pipeline (a486f3ab08+dcee1da876, battle-tested by 2026.7.1) and main's lighter prepare-github-release-notes size gate (#103222). Repo policy is one canonical path; the release-branch pipeline wins and main's unique value is grafted in: - scripts/render-github-release-notes.mjs becomes the canonical release body renderer (full/compact 125k char+byte modes, tag-pinned record link, verification tail, canonical shipped-baseline format), now also preferring a correction tag's dedicated changelog section (from prepare's heading matrix). - verify-release-notes.mjs is a three-way merge: release's --shipped-ref cumulative baselines, provenance checks, highlights gate, and the excluded-record rewrite fix, plus main's compact contribution rows, externalReferences threading, and both-heading parser compat. - release-candidate-checklist.mjs gains validateCandidateCheckout and changelog-provenance gates that run before any dispatch. - openclaw-release-publish.yml keeps main's fail-before-mutation early notes gate (retargeted to the renderer) and adopts release's render/verify_release_tag_target/canonical_release_body_matches flow. - scripts/prepare-github-release-notes.mjs and its test are deleted; release-notes-ledger.test.ts stays and pins the merged verify exports. - .gitignore tracks every repo skill for Git-aware syncs; SKILL.md runbooks and RELEASING.md document the converged contract.