Skip to content
Proud to collaborate with Microsoft for Startups

runner.drift_finalize ​

Persist drift plan and optionally chain repair

runner.drift_finalize — persist RunnerEnvironmentDriftPlan from state_data, update runner_group.cached_drift_status, and optionally chain repair.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-runners
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidYes—UUID of the RunnerGroup this drift finalize step operates on, picked from the organization's list of runner groups.
organization_uuiduuidYes—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant.
backend_typestringYes——
cloud_connection_uuiduuidYes—UUID of the CloudConnection backing this runner group's cloud backend, picked from the organization's connections.
actions_neededlistYes——
blocked_resourceslistYes——
drift_summarydictYes——
plan_statusstringYes——
auto_applybooleanNoFalseWhen True and plan_status is 'drifted', chains the mutating runner.environment-drift-repair. Defaults to False: finalize persists the plan as pending_approval and mutates nothing.
initiated_atstringYes——

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidNo—UUID of the RunnerGroup this action operates on, picked from the organization's list of runner groups; echoed on output alongside terminal/error payloads.
organization_uuiduuidNo—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant. Echoed on output alongside terminal/error payloads.
runner_execution_uuiduuidNo—UUID of the RunnerExecution this action operates on, picked from the organization's (optionally group-scoped) list of executions; echoed on output alongside terminal/error payloads.
workflow_uuidstringNo—Engine workflow-run identifier (or, for GitHub-Actions-triggered flows, an external GitHub Actions run id) associated with this record; not a platform entity foreign key despite the name. No source is attached since there is no list/query workflow for an internal run id.
statusstringNo——
outcomestringNo——
initiated_atstringNo——
completed_atstringNo——
failed_atstringNo——
failure_reasonstringNo——
errorstringNo——
error_typestringNo——
actor_uuiduuidNo—UUID of the user or service actor who triggered this action, injected server-side from the authenticated request when available; used for audit/attribution only. Optional — omitted for system or service-triggered actions with no human actor.
reasonstringNo——
workflow_run_uuidstringNo—Engine-stamped correlation/run id for this DAG execution (ADR-015/E1 plumbing), written into state_data by action_start; not a foreign key to any business entity. No source is attached since there is no list/query workflow for an internal run id.
retry_countintegerNo——
retried_fromstringNo——
failed_stepjsonNo——
failed_layerjsonNo——
failed_at_statejsonNo——
compensation_triggerjsonNo——
comp_current_layerjsonNo——
comp_queuejsonNo——
comp_retry_countjsonNo——
plan_uuiduuidNo—UUID of the RunnerEnvironmentDriftPlan persisted by this finalize step. NOT a subscription/billing plan: the platform-wide field name 'plan_uuid' otherwise collides with ltinteg-workflow-app-subscription-library's field_sources.py registry entry (data.subscription.plan.list); no inline source override is declared here today.
plan_statusstringNo——
repair_workflow_uuidstringNo—Engine run id of the runner.environment-drift-repair workflow chained automatically after this finalize step, when auto_apply=True and drift was found. An internal engine correlation/run identifier, not a user-facing entity reference; no source picker applies.
backend_typestringNo——
cloud_connection_uuiduuidNo—UUID of the CloudConnection backing this runner group's cloud backend, picked from the organization's connections.
actions_neededlistNo——
blocked_resourceslistNo——
drift_summarydictNo——
auto_applybooleanNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "runner.drift_finalize",
  "initial_data": {
    "runner_group_uuid": "value",
    "organization_uuid": "value",
    "backend_type": "value",
    "cloud_connection_uuid": "value"
  }
}