fix(release): harden immutable desktop promotion#10180
Conversation
Bind qualification to the candidate tag event SHA, verify Stable static publication from the retained manifest, and close release/deployment guard bypasses. Tests: make preflight; actionlint desktop_qualify_beta.yml desktop_promote_prod.yml gcp_backend.yml; focused release and backend mutation suites. Failure-Class: FC-split-mutation-authority
Trigger automatic beta promotion only from a completed, trusted qualification run and require explicit Stable confirmation for every pointer mutation. Tests: actionlint desktop_qualify_beta.yml desktop_promote_beta.yml desktop_promote_prod.yml; python3 .github/scripts/test_desktop_qualification_dispatch.py; python3 .github/scripts/test_stable_promotion_verifiers.py; python3 .github/scripts/test_check_release_process_guards.py; make preflight (blocked only by inherited c5 changelog false-positive). Failure-Class: FC-split-mutation-authority
2cd71bf to
de3ee73
Compare
|
Superseded by the owner-selected single-artifact architecture in #10192 and the planned consolidated release-readiness PR. Do not merge the obsolete dual-identity/four-asset contract. |
|
Hey @Git-on-my-level 👋 Thank you so much for taking the time to contribute to Omi! We truly appreciate you putting in the effort to submit this pull request. After careful review, we've decided not to merge this particular PR. Please don't take this personally — we genuinely try to merge as many contributions as possible, but sometimes we have to make tough calls based on:
Before your next PR, please skim:
If this was declined for direction or taste, maintainers should cite an invariant ID or open a proposed one — ask if that citation is missing. Your contribution is still valuable to us, and we'd love to see you contribute again in the future! If you'd like feedback on how to improve this PR or want to discuss alternative approaches, please don't hesitate to reach out. Thank you for being part of the Omi community! |
Summary
Follow-up to #10163 that closes the final immutable-release review gaps discovered after the original PR merged.
workflow_run; the qualifier no longer dispatches promotion while still in progress.Product invariants affected
Failure-Class: FC-split-mutation-authority
Verification
actionlinton touched workflowsmake preflightgit diff --checkSafety
No workflow was dispatched. No cloud resource, release asset, Beta/Stable pointer, appcast, production bundle, credential, or deployment was mutated.