Updating archetype of a composition

We are looking into updating existing compositions to use a new version of an archetype.

However the VERSIONED_COMPOSITION class has this invariant:

Archetype_node_id_valid: for_all v in all_versions | v.archetype_node_id.is_equal (all_versions.first.archetype_node_id)

And the archetype_node_id should contain the stringified archetype_id:

At an archetype root point, the value of this attribute [archetype_node_id] is always the stringified form of the archetype_id found in the archetype_details object.

This seems to imply that the archetype_id (including the version number) cannot change between composition versions.

Is my understanding of this constraint correct, i.e. is updating the archetype of a composition currently not allowed?

If so, should this be allowed? I think it is valid for long-lived (e.g. persistent and episodic) compositions to be migrated to a new archetype version. For example, when a new field is added it should become usable in existing compositions.

What do you think?

1 Like

We are now discussing this issue in SPECPR-373.