Skip to main content

LifecycleOperation

Durable desired-state transition; completion does not imply provider readiness.

request objectrequired

Immutable local lifecycle intent with no command, path or paid approval.

operation_idOperation Id (string)required

Caller-retained idempotent local operation ID.

Possible values: Value must match regular expression ^[a-f0-9]{32}$

actionAction (string)required

Activate or select a retained generation, disable it, or uninstall while retaining cleanup state and recovery artifacts.

Possible values: [activate, select, disable, uninstall]

expected_revisionExpected Revision (integer)required

Reviewed current installation selection revision.

Possible values: >= 0

runtime_digest object

Exact retained signed generation for activation.

anyOf
string

Possible values: Value must match regular expression ^[a-f0-9]{64}$

rollbackRollback (boolean)

Explicit permission to select an older retained release.

Default value: false
accept_permissionsAccept Permissions (boolean)

Explicit acceptance of expanded plugin permissions; never spending approval.

Default value: false
selection objectrequired

Atomic desired runtime selection, independent of observed process health.

protocolProtocol (integer)
Constant value: 1
Default value: 1
revisionRevision (integer)required

Monotonic installation selection revision.

Possible values: >= 1

operation_idOperation Id (string)required

Operation that selected this runtime.

Possible values: Value must match regular expression ^[a-f0-9]{32}$

runtime_digestRuntime Digest (string)required

Exact retained signed generation.

Possible values: Value must match regular expression ^[a-f0-9]{64}$

enabledEnabled (boolean)required

Whether the independent owner may serve this installation.

bundle_idBundle Id (string)required

Stable plugin identity across generations.

Possible values: non-empty and <= 128 characters, Value must match regular expression ^[a-zA-Z0-9._:@-]+$

sequenceSequence (integer)required

Selected publisher release sequence.

Possible values: >= 1

highest_sequenceHighest Sequence (integer)required

Highest previously selected sequence, retained across rollback.

Possible values: >= 1

state_schemaState Schema (string)required

Current durable plugin state schema.

Possible values: non-empty and <= 128 characters, Value must match regular expression ^[a-zA-Z0-9._:@-]+$

permissionsstring[]required

Permissions explicitly accepted for this selection.

Possible values: <= 16

configuration_schemaJsonValuerequired

Opaque signed configuration schema used for migration compatibility.

platformPlatform (string)required

Locally measured qualified platform.

Possible values: <= 64 characters, Value must match regular expression ^[a-z0-9]+(?:[.-][a-z0-9_]+)*$

python_versionPython Version (string)required

Locally measured base Python version.

Possible values: <= 128 characters

skulk_versionSkulk Version (string)required

Locally measured qualified Skulk version.

Possible values: <= 128 characters

skulk_build_sha256Skulk Build Sha256 (string)required

Locally measured qualified Skulk build.

Possible values: Value must match regular expression ^[a-f0-9]{64}$

stateState (string)required

Local operation progress, independent of service and capability health.

Possible values: [accepted, applying, complete, failed, recovery_required, superseded]

error_code object

Sanitized corrective failure class; no exception payload.

anyOf
string

Possible values: [validation_failed, ownership_busy, local_io_failed]

withdraws_operation_id object

Prior stalled local intent withdrawn by explicit disable or uninstall; never a provider request.

anyOf
string

Possible values: Value must match regular expression ^[a-f0-9]{32}$

LifecycleOperation
{
"request": {
"operation_id": "string",
"action": "activate",
"expected_revision": 0,
"runtime_digest": "string",
"rollback": false,
"accept_permissions": false
},
"selection": {
"protocol": 1,
"revision": 0,
"operation_id": "string",
"runtime_digest": "string",
"enabled": true,
"bundle_id": "string",
"sequence": 0,
"highest_sequence": 0,
"state_schema": "string",
"permissions": [
"string"
],
"platform": "string",
"python_version": "string",
"skulk_version": "string",
"skulk_build_sha256": "string"
},
"state": "accepted",
"error_code": "validation_failed",
"withdraws_operation_id": "string"
}