Struct AgentManagedDataRepairSystem Extends ISystem
Public
Gives cloned agents their own copy of their managed data.
When an entity is cloned, its AgentManagedBackupRef is copied verbatim, so the clone starts out pointing at data owned by its source. Its AgentManagedRef is not copied, because cleanup components never are. An entity with the former and not the latter is therefore exactly an unrepaired clone, and this system is what turns it into a real agent.
A clone is not a usable agent until this has run. Every A* query reads the slot from AgentManagedRef, so no other system can observe one in the meantime.