Problema
Il run locale di istat-occupazione-provinciale (source SDMX) fallisce con Exceeded 30 redirects su entrambi gli endpoint ISTAT.
Evidenza (2026-08-01)
- Il MCP istat-sdmx scarica il dataflow
150_915 con gli stessi filtri (FREQ=A, DATA_TYPE=EMP_R, CITIZENSHIP=TOTAL, EDU_LEV_HIGHEST=99) senza errori → l'endpoint è sano.
- La struttura del datastructure
DCCV_TAXOCCU1 ha 7 dimensioni: FREQ, REF_AREA, DATA_TYPE, SEX, AGE, EDU_LEV_HIGHEST, CITIZENSHIP.
curl sull'endpoint usato dal plugin (esploradati.istat.it): risponde 422 "Not enough key values in query, expecting 7 got 5" → il plugin costruisce una chiave con troppi pochi segmenti (mancano SEX e AGE, non filtrati).
- Il fallback su
sdmx.istat.it risponde 302 in loop → il client esaurisce i redirect.
Causa presunta
toolkit/plugins/sdmx.py::_build_key non inserisce wildcard (all) per le dimensioni non presenti nei filtri del dataset.yml. Il server ISTAT richiede la chiave completa a 7 dimensioni. Il fallback su sdmx.istat.it (302 loop) maschera il vero errore 422.
Fix atteso
_build_key: usare all (o il codice wildcard corretto) per le dimensioni non filtrate, oppure interrogare i constraint per completare la chiave.
- Valutare se il fallback verso
sdmx.istat.it debba gestire i 302 (non seguire in loop).
Impatto
Blocca il run locale (e la produzione mart) di istat-occupazione-provinciale. Altri candidate SDMX ISTAT potrebbero essere affetti (stesso dataflow o dataflow con dimensioni non filtrate).
Riferimenti
- Candidate:
candidates/istat-occupazione-provinciale/
- Plugin:
toolkit/plugins/sdmx.py
- Verifica MCP:
istat-sdmx_get_data(id_dataflow="150_915") funziona
Problema
Il run locale di
istat-occupazione-provinciale(source SDMX) fallisce conExceeded 30 redirectssu entrambi gli endpoint ISTAT.Evidenza (2026-08-01)
150_915con gli stessi filtri (FREQ=A, DATA_TYPE=EMP_R, CITIZENSHIP=TOTAL, EDU_LEV_HIGHEST=99) senza errori → l'endpoint è sano.DCCV_TAXOCCU1ha 7 dimensioni: FREQ, REF_AREA, DATA_TYPE, SEX, AGE, EDU_LEV_HIGHEST, CITIZENSHIP.curlsull'endpoint usato dal plugin (esploradati.istat.it): risponde422 "Not enough key values in query, expecting 7 got 5"→ il plugin costruisce una chiave con troppi pochi segmenti (mancano SEX e AGE, non filtrati).sdmx.istat.itrisponde 302 in loop → il client esaurisce i redirect.Causa presunta
toolkit/plugins/sdmx.py::_build_keynon inserisce wildcard (all) per le dimensioni non presenti nei filtri del dataset.yml. Il server ISTAT richiede la chiave completa a 7 dimensioni. Il fallback susdmx.istat.it(302 loop) maschera il vero errore 422.Fix atteso
_build_key: usareall(o il codice wildcard corretto) per le dimensioni non filtrate, oppure interrogare i constraint per completare la chiave.sdmx.istat.itdebba gestire i 302 (non seguire in loop).Impatto
Blocca il run locale (e la produzione mart) di
istat-occupazione-provinciale. Altri candidate SDMX ISTAT potrebbero essere affetti (stesso dataflow o dataflow con dimensioni non filtrate).Riferimenti
candidates/istat-occupazione-provinciale/toolkit/plugins/sdmx.pyistat-sdmx_get_data(id_dataflow="150_915")funziona