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). The returned keys are what propagates. The action owns its
DOMAIN writes.