Recovery Strategy Legacy RAS Import¶
Ultimo aggiornamento: 2026-04-02
Stato¶
L'audit batch dei casi caso_001 ... caso_007 conferma che il ramo import legacy non e' affidabile nello stato attuale.
Riferimenti: - audit script - audit json - audit markdown
Sintesi audit:
- casi controllati: 7
- casi allineati: 0
- casi con mismatch: 5
- casi senza documento importato trovato: 2
Root Cause Probabile¶
Il problema principale non sembra la perdita dei dati nel DB.
Nei casi piu critici:
- legacy_dynamic_answer e' pieno
- il runtime del compila non espone gran parte dei qid
- quindi il documento contiene dati, ma il builder non monta l'albero corretto
La causa piu probabile e':
- import di casi diversi sullo stesso legacy_model_id
- sovrascrittura della struttura sezioni/template tra import successivi
- mantenimento delle risposte sul documento, ma con runtime che legge una struttura non coerente col caso
Questo spiega: - domande vuote - foto su domande sbagliate - sezioni mancanti - dati generici apparentemente spostati
Classificazione Problemi¶
1. Problema strutturale modello/template¶
Casi:
- caso_001 -> doc 380
- caso_004 -> doc 575
- caso_005 -> doc 575
- caso_006 -> doc 385
Segnali:
- stored completo
- runtime missing_expected_qids altissimo
- mismatch strutturale del builder
2. Problema mapping immagini¶
Casi:
- caso_002 -> doc 425
- anche gli altri casi mostrano problemi foto, ma caso_002 ha il runtime qid allineato
Segnali:
- stored e runtime vedono i qid
- le immagini risultano duplicate o conteggiate in modo incoerente
3. Caso non ancora agganciato¶
Casi:
- caso_003
- caso_007
Segnali: - documento importato attivo non trovato
Regole Operative¶
Fino alla chiusura del recovery:
- non fare nuovi import batch live su casi legacy RAS
- non riusare un
legacy_model_idcondiviso tra casi diversi - non correggere manualmente i documenti live a mano domanda per domanda
- ogni prova va fatta prima su staging documentale
Strategia Corretta¶
Fase 1. Freeze¶
- bloccare nuovi import legacy sul flusso attuale
- mantenere i documenti live attuali solo come riferimento
- non usarli come base per concludere che l'import sia corretto
Fase 2. Isolamento modelli¶
Per ogni caso importato creare un modello dedicato:
- legacy_model_id dedicato per caso
- niente template condiviso per casi diversi
Regola:
- 1 caso legacy = 1 modello dedicato
Questo elimina il rischio di sovrascrittura della struttura sezioni.
Fase 3. Reimport staging¶
Per ogni caso problematico:
- creare un documento staging
- importare il JSON legacy sul modello dedicato
- verificare:
- expected qid
- stored qid
- runtime qid
- libretto.generali
- vista_dall_alto
- foto_facciate
- immagini domanda
Solo dopo audit positivo: - swap nel master attivo
Fase 4. Foto¶
Separare il problema immagini dal problema modello.
Per ogni domanda:
- evitare doppio conteggio tra:
- images
- detail.image
- definire una sola forma canonica di persistenza immagini
Regola consigliata:
- sorgente canonica = images
- detail.image solo se il runtime lo richiede davvero, ma senza duplicare
Fase 5. Casi mancanti¶
Per:
- caso_003
- caso_007
fare prima: - individuazione documento target - oppure creazione documento staging dedicato
Poi entrare nel reimport standard.
Ordine Consigliato¶
caso_006 / doc 385- caso conosciuto
- sorgente chiara
-
perimetro operativo noto
-
caso_001 / doc 380 -
mismatch runtime molto evidente
-
caso_005 / doc 575 -
poi decidere se
caso_004va tenuto separato o trattato come variante storica -
caso_002 / doc 425 -
concentrarsi sul mapping immagini
-
caso_003ecaso_007 - solo dopo avere stabilizzato il flusso
Deliverable Tecnici¶
Prima di toccare i dati live servono:
- importer v2
- modello dedicato per caso
- persistenza immagini canonica
-
libretto coerente
-
audit v2
- confronto automatico:
expectedstored-
runtime -
swap procedure
- backup del master
- staging document
- copy controllato nel master
Criterio di Accettazione¶
Un caso si considera recuperato solo se:
runtime missing_expected_qids = 0qid_mismatch_count = 0- immagini domanda allineate
libretto.generaliallineato- verifica tecnica manuale ok nel
compila
Decisione¶
Non conviene correggere il batch attuale con patch incrementali sui documenti live.
La strada corretta e': - isolare il modello per caso - reimportare in staging - audit automatico - solo poi riallineare i master