During the Revise Tone UBN (T431668), NewcomerTasksUserOptionsLookup::getConversionMap() produced a fallback target (copyedit) that is not a configured task type on all wikis (e.g. dewiki has it disabled). The JS counterpart TaskTypesAbFilter.getConversionMap() guards against this with taskTypeOrFalse(), but the PHP implementation does not, even though the doc comments require the two to be identical. The UBN fix (1309099) filters non-existent task types in convertTaskTypes(), but the map itself still contains unconfigured targets — filterTaskTypes() only reads map keys today, but if in the future it would also consume the values of the map, then that would reintroduce the fatal.
Technical notes
Port the taskTypeOrFalse() guard from TaskTypesAbFilter.js to getConversionMap(): when the fallback target (links, copyedit) is not in ConfigurationLoader::getTaskTypes(), map to false instead. This applies to both the link-recommendation => links and revise-tone => copyedit entries. The filtering added in 1309099 can stay as defence in depth.
Acceptance criteria
- getConversionMap() never maps to a task type that is not configured on the wiki, matching the JS implementation
- Unit test covers the case where the fallback target is not a configured task type