# Phase 7: Workflow Graph **Purpose:** DAG-based dynamic workflow execution. **TS Module:** `src/tier2-primitives/workflows/workflow-graph.ts` ## What It Does Executes workflows defined as JSON DAGs (nodes = steps, edges = dependencies). Topological-sort execution with conditional branching and fallback steps. ## Step Types | Type | Description | |------|-------------| | `action` | Execute a handler function | | `decision` | Branch based on state | | `subworkflow` | Run a nested workflow | | `parallel` | Run multiple steps concurrently | | `transform` | Transform data between steps | ## Usage ```bash # Register a workflow fable-agent workflow path/to/workflow.json # Run with a workflow fable-agent run "Goal" --workflow ``` ## Key Rules - All edges and dependsOn must reference valid step IDs - Topological sort ensures correct execution order - Conditional branching: `if context.key == value` evaluates at runtime - Fallback steps execute when primary step fails