fix(release): integrate verified distribution lifecycle - #1027
Open
fettpl wants to merge 13 commits into
Open
Conversation
fettpl
marked this pull request as ready for review
August 8, 2026 22:09
Contributor
Author
|
@snimu This integration PR is ready for maintainer review. It incorporates #1019, #1020, #1022, and #1024 directly, addresses the independent release-security review, and all exact-head Node, Python, and aggregate CI checks pass. No release workflow was dispatched, and no tag, artifact, release, R2 object, or channel pointer was created or changed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #926
Fixes #927
Fixes #934
Fixes #949
Summary
release-provenance.jsonmetadata and fail-closed local/remote drift checksworkflow_runpublisher through an exact run-scoped context artifactRelease safety
CIrun on the default branchVerification
node --test packages/coding-agent/scripts/check-workflow-security.mjs— 8/8 passednpm run release:test— 52/52 passednpm run check— passedpackages/ai/test/cli-branding.test.ts— 2/2 passedpackages/coding-agent/test/release-package-documentation.test.ts— 5/5 passed.mjssyntax checks, andgit diff --check— passedThe clean-project branded package contract is wired into CI after the build step, where the required
disttrees exist.Note
Implement CI-authoritative release lifecycle with R2 artifact distribution and rollback support
build-binaries.ymlnow triggers on CI completion or authorized retry comments, builds from an exact source SHA using protected tooling, and emits a signed publication context artifact instead of publishing directly.publish-release.ymlworkflow that runs after a gated build, validates the publication context, and publishes immutable tarballs to R2 with SHA-256 integrity metadata.rollback-release.ymlworkflow allowing authorized maintainers to roll back the stable channel via/prime-agent release rollbackissue comments.scripts/lib/release-lifecycle.mjs,release-publication.mjs, andrelease-command.mjsas the core library backing packing, verification, and publication.scripts/release.mjsandscripts/sync-versions.jsas hard-failing tombstones; local preparation now usesrelease:prepare,release:dry-run, andrelease:test.prime-agent,prime-agent-ai, etc.) and immutable R2 tarball install paths instead of npm registry installs.Macroscope summarized d2b2e8e.