Skip to content

chore(registry): load_catalog/load_signals dal registry fusion (registry.json) - #46

Merged
Gabrymi93 merged 2 commits into
mainfrom
chore/registry-migration
Aug 10, 2026
Merged

Gabrymi93 merged 2 commits into
mainfrom
chore/registry-migration

Conversation

@Gabrymi93

Copy link
Copy Markdown
Member

Sintesi

Migra i loader del dashboard dal legacy clean_catalog.json/pipeline_signals.json al fusion registry (registry/registry.json di dataset-incubator).

Contesto collegato

Migrazione registry (fusion ADR): DI produce registry.json unico (sezioni datasets/marts/signals/codelists/entities); i vecchi artifact separati sono proiezioni legacy da rimuovere dopo la migrazione dei consumer. data-explorer già migrato (#226).

Cosa cambia

  • sources.py:
    • load_catalog() → legge registry.json (sezione datasets, struttura identica al vecchio clean_catalog)
    • load_signals() → legge registry.json e normalizza il blocco run in sample_run (status SUCCESSpassed, checked_at da started_at, run_url da run_id) — i consumer delle pagine non cambiano
  • tests/test_sources.py: campionati su registry fusion; verifica della normalizzazione sample_run; fallback load_signals{"signals": []}

Verifica

python3 -m pytest tests/test_sources.py -q --no-cov   # 38 passed
ruff check sources.py                                  # clean
  • pytest 38 verdi, ruff pulito
  • Le pagine (00_Vista_Insieme, 02_Pipeline_Health) restano invariati — usano catalog.get("datasets") / signals.get("signals"), presenti nel registry

Note / rischi

  • load_catalog e load_signals fanno ciascuno un fetch di registry.json (il registry ha sia datasets che signals) — leggermente ridondante ma innocuo (cache st.cache_data per loader).
  • I campi run_url derivati da run_id sono nuovi rispetto al vecchio sample_run (che aveva URL esplicita); il formato https://github.com/dataciviclab/dataset-incubator/actions/runs/{run_id} è coerente con i run ID del toolkit.

…try.json)

Sostituisce clean_catalog.json/pipeline_signals.json con registry.json:
- load_catalog: legge registry.json (sezione datasets, struttura identica)
- load_signals: legge registry.json e normalizza il blocco run → sample_run
  (status/checked_at/run_url derivati da run_id/started_at) per compat con
  le pagine
- test: campionato su registry fusion, verifica normalizzazione sample_run
Il vecchio pipeline_signals.json esponeva il run come 'latest_run'; le pagine
usavano 'sample_run' (campo inesistente → bug latente: i run non venivano
mai mostrati). Con il registry, il blocco è 'run': normalizzazione loader +
pagine allineate a 'run', fix del bug latente.
@Gabrymi93
Gabrymi93 merged commit 5b76c40 into main Aug 10, 2026
1 check passed
@Gabrymi93
Gabrymi93 deleted the chore/registry-migration branch August 10, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant