Skip to content

Lifecycle

The public release set contains @lemn-ltd/brand-contract, @lemn-ltd/brand-runtime, @lemn-ltd/ui, and @lemn-ltd/brand-studio. Consumers pin exact compatible versions; release metadata and migration guidance make that compatibility explicit.

  • PATCH: compatible fixes, internal conformance improvements, and documentation corrections that do not change the public contract.
  • MINOR: additive components, blocks, props, schema fields with preserving defaults, Studio steps, or provider-neutral capabilities.
  • MAJOR: removed/renamed exports, changed semantics, incompatible schema or compiler behavior, or a migration-requiring provider replacement.

BrandingDefinition schema and compiler majors are compatibility boundaries. A compiled artifact records its schema/compiler compatibility and is verified by the consumer before use.

  1. Detect an upstream release without changing production.
  2. Propose exact immutable origin, integrity, license/notice delta, and update status in the registry.
  3. Review API, behavior, accessibility, interaction, visual, SSR, and bundle deltas for only the selected capabilities.
  4. Update the adapter or explicit tracked patch without rewriting provider behavior.
  5. Run conformance, generate notices/SBOM, document migration impact, and add the correct changeset.
  6. Merge and publish through the normal release workflow.

Whole provider catalogs, floating versions, branch references, silent patches, and automatic production updates are forbidden.

The coordinated order is:

  1. @lemn-ltd/brand-contract
  2. @lemn-ltd/ui
  3. @lemn-ltd/brand-runtime
  4. @lemn-ltd/brand-studio
  5. Docs and the Lemn UI Portal for the exact release identity

After publication, prove each package through a clean external install from GitHub Packages—never through workspace:* or a local link—and then update real consumers to exact versions.

Terminal window
pnpm changeset:add
pnpm validate
pnpm check
pnpm test
pnpm build
pnpm version:packages
pnpm release

Mutating release commands run only from protected main. An already-published version is immutable and must match the locally packed integrity; it is never overwritten.

The production preflight accepts only PRODUCTION_CLOUDFLARE_API_TOKEN, scoped to Account Lemn DEV with Workers Scripts: Edit (Workers Scripts Write in the API) and Zone le-mn.com with Zone: Read plus Workers Routes: Edit (Zone Workers Routes Write in the API). Broader credentials or authentication modes fail closed.

That release deploys the single Worker lemn-ui-portal to portal.ui.le-mn.com in Account Lemn DEV / Zone le-mn.com. The workflow captures wrangler deployments list --json, verifies the candidate, and keeps the exact prior version available to wrangler rollback before traffic moves.