4f3664cdd4
DeduplicationService colapsaba settings, tags y week plans pero NO los platos, dejando duplicados de CloudKit (mismo UUID) que causaban el crash de arranque y platos repetidos en pantalla. Se añade dedupeDishes: - Solo agrupa y colapsa copias que comparten el mismo id (nunca fusiona platos distintos ni toca platos únicos). - Keeper elegido de forma DETERMINISTA (copia más rica: foto/desc/ ingredientes/tags/prioridad; desempate por persistentModelID estable), así todos los dispositivos de la cuenta borran los mismos perdedores y el grafo converge a una copia, nunca a cero. - CloudKit private DB por Apple ID (sin CKShare) → jamás cruza cuentas de Family Sharing. Junto con el uniquingKeysWith previo, la app deja de crashear y limpia los platos duplicados en cada arranque, sin borrar la BD. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A3HaWmmtTQ1vdTERtSYU6p