fix(release): smooth recovery and deterministic archives - #778
Conversation
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8aa6e9d51d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c3fe0d940
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Summary
--verbose-waitverify-recoverycommand that validates the exact remote tag, candidate attestations and lifetime, and draft binding before printing the protected-main retry commandrelease.ymlas the single fail-closed authority for draft assets, OCI, npm, and PyPI reconciliationWhy
The v0.22.0 release exposed three operator-cost issues: noisy run watching, a manual recovery audit after a safe publication failure, and platform-dependent Pagefind gzip bytes. These changes address those observed failures without adding another release gate or duplicating publication policy.
Validation
python3 -m unittest release/scripts/test_registry_release.py release/scripts/test_verify_public_release.py(73 tests)python3 -m unittest release/scripts/test_release_workflow_structure.py(37 tests)npm testindocs/site(349 tests)npm run check:archive-lock(28 archives)npm run check:docsetactionlintpython3 -m py_compile release/scripts/registry-releasegit diff --checkIndependent review found no blockers after simplifying recovery to leave destination reconciliation in the protected publication workflow.