Attached patch adds the new ERM_CLEAN extra removal cause at this point of "Clean Pollution/Clean Fallout" -> "Clean" migration already, and makes activity_to_extra_rmcause() to return that for ACTIVITY_CLEAN.
Supplied rulesets temporarily have both ERM_CLEAN and ERM_CLEANPOLLUTION/ERM_CLEANFALLOUT for all cleanable extras, and I guess any custom ruleset wanting to be compatible with this specific point of freeciv development need to do the same.
activity_to_extra_rmcause() treats ACTIVITY_CLEAN like it would not remove any extras, whereas it actually would remove *both* ERM_CLEANPOLLUTION and ERM_CLEANFALLOUT