This PR fixes a previously unknown issue that modifies the Subassembly.id to rename subassemblies such as "mooring_1" to "mooring". This creates a naming overlap that doesn't causes errors unless there are replacement events, which then cause each identically named subassembly to have invalidated processes, rather than just the failing one. Subassembly IDs are now stripped of leading punctuation and digits and have all punctuation replaced with underscores.
This PR fixes a previously unknown issue that modifies the
Subassembly.id
to rename subassemblies such as "mooring_1" to "mooring". This creates a naming overlap that doesn't causes errors unless there are replacement events, which then cause each identically named subassembly to have invalidated processes, rather than just the failing one. Subassembly IDs are now stripped of leading punctuation and digits and have all punctuation replaced with underscores.