{
    "ok": true,
    "generated_at": "2026-07-06T17:57:26+00:00",
    "summary": "Carte de dependances KPI Winerix : relie scores territoire, composants, sources, outputs de normalisation et gates de publication.",
    "dependency_summary": {
        "score_count": 7,
        "component_dependency_count": 27,
        "unique_source_count": 23,
        "normalization_output_count": 20,
        "top_outputs": [
            "sources/inao-aoc-aop-communes.csv",
            "sources/inao-siqo-products.csv",
            "sources/source-refresh-policy.csv",
            "sources/rpg-vineyard-parcels.csv",
            "sources/datatourisme-oenotourism.csv",
            "sources/insee-tourism-capacity-communes-2026.csv",
            "sources/atout-france-classified-accommodations.csv",
            "sources/insee-tourism-occupancy-normalized.csv"
        ]
    },
    "scores": [
        {
            "score_key": "territory_reference_score",
            "label": "Territory Reference Score",
            "component_dependencies": [
                {
                    "component": "regulatory_proof",
                    "sources": [
                        "inao_aoc_aop_communes",
                        "inao_siqo_products",
                        "eambrosia_gi"
                    ],
                    "normalization_outputs": [
                        "sources/inao-aoc-aop-communes.csv",
                        "sources/inao-siqo-products.csv"
                    ],
                    "gate": "Preuves INAO/eAmbrosia visibles et caveat juridique conserve."
                },
                {
                    "component": "source_fidelity",
                    "sources": [
                        "reference_source_fidelity",
                        "source_refresh_policy"
                    ],
                    "normalization_outputs": [
                        "sources/source-refresh-policy.csv"
                    ],
                    "gate": "Source Fidelity Ledger et politique de fraicheur disponibles."
                },
                {
                    "component": "vineyard_footprint",
                    "sources": [
                        "rpg_parcels",
                        "agreste_viticulture_territorial"
                    ],
                    "normalization_outputs": [
                        "sources/rpg-vineyard-parcels.csv"
                    ],
                    "gate": "RPG vigne filtre et surface territoriale relue."
                }
            ]
        },
        {
            "score_key": "oenotourism_readiness_score",
            "label": "Oenotourism Readiness Score",
            "component_dependencies": [
                {
                    "component": "wine_offer_density",
                    "sources": [
                        "datatourisme_oenotourism"
                    ],
                    "normalization_outputs": [
                        "sources/datatourisme-oenotourism.csv"
                    ],
                    "gate": "Offres vin filtrees et faux positifs controles."
                },
                {
                    "component": "accommodation_capacity",
                    "sources": [
                        "insee_tourism_capacity_communes",
                        "atout_france_classified_accommodations"
                    ],
                    "normalization_outputs": [
                        "sources/insee-tourism-capacity-communes-2026.csv",
                        "sources/atout-france-classified-accommodations.csv"
                    ],
                    "gate": "Capacite communale presente et rattachee au territoire."
                },
                {
                    "component": "tourism_demand_signal",
                    "sources": [
                        "insee_tourism_occupancy",
                        "insee_tourism_capacity_communes"
                    ],
                    "normalization_outputs": [
                        "sources/insee-tourism-occupancy-normalized.csv",
                        "sources/insee-tourism-capacity-communes-2026.csv"
                    ],
                    "gate": "Frequentation Insee normalisee et interpretee comme demande touristique generale, pas frequentation vin."
                },
                {
                    "component": "quality_reception_signal",
                    "sources": [
                        "qualite_tourisme_establishments",
                        "datatourisme_oenotourism",
                        "vignobles_decouvertes"
                    ],
                    "normalization_outputs": [
                        "sources/qualite-tourisme-establishments-normalized.csv",
                        "sources/datatourisme-oenotourism.csv"
                    ],
                    "gate": "Qualite Tourisme normalise et rapproche avec offres vin ou communes viticoles avant publication forte."
                },
                {
                    "component": "bike_access_signal",
                    "sources": [
                        "bnsc_bike_parking",
                        "ban_address_reference"
                    ],
                    "normalization_outputs": [
                        "sources/bnsc-bike-parking-normalized.csv",
                        "sources/ban-address-quality.csv"
                    ],
                    "gate": "Stationnements cyclables normalises, agreges par commune et attribues OSM/ODbL."
                },
                {
                    "component": "accessibility_signal",
                    "sources": [
                        "tourisme_handicap_establishments"
                    ],
                    "normalization_outputs": [
                        "sources/tourisme-handicap-establishments.csv"
                    ],
                    "gate": "Label accessibilite actif et caveat conserve."
                },
                {
                    "component": "address_quality",
                    "sources": [
                        "ban_address_reference"
                    ],
                    "normalization_outputs": [
                        "sources/ban-address-quality.csv"
                    ],
                    "gate": "BAN Quality Gates au moins review/map_ready pour les lieux affiches."
                }
            ]
        },
        {
            "score_key": "wine_business_density_score",
            "label": "Wine Business Density Score",
            "component_dependencies": [
                {
                    "component": "active_wine_establishment_density",
                    "sources": [
                        "sirene_wine_establishments"
                    ],
                    "normalization_outputs": [
                        "sources/sirene-wine-establishments-normalized.csv"
                    ],
                    "gate": "Sirene normalise, actifs filtres et publication en agregat par defaut."
                },
                {
                    "component": "core_naf_share",
                    "sources": [
                        "sirene_wine_establishments",
                        "wine_naf_codes"
                    ],
                    "normalization_outputs": [
                        "sources/wine-naf-codes.csv",
                        "sources/sirene-wine-establishments-normalized.csv"
                    ],
                    "gate": "Codes NAF coeur/adjacent relus avant score."
                },
                {
                    "component": "sustainability_signal",
                    "sources": [
                        "hve_certified_estates",
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/hve-certified-estates-normalized.csv",
                        "sources/agencebio-organic-wine-operators-normalized.csv"
                    ],
                    "gate": "HVE et Agence Bio normalises avec filtrage vin relu et publication en agregat."
                }
            ]
        },
        {
            "score_key": "sustainable_wine_signal",
            "label": "Sustainable Wine Signal",
            "component_dependencies": [
                {
                    "component": "hve_wine_related_density",
                    "sources": [
                        "hve_certified_estates"
                    ],
                    "normalization_outputs": [
                        "sources/hve-certified-estates-normalized.csv"
                    ],
                    "gate": "Annuaire HVE volontaire et signal vin textuel visibles dans le caveat."
                },
                {
                    "component": "organic_wine_operator_density",
                    "sources": [
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/agencebio-organic-wine-operators-normalized.csv",
                        "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
                    ],
                    "gate": "Operateurs bio vin et surfaces VI normalises puis publies en agregat territoire."
                },
                {
                    "component": "siqo_product_signal",
                    "sources": [
                        "inao_siqo_products"
                    ],
                    "normalization_outputs": [
                        "sources/inao-siqo-products.csv"
                    ],
                    "gate": "Produits SIQO vin filtres et statuts controles."
                },
                {
                    "component": "vineyard_surface_context",
                    "sources": [
                        "rpg_parcels",
                        "agreste_viticulture_territorial"
                    ],
                    "normalization_outputs": [
                        "sources/rpg-vineyard-parcels.csv"
                    ],
                    "gate": "Surface viticole rattachee au bon perimetre."
                }
            ]
        },
        {
            "score_key": "organic_wine_sustainability_score",
            "label": "Organic Wine Sustainability Score",
            "component_dependencies": [
                {
                    "component": "organic_operator_density",
                    "sources": [
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/agencebio-organic-wine-operators-normalized.csv"
                    ],
                    "gate": "Operateurs bio lies au vin normalises et agreges par territoire."
                },
                {
                    "component": "organic_viticulture_surface_context",
                    "sources": [
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
                    ],
                    "gate": "Surfaces bio viticoles communales filtrees code_groupe=VI et agregees au bon territoire."
                },
                {
                    "component": "certifier_diversity_signal",
                    "sources": [
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/agencebio-organic-wine-operators-normalized.csv"
                    ],
                    "gate": "Certificateurs presents et relus avant comparaison territoriale."
                },
                {
                    "component": "hve_complement_signal",
                    "sources": [
                        "hve_certified_estates",
                        "agencebio_organic_wine"
                    ],
                    "normalization_outputs": [
                        "sources/hve-certified-estates-normalized.csv",
                        "sources/agencebio-organic-wine-operators-normalized.csv",
                        "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
                    ],
                    "gate": "Ne pas confondre Bio et HVE ; afficher deux badges source distincts et agreger les surfaces VI."
                }
            ]
        },
        {
            "score_key": "supply_market_context_score",
            "label": "Supply & Market Context Score",
            "component_dependencies": [
                {
                    "component": "production_context",
                    "sources": [
                        "dgddi_vitivinicole_stocks_harvests"
                    ],
                    "normalization_outputs": [
                        "sources/dgddi-vitivinicole-stocks-harvests.csv"
                    ],
                    "gate": "DGDDI normalise et caveat DataDouane visible."
                },
                {
                    "component": "land_value_context",
                    "sources": [
                        "agreste_vineyard_land_values"
                    ],
                    "normalization_outputs": [
                        "sources/agreste-vineyard-land-values.csv"
                    ],
                    "gate": "Prix vignes EUR/ha relus, caveat SAFER conserve."
                },
                {
                    "component": "bulk_price_context",
                    "sources": [
                        "franceagrimer_bulk_prices"
                    ],
                    "normalization_outputs": [
                        "sources/franceagrimer-prices.csv"
                    ],
                    "gate": "FranceAgriMer normalise comme contexte marche, pas prix local."
                }
            ]
        },
        {
            "score_key": "map_publication_readiness",
            "label": "Map Publication Readiness",
            "component_dependencies": [
                {
                    "component": "geocoded_rate",
                    "sources": [
                        "ban_address_reference"
                    ],
                    "normalization_outputs": [
                        "sources/ban-address-quality.csv"
                    ],
                    "gate": "Coordonnees presentes et statut map_ready/review explicite."
                },
                {
                    "component": "source_type_clarity",
                    "sources": [
                        "datatourisme_oenotourism",
                        "sirene_wine_establishments",
                        "atout_france_classified_accommodations"
                    ],
                    "normalization_outputs": [
                        "sources/datatourisme-oenotourism.csv",
                        "sources/sirene-wine-establishments-normalized.csv"
                    ],
                    "gate": "Famille de lieu explicite avant affichage public."
                },
                {
                    "component": "privacy_gate",
                    "sources": [
                        "sirene_wine_establishments",
                        "hve_certified_estates"
                    ],
                    "normalization_outputs": [
                        "sources/sirene-wine-establishments-normalized.csv",
                        "sources/hve-certified-estates-normalized.csv"
                    ],
                    "gate": "Agregats avant nominatif et revue RGPD/metier."
                }
            ]
        }
    ],
    "rows": [
        {
            "score_key": "territory_reference_score",
            "score_label": "Territory Reference Score",
            "component": "regulatory_proof",
            "sources": [
                "inao_aoc_aop_communes",
                "inao_siqo_products",
                "eambrosia_gi"
            ],
            "normalization_outputs": [
                "sources/inao-aoc-aop-communes.csv",
                "sources/inao-siqo-products.csv"
            ],
            "gate": "Preuves INAO/eAmbrosia visibles et caveat juridique conserve."
        },
        {
            "score_key": "territory_reference_score",
            "score_label": "Territory Reference Score",
            "component": "source_fidelity",
            "sources": [
                "reference_source_fidelity",
                "source_refresh_policy"
            ],
            "normalization_outputs": [
                "sources/source-refresh-policy.csv"
            ],
            "gate": "Source Fidelity Ledger et politique de fraicheur disponibles."
        },
        {
            "score_key": "territory_reference_score",
            "score_label": "Territory Reference Score",
            "component": "vineyard_footprint",
            "sources": [
                "rpg_parcels",
                "agreste_viticulture_territorial"
            ],
            "normalization_outputs": [
                "sources/rpg-vineyard-parcels.csv"
            ],
            "gate": "RPG vigne filtre et surface territoriale relue."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "wine_offer_density",
            "sources": [
                "datatourisme_oenotourism"
            ],
            "normalization_outputs": [
                "sources/datatourisme-oenotourism.csv"
            ],
            "gate": "Offres vin filtrees et faux positifs controles."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "accommodation_capacity",
            "sources": [
                "insee_tourism_capacity_communes",
                "atout_france_classified_accommodations"
            ],
            "normalization_outputs": [
                "sources/insee-tourism-capacity-communes-2026.csv",
                "sources/atout-france-classified-accommodations.csv"
            ],
            "gate": "Capacite communale presente et rattachee au territoire."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "tourism_demand_signal",
            "sources": [
                "insee_tourism_occupancy",
                "insee_tourism_capacity_communes"
            ],
            "normalization_outputs": [
                "sources/insee-tourism-occupancy-normalized.csv",
                "sources/insee-tourism-capacity-communes-2026.csv"
            ],
            "gate": "Frequentation Insee normalisee et interpretee comme demande touristique generale, pas frequentation vin."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "quality_reception_signal",
            "sources": [
                "qualite_tourisme_establishments",
                "datatourisme_oenotourism",
                "vignobles_decouvertes"
            ],
            "normalization_outputs": [
                "sources/qualite-tourisme-establishments-normalized.csv",
                "sources/datatourisme-oenotourism.csv"
            ],
            "gate": "Qualite Tourisme normalise et rapproche avec offres vin ou communes viticoles avant publication forte."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "bike_access_signal",
            "sources": [
                "bnsc_bike_parking",
                "ban_address_reference"
            ],
            "normalization_outputs": [
                "sources/bnsc-bike-parking-normalized.csv",
                "sources/ban-address-quality.csv"
            ],
            "gate": "Stationnements cyclables normalises, agreges par commune et attribues OSM/ODbL."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "accessibility_signal",
            "sources": [
                "tourisme_handicap_establishments"
            ],
            "normalization_outputs": [
                "sources/tourisme-handicap-establishments.csv"
            ],
            "gate": "Label accessibilite actif et caveat conserve."
        },
        {
            "score_key": "oenotourism_readiness_score",
            "score_label": "Oenotourism Readiness Score",
            "component": "address_quality",
            "sources": [
                "ban_address_reference"
            ],
            "normalization_outputs": [
                "sources/ban-address-quality.csv"
            ],
            "gate": "BAN Quality Gates au moins review/map_ready pour les lieux affiches."
        },
        {
            "score_key": "wine_business_density_score",
            "score_label": "Wine Business Density Score",
            "component": "active_wine_establishment_density",
            "sources": [
                "sirene_wine_establishments"
            ],
            "normalization_outputs": [
                "sources/sirene-wine-establishments-normalized.csv"
            ],
            "gate": "Sirene normalise, actifs filtres et publication en agregat par defaut."
        },
        {
            "score_key": "wine_business_density_score",
            "score_label": "Wine Business Density Score",
            "component": "core_naf_share",
            "sources": [
                "sirene_wine_establishments",
                "wine_naf_codes"
            ],
            "normalization_outputs": [
                "sources/wine-naf-codes.csv",
                "sources/sirene-wine-establishments-normalized.csv"
            ],
            "gate": "Codes NAF coeur/adjacent relus avant score."
        },
        {
            "score_key": "wine_business_density_score",
            "score_label": "Wine Business Density Score",
            "component": "sustainability_signal",
            "sources": [
                "hve_certified_estates",
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/hve-certified-estates-normalized.csv",
                "sources/agencebio-organic-wine-operators-normalized.csv"
            ],
            "gate": "HVE et Agence Bio normalises avec filtrage vin relu et publication en agregat."
        },
        {
            "score_key": "sustainable_wine_signal",
            "score_label": "Sustainable Wine Signal",
            "component": "hve_wine_related_density",
            "sources": [
                "hve_certified_estates"
            ],
            "normalization_outputs": [
                "sources/hve-certified-estates-normalized.csv"
            ],
            "gate": "Annuaire HVE volontaire et signal vin textuel visibles dans le caveat."
        },
        {
            "score_key": "sustainable_wine_signal",
            "score_label": "Sustainable Wine Signal",
            "component": "organic_wine_operator_density",
            "sources": [
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/agencebio-organic-wine-operators-normalized.csv",
                "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
            ],
            "gate": "Operateurs bio vin et surfaces VI normalises puis publies en agregat territoire."
        },
        {
            "score_key": "sustainable_wine_signal",
            "score_label": "Sustainable Wine Signal",
            "component": "siqo_product_signal",
            "sources": [
                "inao_siqo_products"
            ],
            "normalization_outputs": [
                "sources/inao-siqo-products.csv"
            ],
            "gate": "Produits SIQO vin filtres et statuts controles."
        },
        {
            "score_key": "sustainable_wine_signal",
            "score_label": "Sustainable Wine Signal",
            "component": "vineyard_surface_context",
            "sources": [
                "rpg_parcels",
                "agreste_viticulture_territorial"
            ],
            "normalization_outputs": [
                "sources/rpg-vineyard-parcels.csv"
            ],
            "gate": "Surface viticole rattachee au bon perimetre."
        },
        {
            "score_key": "organic_wine_sustainability_score",
            "score_label": "Organic Wine Sustainability Score",
            "component": "organic_operator_density",
            "sources": [
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/agencebio-organic-wine-operators-normalized.csv"
            ],
            "gate": "Operateurs bio lies au vin normalises et agreges par territoire."
        },
        {
            "score_key": "organic_wine_sustainability_score",
            "score_label": "Organic Wine Sustainability Score",
            "component": "organic_viticulture_surface_context",
            "sources": [
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
            ],
            "gate": "Surfaces bio viticoles communales filtrees code_groupe=VI et agregees au bon territoire."
        },
        {
            "score_key": "organic_wine_sustainability_score",
            "score_label": "Organic Wine Sustainability Score",
            "component": "certifier_diversity_signal",
            "sources": [
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/agencebio-organic-wine-operators-normalized.csv"
            ],
            "gate": "Certificateurs presents et relus avant comparaison territoriale."
        },
        {
            "score_key": "organic_wine_sustainability_score",
            "score_label": "Organic Wine Sustainability Score",
            "component": "hve_complement_signal",
            "sources": [
                "hve_certified_estates",
                "agencebio_organic_wine"
            ],
            "normalization_outputs": [
                "sources/hve-certified-estates-normalized.csv",
                "sources/agencebio-organic-wine-operators-normalized.csv",
                "sources/agencebio-organic-viticulture-surfaces-normalized.csv"
            ],
            "gate": "Ne pas confondre Bio et HVE ; afficher deux badges source distincts et agreger les surfaces VI."
        },
        {
            "score_key": "supply_market_context_score",
            "score_label": "Supply & Market Context Score",
            "component": "production_context",
            "sources": [
                "dgddi_vitivinicole_stocks_harvests"
            ],
            "normalization_outputs": [
                "sources/dgddi-vitivinicole-stocks-harvests.csv"
            ],
            "gate": "DGDDI normalise et caveat DataDouane visible."
        },
        {
            "score_key": "supply_market_context_score",
            "score_label": "Supply & Market Context Score",
            "component": "land_value_context",
            "sources": [
                "agreste_vineyard_land_values"
            ],
            "normalization_outputs": [
                "sources/agreste-vineyard-land-values.csv"
            ],
            "gate": "Prix vignes EUR/ha relus, caveat SAFER conserve."
        },
        {
            "score_key": "supply_market_context_score",
            "score_label": "Supply & Market Context Score",
            "component": "bulk_price_context",
            "sources": [
                "franceagrimer_bulk_prices"
            ],
            "normalization_outputs": [
                "sources/franceagrimer-prices.csv"
            ],
            "gate": "FranceAgriMer normalise comme contexte marche, pas prix local."
        },
        {
            "score_key": "map_publication_readiness",
            "score_label": "Map Publication Readiness",
            "component": "geocoded_rate",
            "sources": [
                "ban_address_reference"
            ],
            "normalization_outputs": [
                "sources/ban-address-quality.csv"
            ],
            "gate": "Coordonnees presentes et statut map_ready/review explicite."
        },
        {
            "score_key": "map_publication_readiness",
            "score_label": "Map Publication Readiness",
            "component": "source_type_clarity",
            "sources": [
                "datatourisme_oenotourism",
                "sirene_wine_establishments",
                "atout_france_classified_accommodations"
            ],
            "normalization_outputs": [
                "sources/datatourisme-oenotourism.csv",
                "sources/sirene-wine-establishments-normalized.csv"
            ],
            "gate": "Famille de lieu explicite avant affichage public."
        },
        {
            "score_key": "map_publication_readiness",
            "score_label": "Map Publication Readiness",
            "component": "privacy_gate",
            "sources": [
                "sirene_wine_establishments",
                "hve_certified_estates"
            ],
            "normalization_outputs": [
                "sources/sirene-wine-establishments-normalized.csv",
                "sources/hve-certified-estates-normalized.csv"
            ],
            "gate": "Agregats avant nominatif et revue RGPD/metier."
        }
    ],
    "copy_markdown": "# Reference KPI Dependency Map\n\nCarte de dependances KPI Winerix : relie scores territoire, composants, sources, outputs de normalisation et gates de publication.\n\n## Synthese\n- Scores : 7\n- Dependances composants : 27\n- Sources uniques : 23\n- Outputs normalisation : 20\n\n## Dependances\n\n### Territory Reference Score\n- `regulatory_proof` : inao_aoc_aop_communes, inao_siqo_products, eambrosia_gi\n  - Outputs : sources/inao-aoc-aop-communes.csv, sources/inao-siqo-products.csv\n  - Gate : Preuves INAO/eAmbrosia visibles et caveat juridique conserve.\n- `source_fidelity` : reference_source_fidelity, source_refresh_policy\n  - Outputs : sources/source-refresh-policy.csv\n  - Gate : Source Fidelity Ledger et politique de fraicheur disponibles.\n- `vineyard_footprint` : rpg_parcels, agreste_viticulture_territorial\n  - Outputs : sources/rpg-vineyard-parcels.csv\n  - Gate : RPG vigne filtre et surface territoriale relue.\n\n### Oenotourism Readiness Score\n- `wine_offer_density` : datatourisme_oenotourism\n  - Outputs : sources/datatourisme-oenotourism.csv\n  - Gate : Offres vin filtrees et faux positifs controles.\n- `accommodation_capacity` : insee_tourism_capacity_communes, atout_france_classified_accommodations\n  - Outputs : sources/insee-tourism-capacity-communes-2026.csv, sources/atout-france-classified-accommodations.csv\n  - Gate : Capacite communale presente et rattachee au territoire.\n- `tourism_demand_signal` : insee_tourism_occupancy, insee_tourism_capacity_communes\n  - Outputs : sources/insee-tourism-occupancy-normalized.csv, sources/insee-tourism-capacity-communes-2026.csv\n  - Gate : Frequentation Insee normalisee et interpretee comme demande touristique generale, pas frequentation vin.\n- `quality_reception_signal` : qualite_tourisme_establishments, datatourisme_oenotourism, vignobles_decouvertes\n  - Outputs : sources/qualite-tourisme-establishments-normalized.csv, sources/datatourisme-oenotourism.csv\n  - Gate : Qualite Tourisme normalise et rapproche avec offres vin ou communes viticoles avant publication forte.\n- `bike_access_signal` : bnsc_bike_parking, ban_address_reference\n  - Outputs : sources/bnsc-bike-parking-normalized.csv, sources/ban-address-quality.csv\n  - Gate : Stationnements cyclables normalises, agreges par commune et attribues OSM/ODbL.\n- `accessibility_signal` : tourisme_handicap_establishments\n  - Outputs : sources/tourisme-handicap-establishments.csv\n  - Gate : Label accessibilite actif et caveat conserve.\n- `address_quality` : ban_address_reference\n  - Outputs : sources/ban-address-quality.csv\n  - Gate : BAN Quality Gates au moins review/map_ready pour les lieux affiches.\n\n### Wine Business Density Score\n- `active_wine_establishment_density` : sirene_wine_establishments\n  - Outputs : sources/sirene-wine-establishments-normalized.csv\n  - Gate : Sirene normalise, actifs filtres et publication en agregat par defaut.\n- `core_naf_share` : sirene_wine_establishments, wine_naf_codes\n  - Outputs : sources/wine-naf-codes.csv, sources/sirene-wine-establishments-normalized.csv\n  - Gate : Codes NAF coeur/adjacent relus avant score.\n- `sustainability_signal` : hve_certified_estates, agencebio_organic_wine\n  - Outputs : sources/hve-certified-estates-normalized.csv, sources/agencebio-organic-wine-operators-normalized.csv\n  - Gate : HVE et Agence Bio normalises avec filtrage vin relu et publication en agregat.\n\n### Sustainable Wine Signal\n- `hve_wine_related_density` : hve_certified_estates\n  - Outputs : sources/hve-certified-estates-normalized.csv\n  - Gate : Annuaire HVE volontaire et signal vin textuel visibles dans le caveat.\n- `organic_wine_operator_density` : agencebio_organic_wine\n  - Outputs : sources/agencebio-organic-wine-operators-normalized.csv, sources/agencebio-organic-viticulture-surfaces-normalized.csv\n  - Gate : Operateurs bio vin et surfaces VI normalises puis publies en agregat territoire.\n- `siqo_product_signal` : inao_siqo_products\n  - Outputs : sources/inao-siqo-products.csv\n  - Gate : Produits SIQO vin filtres et statuts controles.\n- `vineyard_surface_context` : rpg_parcels, agreste_viticulture_territorial\n  - Outputs : sources/rpg-vineyard-parcels.csv\n  - Gate : Surface viticole rattachee au bon perimetre.\n\n### Organic Wine Sustainability Score\n- `organic_operator_density` : agencebio_organic_wine\n  - Outputs : sources/agencebio-organic-wine-operators-normalized.csv\n  - Gate : Operateurs bio lies au vin normalises et agreges par territoire.\n- `organic_viticulture_surface_context` : agencebio_organic_wine\n  - Outputs : sources/agencebio-organic-viticulture-surfaces-normalized.csv\n  - Gate : Surfaces bio viticoles communales filtrees code_groupe=VI et agregees au bon territoire.\n- `certifier_diversity_signal` : agencebio_organic_wine\n  - Outputs : sources/agencebio-organic-wine-operators-normalized.csv\n  - Gate : Certificateurs presents et relus avant comparaison territoriale.\n- `hve_complement_signal` : hve_certified_estates, agencebio_organic_wine\n  - Outputs : sources/hve-certified-estates-normalized.csv, sources/agencebio-organic-wine-operators-normalized.csv, sources/agencebio-organic-viticulture-surfaces-normalized.csv\n  - Gate : Ne pas confondre Bio et HVE ; afficher deux badges source distincts et agreger les surfaces VI.\n\n### Supply & Market Context Score\n- `production_context` : dgddi_vitivinicole_stocks_harvests\n  - Outputs : sources/dgddi-vitivinicole-stocks-harvests.csv\n  - Gate : DGDDI normalise et caveat DataDouane visible.\n- `land_value_context` : agreste_vineyard_land_values\n  - Outputs : sources/agreste-vineyard-land-values.csv\n  - Gate : Prix vignes EUR/ha relus, caveat SAFER conserve.\n- `bulk_price_context` : franceagrimer_bulk_prices\n  - Outputs : sources/franceagrimer-prices.csv\n  - Gate : FranceAgriMer normalise comme contexte marche, pas prix local.\n\n### Map Publication Readiness\n- `geocoded_rate` : ban_address_reference\n  - Outputs : sources/ban-address-quality.csv\n  - Gate : Coordonnees presentes et statut map_ready/review explicite.\n- `source_type_clarity` : datatourisme_oenotourism, sirene_wine_establishments, atout_france_classified_accommodations\n  - Outputs : sources/datatourisme-oenotourism.csv, sources/sirene-wine-establishments-normalized.csv\n  - Gate : Famille de lieu explicite avant affichage public.\n- `privacy_gate` : sirene_wine_establishments, hve_certified_estates\n  - Outputs : sources/sirene-wine-establishments-normalized.csv, sources/hve-certified-estates-normalized.csv\n  - Gate : Agregats avant nominatif et revue RGPD/metier.\n"
}