Hi there
I think you did a great job with implementing process instance migration in Camunda 7.5.
https://docs.camunda.org/manual/7.5/user-guide/process-engine/process-instance-migration/
However, I was wondering whether it is suitable for CMMN models as well, since the basic understanding of design time vs. runtime is different in CMMN and BPMN. For processes, there is a clear distinction between design time and runtime and often changing the process definition is only allowed for certain people and will therefore only occur from time to time. In CMMN however, there is no clear distinction between design time and runtime. Every case worker is encouraged to add new tasks where appropriate or modify the existing arrangement during runtime to better reflect his or her preferences.
Therefore, I would suggest to use a different model for CMMN that allows easy modifications on the currently running case definition without automatically affecting the case definition that the case was started from (template). Later on, the changes of the instance can be migrated to a new version of the template case definition in the repository. I imagine it like a sort of branching in a software repository. Every newly started case automatically gets a branch. After completion of the case (or maybe also before that) changes in the running case instance can be merged back into the trunk version (aka case template).
What’s your opinion on that?
Regards
René