_executar_treino_sync tinha um `import random, shutil` local depois de já
usar shutil.rmtree() mais cedo na mesma função — o import local faz o
Python tratar 'shutil' como variável local pra toda a função, então o uso
anterior lançava "local variable 'shutil' referenced before assignment"
antes mesmo de chegar no split de treino/validação. shutil já vem
importado no escopo do módulo; só falta random no import local.