# Reference Normalization Quality Gates

Quality gates pour CSV normalises Winerix : schema, output, lignes, en-tetes, source_key et caveat avant import ou publication.

## Synthese
- Sources controlees : 11
- QA ready : 3
- Bloquees : 8
- Prochaine source QA ready : qualite_tourisme_establishments
- Premier blocage : sirene_wine_establishments

## Gates par source

### P1 - Sirene etablissements vin
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/sirene-wine-establishments-normalized.csv`
- Schema : `sources/sirene-wine-establishments-normalized.schema.csv`
- Colonnes manquantes : source_key, source_row_number, siren, siret, nic, establishment_name, naf_code, naf_label, wine_activity_family, is_active, is_headquarters, creation_date, last_treatment_date, address_raw, postcode, commune, commune_code, department, region, normalized_join_key, publication_scope, caveat
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Donnees nominatives : RGPD/metier avant listing public.

### P2 - BAN qualite adresse
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/ban-address-quality.csv`
- Schema : `sources/ban-address-quality.schema.csv`
- Colonnes manquantes : source_key, source_row_number, entity_type, entity_id, entity_name, address_raw, postcode, commune, citycode, ban_label, lon, lat, score, address_score, certified, geocoding_status, address_fingerprint, caveat
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Adresse geocodee ne prouve pas ouverture au public ni frequentation.

### P3 - Insee frequentation hebergements touristiques
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/insee-tourism-occupancy-normalized.csv`
- Schema : `sources/insee-tourism-occupancy.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Demande hebergements generale, pas attribution oenotouristique directe.

### P3 - Qualite Tourisme etablissements
- Statut : `qa_ready`
- Lignes : 448
- Output : `sources/qualite-tourisme-establishments-normalized.csv`
- Schema : `sources/qualite-tourisme-establishments.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Passer a la revue metier puis import ou hydratation KPI.
- Caveat : Label accueil/prestations, pas frequentation ni preuve oenotouristique directe.

### P3 - Exploitations certifiees HVE
- Statut : `qa_ready`
- Lignes : 25329
- Output : `sources/hve-certified-estates-normalized.csv`
- Schema : `sources/hve-certified-estates-normalized.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Passer a la revue metier puis import ou hydratation KPI.
- Caveat : Annuaire volontaire : absence du fichier ne prouve pas absence de certification.

### P4 - BNSC stationnement cyclable
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/bnsc-bike-parking-normalized.csv`
- Schema : `sources/bnsc-bike-parking.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Source OSM contributive : ne pas presenter comme label Accueil Velo ni frequentation.

### P4 - Agence Bio operateurs bio vin
- Statut : `qa_ready`
- Lignes : 3619
- Output : `sources/agencebio-organic-wine-operators-normalized.csv`
- Schema : `sources/agencebio-organic-wine.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Passer a la revue metier puis import ou hydratation KPI.
- Caveat : Annuaire declaratif valide par certificateurs ; groupe culture VI requis pour les surfaces bio viticoles.

### P5 - Agence Bio surfaces viticoles bio communales
- Statut : `missing_publication_columns`
- Lignes : 53408
- Output : `sources/agencebio-organic-viticulture-surfaces-normalized.csv`
- Schema : `sources/agencebio-organic-viticulture-surfaces.schema.csv`
- Colonnes manquantes : aucune
- Prochaine action : Ajouter source_key et caveat avant import/publication.
- Caveat : VI correspond a la viticulture et inclut une faible part de raisin de table.

### P6 - FranceAgriMer prix vrac
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/franceagrimer-prices.csv`
- Schema : `sources/franceagrimer-prices.schema.csv`
- Colonnes manquantes : source_key, source_row_number, campaign, period_date, week, wine_category, colour, segment, geography, price_value, unit, volume_hl, source_label, normalization_status, publication_scope, caveat
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Prix France/segment large, pas prix appellation/local par defaut.

### P7 - DGDDI recoltes et stocks
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/dgddi-vitivinicole-stocks-harvests.csv`
- Schema : `sources/dgddi-vitivinicole-stocks-harvests.schema.csv`
- Colonnes manquantes : source_key, source_row_number, type, year, campaign, department, department_label, category, colour, appellation_or_sign, surface_ha, production_hl, stock_hl, declarations, unit, source_resource, normalization_status, publication_scope, caveat
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Jeu historique : ne pas publier comme conjoncture recente sans controle.

### P8 - Agreste valeur venale vignes
- Statut : `missing_output`
- Lignes : 0
- Output : `sources/agreste-vineyard-land-values.csv`
- Schema : `sources/agreste-vineyard-land-values.schema.csv`
- Colonnes manquantes : source_key, source_row_number, year, territory_level, territory_code, territory_label, region, department, pra, vineyard_type, price_mean_eur_ha, price_min_eur_ha, price_max_eur_ha, evolution_rate, unit, source_label, normalization_status, publication_scope, caveat
- Prochaine action : Executer la normalisation pour produire le CSV cible.
- Caveat : Valeurs SAFER lissees : pas transaction brute ni expertise fonciere.
