Skip to content

Use stable OpenClaw releases as the source channel for MSIX releases #25

Description

@xlinush

Summary

Gateway MSIX releases will follow OpenClaw's stable releases only. This agreed requirement supersedes the earlier proposal to use extended-stable.

Implementation PR: #42

Agreed release policy

  • Select the upstream stable release through npm openclaw@latest.
  • Resolve the selected release once, verify its version, Git tag, and source commit, and keep that immutable selection fixed across the complete build/signing run, both architectures, and retries.
  • Reject extended-stable and prerelease versions, including through manual source overrides and legacy payload metadata.
  • Do not automatically fall back to another version or channel on failure. A reviewed stableVersion policy pin may explicitly select an older known-good stable release when compatibility requires it; the review must establish that required behavior is preserved.
  • Keep official releases manually dispatched from main and gated by the protected signing environment. Manual source overrides remain limited to unsigned/test builds and must still select regular-stable versions.

This replaces per-release source-commit approval with an explicit stable-channel policy. Source selection follows upstream release publication, while each MSIX still contains an immutable source snapshot. Existing signing authorization and content-integrity requirements remain in force.

Implementation requirements

  • Use one source resolver and make Linux, x64, and ARM64 jobs consume the same frozen version, tag, and commit.
  • Preserve source-selection and release evidence through source.json, payload-metadata.json, msix-metadata.json, and final release assets; reject inconsistent, stale, or wrong-policy metadata.
  • Retain package hashes, manifests, inventory, architecture, clean-tree, publisher, packaging-commit, and signing-input checks.
  • Support stable numeric corrections in the four-part MSIX version while retaining overflow and duplicate/downgrade checks.
  • Cover rejected extended-stable/prerelease inputs, explicit older-stable pins, pin/snapshot mismatches, version/tag/commit disagreement, cross-architecture disagreement, retry snapshot reuse, and the absence of automatic fallback.
  • Document stable-only selection, the reviewed compatibility-pin process, and upstream cadence/support expectations without implying an additional MSIX support guarantee.

Acceptance criteria

  • Agree to use stable OpenClaw releases instead of extended-stable.
  • Stable selection resolves once and records an immutable version, tag, and commit for the complete build/signing run and its retries.
  • Official x64 and ARM64 packages cannot be produced from different source resolutions.
  • Extended-stable and prerelease inputs are rejected; failures never silently select another version or channel.
  • Any older-stable compatibility pin is explicit, reviewed, and supported by evidence that required behavior is preserved.
  • Existing MSIX content-integrity and signing checks remain enforced, and release-governance/signing-authorization questions are reviewed.
  • Stable-channel behavior and accepted upstream cadence/support expectations are documented for partners.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.enhancementNew feature or requestimpact:securityThis issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions