TorbatYar/docs/reference/asset-lifecycle.md
2026-07-28 20:39:10 +03:30

2.3 KiB

Asset Lifecycle

Contracts only.
Registry: asset-registry.md
Contract version: asset-lifecycle.v1


1. Lifecycle states

State Meaning
draft Editable; not generally installable
review Submitted for commercial/content review
published Generally available per visibility/policies
deprecated Discouraged for new installs; existing may continue
archived Retained for history; not installable
deleted Soft-deleted / tombstoned (hard delete is operational policy)
versioned Marker that a new version exists / versioning in progress (also a versioning event)
cloned Derived from another asset (see lineage)
installed Tenant/workspace installation record exists
shared Shared within org / partner scope
marketplace_ready Eligible for marketplace listing (no marketplace engine implied)

States may combine with orthogonal flags (e.g. published + marketplace_ready). Primary lifecycle_state on AssetDefinition is the governance state (draftdeleted); installation/sharing/marketplace readiness MAY also appear as boolean/status fields on marketplace declaration and install records.


2. Logical transitions (normative intent)

draft → review → published → deprecated → archived → deleted
                ↘ marketplace_ready (flag)
published → cloned → draft (new asset)
published → installed / shared (tenant-scoped records)
any → versioned (new AssetVersion)

Invalid transitions are rejected by future engines; this document does not implement them.


3. AssetInstallRecord (logical)

Field Meaning
registry_object_id Install record id
asset_id Asset registry_object_id
tenant_id
workspace_id Optional
version_code Installed version
source catalog | clone | share | marketplace | admin
status installed | removed
installed_at

4. Lineage

Field Meaning
cloned_from_asset_id Parent asset
cloned_from_version_code

Cloning creates a new asset with its own registry_object_id and typically draft state.