What's wrong with my command? (might be me or a bug)
You are testing for a command block with a data value of 1.
A command block's data value does not store its success count, it instead stores whether the command block has been previously been activated with its current command in it. Its success count is instead stored in its NBT data, as it is a tile entity.
What you probably actually want to be testing for is a command block with SuccessCount
of 1:
/testforblock ~ ~ ~1 command_block -1 {SuccessCount:1}
The reason your contraption is not working (middle-right is still outputting) is because the /testfor
command is true, hence:
A command block will give itself a data value of 1 if it run a command. It does not indicate whether it is a success or not, only the fact that the command block has previously run a command.
The comparison of whether the result was a success or not are for comparators.