composition.plan ​
Diff desired composition definitions against saved state (read-only plan)
Diff desired definitions against saved compositions; report create/update/no_op/promote.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-composition |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | Yes | — | — |
definitions | list | Yes | — | List of {name, definition} desired-state entries |
active | dict | No | — | Desired active map {name: semver} from the manifest |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
plan | list | Yes | — | Per-definition |
summary | dict | Yes | — | Counts keyed by action (create/update/no_op/promote/error) |
failure_reason | string | No | — | Engine-stamped human-readable failure reason |
failure_type | string | No | — | Engine-stamped failure category |
failed_action | string | No | — | Engine-stamped action method that raised |
failed_at_state | string | No | — | Engine-stamped state when the workflow failed |
failed_step | string | No | — | Engine-stamped DAG step that failed |
failed_layer | string | No | — | Engine-stamped DAG layer that failed |
error | string | No | — | Engine-stamped exception message |
error_type | string | No | — | Engine-stamped exception class name |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
done | Yes | Yes | Yes | — | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "composition.plan",
"initial_data": {
"organization_uuid": "value",
"definitions": "value"
}
}