ReactiveDag.Node.Run (reactive_dag v0.17.0-rc)

Copy Markdown View Source

The ASH-NATIVE escape hatch: run :recompute_keys declares that this node's recompute is a GENERIC action on its own resource — one step less escape than a compute module, because the computation stays a first-class Ash action (arguments, policies, Ash.run_action testability).

The contract: the action returns the CHANGED keys ({:array, :string}; [] for none). The library passes only the arguments the action declares — keys ({:array, :string}, allow_nil — nil means whole-cell) and cell_id (:string; generator instances need it, since one resource expands to many cells) — and does the coordination Op.put for each returned key (an action has no %Cell{} to put through; the library closes the coordination loop, as in the payload loop). The action owns its DOMAIN writes. coordination_opts does not apply (there is no row).