Skip to content

feat: propagate dataset tags and category to catalog, schema and MCP - #738

Merged
Gabrymi93 merged 5 commits into
mainfrom
feat/propagate-tags-category
Jul 29, 2026
Merged

feat: propagate dataset tags and category to catalog, schema and MCP#738
Gabrymi93 merged 5 commits into
mainfrom
feat/propagate-tags-category

Conversation

@Gabrymi93

Copy link
Copy Markdown
Member

Sintesi

Propaga i nuovi campi tags e category (aggiunti al contratto dataset.yml nella PR dataciviclab/toolkit#434, inclusa in toolkit v1.46.1) attraverso tutto lo stack DI: catalogo, schema JSON e MCP clean-query.

Contesto collegato

Nessuna issue — follow-up della PR toolkit #434 su richiesta batch smart.

Cosa cambia

  • candidate — nuovo dataset o aggiornamento
  • support — dataset di supporto
  • docs — struttura candidate, README, template
  • cleanup — refactoring, rimozioni, allineamento
  • workflow o CI
  • altro

Impatto

  • Aggiunge o modifica un candidate / support in candidates/
  • Modifica la struttura attesa dei candidate (dataset.yml, cartelle)
  • Cambia il contratto con consumatori downstream (explorer, analisi)
  • Solo documentazione o metadati
  • Nessun impatto visibile per chi usa il repository

Checklist candidate

N/A — non tocca candidate.

Verifica

# Import check dei moduli modificati
python3 -c "from build_clean_catalog import _enrich_tags_and_category; print('OK')"
python3 -c "from catalog import list_datasets, describe_dataset, search_datasets; print('OK')"
# Ruff
ruff check scripts/build_clean_catalog.py tools/clean_query_mcp/catalog.py tools/clean_query_mcp/server.py
  • run all o dry-run eseguito senza errori (candidate/support)
  • python scripts/validate_candidate_structure.py passato
  • Perimetro stretto: propagazione contratti già validati nel toolkit

Note / rischi

I nuovi campi diventano effettivi solo dopo:

  1. Aggiungere tags: / category: in un dataset.yml candidato
  2. Rigenerare il catalogo: python scripts/build_clean_catalog.py --derive --write

Il MCP clean-query legge il catalogo aggiornato automaticamente (cache per processo).

- Aggiornato toolkit a v1.46.1 (include PR #434: tags/category in cfg)
- Aggiornato clean_catalog.schema.json: nuovi campi opzionali
  tags (list[string]) e category (string)
- Aggiunto _enrich_tags_and_category() in build_clean_catalog.py:
  legge tags/category dai dataset.yml candidati tramite
  load_dataset_manifest() e li fonde nel catalogo
- Aggiornato MCP catalog.py: list_datasets(), search_datasets()
  e describe_dataset() espongono tags e category
- Aggiornato MCP server.py: find() cerca anche per tag/categoria
  e li include nei risultati; dataset_overview() li espone
- lint.yml assorbe test-audit.yml (audit marker test come step)
- lint.yml assorbe smoke MCP e pytest da validate-clean-catalog
- lint.yml trigger esteso a registry/** per coprire path catalogo
- validate-clean-catalog slimmato: solo validate + GCS + notifiche
- validate-candidate-structure.yml unificato in pr-toolkit-check.yml
  (rimosso workflow separato)
- pr-toolkit-check: run full sostituito da preflight + dry-run SQL
- Rimosso test-audit.yml (step inline in lint.yml)
- Rimosso validate-candidate-structure.yml (unito in pr-toolkit-check)

Risparmio: 2 setup Python eliminati, pytest eseguito una volta
invece che in 3 workflow separati.
@Gabrymi93
Gabrymi93 force-pushed the feat/propagate-tags-category branch from 1dea3ae to 194fd5b Compare July 29, 2026 21:12
@Gabrymi93
Gabrymi93 merged commit 2c74498 into main Jul 29, 2026
5 checks passed
@Gabrymi93
Gabrymi93 deleted the feat/propagate-tags-category branch July 29, 2026 21:17
Gabrymi93 added a commit that referenced this pull request Jul 29, 2026
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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