split_composition_entity
Split an entity from an ancestor to multiple descendants, duplicating its state and soft-deleting the original. Use when an entity is descendant-specific and should exist per descendant.
Instructions
Push an ancestor-owned entity down to one or more descendants and soft-delete the ancestor's copy. Mutates state across the ancestor + every target descendant.
Inverse of lift_composition_entity. Use when an entity that
currently lives on an ancestor is in fact descendant-specific and
should be modeled separately per descendant — the operator chooses
which descendants take a copy. A new local id is minted on each
target; attached state on the ancestor's entity (assertions, jira
mappings, risk acceptances, etc.) is duplicated to every target.
The route's model_id IS the ancestor (the entity being split
lives on it). Each affected model (ancestor + every target
descendant) bumps version and emits a model_refined activity
event; a structured split_applied event with the full
split_event payload lands on the ancestor. The audit pack
surfaces this under split_history.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Entity kind — one of ``"assets"``, ``"attackers"``, ``"components"``. | |
| model_id | Yes | Ancestor model id — the entity to split lives here. | |
| server_version | Yes | ||
| ancestor_local_id | Yes | Local id of the entity on the ancestor. | |
| target_descendants | Yes | Non-empty list of descendant model ids that should each take a copy. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||