dgi.reasoning-dag ​
Queue-based reasoning workflow with iterative synapse processing
DAG-based reasoning workflow.
Queue-based architecture that spawns child workflows for each synapse. All reasoning state is persisted in workflow state_data.
Uses dynamic layer generation to create max_depth pairs of process_synapse + handle_output layers for iterative reasoning.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-dgi |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
message | string | Yes | — | User message to reason about |
context | json | No | — | Context for reasoning (conversation history, organization_id, etc.) |
max_depth | integer | No | — | Maximum reasoning depth (default: 5). Values above 5 are clamped: the DAG's layer structure is fixed at 5 process/handle pairs. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
message | string | No | — | User message to reason about |
context | json | No | — | Reasoning context (history, organization_uuid, ...) |
max_depth | integer | No | — | Maximum reasoning depth |
workflow_run_uuid | string | No | — | Engine-injected DAG run id |
workflow_run_id | string | No | — | Engine-stamped DAG step run id (E1) |
organization_uuid | string | No | — | Org UUID (public surface) |
parent_state_data | json | No | — | Parent workflow state_data |
reasoning | json | No | — | — |
queue | json | No | — | — |
synapses | json | No | — | — |
memory | json | No | — | — |
confidence | json | No | — | — |
conversation_lock | json | No | — | — |
skills | json | No | — | — |
branches | json | No | — | — |
virtual_workflow | json | No | — | — |
compiled_config | json | No | — | — |
init | json | No | — | — |
handle_output | json | No | — | — |
finalize | json | No | — | — |
llm_interaction | json | No | — | — |
synapse_uuid | string | No | — | — |
output | json | No | — | — |
skip | boolean | No | — | — |
reason | string | No | — | — |
final_answer | string | No | — | Final reasoning answer |
skills_applied | list | No | — | — |
pending_skills | list | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
failure_reason | string | No | — | — |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
compensation_trigger | string | No | — | — |
failed_step | string | No | — | — |
failed_at_state | string | No | — | — |
failed_layer | integer | No | — | — |
comp_queue | json | No | — | — |
comp_current_layer | json | No | — | — |
comp_retry_count | integer | No | — | — |
process_synapse_1 | json | No | — | — |
handle_output_1 | json | No | — | — |
process_synapse_2 | json | No | — | — |
handle_output_2 | json | No | — | — |
process_synapse_3 | json | No | — | — |
handle_output_3 | json | No | — | — |
process_synapse_4 | json | No | — | — |
handle_output_4 | json | No | — | — |
process_synapse_5 | json | No | — | — |
handle_output_5 | json | No | — | — |
process_synapse_6 | json | No | — | — |
handle_output_6 | json | No | — | — |
process_synapse_7 | json | No | — | — |
handle_output_7 | json | No | — | — |
process_synapse_8 | json | No | — | — |
handle_output_8 | json | No | — | — |
process_synapse_9 | json | No | — | — |
handle_output_9 | json | No | — | — |
process_synapse_10 | json | No | — | — |
handle_output_10 | json | No | — | — |
process_synapse_11 | json | No | — | — |
handle_output_11 | json | No | — | — |
process_synapse_12 | json | No | — | — |
handle_output_12 | json | No | — | — |
DAG Layers ​
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | init | dgi.reasoning-init | — |
| 2 | process_synapse_1 | dgi.reasoning-process-synapse-step | — |
| 3 | handle_output_1 | dgi.reasoning-handle-output-step | — |
| 4 | process_synapse_2 | dgi.reasoning-process-synapse-step | — |
| 5 | handle_output_2 | dgi.reasoning-handle-output-step | — |
| 6 | process_synapse_3 | dgi.reasoning-process-synapse-step | — |
| 7 | handle_output_3 | dgi.reasoning-handle-output-step | — |
| 8 | process_synapse_4 | dgi.reasoning-process-synapse-step | — |
| 9 | handle_output_4 | dgi.reasoning-handle-output-step | — |
| 10 | process_synapse_5 | dgi.reasoning-process-synapse-step | — |
| 11 | handle_output_5 | dgi.reasoning-handle-output-step | — |
| 12 | process_synapse_6 | dgi.reasoning-process-synapse-step | — |
| 13 | handle_output_6 | dgi.reasoning-handle-output-step | — |
| 14 | process_synapse_7 | dgi.reasoning-process-synapse-step | — |
| 15 | handle_output_7 | dgi.reasoning-handle-output-step | — |
| 16 | process_synapse_8 | dgi.reasoning-process-synapse-step | — |
| 17 | handle_output_8 | dgi.reasoning-handle-output-step | — |
| 18 | process_synapse_9 | dgi.reasoning-process-synapse-step | — |
| 19 | handle_output_9 | dgi.reasoning-handle-output-step | — |
| 20 | process_synapse_10 | dgi.reasoning-process-synapse-step | — |
| 21 | handle_output_10 | dgi.reasoning-handle-output-step | — |
| 22 | process_synapse_11 | dgi.reasoning-process-synapse-step | — |
| 23 | handle_output_11 | dgi.reasoning-handle-output-step | — |
| 24 | process_synapse_12 | dgi.reasoning-process-synapse-step | — |
| 25 | handle_output_12 | dgi.reasoning-handle-output-step | — |
| 26 | finalize | dgi.reasoning-finalize | — |
Execution Flow ​
Sub-workflows ​
| Sub-workflow | Step name |
|---|---|
dgi.reasoning-init | init |
dgi.reasoning-process-synapse-step | process_synapse_1 |
dgi.reasoning-handle-output-step | handle_output_1 |
dgi.reasoning-finalize | finalize |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "dgi.reasoning-dag",
"initial_data": {
"message": "value"
}
}