A bare .dz file (DictZip without the .dsl prefix) is treated by the pipeline as an orphaned file and deleted right after the download, so a .dz source URL passed validation but silently produced no dictionary. Accept only DictZip-compressed DSL (.dsl.dz; .gz already covers .dsl.gz) and compare extensions case-insensitively.