Entenda a saída de cada ramo
Um caminho condicional pode executar etapas diferentes, então os campos finais variam conforme o ramo. Inspecione execuções bem-sucedidas em cada caminho e liste os valores produzidos. Não presuma que um campo visto em uma execução existirá para todas as entradas.
Defina quais valores as etapas seguintes realmente exigem e o que deve ocorrer quando um ramo não os produzir. A ausência de um dado opcional pode ser aceitável; a falta de um identificador necessário para atualizar deve interromper ou redirecionar o caminho com uma explicação útil.
Deixe a transferência explícita
Quando possível, faça cada ramo retornar os mesmos campos nomeados e tipos compatíveis. Se um valor não se aplica a um ramo, represente essa ausência intencionalmente e proteja etapas que dependem dele. Isso torna os mapeamentos mais claros e reduz falhas por suposições implícitas.
Teste ao menos uma entrada por ramo, inclusive casos de limite que escolham outro caminho. Inspecione os dados realmente recebidos pela próxima etapa, não apenas a condição. Repita as verificações após mudanças para evitar que um ramo novo quebre mapeamentos existentes.