Repository navigation
fix(clean): filtra read_params_used alle opzioni di lettura in validate - #517
Merged
Merged
Conversation
La validazione di promozione ri-profila il raw riusando `read_params_used` dai metadata del clean, che contiene anche metadati di audit come `inject_column` (colonna costante iniettata per sorgente). Passandoli a `normalize_read_cfg` la chiave viene rifiutata e il clean fallisce a valle del run per i dataset multi-source con inject_column (caso reale: terna_load_oraria). Aggiunto helper `_read_cfg_from_clean_metadata` che filtra alle chiavi ammesse (ALLOWED_READ_CSV_KEYS) + test di regressione.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sintesi
La validazione di promozione del clean ri-profila il raw riusando
read_params_useddai metadata del clean. Quei params contengono anche metadati di audit comeinject_column(colonna costante iniettata per sorgente), chenormalize_read_cfgrifiuta:Risultato: il clean viene prodotto correttamente ma il run fallisce a valle su tutti i dataset multi-source con
inject_column.Contesto collegato
Nessuna issue: bug emerso implementando
terna_load_oraria(due sorgenti per anno, distinte dal campo iniettatotipo_carico).Cosa cambia
Bug fix
Nuova funzionalità del motore
Nuovo plugin sorgente
Modifica contratto pubblico (dataset.yml, path output, schema parquet)
Refactor / performance
Documentazione
Dipendenze o CI
nuovo helper
_read_cfg_from_clean_metadata: filtraread_params_usedalle sole chiavi ammesse dal reader (ALLOWED_READ_CSV_KEYS)test di regressione (
test_validate_promotion_ignores_inject_column_in_read_params) + unit (test_read_cfg_from_clean_metadata_drops_audit_keys)Impatto su contratti pubblici
dataset.yml(nuovo campo, cambio obbligatorietà)Nessun contratto modificato.
read_params_usedresta invariato nei metadata; cambia solo il modo in cui la validazione lo rilegge (tollerando chiavi non di lettura)._read_cfg_from_clean_metadataè privato.Verifica
pytest -m corepassa (intera suite verde)ruff check .passamypy toolkit/passaregression/pure_unit)Regressione verificata: il test
test_validate_promotion_ignores_inject_column_in_read_paramsfallisce senza il fix (ValueError) e passa con il fix.Checklist PR
Note per chi revisiona
ALLOWED_READ_CSV_KEYS(già definito incore/csv_read.py): se in futuro un'opzione di lettura valida venisse aggiunta lì, resta coperta automaticamente.inject_columninread_params_used) è stata scartata: quel metadato è utile per l'audit dei run.