Sanitizes a source key into a safe SQL/MJ column identifier (letters, digits, underscore;
never leading-digit; bounded length). The original key is kept as the field map's
SourceFieldName; the sanitized form becomes the column + DestinationFieldName. Returns the
BASE name only — collision resolution (suffixing) is the orchestrator's job since it needs
the existing-column context.
Sanitizes a source key into a safe SQL/MJ column identifier (letters, digits, underscore; never leading-digit; bounded length). The original key is kept as the field map's SourceFieldName; the sanitized form becomes the column + DestinationFieldName. Returns the BASE name only — collision resolution (suffixing) is the orchestrator's job since it needs the existing-column context.