52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# Registry Versioning Contracts
|
|
|
|
> **Version contracts only.** Applies across Commercial Foundation registries.
|
|
> Contract version: `registry-versioning.v1`
|
|
|
|
---
|
|
|
|
## 1. Purpose
|
|
|
|
All commercial registries support explicit versions so catalogs can evolve without breaking historical subscriptions, installs, or policy decisions.
|
|
|
|
---
|
|
|
|
## 2. Versioned kinds
|
|
|
|
| Registry object | Version field | Notes |
|
|
| --- | --- | --- |
|
|
| Products | `version_code` on PlatformProductVersion | |
|
|
| Bundles | `version_code` on BusinessBundleVersion | |
|
|
| Capabilities | optional `version_code` on CapabilityDefinition | Additive |
|
|
| Extensions | optional `version_code` | Additive |
|
|
| Assets | `version_code` + AssetVersion records | |
|
|
| Automation Packs | `version_code` | |
|
|
| Policies | `version_code` on PolicyDefinition | |
|
|
| Metadata | `version_code` on MetadataBag | |
|
|
|
|
---
|
|
|
|
## 3. RegistryVersionRecord (logical)
|
|
|
|
| Field | Type | Meaning |
|
|
| --- | --- | --- |
|
|
| `registry_object_id` | uuid | Version record id |
|
|
| `parent_id` | uuid | Versioned object id |
|
|
| `parent_kind` | string | product/bundle/asset/… |
|
|
| `version_code` | string | Opaque commercial version string |
|
|
| `changelog` | string? | |
|
|
| `status` | enum | `draft` \| `published` \| `deprecated` \| `retired` |
|
|
| `effective_from` / `effective_to` | datetime? | |
|
|
| `supersedes_version_code` | string? | |
|
|
| `content_snapshot_ref` | string? | Opaque |
|
|
| `ext` | object | |
|
|
|
|
---
|
|
|
|
## 4. Rules
|
|
|
|
1. Publishing a new version MUST NOT rewrite historical binding snapshots (future engines pin versions at subscribe/install time).
|
|
2. `version_code` is an open string (e.g. `2026.07.1`, semver-like) — not a forced semver parser in contracts.
|
|
3. Deprecation of a version is independent of parent object lifecycle.
|
|
4. Unlimited versions per object — architecture unchanged.
|