Keep migrated lineup ids consistent so hydration authors no edit

When local-to-cloud migration reassigned a duplicate lineup group id,
only the payload's outer id changed; the agent's and abilities' nested
lineUpID kept the old one. The graph re-derives those from the group id
on every projection, so after hydration any unrelated edit also emitted
a LineupPatchOp for the lineup.

- Migration writes the new id into every nested reference.
- Live sync compares lineupGroup payloads with the nested lineUpIDs
  normalized to the group id, so payloads already uploaded with stale
  references hydrate without authoring an edit.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
d80d79fa6dDara Adedeji committed on 9/25/2026, 4:09:06 AMparent49fb00f
4 files changedLine totals unavailable