pub fn normalize_attribute_key(raw: &str) -> Result<String, AppError>Expand description
Attribute keys: a-z 0-9 _, starting with a letter, at most 40
characters (vendor, length_mm). Upper case and spaces/dashes are
folded (Order No. → order_no).