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).