Out-of-band custom-key aggregation: folds one batch of unmapped-field objects into
the per-map accumulator — BEFORE any skip decision, so candidates + sizing stats exist even
when the content-hash fast path skips every row (the match hash deliberately excludes
unmapped keys). Pure over its inputs (mutates only agg); null/undefined values don't count
as an occurrence; the per-key value sample is capped for bounded memory. maxLength tracks
the TRUE longest observed serialized value across every record — the generous-width input
for the eventual promoted column.
Out-of-band custom-key aggregation: folds one batch of unmapped-field objects into the per-map accumulator — BEFORE any skip decision, so candidates + sizing stats exist even when the content-hash fast path skips every row (the match hash deliberately excludes unmapped keys). Pure over its inputs (mutates only
agg); null/undefined values don't count as an occurrence; the per-key value sample is capped for bounded memory.maxLengthtracks the TRUE longest observed serialized value across every record — the generous-width input for the eventual promoted column.