The bottom of the pipe is an union that should be connected to the output. Data looks good and timings are good in the debugger at the union with the output disconnected. Connect the output and you get nothing out of the debugger or a real pipe run. Very odd.
A earlier version of this pipe was running. A series of changes were made at the top and tested with a sever in the middle of pipe to speed up debugging. The changes didn't break the top but I didn't check the final output after reconnecting the sever. I only noticed at a later date that this pipe hadn't produced any output. Therefore I have lost track of the fateful change. It all looks good to me.