Skip to content
Proud to collaborate with Microsoft for Startups

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 ​

PropertyValue
Workflow typeDag
LibraryApp-dgi
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
messagestringYes—User message to reason about
contextjsonNo—Context for reasoning (conversation history, organization_id, etc.)
max_depthintegerNo—Maximum reasoning depth (default: 5). Values above 5 are clamped: the DAG's layer structure is fixed at 5 process/handle pairs.

Output Schema ​

FieldTypeRequiredDefaultDescription
messagestringNo—User message to reason about
contextjsonNo—Reasoning context (history, organization_uuid, ...)
max_depthintegerNo—Maximum reasoning depth
workflow_run_uuidstringNo—Engine-injected DAG run id
workflow_run_idstringNo—Engine-stamped DAG step run id (E1)
organization_uuidstringNo—Org UUID (public surface)
parent_state_datajsonNo—Parent workflow state_data
reasoningjsonNo——
queuejsonNo——
synapsesjsonNo——
memoryjsonNo——
confidencejsonNo——
conversation_lockjsonNo——
skillsjsonNo——
branchesjsonNo——
virtual_workflowjsonNo——
compiled_configjsonNo——
initjsonNo——
handle_outputjsonNo——
finalizejsonNo——
llm_interactionjsonNo——
synapse_uuidstringNo——
outputjsonNo——
skipbooleanNo——
reasonstringNo——
final_answerstringNo—Final reasoning answer
skills_appliedlistNo——
pending_skillslistNo——
errorstringNo——
error_typestringNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
compensation_triggerstringNo——
failed_stepstringNo——
failed_at_statestringNo——
failed_layerintegerNo——
comp_queuejsonNo——
comp_current_layerjsonNo——
comp_retry_countintegerNo——
process_synapse_1jsonNo——
handle_output_1jsonNo——
process_synapse_2jsonNo——
handle_output_2jsonNo——
process_synapse_3jsonNo——
handle_output_3jsonNo——
process_synapse_4jsonNo——
handle_output_4jsonNo——
process_synapse_5jsonNo——
handle_output_5jsonNo——
process_synapse_6jsonNo——
handle_output_6jsonNo——
process_synapse_7jsonNo——
handle_output_7jsonNo——
process_synapse_8jsonNo——
handle_output_8jsonNo——
process_synapse_9jsonNo——
handle_output_9jsonNo——
process_synapse_10jsonNo——
handle_output_10jsonNo——
process_synapse_11jsonNo——
handle_output_11jsonNo——
process_synapse_12jsonNo——
handle_output_12jsonNo——

DAG Layers ​

#LayerStepsCompensation
1initdgi.reasoning-init—
2process_synapse_1dgi.reasoning-process-synapse-step—
3handle_output_1dgi.reasoning-handle-output-step—
4process_synapse_2dgi.reasoning-process-synapse-step—
5handle_output_2dgi.reasoning-handle-output-step—
6process_synapse_3dgi.reasoning-process-synapse-step—
7handle_output_3dgi.reasoning-handle-output-step—
8process_synapse_4dgi.reasoning-process-synapse-step—
9handle_output_4dgi.reasoning-handle-output-step—
10process_synapse_5dgi.reasoning-process-synapse-step—
11handle_output_5dgi.reasoning-handle-output-step—
12process_synapse_6dgi.reasoning-process-synapse-step—
13handle_output_6dgi.reasoning-handle-output-step—
14process_synapse_7dgi.reasoning-process-synapse-step—
15handle_output_7dgi.reasoning-handle-output-step—
16process_synapse_8dgi.reasoning-process-synapse-step—
17handle_output_8dgi.reasoning-handle-output-step—
18process_synapse_9dgi.reasoning-process-synapse-step—
19handle_output_9dgi.reasoning-handle-output-step—
20process_synapse_10dgi.reasoning-process-synapse-step—
21handle_output_10dgi.reasoning-handle-output-step—
22process_synapse_11dgi.reasoning-process-synapse-step—
23handle_output_11dgi.reasoning-handle-output-step—
24process_synapse_12dgi.reasoning-process-synapse-step—
25handle_output_12dgi.reasoning-handle-output-step—
26finalizedgi.reasoning-finalize—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
dgi.reasoning-initinit
dgi.reasoning-process-synapse-stepprocess_synapse_1
dgi.reasoning-handle-output-stephandle_output_1
dgi.reasoning-finalizefinalize

API Usage ​

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

{
  "workflow_type": "dgi.reasoning-dag",
  "initial_data": {
    "message": "value"
  }
}