Entiende la salida de cada rama
Una ruta condicional puede ejecutar pasos distintos, por lo que los campos finales varían según la rama. Inspecciona ejecuciones correctas de cada ruta y anota qué valores produce. No supongas que un campo presente en una ejecución existirá para todas las entradas.
Decide qué valores necesitan realmente los pasos posteriores y qué debe ocurrir si una rama no los genera. Que falte un dato opcional puede ser aceptable; si falta un identificador necesario para actualizar, detén o redirige esa ruta con una explicación clara.
Haz explícita la transferencia
Cuando sea posible, haz que cada rama devuelva los mismos campos con nombres y tipos compatibles. Si un valor no corresponde a una rama, representa esa ausencia de forma deliberada y protege los pasos que lo requieren. Así las asignaciones son más legibles y menos frágiles.
Prueba al menos una entrada por rama, incluidos casos límite que cambian la ruta. Revisa las entradas reales del siguiente paso, no solo la condición. Repite las comprobaciones cuando cambie el flujo para evitar que una rama nueva rompa asignaciones existentes.