Unexpected Behavior if State and Outcome have identical Names on branch "ros2-devel"
Given this setup:
If you try to connect outcome done of State A to the outcome A of the behavior.
The arrow automatically points to the State A itself, instead of the the outcome A of the behavior.
If connected to the outcome B of the behavior, the arrow automatically points to the State B instead of the the outcome B of the behavior.
The same inside a Concurrency Container: The Outputs can be connected.
Effectively these outcomes are same as a state for connecting transitions.
You rightfully argue that we should detect and prevent this conflict, so I will mark as enhancement for future development, but do not expect to be a near term priority.
To avoid, follow a standard naming convention. We normally use PascalCase for state names, and snake_case for outcomes. So your container outcomes would be "a" and "b" which would not conflict.