flow-ir-core
flow.ir Pure Rust schema + sync interpreter. The core substrate (layer 2 of the 4-layer flow.ir stack).
No mlua, no async, no I/O — pure schema + eval + Dispatcher trait.
Stack position
flow-ir-lua— Pure Lua DSL (separate repo, ecosystem-neutral)flow-ir-core— this crate: Pure Rust schema + sync interpretermlua-flow-ir— async runtime + mlua binding (re-exports this crate)mlua-swarm-engine— host concerns (Spawner / Worker / Loop / AuthzPolicy / cp_state persist)
What's in
- 3 Node kinds —
Step { ref, in, out },Seq { children },Branch { cond, then, else }(+Fanout/Loop/Try) - 3 Expr ops —
Path { at },Lit { value },Eq { lhs, rhs } - Discriminated unions —
#[serde(tag = "kind")]/#[serde(tag = "op")]+deny_unknown_fields Dispatchertrait — host provides concretedispatch(&str, Value) -> Result<Value>implementations
Quick start
use ;
use ;
let node: Node = from_value.unwrap;
;
let result = eval.unwrap;
assert_eq!;
License
MIT OR Apache-2.0