opschain admin agent-release
packs:agentspacks:agent-governance
opschain admin agent-release <keygen|keys|key-status|sign|create|list|show|promote|retire|revoke|stages|rename-stage>
Manages signed agent releases: an agent ships as
an immutable, versioned release object — the frozen manifest document plus
a content-addressed artifact identity (git sha or image digest), signed
with a registered Ed25519 key — promoted up the estate's stage ladder
(default dev → test → prod; stages shows or replaces it, rename-stage
renames a rung) with the signature re-verified at every promotion and at
enrolment. An
agent that enrols naming a release (release_name/release_version in its
manifest) is refused by name when the release is unknown, unsigned,
tampered, of another declared type, or below the estate's
agents.release_stage floor.
Releases also carry a one-way lifecycle beyond the ladder: retire
(the last rung — no new enrolment or rollover to the release, running
instances untouched; offered automatically when a rollover away from it
finishes) and revoke (every instance running the release is halted with
the typed release-revoked reason). Moving an agent's running instances
between releases is opschain admin agent rollover.
The frozen manifest document may carry a "disclosures" object (model_provider, model_name,
model_version, adapter, adapter_version, tool_surface,
custody_mode): because the signature covers the manifest, those
disclosures are immutable — they are what the fleet detail and trust
review render for every instance of the release, and a registration
declaring a differing set refuses by name. Ship a new release to change
them.
The registry verbs are admin-plane AgentReleaseService calls and need the
packs:agent-governance entitlement; keygen and sign run locally — the
private key never reaches the server, and no verb prints key material or a
signature value, only fingerprints.
On an estate carrying the approval fabric, a promotion into a governed
rung (prod on the default ladder) is held as a strict checklist in the
same approval funnel governed change enters (opschain approvals); quorum
completion promotes, rejection or quorum-TTL expiry refuses and the stage
never moves. The stage then decides where the build may act: an
environment's release-stage floor (opschain nodes update) and a trust
grant's release-stage condition (opschain admin trust grant) refuse a
build below the rung.
Every lifecycle step lands an audit event (info:agent_release:* /
warn:agent_release:*) on the platform path.