A process node can’t be assigned to an operation as it is made up of potentially many fragments. Assigning all fragments of the process node to the selected operation would just lead to other very confusing issues (we had that already in the past). Further the fragments of a process are not modeled as such in the patch, so the only way to assign them to different operations is through links. Now here comes the first issue, that when selecting multiple elements in a patch the links are NOT selected - I think there’s a shortcut to include them in the selection, but there was a reason why links are not part of it @tebjan or @joreg?
In any case, since they’re not part of the selection, nothing can be assigned.
Modeling the fragments explicitly in the patch wouldn’t help much either as you would suddendly be confronted with a multi question as each selected process node could come with a different set of fragments and you would need to decide what fragment of what process goes to the operation you wanna assign them to. Sooo we decided to keep it on the links, and the fragments will then pick that information up.
What maybe could be done is modifying the assign command, so inbetween links get picked up in that moment.
That the blue color (in your case) doesn’t get propagated further up is indeed caused by the special state outputs of the process nodes (no color). As already said, they must be thought of as pads (and not pins) as they represent the state which can always be looked at. And the color propagation (or flood fill as we call it internally) stops at pads.
So I agree situation as-is is not optimal, but didn’t come up with a good solution yet. Ideas are very welcome!