validate_graph (workflow_engine.py)

JIGGA · automation

Workflow engine v2 — DAG runner with persisted, resumable run state. A v2 workflow declares `nodes` + `edges` instead of a linear `steps` list. Node types: `tool` (capability action, same dispatch as a v1 step), `llm` (sugar for `draft_with_model`), `human_approval` (parks the ru

"""Workflow engine v2 — DAG runner with persisted, resumable run state.

A v2 workflow declares `nodes` + `edges` instead of a linear `steps` list.
Node types: `tool` (capability action, same dispatch as a v1 step), `llm`
(sugar for `draft_with_model`), `human_approval` (parks the run until the user
replies `approve <code>` on their channel), and `writeback` (copy a named
upstream output to a workspace file). Edges carry `on: success|error|always`
(default success), which is what gives workflows branching and `on_fail`
handling.

Run state is file-first: everything about a run lives in
`~/.jigga/runs/workflows/<workflow_id>/<run_id>/run.json` with per-node status
(pending / done / failed / awaiting_approval / skipped). A run is advanced —
never held in memory — so it survives restarts: the

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key