runner.drift_repair_task_definition ​
Repair drift: register new ECS task definition
Repair the ECS task definition for a Fargate runner group.
Runs in L3 (after cluster and log group are repaired in L2). Reads log group ARN and cluster ARN from RunnerCloudResource records (written by L2 if they ran, or already present if those resources were healthy).
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-runners |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
runner_group_uuid | uuid | Yes | — | UUID of the RunnerGroup this repair step operates on, picked from the organization's list of runner groups. |
organization_uuid | uuid | No | — | UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant. |
cloud_connection_uuid | uuid | No | — | UUID of the CloudConnection backing this runner group's cloud backend, picked from the organization's connections. Optional: omitted when the group has no connection. |
backend_type | string | No | — | — |
actions_needed | list | Yes | — | — |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
runner_group_uuid | uuid | No | — | 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_uuid | uuid | No | — | 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_uuid | uuid | No | — | 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_uuid | string | No | — | 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. |
status | string | No | — | — |
outcome | string | No | — | — |
initiated_at | string | No | — | — |
completed_at | string | No | — | — |
failed_at | string | No | — | — |
failure_reason | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
actor_uuid | uuid | No | — | 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. |
reason | string | No | — | — |
workflow_run_uuid | string | No | — | 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_count | integer | No | — | — |
retried_from | string | No | — | — |
failed_step | json | No | — | — |
failed_layer | json | No | — | — |
failed_at_state | json | No | — | — |
compensation_trigger | json | No | — | — |
comp_current_layer | json | No | — | — |
comp_queue | json | No | — | — |
comp_retry_count | json | No | — | — |
cloud_connection_uuid | uuid | No | — | UUID of the CloudConnection backing this runner group's cloud backend, picked from the organization's connections. Optional: omitted when the group has no connection. |
backend_type | string | No | — | — |
actions_needed | list | No | — | — |
resource_type | string | No | — | — |
skipped | boolean | No | — | — |
applied_action | string | No | — | — |
sub_workflow_uuid | string | No | — | Engine run id of a child workflow this repair step chained while applying its fix (e.g. token-resolve or re-provision). An internal engine correlation/run identifier, not a user-facing entity reference; no source picker applies. |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | — |
* (any state) | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "runner.drift_repair_task_definition",
"initial_data": {
"runner_group_uuid": "value",
"actions_needed": "value"
}
}