Skip to main content
Saving a change and shipping it are separate steps in AI Registry. Each save writes a new version. A release picks one version and makes it the one people and agents receive. This lets you keep editing without changing what your team already uses. Skills, agents, metrics, and ontologies all work this way.

Two pointers: newest saved and released

Every skill, agent, metric, or ontology has two pointers, and they can point at different versions: Under automatic publishing the two usually match. Under manual publishing, the newest version can sit unreleased until an owner or workspace administrator releases it.

Channels

A release lands on a channel. Channels belong to your organization, so a channel name means the same thing in every workspace. Every organization has a default channel, latest. When a version has a semantic-version label, the label’s prerelease tag picks the channel: Release numbers count up for each item, across channels, so “version 4, on beta” tells you where it sits in the item’s history.

Release policy

Each workspace decides how its versions ship. A workspace administrator sets this for each channel:
  • Automatic: a saved version is released once its required checks pass.
  • Manual: a saved version waits until its owner or a workspace administrator releases it.
  • Require security checks: a version can’t be released while its security scan is still running. A version its scan blocked can’t be released under either setting.
A workspace with no policy of its own publishes automatically. See Set workspace release policy.

Release states

Roll back

To undo a release, withdraw it. If you withdraw the current release, the newest earlier release whose version is still usable becomes current again. Nothing is deleted: the withdrawn release stays in the history with its reason. Only an item’s owner or a workspace administrator can release, roll back, or withdraw.

Where to do it

From the API, POST /registry/v1/artifacts/{artifact_kind}/{artifact_id}/releases releases a version, GET /registry/v1/artifacts/{artifact_kind}/{artifact_id}/channels lists the current release on each channel, and POST /registry/v1/releases/{release_id}/withdraw withdraws one. See the Public API.