{
    "ok": true,
    "generated_at": "2026-07-06T19:11:13+00:00",
    "summary": "Calculateur de scores territoire Winerix : applique les ponderations du Formula Book, les overrides query string, le plafond pipeline et le Publication Gate.",
    "input_mode": "default_demo_components",
    "score_summary": {
        "score_count": 7,
        "average_score": 55.1,
        "publishable_with_caveat_count": 0,
        "blocked_or_hold_count": 4,
        "pipeline_count": 0
    },
    "scores": [
        {
            "key": "territory_reference_score",
            "label": "Territory Reference Score",
            "score": 74,
            "raw_score": 74,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "annotate",
                "label": "Annoter",
                "reason": "Score intermediaire : publier seulement avec caveat et recu de confiance."
            },
            "components": [
                {
                    "key": "regulatory_proof",
                    "value": 82,
                    "weight": 35,
                    "weighted_value": 28.7
                },
                {
                    "key": "source_fidelity",
                    "value": 78,
                    "weight": 20,
                    "weighted_value": 15.6
                },
                {
                    "key": "vineyard_footprint",
                    "value": 72,
                    "weight": 15,
                    "weighted_value": 10.8
                },
                {
                    "key": "data_freshness",
                    "value": 58,
                    "weight": 15,
                    "weighted_value": 8.7
                },
                {
                    "key": "publication_readiness",
                    "value": 68,
                    "weight": 15,
                    "weighted_value": 10.2
                }
            ],
            "formula": "0.35 * regulatory_proof + 0.20 * source_fidelity + 0.15 * vineyard_footprint + 0.15 * data_freshness + 0.15 * publication_readiness",
            "copy_sentence": "Score reference : synthese ponderee des preuves officielles, de la fidelite source, de l empreinte viticole et du gate de publication.",
            "minimum_gate": "Publier seulement si les preuves INAO/eAmbrosia/SIQO sont visibles et si le caveat principal est present.",
            "visual_family": "reference_authority",
            "source_stack": [
                "inao_aoc_aop_communes",
                "inao_siqo_products",
                "eambrosia_gi",
                "rpg_parcels",
                "reference_source_fidelity",
                "reference_publication_gate"
            ]
        },
        {
            "key": "oenotourism_readiness_score",
            "label": "Oenotourism Readiness Score",
            "score": 60,
            "raw_score": 60,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "annotate",
                "label": "Annoter",
                "reason": "Score intermediaire : publier seulement avec caveat et recu de confiance."
            },
            "components": [
                {
                    "key": "wine_offer_density",
                    "value": 64,
                    "weight": 20,
                    "weighted_value": 12.8
                },
                {
                    "key": "accommodation_capacity",
                    "value": 70,
                    "weight": 17,
                    "weighted_value": 11.9
                },
                {
                    "key": "tourism_demand_signal",
                    "value": 60,
                    "weight": 14,
                    "weighted_value": 8.4
                },
                {
                    "key": "destination_label_signal",
                    "value": 55,
                    "weight": 12,
                    "weighted_value": 6.6
                },
                {
                    "key": "quality_reception_signal",
                    "value": 57,
                    "weight": 11,
                    "weighted_value": 6.27
                },
                {
                    "key": "bike_access_signal",
                    "value": 50,
                    "weight": 8,
                    "weighted_value": 4
                },
                {
                    "key": "accessibility_signal",
                    "value": 48,
                    "weight": 8,
                    "weighted_value": 3.84
                },
                {
                    "key": "address_quality",
                    "value": 62,
                    "weight": 10,
                    "weighted_value": 6.2
                }
            ],
            "formula": "0.20 * wine_offer_density + 0.17 * accommodation_capacity + 0.14 * tourism_demand_signal + 0.12 * destination_label_signal + 0.11 * quality_reception_signal + 0.08 * bike_access_signal + 0.08 * accessibility_signal + 0.10 * address_quality",
            "copy_sentence": "Readiness oenotourisme : offres vin, capacite, demande touristique Insee, labels, Qualite Tourisme, mobilite douce, accessibilite et adresse dans un score caveate.",
            "minimum_gate": "Ne jamais decrire ce score comme frequentation oenotouristique : Insee mesure la demande hebergements generale, a croiser avec offre vin.",
            "visual_family": "oenotourism_capacity",
            "source_stack": [
                "datatourisme_oenotourism",
                "insee_tourism_capacity_communes",
                "insee_tourism_occupancy",
                "atout_france_classified_accommodations",
                "vignobles_decouvertes",
                "qualite_tourisme_establishments",
                "bnsc_bike_parking",
                "tourisme_handicap_establishments",
                "ban_address_reference"
            ]
        },
        {
            "key": "wine_business_density_score",
            "label": "Wine Business Density Score",
            "score": 52.7,
            "raw_score": 52.7,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "hold",
                "label": "Retenir",
                "reason": "Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication."
            },
            "components": [
                {
                    "key": "active_wine_establishment_density",
                    "value": 52,
                    "weight": 40,
                    "weighted_value": 20.8
                },
                {
                    "key": "core_naf_share",
                    "value": 58,
                    "weight": 20,
                    "weighted_value": 11.6
                },
                {
                    "key": "geocoding_quality",
                    "value": 61,
                    "weight": 15,
                    "weighted_value": 9.15
                },
                {
                    "key": "sustainability_signal",
                    "value": 46,
                    "weight": 15,
                    "weighted_value": 6.9
                },
                {
                    "key": "source_activation_status",
                    "value": 42,
                    "weight": 10,
                    "weighted_value": 4.2
                }
            ],
            "formula": "0.40 * active_wine_establishment_density + 0.20 * core_naf_share + 0.15 * geocoding_quality + 0.15 * sustainability_signal + 0.10 * source_activation_status",
            "copy_sentence": "Densite business : volume d etablissements vin, part coeur filiere, qualite geocodage et signaux HVE.",
            "minimum_gate": "Publier en agrege si Sirene/HVE ne sont pas relus nominativement ; marquer pipeline si le stock Sirene manque.",
            "visual_family": "business_density",
            "source_stack": [
                "sirene_wine_establishments",
                "wine_naf_codes",
                "ban_address_reference",
                "hve_certified_estates",
                "source_activation_status"
            ]
        },
        {
            "key": "sustainable_wine_signal",
            "label": "Sustainable Wine Signal",
            "score": 57.1,
            "raw_score": 57.1,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "hold",
                "label": "Retenir",
                "reason": "Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication."
            },
            "components": [
                {
                    "key": "hve_wine_related_density",
                    "value": 44,
                    "weight": 30,
                    "weighted_value": 13.2
                },
                {
                    "key": "organic_wine_operator_density",
                    "value": 40,
                    "weight": 25,
                    "weighted_value": 10
                },
                {
                    "key": "siqo_product_signal",
                    "value": 76,
                    "weight": 15,
                    "weighted_value": 11.4
                },
                {
                    "key": "vineyard_surface_context",
                    "value": 68,
                    "weight": 10,
                    "weighted_value": 6.8
                },
                {
                    "key": "source_fidelity",
                    "value": 72,
                    "weight": 10,
                    "weighted_value": 7.2
                },
                {
                    "key": "caveat_quality",
                    "value": 85,
                    "weight": 10,
                    "weighted_value": 8.5
                }
            ],
            "formula": "0.30 * hve_wine_related_density + 0.25 * organic_wine_operator_density + 0.15 * siqo_product_signal + 0.10 * vineyard_surface_context + 0.10 * source_fidelity + 0.10 * caveat_quality",
            "copy_sentence": "Signal durabilite : HVE, bio vin Agence Bio, produits SIQO et surface viticole, avec caveats distincts par source.",
            "minimum_gate": "Toujours distinguer HVE, Bio et SIQO ; publier les operateurs bio en agregat territoire avant listing nominatif.",
            "visual_family": "wine_territory",
            "source_stack": [
                "hve_certified_estates",
                "agencebio_organic_wine",
                "inao_siqo_products",
                "rpg_parcels",
                "agreste_viticulture_territorial",
                "reference_source_fidelity"
            ]
        },
        {
            "key": "organic_wine_sustainability_score",
            "label": "Organic Wine Sustainability Score",
            "score": 43.1,
            "raw_score": 43.1,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "hold",
                "label": "Retenir",
                "reason": "Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication."
            },
            "components": [
                {
                    "key": "organic_operator_density",
                    "value": 42,
                    "weight": 45,
                    "weighted_value": 18.9
                },
                {
                    "key": "organic_viticulture_surface_context",
                    "value": 35,
                    "weight": 25,
                    "weighted_value": 8.75
                },
                {
                    "key": "certifier_diversity_signal",
                    "value": 55,
                    "weight": 15,
                    "weighted_value": 8.25
                },
                {
                    "key": "hve_complement_signal",
                    "value": 48,
                    "weight": 15,
                    "weighted_value": 7.2
                }
            ],
            "formula": "0.45 * organic_operator_density + 0.25 * organic_viticulture_surface_context + 0.15 * certifier_diversity_signal + 0.15 * hve_complement_signal",
            "copy_sentence": "Bio vin : operateurs engages, certificateurs et prochain jalon surfaces viticoles bio/conversion pour qualifier la durabilite d un territoire.",
            "minimum_gate": "Publier comme signal bio officiel uniquement avec agregats territoire, source Agence Bio citee, output surfaces VI normalise ou badge partiel explicite.",
            "visual_family": "sustainability_badge",
            "source_stack": [
                "agencebio_organic_wine",
                "agencebio_organic_viticulture_surfaces",
                "hve_certified_estates",
                "sirene_wine_establishments",
                "ban_address_reference"
            ]
        },
        {
            "key": "supply_market_context_score",
            "label": "Supply & Market Context Score",
            "score": 37.3,
            "raw_score": 37.3,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "hold",
                "label": "Retenir",
                "reason": "Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication."
            },
            "components": [
                {
                    "key": "production_context",
                    "value": 40,
                    "weight": 25,
                    "weighted_value": 10
                },
                {
                    "key": "stock_context",
                    "value": 35,
                    "weight": 20,
                    "weighted_value": 7
                },
                {
                    "key": "land_value_context",
                    "value": 48,
                    "weight": 20,
                    "weighted_value": 9.6
                },
                {
                    "key": "bulk_price_context",
                    "value": 28,
                    "weight": 20,
                    "weighted_value": 5.6
                },
                {
                    "key": "freshness_gate",
                    "value": 34,
                    "weight": 15,
                    "weighted_value": 5.1
                }
            ],
            "formula": "0.25 * production_context + 0.20 * stock_context + 0.20 * land_value_context + 0.20 * bulk_price_context + 0.15 * freshness_gate",
            "copy_sentence": "Contexte offre/marche : production, stocks, foncier et prix servent de cadrage, pas de promesse principale.",
            "minimum_gate": "Score a utiliser comme contexte secondaire tant que DGDDI/FranceAgriMer/Agreste ne sont pas normalises et frais.",
            "visual_family": "market_context",
            "source_stack": [
                "dgddi_vitivinicole_stocks_harvests",
                "agreste_vineyard_land_values",
                "franceagrimer_bulk_prices",
                "agreste_viticulture_territorial",
                "source_refresh_policy"
            ]
        },
        {
            "key": "map_publication_readiness",
            "label": "Map Publication Readiness",
            "score": 61.6,
            "raw_score": 61.6,
            "source_status": "mixed",
            "pipeline_cap_applied": false,
            "publishability": {
                "status": "annotate",
                "label": "Annoter",
                "reason": "Score intermediaire : publier seulement avec caveat et recu de confiance."
            },
            "components": [
                {
                    "key": "geocoded_rate",
                    "value": 60,
                    "weight": 35,
                    "weighted_value": 21
                },
                {
                    "key": "address_score",
                    "value": 64,
                    "weight": 25,
                    "weighted_value": 16
                },
                {
                    "key": "source_type_clarity",
                    "value": 72,
                    "weight": 15,
                    "weighted_value": 10.8
                },
                {
                    "key": "public_opening_confidence",
                    "value": 45,
                    "weight": 15,
                    "weighted_value": 6.75
                },
                {
                    "key": "privacy_gate",
                    "value": 70,
                    "weight": 10,
                    "weighted_value": 7
                }
            ],
            "formula": "0.35 * geocoded_rate + 0.25 * address_score + 0.15 * source_type_clarity + 0.15 * public_opening_confidence + 0.10 * privacy_gate",
            "copy_sentence": "Readiness carte : mieux vaut moins de points, mais geocodes, sources et caveates.",
            "minimum_gate": "Ne pas afficher de lieux nominatifs si adresse, ouverture au public ou statut RGPD ne sont pas clarifies.",
            "visual_family": "source_operations",
            "source_stack": [
                "ban_address_reference",
                "datatourisme_oenotourism",
                "sirene_wine_establishments",
                "atout_france_classified_accommodations",
                "tourisme_handicap_establishments"
            ]
        }
    ],
    "copy_markdown": "# Reference Territory Score Calculator\n\nCalculateur de scores territoire Winerix : applique les ponderations du Formula Book, les overrides query string, le plafond pipeline et le Publication Gate.\n\n## Synthese\n- `score_count` : 7\n- `average_score` : 55.1\n- `publishable_with_caveat_count` : 0\n- `blocked_or_hold_count` : 4\n- `pipeline_count` : 0\n\n## Scores\n\n### Territory Reference Score\n- Score : 74/100\n- Statut source : mixed\n- Publication : Annoter - Score intermediaire : publier seulement avec caveat et recu de confiance.\n- Formule : `0.35 * regulatory_proof + 0.20 * source_fidelity + 0.15 * vineyard_footprint + 0.15 * data_freshness + 0.15 * publication_readiness`\n- Copy : Score reference : synthese ponderee des preuves officielles, de la fidelite source, de l empreinte viticole et du gate de publication.\n- Gate : Publier seulement si les preuves INAO/eAmbrosia/SIQO sont visibles et si le caveat principal est present.\n- Composants :\n  - regulatory_proof = 82 x 35% => 28.7\n  - source_fidelity = 78 x 20% => 15.6\n  - vineyard_footprint = 72 x 15% => 10.8\n  - data_freshness = 58 x 15% => 8.7\n  - publication_readiness = 68 x 15% => 10.2\n\n### Oenotourism Readiness Score\n- Score : 60/100\n- Statut source : mixed\n- Publication : Annoter - Score intermediaire : publier seulement avec caveat et recu de confiance.\n- Formule : `0.20 * wine_offer_density + 0.17 * accommodation_capacity + 0.14 * tourism_demand_signal + 0.12 * destination_label_signal + 0.11 * quality_reception_signal + 0.08 * bike_access_signal + 0.08 * accessibility_signal + 0.10 * address_quality`\n- Copy : Readiness oenotourisme : offres vin, capacite, demande touristique Insee, labels, Qualite Tourisme, mobilite douce, accessibilite et adresse dans un score caveate.\n- Gate : Ne jamais decrire ce score comme frequentation oenotouristique : Insee mesure la demande hebergements generale, a croiser avec offre vin.\n- Composants :\n  - wine_offer_density = 64 x 20% => 12.8\n  - accommodation_capacity = 70 x 17% => 11.9\n  - tourism_demand_signal = 60 x 14% => 8.4\n  - destination_label_signal = 55 x 12% => 6.6\n  - quality_reception_signal = 57 x 11% => 6.27\n  - bike_access_signal = 50 x 8% => 4\n  - accessibility_signal = 48 x 8% => 3.84\n  - address_quality = 62 x 10% => 6.2\n\n### Wine Business Density Score\n- Score : 52.7/100\n- Statut source : mixed\n- Publication : Retenir - Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication.\n- Formule : `0.40 * active_wine_establishment_density + 0.20 * core_naf_share + 0.15 * geocoding_quality + 0.15 * sustainability_signal + 0.10 * source_activation_status`\n- Copy : Densite business : volume d etablissements vin, part coeur filiere, qualite geocodage et signaux HVE.\n- Gate : Publier en agrege si Sirene/HVE ne sont pas relus nominativement ; marquer pipeline si le stock Sirene manque.\n- Composants :\n  - active_wine_establishment_density = 52 x 40% => 20.8\n  - core_naf_share = 58 x 20% => 11.6\n  - geocoding_quality = 61 x 15% => 9.15\n  - sustainability_signal = 46 x 15% => 6.9\n  - source_activation_status = 42 x 10% => 4.2\n\n### Sustainable Wine Signal\n- Score : 57.1/100\n- Statut source : mixed\n- Publication : Retenir - Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication.\n- Formule : `0.30 * hve_wine_related_density + 0.25 * organic_wine_operator_density + 0.15 * siqo_product_signal + 0.10 * vineyard_surface_context + 0.10 * source_fidelity + 0.10 * caveat_quality`\n- Copy : Signal durabilite : HVE, bio vin Agence Bio, produits SIQO et surface viticole, avec caveats distincts par source.\n- Gate : Toujours distinguer HVE, Bio et SIQO ; publier les operateurs bio en agregat territoire avant listing nominatif.\n- Composants :\n  - hve_wine_related_density = 44 x 30% => 13.2\n  - organic_wine_operator_density = 40 x 25% => 10\n  - siqo_product_signal = 76 x 15% => 11.4\n  - vineyard_surface_context = 68 x 10% => 6.8\n  - source_fidelity = 72 x 10% => 7.2\n  - caveat_quality = 85 x 10% => 8.5\n\n### Organic Wine Sustainability Score\n- Score : 43.1/100\n- Statut source : mixed\n- Publication : Retenir - Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication.\n- Formule : `0.45 * organic_operator_density + 0.25 * organic_viticulture_surface_context + 0.15 * certifier_diversity_signal + 0.15 * hve_complement_signal`\n- Copy : Bio vin : operateurs engages, certificateurs et prochain jalon surfaces viticoles bio/conversion pour qualifier la durabilite d un territoire.\n- Gate : Publier comme signal bio officiel uniquement avec agregats territoire, source Agence Bio citee, output surfaces VI normalise ou badge partiel explicite.\n- Composants :\n  - organic_operator_density = 42 x 45% => 18.9\n  - organic_viticulture_surface_context = 35 x 25% => 8.75\n  - certifier_diversity_signal = 55 x 15% => 8.25\n  - hve_complement_signal = 48 x 15% => 7.2\n\n### Supply & Market Context Score\n- Score : 37.3/100\n- Statut source : mixed\n- Publication : Retenir - Score inferieur a 60 : renforcer sources, jointures ou fraicheur avant publication.\n- Formule : `0.25 * production_context + 0.20 * stock_context + 0.20 * land_value_context + 0.20 * bulk_price_context + 0.15 * freshness_gate`\n- Copy : Contexte offre/marche : production, stocks, foncier et prix servent de cadrage, pas de promesse principale.\n- Gate : Score a utiliser comme contexte secondaire tant que DGDDI/FranceAgriMer/Agreste ne sont pas normalises et frais.\n- Composants :\n  - production_context = 40 x 25% => 10\n  - stock_context = 35 x 20% => 7\n  - land_value_context = 48 x 20% => 9.6\n  - bulk_price_context = 28 x 20% => 5.6\n  - freshness_gate = 34 x 15% => 5.1\n\n### Map Publication Readiness\n- Score : 61.6/100\n- Statut source : mixed\n- Publication : Annoter - Score intermediaire : publier seulement avec caveat et recu de confiance.\n- Formule : `0.35 * geocoded_rate + 0.25 * address_score + 0.15 * source_type_clarity + 0.15 * public_opening_confidence + 0.10 * privacy_gate`\n- Copy : Readiness carte : mieux vaut moins de points, mais geocodes, sources et caveates.\n- Gate : Ne pas afficher de lieux nominatifs si adresse, ouverture au public ou statut RGPD ne sont pas clarifies.\n- Composants :\n  - geocoded_rate = 60 x 35% => 21\n  - address_score = 64 x 25% => 16\n  - source_type_clarity = 72 x 15% => 10.8\n  - public_opening_confidence = 45 x 15% => 6.75\n  - privacy_gate = 70 x 10% => 7\n\n## Overrides\nUtiliser `metric__component=80`, `metric__source_status=pipeline` ou `metric__publication_gate=block` dans la query string.\n"
}