ReactiveDag.Node.Recompute (reactive_dag v0.16.0)

Copy Markdown View Source

A GENERIC ReactiveDag.RecomputeStrategy for graphs declared with ReactiveDag.Node. Because Node standardizes where a cell's op module lives — cell.meta.compute, a ReactiveDag.Op — the dispatch is uniform and the host no longer hand-writes it:

ReactiveDag.Drain.run(plan,
  recompute: ReactiveDag.Node.Recompute,
  key_rule:  ReactiveDag.Node.KeyRule)

This is the per-key-Elixir shape (the op is a behaviour module the host supplies). A host whose recompute is set-based SQL keyed by cell.op (the compliance portal) still writes its own strategy; this generic one serves the common "meta.compute is a ReactiveDag.Op module" case, of which cascade is the archetype.

A LEAF (or a cell with no compute) passes its claimed keys through as changed — a leaf's tuples were written by its source; if it reaches recompute at all, its claimed keys already ARE its changes.