Currently there is no clear description showing how (or if) to set lifecycle status on non-traversed branches of decision structures (i.e. the XXX_GROUP types inheriting from CHOICE_GROUP).
Something needs to be added to the specification to account for this.
In the materialized (and activated) representation of a plan the non-traversed branches or decision structures should be set to 'cancelled' with the transition 'not needed'.
The underlying semantic is that the branch of tasks where not needed because the execeution went in another direction.
If the group is repeatable I assume the branch will be "copied to new instances" and the repeated execution will be handled as above.
This pattern should also be applied to TaskPlans where the user abandon the execution. We interpret it such that one abandoned task in a TaskPlan will abandon the whole plan. When this happens the engine should set all materialized plan items /tasks to 'cancelled' with the transition 'not needed' .
I didn't find in the spec anything about this auto-transitioning tasks to cancelled state (on branch choice and on task abandonment). Did I miss it? (Clarification: that's a question for in course of me reviewing this task.)