The _rivet_row_hash column for a batch, over an already-resolved column
set. Both sinks compute it here so neither can drift from the other’s
rendering — the value’s only guarantee is that one function produces it.
row_hash_columns over a bare name list — for the CDC seam, where the
DATA columns are known before any Arrow schema exists, and where “all
columns” must mean all data columns.