One node in the DAG — the domain-neutral IR both host apps compile down to.
A cell is either a leaf (inputs: [], leaf?: true; fed by an external
source) or a derived node computed from inputs.
op is an OPTIONAL free-atom label, NOT a fixed enum and NOT required. The
substrate never interprets it; how a cell recomputes is decided by the app's
RecomputeStrategy. Two patterns exist:
- The
ReactiveDag.Nodesurface dispatches onmetashape (reduce/join/aggregate/compute), soopthere is pure documentation — an author may leave itnil. - A set-based
RecomputeStrategyMAY dispatch onop(seeReactiveDag.SetOp, which mapsop→ a host SQL template).opis load-bearing only for such a strategy; it exists as a field so that seam has somewhere to read.
meta is an open map for app-specific data the compiler wants to carry
(compute module, SQL template name, key_rule tag, …). The substrate passes it
through untouched.