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