A langgraph-esque graph workflow execution layer built on the Rust library implementation of BullMQ. Workflows are modeled as a DAG of string-tagged nodes, staged as Redis-backed jobs in topological order, versioned by canonical hash, and fully recorded for inspection.
Graphs of string-tagged nodes and edges with JSON in/out; validation rejects empty, duplicate, unknown-edge, and cyclic graphs
Each node runs as a Redis-backed BullMQ job, staged and scheduled in topological order
Graphs versioned by canonical sha256 of their JSON, with named aliases like myrelease:1.0.0
Predecessor outputs flow into each node as state, resolved by the scheduler at runtime
Retryable failures are retried with exponential backoff; permanent failures fail the graph
Recorded GraphExecution and NodeExecution snapshots with inputs, outputs, attempts, and timestamps
In-process MemoryStorage or MongoDB-backed MongoStorage for graphs, aliases, and executions
Register version-tagged handlers per node; node code versions are recorded on every execution