# CRM Anagrafica Legami Questa nota serve a verificare e riallineare i legami tra: 1. rubrica_universale 2. persone 3. persone_unita_relazioni 4. rubrica_ruoli 5. riferimenti testuali stabile/unita usati dal CRM chiamate ## Ordine corretto della pipeline Per i casi importati da Gescon il flusso corretto e: 1. `gescon:auto-sync-anagrafiche` 2. `anagrafica:sync-soggetti` 3. `gescon:materialize-persone-relazioni` 4. `gescon:sync-rubrica-ruoli` Se un contatto e presente in rubrica ma non compare nel CRM con stabile/unita corretti, il punto da verificare non e solo la rubrica: quasi sempre manca uno dei passaggi centrali su `persone_unita_relazioni` o `rubrica_ruoli`. ## Nuovo comando QA mirato Per l operatore la via ordinaria non deve essere il terminale: il flusso corretto passa dalla UI `Supporto > Modifiche`, che durante il sync Git prova anche la ricucitura sicura dei legami rubrica. Il comando resta comunque disponibile per diagnosi tecniche o ambienti di sviluppo. Per analizzare casi singoli senza modificare nulla: ```bash php artisan gescon:qa-rubrica-legami --rubrica-id=3236 --rubrica-id=3470 ``` Per applicare solo fix sicuri: ```bash php artisan gescon:qa-rubrica-legami --rubrica-id=3236 --rubrica-id=3470 --apply-safe ``` Il comando applica solo questi interventi conservativi: 1. aggiorna `riferimento_stabile` se lo stabile candidato e univoco 2. aggiorna `riferimento_unita` se l'unita candidata e univoca 3. crea `rubrica_ruoli` solo quando esiste un'unica unita candidata e il ruolo e non ambiguo ## Regola pratica Se il candidato unita arriva solo da `gescon_import.condomin` ma non esiste ancora una relazione locale robusta, il comando non crea `rubrica_ruoli`. Questo evita di scrivere legami strutturati in casi ancora dubbi. ## Casi gia emersi ### Rubrica 3236 Caso tipico di fix sicuro: 1. record rubrica presente 2. stabile e unita coerenti e univoci 3. assenza di `rubrica_ruoli` 4. fix automatico consentito ### Rubrica 3470 Caso da verificare con piu cautela: 1. rubrica presente 2. unita candidata individuabile 3. manca la catena locale completa o il ruolo e ancora ambiguo 4. consentito solo aggiornare i riferimenti testuali se il caso resta univoco, ma non forzare sempre `rubrica_ruoli`