Skip to content

feat: aggiungere inspect schema-diff per controlli RAW multi-anno#16

Merged
Gabrymi93 merged 1 commit intomainfrom
feat/raw-schema-diff
Mar 4, 2026
Merged

feat: aggiungere inspect schema-diff per controlli RAW multi-anno#16
Gabrymi93 merged 1 commit intomainfrom
feat/raw-schema-diff

Conversation

@Gabrymi93
Copy link
Copy Markdown
Member

@Gabrymi93 Gabrymi93 commented Mar 4, 2026

Closes #14

Sintesi

Questa PR aggiunge un comando leggero inspect schema-diff per confrontare i principali segnali di schema RAW tra gli anni configurati.

L'obiettivo e aiutare i dataset storici o multi-anno quando il problema non e solo un file sporco, ma il fatto che header, colonne o segnali di lettura cambiano tra un anno e l'altro.

Perche serve

Oggi il toolkit espone gia diversi segnali utili nel passaggio raw -> clean:

  • metadata.json
  • profile_hints
  • inspect paths
  • profile raw

Pero manca ancora un comando compatto che dica rapidamente, anno per anno:

  • quale file RAW viene usato
  • encoding / delimitatore / skip suggeriti
  • header preview
  • preview e conteggio colonne
  • warning
  • differenze tra anni

Questo rende piu manuale del necessario il controllo sui dataset storici.

Cosa cambia

Aggiunti:

  • toolkit inspect schema-diff --config dataset.yml
  • toolkit inspect schema-diff --config dataset.yml --json

Il comando:

  • legge metadata.json e profile_hints quando disponibili
  • usa un fallback leggero con build_profile_hints() sul file RAW primario se i metadata mancano
  • degrada bene se i RAW non esistono ancora
  • confronta gli anni in sequenza

Output

Per ogni anno configurato mostra almeno:

  • primary_output_file
  • profile_source
  • encoding
  • delim
  • decimal
  • skip
  • header_line
  • columns_count
  • columns_preview
  • warnings

Poi mostra il confronto tra anni consecutivi:

  • conteggio colonne
  • colonne aggiunte
  • colonne rimosse
  • flag changed

Scope

Dentro il perimetro:

  • confronto leggero multi-anno dei segnali RAW
  • output human-readable
  • output --json
  • fallback pulito

Fuori scope:

  • sostituire profile raw
  • confronto tipi inferiti
  • generazione SQL o mapping
  • integrazione in status

Test

Aggiunti test CLI per:

  • rilevare differenze di colonne tra anni
  • degradare bene in JSON quando il RAW non esiste

Verifica eseguita:

py -m pytest tests/test_cli_status.py tests/test_cli_inspect_paths.py tests/test_cli_inspect_schema_diff.py -q

@Gabrymi93 Gabrymi93 linked an issue Mar 4, 2026 that may be closed by this pull request
3 tasks
@Gabrymi93 Gabrymi93 merged commit 89853ac into main Mar 4, 2026
5 checks passed
@Gabrymi93 Gabrymi93 deleted the feat/raw-schema-diff branch March 4, 2026 18:07
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.

[Task] Aggiungere un confronto schema multi-anno per il RAW

1 participant