Scott Holdings LLC
Design preview
GS
Appliances Release

Release · OCR Extract v2.5.0

Publish gate, fingerprint verification, and lifecycle controls.

Fingerprint verification

Draft fingerprint matches the latest Passed validation run.

Matched
Validation gate

A Passed run exists for a91f…c4d2.

Cleared
Security status

No advisories on this version.

Clean
All gates cleared — ready to publish.

Lifecycle actions

About this page

The lifecycle of appliance versions: draft, validated, released, retired. Releasing freezes the version and records who released it and when; retiring stops new installs without breaking anyone already running it.

Behind this page/appliances/versions/:packageVersionId/release · CanManageAppliances

Retrieve

Gate status derived from the version fingerprint + latest validation run + security status.

Save

Publish → sp_AppliancePkg_PublishVersion — recomputes the release fingerprint live and fails closed on a Passed validation run for that exact fingerprint; suspend/restore/revoke → sp_AppliancePkg_SetSecurityStatus; deprecate → sp_AppliancePkg_DeprecateVersion; set recommended → sp_AppliancePkg_SetRecommendedVersion. All live in the Template Library — the package layer, distinct from the marketplace product lifecycle (sp_Marketplace_SetVersionLifecycle / sp_Marketplace_AdminSetVersionSecurityStatus).

Success

  • Publish is fail-closed on fingerprint + validation.
  • Suspended/revoked versions block new installs; Revoked is terminal. Deprecated blocks new installs but keeps existing installs supported until SupportEndsUtc.
  • No UI bypass for the gate.

CLI handoff

Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.

Page IDappliance-release-management
Route/appliances/versions/:packageVersionId/release
AccessCanManageAppliances
Statusworker-integration-required

Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.