Skip to content

feat: add SILOS infrastructure explorer page#192

Merged
matteocavo merged 1 commit into
mainfrom
feat/silos-infrastrutture-bi
Jul 3, 2026
Merged

feat: add SILOS infrastructure explorer page#192
matteocavo merged 1 commit into
mainfrom
feat/silos-infrastrutture-bi

Conversation

@matteocavo

Copy link
Copy Markdown
Member

Sintesi

Aggiunge una pagina Data Explorer per silos_infrastrutture con taglio BI sulle infrastrutture strategiche SILOS: costi, disponibilità, fabbisogno, sistema infrastrutturale, localizzazione dichiarata, stato di attuazione e interventi principali.

Punto metodologico centrale: SILOS è gerarchico. La pagina non somma tutti i livelli insieme; espone un selettore di livello gerarchico e una tabella di confronto tra livelli, così ogni vista viene letta sul livello selezionato.

Contesto collegato

Closes #190

Cosa cambia

  • Nuovo dataset — pagina explorer
  • Bug fix frontend (data loader / layout / performance)
  • Aggiornamento config / catalogo
  • Modifica struttura dati upstream
  • Documentazione
  • Dipendenze o CI

Checklist nuovo dataset

Se la PR aggiunge un nuovo dataset in explorer:

  • Data loader: src/data/silos-infrastrutture.json.py — usa safe_connect() (non duckdb.connect())
  • Pagina: src/dataset/silos-infrastrutture.md — usa moduli condivisi (format-utils.js)
  • Tema: aggiornato src/data/themes.json.py (sidebar auto-generata, non toccato observablehq.config.js)
  • Frontmatter: title, description, source, source_url, period, last_modified, dataset_slug
  • Sezione Limiti obbligatoria (copertura, note metodologiche)
  • Verifica: npm run lint, npm test e npm run build passano

Standard check

Prima della review, verificare:

  • Niente toLocaleString — usa num(), euroCompact(), pct() da format-utils.js
  • tableFormat e Inputs.table in celle separate: non usato tableFormat dove serviva formattazione custom milioni→euro
  • Mappe: non applicabile, nessuna mappa in questa pagina
  • Niente duckdb.connect() — usa safe_connect()
  • Sidebar: auto-generata da themes.json.py — non modificato observablehq.config.js

Verifica

npm run lint
npm test
npm run build
  • npm run lint — eslint + standard check: 30 pagine, 0 errori
  • npm test — JS 57/57 pass, Python 13/13 pass
  • npm run build — build completato: 39 pagine renderizzate, silos-infrastrutture incluso, 26 link validati

Ho verificato anche il loader direttamente sul parquet pubblico: 7 livelli gerarchici e 2.633 righe con costo positivo nel JSON generato.

Checklist PR

  • Perimetro stretto: una PR = un dataset o un fix mirato
  • Issue collegata o motivazione dell'assenza

Note per chi revisiona

La parte da guardare con più attenzione è la scelta metodologica sui livelli: la pagina permette di cambiare livello e dichiara nei limiti che i livelli SILOS non vanno sommati tra loro, perché descrivono nodi padre e sotto-interventi della stessa gerarchia.

@matteocavo matteocavo added the curation Dataset pubblicato che necessita di pagina curata e tema label Jul 3, 2026
@matteocavo matteocavo self-assigned this Jul 3, 2026
@matteocavo matteocavo added the curation Dataset pubblicato che necessita di pagina curata e tema label Jul 3, 2026
@matteocavo matteocavo requested a review from Gabrymi93 July 3, 2026 11:47

@Gabrymi93 Gabrymi93 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review PR #192 — SILOS infrastrutture

Clip: 3 file (loader + pagina + themes), metodologia solida.

Findings

  • Low: la pagina non usa tableFormat() ma dichiara header/format manuali. Motivazione esplicita nella checklist. ✅
  • Low: data loader custom giustificato (due query aggregate + metadati). Pattern coerente.

Nota positiva

Eccellente gestione della gerarchia SILOS — selettore di livello + tabella confronto + caveat nei Limiti. La pagina educa l'utente a non sommare i livelli. 👌

Checklist

  • safe_connect(), format-utils.js, themes.json.py
  • ✅ Frontmatter + Limiti completi
  • ✅ Build/lint/test passati

Verdict: merge

@matteocavo matteocavo merged commit 599a7f4 into main Jul 3, 2026
1 check passed
@matteocavo matteocavo deleted the feat/silos-infrastrutture-bi branch July 3, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

curation Dataset pubblicato che necessita di pagina curata e tema

Projects

None yet

Development

Successfully merging this pull request may close these issues.

follow-up: pagina e tema per silos_infrastrutture

2 participants