Construct a graph from a stdin op-list Usage: aura graph build [OPTIONS] Options: --release Load the project dylib from target/release instead of target/debug -h, --help Print help Op-list reference (stdin: a JSON array of op objects, applied in order): {"op":"source","role":"price","kind":"F64"} declare a bound root input role of a scalar kind {"op":"input","role":"price"} declare an open input role (wired by an enclosing graph) {"op":"add","type":"SMA","name":"fast","bind":{"length":{"I64":2}}} instantiate a node ("name" optional; "bind" maps param -> typed scalar) {"op":"add","type":"Session","name":"ny","args":{"tz":"America/New_York","open":"09:30"},"bind":{"period_minutes":{"I64":15}}} an arg-bearing type applies "args" (closed, per-type-declared string pairs) BEFORE "bind" — see graph introspect --node for its args {"op":"feed","role":"price","into":["fast.series","slow.series"]} wire a role into one or more input slots {"op":"connect","from":"fast.value","to":"sub.lhs"} wire a node output into an input slot {"op":"expose","from":"sub.value","as":"bias"} name a graph output field {"op":"tap","from":"sub.value","as":"spread"} declare a recordable tap on a wire (expose's output-side twin) {"op":"gang","as":"length","into":["fast.length","slow.length"]} fuse two or more sibling params into one public knob {"op":"doc","text":"..."} declare the composite's one-line meaning (C29) {"op":"use","ref":{"name":"agree"},"name":"gate","bind":{"sma.length":{"I64":9}}} splice a registered blueprint (by "content_id" or "name") under an instance name ("bind" path-qualifies the spliced instance's params) {"op":"name","name":"ny_momentum"} set the composite's render name, at most once per script (default "graph" if omitted) Node types and their ports: aura graph introspect --vocabulary | --node