I did not see any additional blog posts or updates in the user guide on this functionality. I assume it is experimental (similar to process migration). It appears there is some common behavior - both features provide a way to move from one state to another within the target process definition. But it is not clear what is supported from a validation perspective. From what i can tell, the migration feature includes some explicit validation which focuses on the parameters and not so much on the process logic with no detailed validation for the state change feature.
We are currently supporting the state change feature and quickly realized that a user could potentially specify an invalid state (i.e. one that could not be attained by simply moving through the conditional sequence logic). It appears you are following the logic to generate the relevant execution ids, but the conditional logic from point A to point B is not enforced. For example, one can instantiate a basic sequential process and change state form the initial active task to one or more tasks downstream regardless of the sequential flow logic (i.e. tasks are mutually exclusive). In addition, we have a test that includes a service task with no incoming or outgoing sequence flows, but the state change can use it as a target element.
Have you considered this level of validation?