{
    "ok": true,
    "generated_at": "2026-07-08T00:16:29+02:00",
    "product_count": 104,
    "publication_matrix": [
        {
            "key": "wine_reference_pack",
            "label": "Reference Pack Winerix",
            "stage": "publier",
            "priority": 1,
            "gate": "Score référence, preuves et gaps visibles.",
            "markdown_export": "/api/reference_export.php?type=wine_reference_pack&format=md",
            "next_action": "Utiliser comme porte d’entrée avant de copier les packs spécialisés."
        },
        {
            "key": "reference_oenotourism_demand_offer",
            "label": "Oenotourism Demand Offer Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Lecture offre + demande, caveats et blocs copiables disponibles.",
            "markdown_export": "/api/get_reference_oenotourism_demand_offer.php?format=md",
            "next_action": "Utiliser ce pack dans territory-reference.html et les decks destination pour expliquer le score oenotourisme."
        },
        {
            "key": "reference_territory_brief",
            "label": "Territory Brief Composer",
            "stage": "publier",
            "priority": 1,
            "gate": "Brief territoire copiable avec scores, sources, badges et caveats disponible.",
            "markdown_export": "/api/get_reference_territory_brief.php?format=md",
            "next_action": "Brancher ce brief dans les pages territoire, emails partenaires et decks destination."
        },
        {
            "key": "reference_territory_comparison",
            "label": "Territory Comparison Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Axes de comparaison, badges, caveats et exports copiables disponibles.",
            "markdown_export": "/api/get_reference_territory_comparison.php?format=md",
            "next_action": "Utiliser avec territories=... pour preparer benchmarks destination et arbitrages commerciaux."
        },
        {
            "key": "reference_kpi_aggregation_rules",
            "label": "KPI Aggregation Rules",
            "stage": "publier",
            "priority": 1,
            "gate": "Regles aggregation KPI, mailles, recettes et caveats disponibles.",
            "markdown_export": "/api/get_reference_kpi_aggregation_rules.php?format=md",
            "next_action": "Les utiliser comme garde-fou avant tout benchmark ou publication de score agrege."
        },
        {
            "key": "reference_kpi_publication_certificates",
            "label": "KPI Publication Certificates",
            "stage": "publier",
            "priority": 1,
            "gate": "Recus KPI avec score, badge, sources, regles aggregation et caveat disponibles.",
            "markdown_export": "/api/get_reference_kpi_publication_certificates.php?format=md",
            "next_action": "Afficher ces recus sous chaque KPI public et dans les data rooms partenaires."
        },
        {
            "key": "reference_source_attributions",
            "label": "Source Attribution Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Attributions source, licences, wording public et caveats disponibles.",
            "markdown_export": "/api/get_reference_source_attributions.php?format=md",
            "next_action": "Brancher ces attributions dans Territory Brief, Publication Certificates et pages publiques."
        },
        {
            "key": "reference_public_footnotes",
            "label": "Public Footnote Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Footnotes source/KPI courtes et completes disponibles pour pages et decks.",
            "markdown_export": "/api/get_reference_public_footnotes.php?format=md",
            "next_action": "Utiliser ces footnotes dans territory-reference.html, decks et data rooms."
        },
        {
            "key": "reference_page_publication_kit",
            "label": "Page Publication Kit",
            "stage": "publier",
            "priority": 1,
            "gate": "Kit page avec sections, checklist, certificats et footnotes disponible.",
            "markdown_export": "/api/get_reference_page_publication_kit.php?format=md",
            "next_action": "Utiliser comme source unique pour assembler une page territoire publiable."
        },
        {
            "key": "reference_source_relationships",
            "label": "Source Relationship Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Tiers relation source, demandes, risques et messages copiables disponibles.",
            "markdown_export": "/api/get_reference_source_relationships.php?format=md",
            "next_action": "Utiliser les messages pour clarifier Insee, DATAtourisme, Agence Bio, Atout France, INAO et OSM/BNSC."
        },
        {
            "key": "reference_public_distribution",
            "label": "Public Distribution Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Bundles audience, ordre envoi, risques et emails copiables disponibles.",
            "markdown_export": "/api/get_reference_public_distribution.php?format=md",
            "next_action": "Utiliser ces bundles pour preparer les envois destination, vin, direction, data et legal."
        },
        {
            "key": "reference_user_feedback",
            "label": "User Feedback Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Segments, questions feedback, scores friction et templates input disponibles.",
            "markdown_export": "/api/get_reference_user_feedback.php?format=md",
            "next_action": "Brancher ces prompts apres les boutons copier et exploiter les demandes de sources manquantes."
        },
        {
            "key": "reference_source_demand_backlog",
            "label": "Source Demand Backlog",
            "stage": "publier",
            "priority": 1,
            "gate": "Backlog sources demandees, scoring et actions producteurs disponibles.",
            "markdown_export": "/api/get_reference_source_demand_backlog.php?format=md",
            "next_action": "Traiter les sources research_now puis rattacher les producteurs aux Source Relationships."
        },
        {
            "key": "reference_source_acquisition_sprint",
            "label": "Source Acquisition Sprint",
            "stage": "publier",
            "priority": 1,
            "gate": "Sprint 30 jours, gates acceptation et messages producteurs disponibles.",
            "markdown_export": "/api/get_reference_source_acquisition_sprint.php?format=md",
            "next_action": "Executer les contacts semaine 1/2 pour visites caves, evenements vin et opening hours."
        },
        {
            "key": "reference_source_radar",
            "label": "Reference Source Radar",
            "stage": "publier",
            "priority": 1,
            "gate": "Radar nouvelles sources avec scoring, pipeline, KPI servis et actions suivant source.",
            "markdown_export": "/api/get_reference_source_radar.php?format=md",
            "next_action": "Echantillonner OpenAgenda, Insee BPE, Merimee et BNLC puis ajouter les sources utiles au sprint acquisition."
        },
        {
            "key": "openagenda_wine_events",
            "label": "OpenAgenda Wine Event Signal",
            "stage": "normaliser",
            "priority": 1,
            "gate": "Metadonnees et echantillon OpenAgenda recuperes, schema et normalizer disponibles.",
            "markdown_export": "/api/get_openagenda_wine_events.php?format=md",
            "next_action": "Executer le normalizer sur un echantillon elargi puis agreger par commune et periode."
        },
        {
            "key": "bnlc_carpooling_areas",
            "label": "BNLC Carpooling Areas",
            "stage": "normaliser",
            "priority": 1,
            "gate": "Metadonnees et CSV BNLC recuperes, schema et normalizer disponibles.",
            "markdown_export": "/api/get_bnlc_carpooling_areas.php?format=md",
            "next_action": "Executer le normalizer puis agreger les lieux ouverts par commune et distance aux zones vin."
        },
        {
            "key": "insee_bpe_equipment",
            "label": "Insee BPE Equipment",
            "stage": "normaliser",
            "priority": 1,
            "gate": "Pages, zip denombrement et dictionnaires BPE recuperes, schema et normalizer disponibles.",
            "markdown_export": "/api/get_insee_bpe_equipment.php?format=md",
            "next_action": "Executer le normalizer puis calculer les densites par commune, departement et destination vin."
        },
        {
            "key": "merimee_heritage_monuments",
            "label": "Merimee Heritage Monuments",
            "stage": "normaliser",
            "priority": 1,
            "gate": "Metadonnees et CSV Merimee recuperes, schema et normalizer disponibles.",
            "markdown_export": "/api/get_merimee_heritage_monuments.php?format=md",
            "next_action": "Executer le normalizer puis agregger les monuments par commune et zone vin avec deduplication culture."
        },
        {
            "key": "datatourisme_fidelity_monitor",
            "label": "DATAtourisme Fidelity Monitor",
            "stage": "fideliser",
            "priority": 1,
            "gate": "Snapshot ressources DATAtourisme, scoring fraicheur, couverture regionale et monitoring disponibles.",
            "markdown_export": "/api/get_datatourisme_fidelity_monitor.php?format=md",
            "next_action": "Executer le monitoring et afficher la fraicheur DATAtourisme dans les pages et certificats de publication."
        },
        {
            "key": "reference_authority_index",
            "label": "Reference Authority Index",
            "stage": "publier",
            "priority": 1,
            "gate": "Sources d autorite, KPI, statuts, scores et prochaines actions visibles.",
            "markdown_export": "/api/get_reference_authority_index.php?format=md",
            "next_action": "Utiliser cet index pour prioriser normalisations, monitoring et pages territoire publiques."
        },
        {
            "key": "reference_territory_data_spine",
            "label": "Territory Data Spine",
            "stage": "publier",
            "priority": 1,
            "gate": "Mailles, cles, mappings sources, regles aggregation et sorties territoire definies.",
            "markdown_export": "/api/get_reference_territory_data_spine.php?format=md",
            "next_action": "Utiliser cette spine pour construire les tables faits source, scores KPI et contexte publication territoire."
        },
        {
            "key": "reference_territory_kpi_scorecard_pack",
            "label": "Territory KPI Scorecards",
            "stage": "publier",
            "priority": 1,
            "gate": "Scorecards KPI agregees, layouts, regles, wording et caveats disponibles.",
            "markdown_export": "/api/get_reference_territory_kpi_scorecards.php?format=md",
            "next_action": "Brancher les scorecards aux premieres pages territoire avec valeurs certifiees et confiance source."
        },
        {
            "key": "reference_territory_scorecard_public_bundle",
            "label": "Territory Scorecard Public Bundle",
            "stage": "publier",
            "priority": 1,
            "gate": "Bundles publics, blocs copiables, audiences, checklist et caveats disponibles.",
            "markdown_export": "/api/get_reference_territory_scorecard_public_bundle.php?format=md",
            "next_action": "Utiliser ce bundle pour publier les premiers profils territoire et citations methodologiques."
        },
        {
            "key": "reference_source_to_score_activation_queue",
            "label": "Source to Score Activation Queue",
            "stage": "activer",
            "priority": 1,
            "gate": "File source->normalisation->scorecard->publication avec commandes preparees et gates.",
            "markdown_export": "/api/get_reference_source_to_score_activation_queue.php?format=md",
            "next_action": "Executer les items P1 de normalisation dans l ordre OpenAgenda, BNLC, BPE, Merimee, DATAtourisme monitor."
        },
        {
            "key": "reference_activation_outputs_manifest",
            "label": "Activation Outputs Manifest",
            "stage": "activer",
            "priority": 1,
            "gate": "Sorties activees, sorties lourdes pendientes, KPI et scorecards reliees.",
            "markdown_export": "/api/get_reference_activation_outputs_manifest.php?format=md",
            "next_action": "Brancher les sorties activees aux tables faits source et conserver BPE comme job lourd dedie."
        },
        {
            "key": "reference_territory_source_fact_table",
            "label": "Territory Source Fact Table",
            "stage": "hydrater",
            "priority": 1,
            "gate": "Builder faits territoire/source/KPI et schema unifie disponibles.",
            "markdown_export": "/api/get_reference_territory_source_facts.php?format=md",
            "next_action": "Utiliser les faits pour hydrater les scorecards territoire et calculer les premiers profils pilotes."
        },
        {
            "key": "reference_territory_kpi_score_table",
            "label": "Territory KPI Score Table",
            "stage": "hydrater",
            "priority": 1,
            "gate": "Builder scores KPI, schema, copy, confidence et caveats disponibles.",
            "markdown_export": "/api/get_reference_territory_kpi_scores.php?format=md",
            "next_action": "Brancher les scores calcules dans le bundle public des premiers territoires pilotes."
        },
        {
            "key": "reference_territory_pilot_profiles",
            "label": "Territory Pilot Profiles",
            "stage": "publier",
            "priority": 1,
            "gate": "Builder profils pilotes, outputs CSV/Markdown, sources, confiance et caveats disponibles.",
            "markdown_export": "/api/get_reference_territory_pilot_profiles.php?format=md",
            "next_action": "Revoir les 50 profils pilotes, brancher les noms publics territoire puis publier les premiers profils."
        },
        {
            "key": "reference_publishable_territory_profiles",
            "label": "Publishable Territory Profiles",
            "stage": "publier",
            "priority": 1,
            "gate": "Profils filtres par label, maille publiable, scorecards, confiance et caveats.",
            "markdown_export": "/api/get_reference_publishable_territory_profiles.php?format=md",
            "next_action": "Publier les premiers profils apres revue labels et selection des preuves source."
        },
        {
            "key": "reference_profile_publication_queue",
            "label": "Profile Publication Queue",
            "stage": "publier",
            "priority": 1,
            "gate": "Queue editoriale avec statuts, priorites, gates, actions et copy blocks.",
            "markdown_export": "/api/get_reference_profile_publication_queue.php?format=md",
            "next_action": "Traiter les profils needs_multi_source_proof avant toute publication publique."
        },
        {
            "key": "reference_profile_proof_cards",
            "label": "Profile Proof Cards",
            "stage": "publier",
            "priority": 1,
            "gate": "Proof cards multi-sources, statuts, copy lines et caveats disponibles.",
            "markdown_export": "/api/get_reference_profile_proof_cards.php?format=md",
            "next_action": "Utiliser les proof cards pour promouvoir les profils de needs_multi_source_proof vers revue editoriale."
        },
        {
            "key": "reference_kpi_copy_pack",
            "label": "KPI Copy Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Snippets KPI copiables avec sources, caveats et exports JSON/Markdown/CSV.",
            "markdown_export": "/api/get_reference_kpi_copy_pack.php?format=md",
            "next_action": "Brancher les snippets sur les pages territoires et les exports commerciaux prioritaires."
        },
        {
            "key": "reference_user_need_kpi_map",
            "label": "User Need KPI Map",
            "stage": "publier",
            "priority": 1,
            "gate": "Besoins utilisateurs relies aux KPI, sources, gates et formats copiables.",
            "markdown_export": "/api/get_reference_user_need_kpi_map.php?format=md",
            "next_action": "Utiliser cette matrice pour prioriser les prochains packs sources et les pages territoire."
        },
        {
            "key": "reference_publishable_territory_page_pack",
            "label": "Publishable Territory Page Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Blueprints pages territoire, champs CMS, gates et blocs copiables disponibles.",
            "markdown_export": "/api/get_reference_publishable_territory_page.php?format=md",
            "next_action": "Brancher ce pack sur les premieres pages territoire prioritaires et remplacer les placeholders par valeurs certifiees."
        },
        {
            "key": "reference_launch_readiness",
            "label": "Reference Launch Readiness",
            "stage": "publier",
            "priority": 1,
            "gate": "Checklist go/no-go publication avec preuves, risques et actions.",
            "markdown_export": "/api/get_reference_launch_readiness.php?format=md",
            "next_action": "L’utiliser comme go/no-go avant toute diffusion publique ou partenaire."
        },
        {
            "key": "reference_data_room_index",
            "label": "Reference Data Room Index",
            "stage": "publier",
            "priority": 1,
            "gate": "Sommaire data room par usage avec produits, ordre de copie et caveats.",
            "markdown_export": "/api/get_reference_data_room_index.php?format=md",
            "next_action": "L’utiliser comme sommaire officiel des livrables de référence Winerix."
        },
        {
            "key": "reference_trust_badges",
            "label": "Trust Badge Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Badges live/partial/demo/blocked/source/gate disponibles avec HTML/CSS.",
            "markdown_export": "/api/get_reference_trust_badges.php?format=md",
            "next_action": "Utiliser ces badges dans territory-reference.html et les exports KPI."
        },
        {
            "key": "reference_claim_guard",
            "label": "Reference Claim Guard",
            "stage": "publier",
            "priority": 1,
            "gate": "Claims autorises/interdits par mode KPI, source et canal disponibles.",
            "markdown_export": "/api/get_reference_claim_guard.php?format=md",
            "next_action": "Utiliser ce guard avant de publier les Share Packs et pages territoire."
        },
        {
            "key": "reference_territory_share_pack",
            "label": "Territory Share Pack",
            "stage": "publier",
            "priority": 1,
            "gate": "Textes partageables par canal avec caveats conserves.",
            "markdown_export": "/api/get_reference_territory_share_pack.php?format=md",
            "next_action": "Utiliser ces blocs dans pages, emails, slides et demos partenaires."
        },
        {
            "key": "reference_territory_publication_bundle",
            "label": "Territory Publication Bundle",
            "stage": "publier",
            "priority": 1,
            "gate": "Bundle page, KPI live modes, dependances, copy blocks et endpoints disponible.",
            "markdown_export": "/api/get_reference_territory_publication_bundle.php?format=md",
            "next_action": "Utiliser ce bundle comme source unique pour les prototypes territoire publics."
        },
        {
            "key": "reference_live_kpi_board",
            "label": "Live KPI Board",
            "stage": "publier",
            "priority": 1,
            "gate": "Modes live/partial/demo/blocked disponibles pour les KPI territoire.",
            "markdown_export": "/api/get_reference_live_kpi_board.php?format=md",
            "next_action": "Brancher ce board dans territory-reference.html pour choisir live/partial/demo par carte."
        },
        {
            "key": "reference_score_hydration",
            "label": "Score Hydration Board",
            "stage": "publier",
            "priority": 1,
            "gate": "Scores hydratables/partiels/bloques deduits des dependances et Quality Gates.",
            "markdown_export": "/api/get_reference_score_hydration.php?format=md",
            "next_action": "Utiliser ce board pour choisir quels scores afficher en live et lesquels laisser en pipeline."
        },
        {
            "key": "reference_kpi_dependency_map",
            "label": "KPI Dependency Map",
            "stage": "publier",
            "priority": 1,
            "gate": "Scores, composants, sources, outputs normalisation et gates relies.",
            "markdown_export": "/api/get_reference_kpi_dependency_map.php?format=md",
            "next_action": "Utiliser avec Readiness et Quality Gates pour savoir quels scores peuvent etre hydrates."
        },
        {
            "key": "reference_normalization_quality_gates",
            "label": "Normalization Quality Gates",
            "stage": "publier",
            "priority": 1,
            "gate": "QA schema/output/lignes/source_key/caveat disponible avant import.",
            "markdown_export": "/api/get_reference_normalization_quality_gates.php?format=md",
            "next_action": "Utiliser ces gates apres chaque normalisation et avant tout import ou hydratation KPI."
        },
        {
            "key": "reference_normalization_readiness",
            "label": "Reference Normalization Readiness",
            "stage": "publier",
            "priority": 1,
            "gate": "Inputs, outputs, schemas et statuts readiness visibles sans execution.",
            "markdown_export": "/api/get_reference_normalization_readiness.php?format=md",
            "next_action": "Remplir les inputs manquants puis executer uniquement les sources ready_to_run."
        },
        {
            "key": "reference_normalization_runbook",
            "label": "Reference Normalization Runbook",
            "stage": "publier",
            "priority": 1,
            "gate": "Commandes, inputs, outputs, schemas, phases, gates et caveats prets a copier.",
            "markdown_export": "/api/get_reference_normalization_runbook.php?format=md",
            "next_action": "Remplir les fichiers input prioritaires puis executer Sirene, BAN et HVE en premier."
        },
        {
            "key": "reference_source_normalization_backlog",
            "label": "Source Normalization Backlog",
            "stage": "publier",
            "priority": 1,
            "gate": "Priorites de normalisation, fichiers cibles, impact utilisateur et caveats disponibles.",
            "markdown_export": "/api/get_reference_source_normalization_backlog.php?format=md",
            "next_action": "Traiter Sirene et BAN en premier pour activer densite business et cartes fiables."
        },
        {
            "key": "reference_territory_score_inputs",
            "label": "Territory Score Input Templates",
            "stage": "publier",
            "priority": 1,
            "gate": "Templates composants, gates, statuts source et URLs score prets a copier.",
            "markdown_export": "/api/get_reference_territory_score_inputs.php?format=md",
            "next_action": "Utiliser les URLs score generees pour tester les pages territoire et dashboards."
        },
        {
            "key": "reference_territory_score_calculator",
            "label": "Territory Score Calculator",
            "stage": "publier",
            "priority": 1,
            "gate": "Scores calculables via formules, overrides, plafond pipeline et Publication Gate logique.",
            "markdown_export": "/api/get_reference_territory_scores.php?format=md",
            "next_action": "Brancher les composants reels issus des jointures territoire et du Publication Gate."
        },
        {
            "key": "reference_territory_kpi_formulas",
            "label": "Territory KPI Formula Book",
            "stage": "publier",
            "priority": 1,
            "gate": "Formules, poids, sources, gates et règles de normalisation documentés.",
            "markdown_export": "/api/get_reference_territory_kpi_formulas.php?format=md",
            "next_action": "Utiliser ces pondérations pour hydrater les pages territoire et expliciter les scores dans la data room."
        },
        {
            "key": "territory_reference_page",
            "label": "Territory Reference Page",
            "stage": "publier",
            "priority": 1,
            "gate": "Prototype HTML public avec sections KPI, copy buttons, endpoints et fallback statique.",
            "markdown_export": "/docs/territory-reference-page.md",
            "next_action": "Utiliser comme prototype de page territoire et brancher les valeurs dynamiques des endpoints actifs."
        },
        {
            "key": "reference_territory_page_kit",
            "label": "Territory Page Kit",
            "stage": "publier",
            "priority": 1,
            "gate": "Sections, layouts, KPI slots, sources, caveats et snippet HTML disponibles.",
            "markdown_export": "/api/get_reference_territory_page_kit.php?format=md",
            "next_action": "Utiliser ce kit pour construire les premieres pages territoire Winerix reference."
        },
        {
            "key": "kpi_pack",
            "label": "KPI Pack central",
            "stage": "publier",
            "priority": 2,
            "gate": "KPI central avec caveats et Evidence Pack.",
            "markdown_export": "/api/get_kpis.php?format=md",
            "next_action": "Filtrer par région, appellation ou commune quand le périmètre est connu."
        },
        {
            "key": "reference_user_need_navigator",
            "label": "User Need Navigator",
            "stage": "publier",
            "priority": 2,
            "gate": "Parcours persona prêts avec KPI, produits, exports et caveats.",
            "markdown_export": "/api/get_reference_user_need_navigator.php?format=md",
            "next_action": "Le publier comme point d’entrée persona avant le Data Product Index."
        },
        {
            "key": "reference_citation_kit",
            "label": "Reference Citation Kit",
            "stage": "publier",
            "priority": 2,
            "gate": "Citations, licences, usages et caveats centralisés pour publication.",
            "markdown_export": "/api/get_reference_citation_kit.php?format=md",
            "next_action": "L’utiliser comme source unique des citations dans pages, slides et exports."
        },
        {
            "key": "reference_release_notes",
            "label": "Reference Release Notes",
            "stage": "publier",
            "priority": 2,
            "gate": "Notes de version avec messages, limites et promesses interdites.",
            "markdown_export": "/api/get_reference_release_notes.php?format=md",
            "next_action": "Les utiliser pour cadrer le prochain partage public ou partenaire."
        },
        {
            "key": "reference_territory_kpi_crosswalk",
            "label": "Territory KPI Crosswalk",
            "stage": "publier",
            "priority": 2,
            "gate": "Cles de rapprochement, recettes KPI, sources et quality gates documentes.",
            "markdown_export": "/api/get_reference_territory_kpi_crosswalk.php?format=md",
            "next_action": "Utiliser ces recettes pour construire les pages territoire et prioriser les imports/jointures."
        },
        {
            "key": "reference_story_builder",
            "label": "Reference Story Builder",
            "stage": "publier",
            "priority": 2,
            "gate": "Storylines KPI reliees aux segments, sources, caveats et familles visuelles.",
            "markdown_export": "/api/get_reference_story_builder.php?format=md",
            "next_action": "Utiliser ces storylines pour produire les pages territoire, decks et snippets SEO Winerix."
        },
        {
            "key": "reference_embed_kit",
            "label": "Reference Embed Kit",
            "stage": "publier",
            "priority": 2,
            "gate": "Blocs HTML/Markdown/CSV copiables avec sources, caveats et dependances explicites.",
            "markdown_export": "/api/get_reference_embed_kit.php?format=md",
            "next_action": "Brancher les blocs HTML/Markdown sur les pages territoire, decks et exports commerciaux."
        },
        {
            "key": "kpi_evidence",
            "label": "Evidence Pack KPI",
            "stage": "publier",
            "priority": 3,
            "gate": "Citations, URLs et limites présentes.",
            "markdown_export": "/api/reference_export.php?type=kpi_evidence&format=md",
            "next_action": "Joindre systématiquement ce pack aux chiffres publiés."
        },
        {
            "key": "reference_publishable_snippets",
            "label": "Publishable Snippet Board",
            "stage": "publier",
            "priority": 3,
            "gate": "Blocs publication prêts avec KPI slots, exports, CTA et caveats.",
            "markdown_export": "/api/get_reference_publishable_snippets.php?format=md",
            "next_action": "Utiliser comme bibliothèque de textes pour la page référence et les decks."
        },
        {
            "key": "reference_source_fidelity",
            "label": "Source Fidelity Ledger",
            "stage": "publier",
            "priority": 3,
            "gate": "Portefeuille source score, tier, cadence, preuve et action relation/source disponible.",
            "markdown_export": "/api/get_reference_source_fidelity.php?format=md",
            "next_action": "Utiliser le ledger pour choisir les prochaines sources a normaliser, citer ou surveiller."
        },
        {
            "key": "reference_visual_system",
            "label": "Reference Visual System",
            "stage": "publier",
            "priority": 3,
            "gate": "Tokens visuels, composants KPI et règles de copy prêts pour UI/decks.",
            "markdown_export": "/api/get_reference_visual_system.php?format=md",
            "next_action": "L’utiliser pour harmoniser la page référence, les KPI Cards et les decks."
        },
        {
            "key": "reference_data_product_index",
            "label": "Data Product Index",
            "stage": "publier",
            "priority": 3,
            "gate": "Sommaire produit exportable avec priorités, stages, KPI, sources et caveats.",
            "markdown_export": "/api/get_reference_data_product_index.php?format=md",
            "next_action": "Le publier comme sommaire principal avant les exports KPI et packs persona."
        },
        {
            "key": "user_need_packs",
            "label": "Packs KPI par usage",
            "stage": "publier",
            "priority": 4,
            "gate": "Texte prêt à coller par persona.",
            "markdown_export": "/api/reference_export.php?type=kpi_user_packs&format=md",
            "next_action": "Choisir le persona avant de copier."
        },
        {
            "key": "reference_copy_studio",
            "label": "Reference Copy Studio",
            "stage": "publier",
            "priority": 4,
            "gate": "Briefs persona prêts avec KPI, exports et caveats.",
            "markdown_export": "/api/get_reference_copy_studio.php?format=md",
            "next_action": "Choisir le persona, copier le brief, puis remplacer les métriques par les valeurs du pack filtré."
        },
        {
            "key": "reference_kpi_scorecard",
            "label": "Reference KPI Scorecard",
            "stage": "publier",
            "priority": 4,
            "gate": "Familles KPI coherentes avec niveaux, produits, caveats et directions visuelles.",
            "markdown_export": "/api/get_reference_kpi_scorecard.php?format=md",
            "next_action": "Utiliser comme grille de dashboard et de slides avant les KPI Cards."
        },
        {
            "key": "datatourisme_oenotourism",
            "label": "Offre locale DATAtourisme",
            "stage": "publier",
            "priority": 5,
            "gate": "Import local filtré vin et faux positifs contrôlés.",
            "markdown_export": "/api/reference_export.php?type=oenotourism_offers&format=md&min_relevance=55",
            "next_action": "Croiser avec V&D, hébergements classés, communes et appellations."
        },
        {
            "key": "reference_dashboard_blueprint",
            "label": "Reference Dashboard Blueprint",
            "stage": "publier",
            "priority": 5,
            "gate": "Spec dashboard reference avec sections, layouts, KPI slots et exports.",
            "markdown_export": "/api/get_reference_dashboard_blueprint.php?format=md",
            "next_action": "L’utiliser comme cahier des charges pour la page publique référence data."
        },
        {
            "key": "reference_kpi_dictionary",
            "label": "Dictionnaire KPI Winerix",
            "stage": "publier",
            "priority": 5,
            "gate": "Définitions, calculs, sources et caveats stabilisés.",
            "markdown_export": "/api/get_reference_kpi_dictionary.php?format=md",
            "next_action": "Utiliser ces définitions comme source de vérité dans les slides, exports et briefs."
        },
        {
            "key": "vignobles_decouvertes",
            "label": "Destinations Vignobles & Découvertes",
            "stage": "publier",
            "priority": 6,
            "gate": "Liste Atout France structurée par vignoble.",
            "markdown_export": "/api/reference_export.php?type=vignobles_decouvertes_destinations&format=md",
            "next_action": "Relier aux communes, offres DATAtourisme et hébergements classés."
        },
        {
            "key": "reference_narrative_deck",
            "label": "Reference Narrative Deck",
            "stage": "publier",
            "priority": 6,
            "gate": "Deck narratif prêt avec slides, KPI slots, exports, notes orateur et caveats.",
            "markdown_export": "/api/get_reference_narrative_deck.php?format=md",
            "next_action": "L’utiliser comme structure de pitch et le décliner en slides visuelles."
        },
        {
            "key": "reference_kpi_card_deck",
            "label": "KPI Card Deck",
            "stage": "publier",
            "priority": 6,
            "gate": "Cartes KPI prêtes avec style, texte, caveat et placeholders.",
            "markdown_export": "/api/get_reference_kpi_card_deck.php?format=md",
            "next_action": "Utiliser comme source pour UI ou slides, puis injecter les valeurs du KPI Pack."
        },
        {
            "key": "classified_accommodations",
            "label": "Hébergements touristiques classés",
            "stage": "compléter",
            "priority": 7,
            "gate": "CSV officiel importé, capacité et catégories calculées.",
            "markdown_export": "/api/reference_export.php?type=classified_accommodations&format=md",
            "next_action": "Croiser avec INSEE nuitées, V&D et DATAtourisme."
        },
        {
            "key": "insee_tourism_occupancy",
            "label": "Insee Tourism Occupancy Pack",
            "stage": "compléter",
            "priority": 7,
            "gate": "Archive Insee HVD recuperee ; normalisation demand signal requise avant publication forte.",
            "markdown_export": "/api/get_insee_tourism_occupancy.php?format=md",
            "next_action": "Normaliser DS_TOUR_FREQ_data.csv puis isoler les niveaux geo comparables aux territoires viticoles."
        },
        {
            "key": "insee_tourism_capacity_communes",
            "label": "Capacité touristique communale INSEE",
            "stage": "compléter",
            "priority": 7,
            "gate": "CSV Insee 2026 téléchargé, import agrégé commune disponible.",
            "markdown_export": "/api/reference_export.php?type=insee_tourism_capacity_communes&format=md",
            "next_action": "Croiser par code commune avec INAO, DATAtourisme et Vignobles & Découvertes."
        },
        {
            "key": "reference_source_lineage",
            "label": "Source-KPI Lineage Matrix",
            "stage": "publier",
            "priority": 7,
            "gate": "Lineage source-produit-KPI-caveat exportable et gaps gouvernance visibles.",
            "markdown_export": "/api/get_reference_source_lineage.php?format=md",
            "next_action": "Traiter les sources catalog_only en ajoutant leur politique de fraîcheur ou en les marquant comme produits internes."
        },
        {
            "key": "reference_kpi_cards",
            "label": "KPI Cards hydratées",
            "stage": "publier",
            "priority": 7,
            "gate": "Cartes hydratées ou fallback placeholders explicite.",
            "markdown_export": "/api/get_reference_kpi_cards.php?format=md",
            "next_action": "Utiliser ce endpoint pour UI publique, avec Publication Gate avant diffusion externe."
        },
        {
            "key": "bnsc_bike_parking",
            "label": "BNSC Bike Parking Pack",
            "stage": "compléter",
            "priority": 8,
            "gate": "ZIP BNSC recupere ; normalisation et aggregation commune requises avant publication forte.",
            "markdown_export": "/api/get_bnsc_bike_parking.php?format=md",
            "next_action": "Normaliser le ZIP puis agreger par code commune pour activer bike_access_signal."
        },
        {
            "key": "qualite_tourisme_establishments",
            "label": "Qualite Tourisme Establishments Pack",
            "stage": "compléter",
            "priority": 8,
            "gate": "CSV officiel recupere ; normalisation et rapprochement vin requis avant publication forte.",
            "markdown_export": "/api/get_qualite_tourisme_establishments.php?format=md",
            "next_action": "Normaliser le CSV puis rapprocher par commune/geocodage avec les offres oenotouristiques et labels destination."
        },
        {
            "key": "tourism_handicap_establishments",
            "label": "Établissements Tourisme & Handicap",
            "stage": "compléter",
            "priority": 8,
            "gate": "CSV national importé, actifs filtrés et quatre familles visibles.",
            "markdown_export": "/api/reference_export.php?type=tourism_handicap_establishments&format=md",
            "next_action": "Croiser avec DATAtourisme, hébergements classés, V&D et communes viticoles."
        },
        {
            "key": "ban_address_quality",
            "label": "Qualité adresse BAN",
            "stage": "compléter",
            "priority": 8,
            "gate": "Metadata BAN récupérée ; audit CSV des adresses Winerix requis pour publier les scores.",
            "markdown_export": "/api/get_ban_address_quality.php?format=md",
            "next_action": "Produire sources/ban-address-quality.csv a partir des lieux Winerix et isoler les adresses faibles."
        },
        {
            "key": "agencebio_organic_wine",
            "label": "Agence Bio Organic Wine Pack",
            "stage": "compléter",
            "priority": 8,
            "gate": "CSV operateurs bio recupere ; normalisation vin et agregats territoire requis avant publication forte.",
            "markdown_export": "/api/get_agencebio_organic_wine.php?format=md",
            "next_action": "Normaliser les operateurs vin bio puis croiser SIRET/Sirene/BAN/communes pour activer le KPI durabilite bio."
        },
        {
            "key": "hve_certified_estates",
            "label": "Exploitations certifiées HVE",
            "stage": "compléter",
            "priority": 8,
            "gate": "CSV officiel récupéré ; rapprochement domaines/communes requis avant publication forte.",
            "markdown_export": "/api/get_hve_certified_estates.php?format=md",
            "next_action": "Rapprocher HVE avec domaines Winerix, Sirene, BAN et communes viticoles."
        },
        {
            "key": "reference_api_manifest",
            "label": "Reference API Manifest",
            "stage": "publier",
            "priority": 8,
            "gate": "Manifeste API exportable avec endpoints JSON/Markdown/CSV, personas, KPI et caveats.",
            "markdown_export": "/api/get_reference_api_manifest.php?format=md",
            "next_action": "L’utiliser comme source de documentation API et navigation produit."
        },
        {
            "key": "reference_publication_gate",
            "label": "Publication Gate",
            "stage": "publier",
            "priority": 8,
            "gate": "Décision publier/annoter/bloquer disponible avant diffusion externe.",
            "markdown_export": "/api/get_reference_publication_gate.php?format=md",
            "next_action": "Utiliser ce gate avant chaque export externe ou partage de KPI."
        },
        {
            "key": "eambrosia_gi",
            "label": "Preuve réglementaire eAmbrosia",
            "stage": "publier",
            "priority": 9,
            "gate": "GI importées avec statut et cahiers des charges.",
            "markdown_export": "/api/reference_export.php?type=eambrosia_gis&format=md",
            "next_action": "Utiliser aussi le contrôle des écarts appellation/eAmbrosia."
        },
        {
            "key": "source_opportunity_radar",
            "label": "Source Opportunity Radar",
            "stage": "publier",
            "priority": 9,
            "gate": "Nouvelles sources officielles scorées avec action et caveat.",
            "markdown_export": "/api/get_source_opportunity_radar.php?format=md",
            "next_action": "Traiter les P1 en imports contrôlés puis les raccorder aux KPI Cards."
        },
        {
            "key": "reference_integration_guide",
            "label": "Reference Integration Guide",
            "stage": "publier",
            "priority": 9,
            "gate": "Guide integration API avec endpoints prioritaires et snippets copiables.",
            "markdown_export": "/api/get_reference_integration_guide.php?format=md",
            "next_action": "Le partager avec tout partenaire ou développeur qui consomme les exports Winerix."
        },
        {
            "key": "inao_siqo_products",
            "label": "Produits SIQO INAO vin",
            "stage": "publier",
            "priority": 10,
            "gate": "CSV SIQO importé, filtre vin contrôlé et statuts publiés visibles.",
            "markdown_export": "/api/reference_export.php?type=inao_siqo_products&format=md&wine_only=1",
            "next_action": "Rapprocher appellations/dénominations SIQO avec INAO communes et eAmbrosia pour construire une preuve complète."
        },
        {
            "key": "sirene_wine_establishments",
            "label": "Établissements vin SIRENE",
            "stage": "compléter",
            "priority": 10,
            "gate": "Mapping NAF prêt ; stock établissement Sirene requis pour publier les volumes.",
            "markdown_export": "/api/reference_export.php?type=sirene_wine_establishments&format=md",
            "next_action": "Télécharger le stock établissement Sirene, importer les NAF vin, puis croiser avec communes INAO et offres DATAtourisme."
        },
        {
            "key": "reference_data_contracts",
            "label": "Reference Data Contracts",
            "stage": "publier",
            "priority": 10,
            "gate": "Contrats API logiques avec champs, formats, quality gates et caveats.",
            "markdown_export": "/api/get_reference_data_contracts.php?format=md",
            "next_action": "Les utiliser comme garde-fou avant toute intégration externe ou changement de schéma API."
        },
        {
            "key": "inao_aoc_aop_communes",
            "label": "Aires AOC/AOP INAO par commune",
            "stage": "publier",
            "priority": 11,
            "gate": "CSV INAO importé, encodage normalisé et matchs Winerix visibles.",
            "markdown_export": "/api/reference_export.php?type=inao_aoc_aop_communes&format=md",
            "next_action": "Comparer les libellés INAO avec les appellations Winerix et traiter les non-matchs prioritaires."
        },
        {
            "key": "appellation_evidence_pack",
            "label": "Preuve appellation complète",
            "stage": "publier",
            "priority": 12,
            "gate": "SIQO, INAO communes et eAmbrosia visibles avec gaps exportables.",
            "markdown_export": "/api/reference_export.php?type=appellation_evidence_pack&format=md",
            "next_action": "Traiter les gaps SIQO, INAO aire et eAmbrosia avant de promettre une preuve complète."
        },
        {
            "key": "regulatory_gaps",
            "label": "Contrôle écarts appellations/eAmbrosia",
            "stage": "surveiller",
            "priority": 13,
            "gate": "Écarts relus avant usage juridique.",
            "markdown_export": "/api/reference_export.php?type=appellation_regulatory_gaps&format=md",
            "next_action": "Qualifier les non-appariements prioritaires."
        },
        {
            "key": "agreste_viticulture",
            "label": "Cadrage Agreste viticulture",
            "stage": "publier",
            "priority": 14,
            "gate": "Millésime, territoire, indicateur et unité présents.",
            "markdown_export": "/api/reference_export.php?type=agreste_viticulture&format=md",
            "next_action": "Croiser avec RPG et appellations."
        },
        {
            "key": "agreste_vineyard_land_values",
            "label": "Foncier viticole Agreste",
            "stage": "compléter",
            "priority": 14,
            "gate": "Metadata officielle récupérée ; CSV foncier viticole normalisé requis pour publier les prix.",
            "markdown_export": "/api/get_agreste_vineyard_land_values.php?format=md",
            "next_action": "Normaliser la ressource Agreste en CSV local puis relier aux territoires viticoles."
        },
        {
            "key": "dgddi_vitivinicole_supply",
            "label": "Récoltes et stocks vitivinicoles DGDDI",
            "stage": "compléter",
            "priority": 14,
            "gate": "Metadata et ressources XLS récupérées ; CSV normalisé requis avant publication de chiffres.",
            "markdown_export": "/api/get_dgddi_vitivinicole_supply.php?format=md",
            "next_action": "Normaliser les XLS officiels en CSV local avec type, annee, departement, surface, production, stock et declarations."
        },
        {
            "key": "rpg_vineyard_parcels",
            "label": "Parcelles viticoles RPG",
            "stage": "compléter",
            "priority": 15,
            "gate": "RPG filtré vigne importé et clés géographiques contrôlées.",
            "markdown_export": "/api/reference_export.php?type=rpg_vineyard_parcels&format=md",
            "next_action": "Contrôler les clés géographiques avant rattachement domaine."
        },
        {
            "key": "bulk_wine_prices",
            "label": "Prix vrac FranceAgriMer",
            "stage": "compléter",
            "priority": 15,
            "gate": "Pack marché prêt ; CSV FranceAgriMer normalisé requis pour publier les prix.",
            "markdown_export": "/api/reference_export.php?type=bulk_wine_prices&format=md",
            "next_action": "Normaliser la ressource Visionet dans sources/franceagrimer-prices.csv puis lancer l’import bulk_prices."
        },
        {
            "key": "source_refresh_policy",
            "label": "Politique de fraîcheur sources",
            "stage": "surveiller",
            "priority": 16,
            "gate": "Sources due/critical traitées avant publication externe.",
            "markdown_export": "/api/reference_export.php?type=source_refresh_policy&format=md",
            "next_action": "Traiter les sources critical/due avant publication externe."
        },
        {
            "key": "source_activation_status",
            "label": "Statut activation sources",
            "stage": "surveiller",
            "priority": 17,
            "gate": "DB prête et fichiers obligatoires présents avant import.",
            "markdown_export": "/api/get_source_activation_status.php?format=md",
            "next_action": "Corriger les fichiers/configs manquants puis lancer scripts/activate_reference_sources.php."
        },
        {
            "key": "source_maintenance_board",
            "label": "Board maintenance sources",
            "stage": "surveiller",
            "priority": 18,
            "gate": "Tickets source priorisés et copiables disponibles.",
            "markdown_export": "/api/get_source_maintenance_board.php?format=md",
            "next_action": "Traiter les tickets P1/P2/P3 avant publication externe."
        }
    ],
    "products": [
        {
            "key": "wine_reference_pack",
            "label": "Reference Pack Winerix",
            "persona": "direction, investisseur, analyste, publication",
            "user_need": "Présenter Winerix comme référentiel data vin/oenotourisme avec score, preuves, piliers et gaps.",
            "copy_use": "Pitch global, note exécutive, page référence.",
            "source_keys": [
                "source_registry",
                "inao_siqo_products",
                "inao_aoc_aop_commune_areas",
                "datatourisme_oenotourism",
                "tourisme_handicap_establishments",
                "eambrosia_gi",
                "agreste_viticulture_territorial",
                "rpg_parcels",
                "atout_france_classified_accommodations"
            ],
            "primary_kpis": [
                "reference_score",
                "confidence_score",
                "active_source_count",
                "evidence_pack"
            ],
            "endpoint": "/api/get_wine_reference_pack.php?format=json",
            "markdown_export": "/api/reference_export.php?type=wine_reference_pack&format=md",
            "csv_export": "/api/reference_export.php?type=wine_reference_pack",
            "caveat": "Synthèse de maturité : dépend des imports locaux et des caveats de chaque source.",
            "next_action": "Utiliser comme porte d’entrée avant de copier les packs spécialisés."
        },
        {
            "key": "kpi_pack",
            "label": "KPI Pack central",
            "persona": "direction, territoire, sales, data ops",
            "user_need": "Obtenir des KPI agrégés et copiables par périmètre.",
            "copy_use": "Dashboard, slide, note de synthèse.",
            "source_keys": [
                "source_registry",
                "estate_profiles",
                "macro_oenotourism_indicators",
                "macro_wine_indicators"
            ],
            "primary_kpis": [
                "communes",
                "appellations",
                "estates",
                "wines",
                "confidence_score"
            ],
            "endpoint": "/api/get_kpis.php?format=json",
            "markdown_export": "/api/get_kpis.php?format=md",
            "csv_export": "/api/reference_export.php?type=kpis",
            "caveat": "Pack agrégé : ne remplace pas les fiches source ni les contrôles de publication.",
            "next_action": "Filtrer par région, appellation ou commune quand le périmètre est connu."
        },
        {
            "key": "kpi_evidence",
            "label": "Evidence Pack KPI",
            "persona": "publication, analyste, conformité, data ops",
            "user_need": "Copier les preuves, citations, caveats et limites avec les KPI.",
            "copy_use": "Annexe méthodo, bas de slide, note de publication.",
            "source_keys": [
                "source_registry",
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "source_name",
                "source_url",
                "citation",
                "caveat"
            ],
            "endpoint": "/api/reference_export.php?type=kpi_evidence",
            "markdown_export": "/api/reference_export.php?type=kpi_evidence&format=md",
            "csv_export": "/api/reference_export.php?type=kpi_evidence",
            "caveat": "La preuve ne valide pas automatiquement la fraîcheur : vérifier les dates et gates.",
            "next_action": "Joindre systématiquement ce pack aux chiffres publiés."
        },
        {
            "key": "user_need_packs",
            "label": "Packs KPI par usage",
            "persona": "direction, destination, sales, marché, data ops",
            "user_need": "Copier une formulation adaptée à une décision utilisateur.",
            "copy_use": "Mail, note persona, brief métier.",
            "source_keys": [
                "kpi_pack"
            ],
            "primary_kpis": [
                "paste_ready",
                "decision",
                "next_action"
            ],
            "endpoint": "/api/reference_export.php?type=kpi_user_packs",
            "markdown_export": "/api/reference_export.php?type=kpi_user_packs&format=md",
            "csv_export": "/api/reference_export.php?type=kpi_user_packs",
            "caveat": "Formulation prête à coller : garder les caveats et le périmètre.",
            "next_action": "Choisir le persona avant de copier."
        },
        {
            "key": "datatourisme_oenotourism",
            "label": "Offre locale DATAtourisme",
            "persona": "destination, agence, territoire, oenotourisme",
            "user_need": "Mesurer l’épaisseur de l’offre locale vin : lieux, visites, activités, itinéraires, événements.",
            "copy_use": "Brief destination, diagnostic offre, priorisation commune.",
            "source_keys": [
                "datatourisme_oenotourism"
            ],
            "primary_kpis": [
                "offers",
                "very_relevant",
                "cities",
                "places",
                "experiences",
                "routes",
                "events"
            ],
            "endpoint": "/api/get_oenotourism_offers.php?format=json&min_relevance=55",
            "markdown_export": "/api/reference_export.php?type=oenotourism_offers&format=md&min_relevance=55",
            "csv_export": "/api/reference_export.php?type=oenotourism_offers&min_relevance=55",
            "caveat": "Offre publiée par les territoires, pas fréquentation ni exhaustivité réelle.",
            "next_action": "Croiser avec V&D, hébergements classés, communes et appellations."
        },
        {
            "key": "vignobles_decouvertes",
            "label": "Destinations Vignobles & Découvertes",
            "persona": "destination, institutionnel, oenotourisme",
            "user_need": "Identifier les destinations labellisées par vignoble/région.",
            "copy_use": "Cadrage label, preuve de structuration destination.",
            "source_keys": [
                "atout_france_vignobles_decouvertes_destinations"
            ],
            "primary_kpis": [
                "destinations",
                "wine_regions"
            ],
            "endpoint": "/api/get_vignobles_decouvertes_destinations.php?format=json",
            "markdown_export": "/api/reference_export.php?type=vignobles_decouvertes_destinations&format=md",
            "csv_export": "/api/reference_export.php?type=vignobles_decouvertes_destinations",
            "caveat": "Label destination : pas fréquentation, pas performance de chaque prestataire.",
            "next_action": "Relier aux communes, offres DATAtourisme et hébergements classés."
        },
        {
            "key": "classified_accommodations",
            "label": "Hébergements touristiques classés",
            "persona": "destination, investisseur, agence, institutionnel",
            "user_need": "Qualifier la capacité d’accueil officielle autour des territoires viticoles.",
            "copy_use": "Cadrage capacité, qualité hébergement, score accueil.",
            "source_keys": [
                "atout_france_classified_accommodations"
            ],
            "primary_kpis": [
                "establishments",
                "rooms",
                "beds",
                "communes",
                "five_star_establishments"
            ],
            "endpoint": "/api/get_classified_accommodations.php?format=json",
            "markdown_export": "/api/reference_export.php?type=classified_accommodations&format=md",
            "csv_export": "/api/reference_export.php?type=classified_accommodations",
            "caveat": "Hébergements classés uniquement : pas toute l’offre, pas fréquentation réelle.",
            "next_action": "Croiser avec INSEE nuitées, V&D et DATAtourisme."
        },
        {
            "key": "reference_oenotourism_demand_offer",
            "label": "Oenotourism Demand Offer Pack",
            "persona": "destination, direction, commercial, publication, produit",
            "user_need": "Expliquer clairement un score oenotourisme offre + demande sans confondre frequentation touristique et frequentation vin.",
            "copy_use": "Fiche territoire, deck destination, argumentaire commercial, dashboard, data room.",
            "source_keys": [
                "insee_tourism_occupancy",
                "insee_tourism_capacity_communes",
                "datatourisme_oenotourism",
                "qualite_tourisme_establishments",
                "vignobles_decouvertes",
                "tourism_handicap_establishments"
            ],
            "primary_kpis": [
                "pillar_count",
                "source_count",
                "score_recipe",
                "copy_blocks",
                "trust_badge_keys"
            ],
            "endpoint": "/api/get_reference_oenotourism_demand_offer.php?format=json",
            "markdown_export": "/api/get_reference_oenotourism_demand_offer.php?format=md",
            "csv_export": "/api/get_reference_oenotourism_demand_offer.php?format=csv",
            "caveat": "Pack de lecture : il clarifie les usages mais ne remplace pas normalisation, hydratation KPI ou Publication Gate.",
            "next_action": "Utiliser ce pack dans territory-reference.html et les decks destination pour expliquer le score oenotourisme."
        },
        {
            "key": "reference_territory_brief",
            "label": "Territory Brief Composer",
            "persona": "destination, commercial, direction, publication, produit",
            "user_need": "Obtenir un brief territoire pret a copier qui assemble scores, sources, badges et caveats sans reconstruire la narration.",
            "copy_use": "Page territoire, email partenaire, slide destination, data room courte, note commerciale.",
            "source_keys": [
                "reference_territory_scores",
                "reference_oenotourism_demand_offer",
                "reference_trust_badges",
                "reference_claim_guard"
            ],
            "primary_kpis": [
                "score_count",
                "source_count",
                "badge_count",
                "copy_blocks",
                "source_stack"
            ],
            "endpoint": "/api/get_reference_territory_brief.php?format=json",
            "markdown_export": "/api/get_reference_territory_brief.php?format=md",
            "csv_export": "/api/get_reference_territory_brief.php?format=csv",
            "caveat": "Brief de composition : ne remplace pas normalisation source, validation DB, revue metier ou Publication Gate.",
            "next_action": "Brancher ce brief dans les pages territoire, emails partenaires et decks destination."
        },
        {
            "key": "reference_territory_comparison",
            "label": "Territory Comparison Pack",
            "persona": "direction, commercial, destination, publication, analyste",
            "user_need": "Comparer plusieurs territoires avec les memes KPI, sources, badges et caveats sans surinterpretrer les ecarts.",
            "copy_use": "Benchmark territoire, arbitrage priorite, deck direction, brief sales, data room.",
            "source_keys": [
                "reference_territory_scores",
                "reference_territory_brief",
                "reference_trust_badges",
                "reference_oenotourism_demand_offer"
            ],
            "primary_kpis": [
                "territory_count",
                "axis_count",
                "row_count",
                "copy_blocks",
                "badge_keys"
            ],
            "endpoint": "/api/get_reference_territory_comparison.php?format=json",
            "markdown_export": "/api/get_reference_territory_comparison.php?format=md",
            "csv_export": "/api/get_reference_territory_comparison.php?format=csv",
            "caveat": "Comparaison de cadrage : remplacer les placeholders par donnees normalisees par territoire avant publication.",
            "next_action": "Utiliser avec territories=... pour preparer benchmarks destination et arbitrages commerciaux."
        },
        {
            "key": "reference_kpi_aggregation_rules",
            "label": "KPI Aggregation Rules",
            "persona": "analyste, data ops, publication, direction, produit",
            "user_need": "Savoir comment agreger et comparer les KPI sans melanger commune, appellation, destination, temporalite ou denominateur.",
            "copy_use": "Methodologie KPI, data room, Publication Gate, benchmark territoire, documentation partenaire.",
            "source_keys": [
                "reference_territory_comparison",
                "reference_territory_kpi_formulas",
                "reference_claim_guard"
            ],
            "primary_kpis": [
                "territory_level_count",
                "rule_count",
                "recipe_count",
                "territory_levels",
                "rules"
            ],
            "endpoint": "/api/get_reference_kpi_aggregation_rules.php?format=json",
            "markdown_export": "/api/get_reference_kpi_aggregation_rules.php?format=md",
            "csv_export": "/api/get_reference_kpi_aggregation_rules.php?format=csv",
            "caveat": "Regles methodologiques : ne prouvent pas normalisation, import ou validation metier des sources.",
            "next_action": "Les utiliser comme garde-fou avant tout benchmark ou publication de score agrege."
        },
        {
            "key": "reference_kpi_publication_certificates",
            "label": "KPI Publication Certificates",
            "persona": "publication, direction, data ops, analyste, partenaire",
            "user_need": "Copier un recu de publication pour chaque KPI avec score, badge, sources, regles d aggregation et caveat.",
            "copy_use": "Publication Gate, page territoire, data room, deck direction, audit KPI.",
            "source_keys": [
                "reference_territory_scores",
                "reference_kpi_aggregation_rules",
                "reference_trust_badges",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "certificate_count",
                "source_count",
                "publication_status",
                "badge_key",
                "copy_receipt"
            ],
            "endpoint": "/api/get_reference_kpi_publication_certificates.php?format=json",
            "markdown_export": "/api/get_reference_kpi_publication_certificates.php?format=md",
            "csv_export": "/api/get_reference_kpi_publication_certificates.php?format=csv",
            "caveat": "Certificat logique : ne prouve pas imports DB, normalisations, tests runtime ou revue metier.",
            "next_action": "Afficher ces recus sous chaque KPI public et dans les data rooms partenaires."
        },
        {
            "key": "reference_source_attributions",
            "label": "Source Attribution Pack",
            "persona": "publication, legal, data ops, partenaire, direction",
            "user_need": "Copier les attributions, licences et caveats source corrects avant de publier ou partager une data room.",
            "copy_use": "Footer page territoire, annexe deck, data room source, Publication Gate, audit partenaire.",
            "source_keys": [
                "reference_citation_kit",
                "reference_source_fidelity",
                "reference_claim_guard"
            ],
            "primary_kpis": [
                "source_count",
                "license_count",
                "odbl_source_count",
                "attribution",
                "publication_caveat"
            ],
            "endpoint": "/api/get_reference_source_attributions.php?format=json",
            "markdown_export": "/api/get_reference_source_attributions.php?format=md",
            "csv_export": "/api/get_reference_source_attributions.php?format=csv",
            "caveat": "Attribution helper : ne remplace pas revue juridique finale ni verification de licence au moment de publication.",
            "next_action": "Brancher ces attributions dans Territory Brief, Publication Certificates et pages publiques."
        },
        {
            "key": "reference_public_footnotes",
            "label": "Public Footnote Pack",
            "persona": "publication, legal, commercial, direction, partenaire",
            "user_need": "Coller sous une page, un deck ou une data room les footnotes source/KPI avec licences et caveats.",
            "copy_use": "Footer page territoire, annexe deck, data room partenaire, export commercial.",
            "source_keys": [
                "reference_source_attributions",
                "reference_kpi_publication_certificates",
                "reference_claim_guard"
            ],
            "primary_kpis": [
                "footnote_count",
                "template_count",
                "license_counts",
                "short_footnote",
                "full_footnote"
            ],
            "endpoint": "/api/get_reference_public_footnotes.php?format=json",
            "markdown_export": "/api/get_reference_public_footnotes.php?format=md",
            "csv_export": "/api/get_reference_public_footnotes.php?format=csv",
            "caveat": "Footnotes publication : ne remplacent pas revue juridique finale ni verification de licence a date.",
            "next_action": "Utiliser ces footnotes dans territory-reference.html, decks et data rooms."
        },
        {
            "key": "reference_page_publication_kit",
            "label": "Page Publication Kit",
            "persona": "publication, direction, commercial, partenaire, produit",
            "user_need": "Assembler une page territoire publiable avec brief, KPI, comparaison, footnotes et checklist en un seul export.",
            "copy_use": "Page territoire, landing partenaire, deck, data room, revue Publication Gate.",
            "source_keys": [
                "reference_territory_brief",
                "reference_territory_comparison",
                "reference_kpi_publication_certificates",
                "reference_public_footnotes"
            ],
            "primary_kpis": [
                "section_count",
                "checklist_count",
                "certificate_count",
                "footnote_count",
                "copy_blocks"
            ],
            "endpoint": "/api/get_reference_page_publication_kit.php?format=json",
            "markdown_export": "/api/get_reference_page_publication_kit.php?format=md",
            "csv_export": "/api/get_reference_page_publication_kit.php?format=csv",
            "caveat": "Kit de publication : ne prouve pas normalisations, imports DB, tests runtime ou revues metier/juridiques.",
            "next_action": "Utiliser comme source unique pour assembler une page territoire publiable."
        },
        {
            "key": "reference_source_relationships",
            "label": "Source Relationship Pack",
            "persona": "data ops, publication, partenariat, direction, legal",
            "user_need": "Fideliser les sources critiques avec objectifs relation, demandes, cadences, risques et messages prets a envoyer.",
            "copy_use": "Gouvernance source, emails producteurs, revue schema, Publication Gate, data room methode.",
            "source_keys": [
                "reference_source_attributions",
                "source_refresh_policy",
                "reference_source_fidelity"
            ],
            "primary_kpis": [
                "source_count",
                "tier_count",
                "tier_counts",
                "message_templates",
                "relationship_goal"
            ],
            "endpoint": "/api/get_reference_source_relationships.php?format=json",
            "markdown_export": "/api/get_reference_source_relationships.php?format=md",
            "csv_export": "/api/get_reference_source_relationships.php?format=csv",
            "caveat": "Pack relationnel : ne garantit pas reponse producteur ni stabilite future des schemas/licences.",
            "next_action": "Utiliser les messages pour clarifier Insee, DATAtourisme, Agence Bio, Atout France, INAO et OSM/BNSC."
        },
        {
            "key": "reference_public_distribution",
            "label": "Public Distribution Pack",
            "persona": "direction, commercial, publication, partenariat, data ops",
            "user_need": "Savoir quel livrable Winerix envoyer a chaque audience, dans quel ordre, avec quel message et quel risque a eviter.",
            "copy_use": "Data room externe, email partenaire, pitch commercial, onboarding integration, Publication Gate.",
            "source_keys": [
                "reference_page_publication_kit",
                "reference_source_relationships",
                "reference_public_footnotes"
            ],
            "primary_kpis": [
                "audience_count",
                "bundle_count",
                "page_kit_sections",
                "source_relationship_count",
                "copy_email"
            ],
            "endpoint": "/api/get_reference_public_distribution.php?format=json",
            "markdown_export": "/api/get_reference_public_distribution.php?format=md",
            "csv_export": "/api/get_reference_public_distribution.php?format=csv",
            "caveat": "Pack distribution : ne prouve pas execution endpoints, normalisation donnees ou revue juridique/metier.",
            "next_action": "Utiliser ces bundles pour preparer les envois destination, vin, direction, data et legal."
        },
        {
            "key": "reference_user_feedback",
            "label": "User Feedback Pack",
            "persona": "produit, growth, publication, data ops, direction",
            "user_need": "Comprendre quels KPI sont copies, ce qui bloque la confiance et quelles sources les utilisateurs demandent.",
            "copy_use": "Micro-questionnaire, post-copy prompt, roadmap source, priorisation KPI, analyse friction publication.",
            "source_keys": [
                "reference_public_distribution",
                "reference_page_publication_kit",
                "reference_source_relationships"
            ],
            "primary_kpis": [
                "segment_count",
                "question_count",
                "score_count",
                "copy_ready_score",
                "source_demand_score"
            ],
            "endpoint": "/api/get_reference_user_feedback.php?format=json",
            "markdown_export": "/api/get_reference_user_feedback.php?format=md",
            "csv_export": "/api/get_reference_user_feedback.php?format=csv",
            "caveat": "Pack de collecte feedback : ne remplace pas tracking produit, CRM ou analyse statistique des reponses.",
            "next_action": "Brancher ces prompts apres les boutons copier et exploiter les demandes de sources manquantes."
        },
        {
            "key": "reference_source_demand_backlog",
            "label": "Source Demand Backlog",
            "persona": "produit, data ops, direction, partenariats, publication",
            "user_need": "Prioriser les nouvelles sources a chercher selon les gaps utilisateur, les KPI incomplets et les demandes de confiance.",
            "copy_use": "Roadmap source, comite produit, relation producteurs, priorisation normalisation, strategie reference.",
            "source_keys": [
                "reference_user_feedback",
                "reference_source_relationships",
                "reference_kpi_dependency_map"
            ],
            "primary_kpis": [
                "item_count",
                "research_now_count",
                "source_demand_score",
                "recommended_status",
                "target_kpis"
            ],
            "endpoint": "/api/get_reference_source_demand_backlog.php?format=json",
            "markdown_export": "/api/get_reference_source_demand_backlog.php?format=md",
            "csv_export": "/api/get_reference_source_demand_backlog.php?format=csv",
            "caveat": "Backlog de recherche : ne prouve pas disponibilite producteur, accord de partage ou publiabilite juridique.",
            "next_action": "Traiter les sources research_now puis rattacher les producteurs aux Source Relationships."
        },
        {
            "key": "reference_source_acquisition_sprint",
            "label": "Source Acquisition Sprint",
            "persona": "data ops, produit, partenariats, direction",
            "user_need": "Transformer les sources demandees en plan 30 jours avec contacts producteurs, echantillons, gates et decisions.",
            "copy_use": "Sprint source, comite produit, relation producteur, plan partenariat, roadmap normalisation.",
            "source_keys": [
                "reference_source_demand_backlog",
                "reference_source_relationships",
                "reference_user_feedback"
            ],
            "primary_kpis": [
                "phase_count",
                "item_count",
                "research_now_count",
                "acceptance_gate_count",
                "message_templates"
            ],
            "endpoint": "/api/get_reference_source_acquisition_sprint.php?format=json",
            "markdown_export": "/api/get_reference_source_acquisition_sprint.php?format=md",
            "csv_export": "/api/get_reference_source_acquisition_sprint.php?format=csv",
            "caveat": "Sprint acquisition : ne garantit pas reponse producteur, disponibilite donnees ou publiabilite juridique.",
            "next_action": "Executer les contacts semaine 1/2 pour visites caves, evenements vin et opening hours."
        },
        {
            "key": "reference_source_radar",
            "label": "Reference Source Radar",
            "persona": "data ops, produit, partenariats, direction",
            "user_need": "Identifier, scorer et prioriser les nouvelles sources utiles pour KPI vin, oenotourisme, acces et patrimoine.",
            "copy_use": "Roadmap source, comite data, sprint acquisition, relation producteur, veille open data.",
            "source_keys": [
                "reference_source_demand_backlog",
                "reference_source_acquisition_sprint",
                "reference_user_need_kpi_map"
            ],
            "primary_kpis": [
                "candidate_count",
                "p1_count",
                "sample_now_count",
                "fidelize_now_count",
                "research_now_count"
            ],
            "endpoint": "/api/get_reference_source_radar.php?format=json",
            "markdown_export": "/api/get_reference_source_radar.php?format=md",
            "csv_export": "/api/get_reference_source_radar.php?format=csv",
            "caveat": "Radar source : chaque source doit etre reverifiee cote licence, schema, maille et fraicheur avant ingestion ou publication.",
            "next_action": "Echantillonner OpenAgenda, Insee BPE, Merimee et BNLC puis ajouter les sources utiles au sprint acquisition."
        },
        {
            "key": "openagenda_wine_events",
            "label": "OpenAgenda Wine Event Signal",
            "persona": "data ops, destination, marketing, media",
            "user_need": "Mesurer les evenements vin, vignoble, degustation, gastronomie et activation territoire depuis OpenAgenda.",
            "copy_use": "Signal evenementiel, page territoire, contexte demande, calendrier vin, radar source.",
            "source_keys": [
                "reference_source_radar",
                "openagenda_public_events"
            ],
            "primary_kpis": [
                "wine_event_signal",
                "territory_activation_score",
                "tourism_demand_context",
                "wine_relevance_score"
            ],
            "endpoint": "/api/get_openagenda_wine_events.php?format=json",
            "markdown_export": "/api/get_openagenda_wine_events.php?format=md",
            "csv_export": "/api/get_openagenda_wine_events.php?format=csv",
            "caveat": "OpenAgenda contributif : couverture non exhaustive, taxonomy variable, frequentation non mesuree.",
            "next_action": "Executer le normalizer sur un echantillon elargi puis agreger par commune et periode."
        },
        {
            "key": "bnlc_carpooling_areas",
            "label": "BNLC Carpooling Areas",
            "persona": "data ops, territoire, destination, mobilite",
            "user_need": "Mesurer les lieux de covoiturage pour qualifier l acces bas carbone aux territoires vin et oenotourisme.",
            "copy_use": "Signal accessibilite, page territoire, comparaison destinations, score acces bas carbone.",
            "source_keys": [
                "reference_source_radar",
                "bnlc_carpooling_areas"
            ],
            "primary_kpis": [
                "carpool_access_signal",
                "low_carbon_access_score",
                "access_signal"
            ],
            "endpoint": "/api/get_bnlc_carpooling_areas.php?format=json",
            "markdown_export": "/api/get_bnlc_carpooling_areas.php?format=md",
            "csv_export": "/api/get_bnlc_carpooling_areas.php?format=csv",
            "caveat": "BNLC : presence infrastructure, pas usage reel, disponibilite instantanee ou desserte finale vers les domaines.",
            "next_action": "Executer le normalizer puis agreger les lieux ouverts par commune et distance aux zones vin."
        },
        {
            "key": "insee_bpe_equipment",
            "label": "Insee BPE Equipment",
            "persona": "data ops, territoire, destination, analyste",
            "user_need": "Mesurer les equipements et services qui rendent un territoire vin/oenotourisme pret a accueillir et comparable.",
            "copy_use": "Readiness territoire, densite services tourisme, contexte culture/loisirs, accessibilite, comparaison destinations.",
            "source_keys": [
                "reference_source_radar",
                "insee_bpe_2024"
            ],
            "primary_kpis": [
                "tourism_service_density",
                "territory_readiness_score",
                "culture_leisure_context",
                "access_equipment_signal"
            ],
            "endpoint": "/api/get_insee_bpe_equipment.php?format=json",
            "markdown_export": "/api/get_insee_bpe_equipment.php?format=md",
            "csv_export": "/api/get_insee_bpe_equipment.php?format=csv",
            "caveat": "BPE : presence d equipements, pas qualite, frequentation ou satisfaction visiteur.",
            "next_action": "Executer le normalizer puis calculer les densites par commune, departement et destination vin."
        },
        {
            "key": "merimee_heritage_monuments",
            "label": "Merimee Heritage Monuments",
            "persona": "data ops, territoire, destination, marketing, media",
            "user_need": "Qualifier le contexte patrimonial des territoires vin et oenotourisme avec une source publique citeable.",
            "copy_use": "Signal patrimoine, page territoire, storytelling culturel, comparaison destinations, note methodologique.",
            "source_keys": [
                "reference_source_radar",
                "merimee_monuments_historiques"
            ],
            "primary_kpis": [
                "heritage_pull_signal",
                "culture_wine_context_score",
                "territory_story_proof",
                "heritage_signal"
            ],
            "endpoint": "/api/get_merimee_heritage_monuments.php?format=json",
            "markdown_export": "/api/get_merimee_heritage_monuments.php?format=md",
            "csv_export": "/api/get_merimee_heritage_monuments.php?format=csv",
            "caveat": "Merimee : patrimoine protege, pas frequentation, ouverture au public ou impact oenotouristique direct.",
            "next_action": "Executer le normalizer puis agregger les monuments par commune et zone vin avec deduplication culture."
        },
        {
            "key": "datatourisme_fidelity_monitor",
            "label": "DATAtourisme Fidelity Monitor",
            "persona": "data ops, produit, destination, direction",
            "user_need": "Fideliser DATAtourisme par suivi de fraicheur, couverture regionale, ressources critiques et actions source.",
            "copy_use": "Source health, monitoring hebdomadaire, pages territoire, publication gate, relation source.",
            "source_keys": [
                "reference_source_radar",
                "datatourisme_resources",
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "datatourisme_freshness_score",
                "coverage_by_region",
                "source_relationship_signal",
                "regional_feed_watchlist"
            ],
            "endpoint": "/api/get_datatourisme_fidelity_monitor.php?format=json",
            "markdown_export": "/api/get_datatourisme_fidelity_monitor.php?format=md",
            "csv_export": "/api/get_datatourisme_fidelity_monitor.php?format=csv",
            "caveat": "DATAtourisme : fraicheur ressource ne prouve pas exhaustivite ni qualite des POI territoriaux.",
            "next_action": "Executer le monitoring et afficher la fraicheur DATAtourisme dans les pages et certificats de publication."
        },
        {
            "key": "reference_authority_index",
            "label": "Reference Authority Index",
            "persona": "fondateur, data ops, produit, direction, media",
            "user_need": "Voir quelles sources et KPI rendent Winerix credible comme reference vin et oenotourisme.",
            "copy_use": "Comite direction, page methode, data room, roadmap source, briefing media, pitch investisseur.",
            "source_keys": [
                "reference_source_radar",
                "reference_user_need_kpi_map",
                "reference_publishable_territory_page_pack",
                "datatourisme_fidelity_monitor"
            ],
            "primary_kpis": [
                "source_count",
                "average_authority_score",
                "normalization_ready_count",
                "copy_ready_count",
                "pillar_count"
            ],
            "endpoint": "/api/get_reference_authority_index.php?format=json",
            "markdown_export": "/api/get_reference_authority_index.php?format=md",
            "csv_export": "/api/get_reference_authority_index.php?format=csv",
            "caveat": "Index autorite : mesure la maturite source/KPI/produit, pas la verite terrain exhaustive ni les validations runtime.",
            "next_action": "Utiliser cet index pour prioriser normalisations, monitoring et pages territoire publiques."
        },
        {
            "key": "reference_territory_data_spine",
            "label": "Territory Data Spine",
            "persona": "data ops, produit, analyste, direction",
            "user_need": "Agreger les sources vin/oenotourisme a la bonne maille pour produire des KPI coherents et comparables.",
            "copy_use": "Modele data, regles aggregation, pages territoire, benchmark, data room, publication gate.",
            "source_keys": [
                "reference_authority_index",
                "reference_user_need_kpi_map",
                "reference_kpi_aggregation_rules"
            ],
            "primary_kpis": [
                "grain_count",
                "source_mapping_count",
                "aggregation_rule_count",
                "output_table_count"
            ],
            "endpoint": "/api/get_reference_territory_data_spine.php?format=json",
            "markdown_export": "/api/get_reference_territory_data_spine.php?format=md",
            "csv_export": "/api/get_reference_territory_data_spine.php?format=csv",
            "caveat": "Spine territoriale : definit les regles, ne prouve pas normalisation effective ni controles geographiques runtime.",
            "next_action": "Utiliser cette spine pour construire les tables faits source, scores KPI et contexte publication territoire."
        },
        {
            "key": "reference_territory_kpi_scorecard_pack",
            "label": "Territory KPI Scorecards",
            "persona": "fondateur, territoire, marketing, data ops, media",
            "user_need": "Transformer les sources vin/oenotourisme en cartes KPI agregees, coherentes, visuelles et copiables.",
            "copy_use": "Page territoire, deck, observatoire, pitch, data room, board data ops.",
            "source_keys": [
                "reference_authority_index",
                "reference_territory_data_spine",
                "reference_kpi_copy_pack",
                "reference_publishable_territory_page_pack"
            ],
            "primary_kpis": [
                "card_count",
                "rule_count",
                "layout_count",
                "authority_source_count",
                "spine_source_mapping_count"
            ],
            "endpoint": "/api/get_reference_territory_kpi_scorecards.php?format=json",
            "markdown_export": "/api/get_reference_territory_kpi_scorecards.php?format=md",
            "csv_export": "/api/get_reference_territory_kpi_scorecards.php?format=csv",
            "caveat": "Scorecards : modeles de KPI agreges et copy, ne prouvent pas recalcul runtime ni normalisation executee.",
            "next_action": "Brancher les scorecards aux premieres pages territoire avec valeurs certifiees et confiance source."
        },
        {
            "key": "reference_territory_scorecard_public_bundle",
            "label": "Territory Scorecard Public Bundle",
            "persona": "fondateur, marketing, territoire, sales, media",
            "user_need": "Copier les scorecards territoire dans une page, un deck, un CRM ou une citation sans perdre sources et caveats.",
            "copy_use": "Page publique, investor slide, sales brief, citation kit, data room.",
            "source_keys": [
                "reference_territory_kpi_scorecard_pack",
                "reference_publishable_territory_page_pack",
                "reference_kpi_copy_pack",
                "reference_public_footnotes"
            ],
            "primary_kpis": [
                "audience_count",
                "block_count",
                "package_count",
                "checklist_count",
                "scorecard_count"
            ],
            "endpoint": "/api/get_reference_territory_scorecard_public_bundle.php?format=json",
            "markdown_export": "/api/get_reference_territory_scorecard_public_bundle.php?format=md",
            "csv_export": "/api/get_reference_territory_scorecard_public_bundle.php?format=csv",
            "caveat": "Bundle copy : structure les blocs publics, ne remplace pas valeurs certifiees ni validation runtime.",
            "next_action": "Utiliser ce bundle pour publier les premiers profils territoire et citations methodologiques."
        },
        {
            "key": "reference_source_to_score_activation_queue",
            "label": "Source to Score Activation Queue",
            "persona": "data ops, produit, direction, analyste",
            "user_need": "Piloter le passage des sources recuperees vers normalisation, scorecards KPI et publication publique.",
            "copy_use": "Board execution, sprint data, roadmap normalisation, comite produit, publication readiness.",
            "source_keys": [
                "reference_authority_index",
                "reference_territory_data_spine",
                "reference_territory_kpi_scorecard_pack",
                "reference_territory_scorecard_public_bundle"
            ],
            "primary_kpis": [
                "item_count",
                "p1_count",
                "normalize_next_count",
                "publication_ready_count"
            ],
            "endpoint": "/api/get_reference_source_to_score_activation_queue.php?format=json",
            "markdown_export": "/api/get_reference_source_to_score_activation_queue.php?format=md",
            "csv_export": "/api/get_reference_source_to_score_activation_queue.php?format=csv",
            "caveat": "Activation queue : prepare l execution, ne prouve pas scripts lances, sorties generees ou valeurs certifiees.",
            "next_action": "Executer les items P1 de normalisation dans l ordre OpenAgenda, BNLC, BPE, Merimee, DATAtourisme monitor."
        },
        {
            "key": "reference_activation_outputs_manifest",
            "label": "Activation Outputs Manifest",
            "persona": "data ops, produit, direction, analyste",
            "user_need": "Voir quelles sorties source normalisees existent et quelles scorecards elles peuvent hydrater.",
            "copy_use": "Runbook activation, score hydration, publication readiness, board data ops.",
            "source_keys": [
                "reference_source_to_score_activation_queue",
                "reference_territory_kpi_scorecard_pack",
                "reference_territory_scorecard_public_bundle"
            ],
            "primary_kpis": [
                "output_count",
                "activated_count",
                "pending_heavy_count"
            ],
            "endpoint": "/api/get_reference_activation_outputs_manifest.php?format=json",
            "markdown_export": "/api/get_reference_activation_outputs_manifest.php?format=md",
            "csv_export": "/api/get_reference_activation_outputs_manifest.php?format=csv",
            "caveat": "Manifeste activation : ne prouve pas import DB, validation endpoint ou valeurs publiques certifiees.",
            "next_action": "Brancher les sorties activees aux tables faits source et conserver BPE comme job lourd dedie."
        },
        {
            "key": "reference_territory_source_fact_table",
            "label": "Territory Source Fact Table",
            "persona": "data ops, analyste, produit, direction",
            "user_need": "Transformer les sorties normalisees en faits territoire/source/KPI prets a hydrater les scorecards.",
            "copy_use": "Layer data, score hydration, QA source, data room, publication readiness.",
            "source_keys": [
                "reference_activation_outputs_manifest",
                "reference_territory_data_spine",
                "reference_territory_kpi_scorecard_pack"
            ],
            "primary_kpis": [
                "schema_count",
                "input_count",
                "output_count"
            ],
            "endpoint": "/api/get_reference_territory_source_facts.php?format=json",
            "markdown_export": "/api/get_reference_territory_source_facts.php?format=md",
            "csv_export": "/api/get_reference_territory_source_facts.php?format=csv",
            "caveat": "Table faits : ne prouve pas import DB, validation endpoint ou certification finale des scores publics.",
            "next_action": "Utiliser les faits pour hydrater les scorecards territoire et calculer les premiers profils pilotes."
        },
        {
            "key": "reference_territory_kpi_score_table",
            "label": "Territory KPI Score Table",
            "persona": "data ops, analyste, produit, direction, marketing",
            "user_need": "Calculer des scores KPI territoire coherents depuis les faits source normalises avec copy et caveats.",
            "copy_use": "Score hydration, page territoire, deck, data room, QA publication.",
            "source_keys": [
                "reference_territory_source_fact_table",
                "reference_territory_kpi_scorecard_pack",
                "reference_territory_scorecard_public_bundle"
            ],
            "primary_kpis": [
                "schema_count",
                "input_count",
                "output_count",
                "scorecard_count"
            ],
            "endpoint": "/api/get_reference_territory_kpi_scores.php?format=json",
            "markdown_export": "/api/get_reference_territory_kpi_scores.php?format=md",
            "csv_export": "/api/get_reference_territory_kpi_scores.php?format=csv",
            "caveat": "Scores KPI : calcules depuis sorties normalisees, ne prouvent pas import DB, validation endpoint ou certification finale.",
            "next_action": "Brancher les scores calcules dans le bundle public des premiers territoires pilotes."
        },
        {
            "key": "reference_territory_pilot_profiles",
            "label": "Territory Pilot Profiles",
            "persona": "produit, marketing, fondateur, data ops, territoire",
            "user_need": "Transformer les scores KPI en profils territoire pilotes copiables avec sources, confiance et caveats.",
            "copy_use": "Page pilote, deck, data room, revue publication, selection territoires prioritaires.",
            "source_keys": [
                "reference_territory_kpi_score_table",
                "reference_territory_scorecard_public_bundle",
                "reference_publishable_territory_page_pack"
            ],
            "primary_kpis": [
                "schema_count",
                "output_count",
                "rule_count"
            ],
            "endpoint": "/api/get_reference_territory_pilot_profiles.php?format=json",
            "markdown_export": "/api/get_reference_territory_pilot_profiles.php?format=md",
            "csv_export": "/api/get_reference_territory_pilot_profiles.php?format=csv",
            "caveat": "Profils pilotes : generes depuis scores locaux, ne prouvent pas import DB, validation endpoint ou noms publics verifies.",
            "next_action": "Revoir les 50 profils pilotes, brancher les noms publics territoire puis publier les premiers profils."
        },
        {
            "key": "reference_publishable_territory_profiles",
            "label": "Publishable Territory Profiles",
            "persona": "produit, marketing, fondateur, data ops, territoire",
            "user_need": "Produire des profils territoire publiables avec label source, maille lisible, scorecards, confiance et caveats.",
            "copy_use": "Page publique brouillon, deck, revue publication, selection territoires prioritaires.",
            "source_keys": [
                "reference_territory_pilot_profiles",
                "reference_territory_kpi_score_table",
                "reference_territory_scorecard_public_bundle"
            ],
            "primary_kpis": [
                "schema_count",
                "output_count",
                "rule_count"
            ],
            "endpoint": "/api/get_reference_publishable_territory_profiles.php?format=json",
            "markdown_export": "/api/get_reference_publishable_territory_profiles.php?format=md",
            "csv_export": "/api/get_reference_publishable_territory_profiles.php?format=csv",
            "caveat": "Profils publiables : brouillons data/copy, demandent revue label, preuves, sources et approbation finale.",
            "next_action": "Publier les premiers profils apres revue labels et selection des preuves source."
        },
        {
            "key": "reference_profile_publication_queue",
            "label": "Profile Publication Queue",
            "persona": "produit, marketing, fondateur, data ops, editorial",
            "user_need": "Prioriser les profils territoire a publier avec gates editoriaux, preuve multi-source et prochaines actions.",
            "copy_use": "Revue publication, planning editorial, page publique, deck, validation source.",
            "source_keys": [
                "reference_publishable_territory_profiles",
                "reference_territory_scorecard_public_bundle",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "schema_count",
                "status_count",
                "output_count"
            ],
            "endpoint": "/api/get_reference_profile_publication_queue.php?format=json",
            "markdown_export": "/api/get_reference_profile_publication_queue.php?format=md",
            "csv_export": "/api/get_reference_profile_publication_queue.php?format=csv",
            "caveat": "Queue publication : controle editorial, ne vaut pas approbation finale, import DB ou validation endpoint.",
            "next_action": "Traiter les profils needs_multi_source_proof avant toute publication publique."
        },
        {
            "key": "reference_profile_proof_cards",
            "label": "Profile Proof Cards",
            "persona": "produit, marketing, editorial, data ops, territoire",
            "user_need": "Ajouter des preuves multi-sources aux profils territoire avant publication publique.",
            "copy_use": "Revue editoriale, page territoire, proof strip, citation kit, validation source.",
            "source_keys": [
                "reference_publishable_territory_profiles",
                "reference_territory_source_fact_table",
                "reference_profile_publication_queue"
            ],
            "primary_kpis": [
                "schema_count",
                "output_count",
                "status_count"
            ],
            "endpoint": "/api/get_reference_profile_proof_cards.php?format=json",
            "markdown_export": "/api/get_reference_profile_proof_cards.php?format=md",
            "csv_export": "/api/get_reference_profile_proof_cards.php?format=csv",
            "caveat": "Proof cards : soutiennent la revue editoriale, ne prouvent pas exhaustivite terrain ni approbation finale.",
            "next_action": "Utiliser les proof cards pour promouvoir les profils de needs_multi_source_proof vers revue editoriale."
        },
        {
            "key": "reference_kpi_copy_pack",
            "label": "KPI Copy Pack",
            "persona": "fondateur, marketing, data, territoire, sales",
            "user_need": "Copier des KPI vin et oenotourisme coherents, sexy et publies avec source, maille, date et caveat.",
            "copy_use": "Page territoire, deck commercial, note investisseur, brief partenaire, CRM, CMS.",
            "source_keys": [
                "reference_kpi_publication_certificates",
                "reference_public_footnotes",
                "reference_source_attributions",
                "reference_source_demand_backlog"
            ],
            "primary_kpis": [
                "section_count",
                "item_count",
                "rule_count",
                "copy_ready_status"
            ],
            "endpoint": "/api/get_reference_kpi_copy_pack.php?format=json",
            "markdown_export": "/api/get_reference_kpi_copy_pack.php?format=md",
            "csv_export": "/api/get_reference_kpi_copy_pack.php?format=csv",
            "caveat": "Pack copie : ne remplace pas les certificats de publication, attributions source ou controles de licence.",
            "next_action": "Brancher les snippets sur les pages territoires et les exports commerciaux prioritaires."
        },
        {
            "key": "reference_user_need_kpi_map",
            "label": "User Need KPI Map",
            "persona": "fondateur, territoire, domaine, data partner, media",
            "user_need": "Relier chaque besoin utilisateur aux KPI, sources, regles d agregation et formats copiables.",
            "copy_use": "Cadrage produit, roadmap data, page territoire, brief commercial, cahier des charges source.",
            "source_keys": [
                "reference_kpi_copy_pack",
                "reference_kpi_aggregation_rules",
                "reference_source_acquisition_sprint",
                "reference_page_publication_kit"
            ],
            "primary_kpis": [
                "persona_count",
                "need_count",
                "unique_kpi_count",
                "copy_block_count"
            ],
            "endpoint": "/api/get_reference_user_need_kpi_map.php?format=json",
            "markdown_export": "/api/get_reference_user_need_kpi_map.php?format=md",
            "csv_export": "/api/get_reference_user_need_kpi_map.php?format=csv",
            "caveat": "Cartographie besoin : ne prouve pas la publiabilite individuelle des KPI sans certificat et attribution source.",
            "next_action": "Utiliser cette matrice pour prioriser les prochains packs sources et les pages territoire."
        },
        {
            "key": "reference_publishable_territory_page_pack",
            "label": "Publishable Territory Page Pack",
            "persona": "territoire, fondateur, marketing, media, data",
            "user_need": "Assembler une page territoire vin et oenotourisme publiable avec KPI, sources, caveats et blocs copiables.",
            "copy_use": "Page publique, landing comparative, one-pager commercial, page methode, CMS.",
            "source_keys": [
                "reference_user_need_kpi_map",
                "reference_kpi_copy_pack",
                "reference_page_publication_kit",
                "reference_territory_page_kit",
                "reference_territory_publication_bundle"
            ],
            "primary_kpis": [
                "blueprint_count",
                "section_count",
                "cms_field_count",
                "gate_count",
                "copy_block_count"
            ],
            "endpoint": "/api/get_reference_publishable_territory_page.php?format=json",
            "markdown_export": "/api/get_reference_publishable_territory_page.php?format=md",
            "csv_export": "/api/get_reference_publishable_territory_page.php?format=csv",
            "caveat": "Pack page publiable : assemble la structure, mais ne remplace pas alimentation KPI, certificats ou controles runtime.",
            "next_action": "Brancher ce pack sur les premieres pages territoire prioritaires et remplacer les placeholders par valeurs certifiees."
        },
        {
            "key": "insee_tourism_occupancy",
            "label": "Insee Tourism Occupancy Pack",
            "persona": "destination, analyste, direction, publication, data ops",
            "user_need": "Contextualiser un territoire viticole avec la demande touristique officielle : nuitées, arrivées et occupation.",
            "copy_use": "KPI demande touristique, fiche territoire, deck destination, score oenotourisme, benchmark offre/demande.",
            "source_keys": [
                "insee_tourism_occupancy",
                "insee_tourism_capacity_communes",
                "datatourisme_oenotourism",
                "vignobles_decouvertes"
            ],
            "primary_kpis": [
                "zip_available",
                "sample_latest_period",
                "sample_measure_count",
                "sample_geo_level_count",
                "zip_file_count"
            ],
            "endpoint": "/api/get_insee_tourism_occupancy.php?format=json",
            "markdown_export": "/api/get_insee_tourism_occupancy.php?format=md",
            "csv_export": "/api/get_insee_tourism_occupancy.php?format=csv",
            "caveat": "Demande touristique generale : ne pas attribuer au vin sans rapprochement territoire/offre oenotouristique.",
            "next_action": "Normaliser DS_TOUR_FREQ_data.csv puis isoler les niveaux geo comparables aux territoires viticoles."
        },
        {
            "key": "bnsc_bike_parking",
            "label": "BNSC Bike Parking Pack",
            "persona": "destination, oenotourisme, mobilite douce, publication, data ops",
            "user_need": "Qualifier l accessibilite velo d un territoire oenotouristique avec un signal national standardise.",
            "copy_use": "Score oenotourisme, page territoire, carte mobilite douce, deck destination, data room.",
            "source_keys": [
                "bnsc_bike_parking",
                "datatourisme_oenotourism",
                "ban_address_reference",
                "reference_kpi_aggregation_rules"
            ],
            "primary_kpis": [
                "sampled_parkings",
                "sample_commune_count",
                "sample_capacity",
                "sample_covered_count",
                "sample_lit_count"
            ],
            "endpoint": "/api/get_bnsc_bike_parking.php?format=json",
            "markdown_export": "/api/get_bnsc_bike_parking.php?format=md",
            "csv_export": "/api/get_bnsc_bike_parking.php?format=csv",
            "caveat": "Source OSM/ODbL contributive : signal mobilite douce non exhaustif, pas label Accueil Velo ni frequentation.",
            "next_action": "Normaliser le ZIP puis agreger par code commune pour activer bike_access_signal."
        },
        {
            "key": "insee_tourism_capacity_communes",
            "label": "Capacité touristique communale INSEE",
            "persona": "destination, institutionnel, analyste, sales",
            "user_need": "Mesurer la capacité d’accueil officielle d’un territoire avant de parler potentiel œnotouristique.",
            "copy_use": "Brief destination, score capacité accueil, benchmark commune/département.",
            "source_keys": [
                "insee_tourism_capacity_communes"
            ],
            "primary_kpis": [
                "communes",
                "total_tourism_capacity",
                "hotel_rooms",
                "camping_pitches",
                "other_accommodation_bedplaces"
            ],
            "endpoint": "/api/get_insee_tourism_capacity.php?format=json",
            "markdown_export": "/api/reference_export.php?type=insee_tourism_capacity_communes&format=md",
            "csv_export": "/api/reference_export.php?type=insee_tourism_capacity_communes",
            "caveat": "Capacité officielle au 1er janvier : pas fréquentation réelle, pas nuitées, pas motivation vin.",
            "next_action": "Croiser par code commune avec INAO, DATAtourisme et Vignobles & Découvertes."
        },
        {
            "key": "qualite_tourisme_establishments",
            "label": "Qualite Tourisme Establishments Pack",
            "persona": "destination, oenotourisme, publication, data ops, commercial",
            "user_need": "Qualifier la qualite d accueil touristique d un territoire avec un label d Etat et des caveats clairs sur le lien vin.",
            "copy_use": "KPI accueil, fiche territoire, score oenotourisme, carte qualite, data room destination.",
            "source_keys": [
                "qualite_tourisme_establishments",
                "datatourisme_oenotourism",
                "vignobles_decouvertes",
                "classified_accommodations",
                "tourism_handicap_establishments"
            ],
            "primary_kpis": [
                "sampled_establishments",
                "wine_related_establishments",
                "geocoded_rate",
                "region_count",
                "activity_count"
            ],
            "endpoint": "/api/get_qualite_tourisme_establishments.php?format=json",
            "markdown_export": "/api/get_qualite_tourisme_establishments.php?format=md",
            "csv_export": "/api/get_qualite_tourisme_establishments.php?format=csv",
            "caveat": "Label qualite accueil : ne mesure pas frequentation ni preuve vin sans rapprochement DATAtourisme/V&D/commune viticole.",
            "next_action": "Normaliser le CSV puis rapprocher par commune/geocodage avec les offres oenotouristiques et labels destination."
        },
        {
            "key": "tourism_handicap_establishments",
            "label": "Établissements Tourisme & Handicap",
            "persona": "destination inclusive, institutionnel, oenotourisme, qualité",
            "user_need": "Qualifier l’accessibilité réelle de l’offre touristique locale par établissements labellisés.",
            "copy_use": "Brief destination inclusive, score accueil, annexe qualité accessibilité.",
            "source_keys": [
                "tourisme_handicap_establishments"
            ],
            "primary_kpis": [
                "establishments",
                "all_four_disabilities",
                "cities",
                "departments",
                "activities"
            ],
            "endpoint": "/api/get_tourism_handicap_establishments.php?format=json",
            "markdown_export": "/api/reference_export.php?type=tourism_handicap_establishments&format=md",
            "csv_export": "/api/reference_export.php?type=tourism_handicap_establishments",
            "caveat": "Label accessibilité : ne mesure pas fréquentation, satisfaction ni exhaustivité de toute l’offre touristique.",
            "next_action": "Croiser avec DATAtourisme, hébergements classés, V&D et communes viticoles."
        },
        {
            "key": "ban_address_quality",
            "label": "Qualité adresse BAN",
            "persona": "cartographie, destination, data ops, publication",
            "user_need": "Verifier et geocoder les adresses de lieux vin/oenotourisme avant cartes, scores territoriaux et pages publiques.",
            "copy_use": "Audit geocodage, carte territoire, QA publication, enrichissement DATAtourisme/Sirene.",
            "source_keys": [
                "ban_address_reference",
                "ban_commune_status"
            ],
            "primary_kpis": [
                "audit_rows",
                "geocoded_rate",
                "average_address_score",
                "low_quality_rows",
                "certified_address_rows",
                "commune_count"
            ],
            "endpoint": "/api/get_ban_address_quality.php?format=json",
            "markdown_export": "/api/get_ban_address_quality.php?format=md",
            "csv_export": "/api/reference_export.php?type=ban_address_quality",
            "caveat": "La BAN qualifie adresse et coordonnees ; elle ne prouve ni ouverture au public, ni pertinence vin, ni frequentation.",
            "next_action": "Produire sources/ban-address-quality.csv a partir des lieux Winerix et isoler les adresses faibles."
        },
        {
            "key": "agencebio_organic_wine",
            "label": "Agence Bio Organic Wine Pack",
            "persona": "destination, data ops, publication, durabilite, analyste",
            "user_need": "Mesurer et expliquer la presence bio liee au vin par territoire avec source officielle, SIRET, certificateur et caveats.",
            "copy_use": "KPI durabilite, fiche territoire, data room source, score oenotourisme responsable.",
            "source_keys": [
                "agencebio_organic_wine",
                "sirene_wine_establishments",
                "ban_address_quality",
                "reference_trust_badges"
            ],
            "primary_kpis": [
                "wine_related_operators",
                "department_count",
                "city_count",
                "certifier_count",
                "source_mode"
            ],
            "endpoint": "/api/get_agencebio_organic_wine.php?format=json",
            "markdown_export": "/api/get_agencebio_organic_wine.php?format=md",
            "csv_export": "/api/get_agencebio_organic_wine.php?format=csv",
            "caveat": "Annuaire declaratif Agence Bio : publier d abord des agregats territoire ; le groupe culture VI de l historique communal inclut une faible part de raisin de table.",
            "next_action": "Normaliser les operateurs vin bio puis croiser SIRET/Sirene/BAN/communes pour activer le KPI durabilite bio."
        },
        {
            "key": "hve_certified_estates",
            "label": "Exploitations certifiées HVE",
            "persona": "territoire, durabilite, oenotourisme, direction",
            "user_need": "Ajouter un signal environnemental officiel pour qualifier les domaines, territoires et offres viticoles.",
            "copy_use": "Score durabilite territoire, fiche domaine, deck destination, preuve environnementale.",
            "source_keys": [
                "hve_certified_estates"
            ],
            "primary_kpis": [
                "certified_estates",
                "wine_related_estates",
                "wine_related_rate",
                "region_count",
                "department_count",
                "commune_count"
            ],
            "endpoint": "/api/get_hve_certified_estates.php?format=json",
            "markdown_export": "/api/get_hve_certified_estates.php?format=md",
            "csv_export": "/api/reference_export.php?type=hve_certified_estates",
            "caveat": "Annuaire volontaire et filtrage vin textuel : relire avant publication forte ou usage nominatif.",
            "next_action": "Rapprocher HVE avec domaines Winerix, Sirene, BAN et communes viticoles."
        },
        {
            "key": "eambrosia_gi",
            "label": "Preuve réglementaire eAmbrosia",
            "persona": "réglementaire, appellation, publication, analyste",
            "user_need": "Sécuriser les preuves GI, PDO/AOP, PGI/IGP et cahiers des charges.",
            "copy_use": "Contrôle appellation, annexe réglementaire.",
            "source_keys": [
                "eambrosia_gi"
            ],
            "primary_kpis": [
                "gi_count",
                "registered_count",
                "pdo_count",
                "pgi_count",
                "specification_urls"
            ],
            "endpoint": "/api/get_eambrosia_gis.php?format=json",
            "markdown_export": "/api/reference_export.php?type=eambrosia_gis&format=md",
            "csv_export": "/api/reference_export.php?type=eambrosia_gis",
            "caveat": "Preuve UE à croiser avec INAO/COMAGRI et libellés locaux.",
            "next_action": "Utiliser aussi le contrôle des écarts appellation/eAmbrosia."
        },
        {
            "key": "inao_aoc_aop_communes",
            "label": "Aires AOC/AOP INAO par commune",
            "persona": "territoire, appellation, publication, data ops",
            "user_need": "Relier les aires officielles AOC/AOP aux communes pour sécuriser un périmètre territorial.",
            "copy_use": "Cadrage appellation, preuve communale, QA réglementaire.",
            "source_keys": [
                "inao_aoc_aop_commune_areas",
                "appellations",
                "comagri_ao_2025"
            ],
            "primary_kpis": [
                "area_rows",
                "areas",
                "communes",
                "matched_winerix_areas",
                "departments"
            ],
            "endpoint": "/api/get_inao_aoc_aop_communes.php?format=json",
            "markdown_export": "/api/reference_export.php?type=inao_aoc_aop_communes&format=md",
            "csv_export": "/api/reference_export.php?type=inao_aoc_aop_communes",
            "caveat": "AOC/AOP toutes familles : filtrer/croiser avec les appellations vin Winerix, COMAGRI ou eAmbrosia avant usage juridique.",
            "next_action": "Comparer les libellés INAO avec les appellations Winerix et traiter les non-matchs prioritaires."
        },
        {
            "key": "inao_siqo_products",
            "label": "Produits SIQO INAO vin",
            "persona": "appellation, publication, analyste, data ops",
            "user_need": "Identifier les produits vin officiels sous SIQO avant de publier un périmètre ou une preuve appellation.",
            "copy_use": "Filtre produit, cadrage appellation, preuve SIQO.",
            "source_keys": [
                "inao_siqo_products",
                "inao_aoc_aop_commune_areas",
                "eambrosia_gi"
            ],
            "primary_kpis": [
                "products",
                "published_products",
                "appellations",
                "denominations",
                "signs"
            ],
            "endpoint": "/api/get_inao_siqo_products.php?format=json&wine_only=1",
            "markdown_export": "/api/reference_export.php?type=inao_siqo_products&format=md&wine_only=1",
            "csv_export": "/api/reference_export.php?type=inao_siqo_products&wine_only=1",
            "caveat": "Source produit officielle : ne remplace pas les aires communales INAO ni les cahiers des charges eAmbrosia.",
            "next_action": "Rapprocher appellations/dénominations SIQO avec INAO communes et eAmbrosia pour construire une preuve complète."
        },
        {
            "key": "appellation_evidence_pack",
            "label": "Preuve appellation complète",
            "persona": "publication, réglementaire, analyste, data ops",
            "user_need": "Savoir si une appellation est prouvée par produit SIQO, aire communale INAO et eAmbrosia.",
            "copy_use": "Annexe preuve, QA publication, priorisation des gaps réglementaires.",
            "source_keys": [
                "appellations",
                "inao_siqo_products",
                "inao_aoc_aop_commune_areas",
                "eambrosia_gi"
            ],
            "primary_kpis": [
                "complete_evidence",
                "coverage_rate",
                "siqo_matched",
                "inao_area_matched",
                "eambrosia_matched"
            ],
            "endpoint": "/api/get_appellation_evidence_pack.php?format=json",
            "markdown_export": "/api/reference_export.php?type=appellation_evidence_pack&format=md",
            "csv_export": "/api/reference_export.php?type=appellation_evidence_pack",
            "caveat": "Matching normalisé accents/casse/ponctuation, mais encore textuel : relire les libellés avant usage juridique ou publication forte.",
            "next_action": "Traiter les gaps SIQO, INAO aire et eAmbrosia avant de promettre une preuve complète."
        },
        {
            "key": "regulatory_gaps",
            "label": "Contrôle écarts appellations/eAmbrosia",
            "persona": "data ops, réglementaire, publication",
            "user_need": "Identifier les appellations sans preuve eAmbrosia directe et les GI orphelines.",
            "copy_use": "File de revue, QA réglementaire.",
            "source_keys": [
                "appellations",
                "eambrosia_gi"
            ],
            "primary_kpis": [
                "matched",
                "missing_eambrosia",
                "orphan_eambrosia",
                "match_rate"
            ],
            "endpoint": "/api/get_appellation_regulatory_gaps.php?format=json",
            "markdown_export": "/api/reference_export.php?type=appellation_regulatory_gaps&format=md",
            "csv_export": "/api/reference_export.php?type=appellation_regulatory_gaps",
            "caveat": "Matching textuel normalisé : relire avant usage juridique.",
            "next_action": "Qualifier les non-appariements prioritaires."
        },
        {
            "key": "agreste_viticulture",
            "label": "Cadrage Agreste viticulture",
            "persona": "territoire, filière, appellation, investisseur",
            "user_need": "Cadrer surface, production et exploitations avec une source statistique officielle.",
            "copy_use": "Brief filière, ordre de grandeur territoire.",
            "source_keys": [
                "agreste_viticulture_territorial"
            ],
            "primary_kpis": [
                "surface_vigne",
                "production_vin",
                "exploitations_viticoles"
            ],
            "endpoint": "/api/get_agreste_viticulture.php?format=json",
            "markdown_export": "/api/reference_export.php?type=agreste_viticulture&format=md",
            "csv_export": "/api/reference_export.php?type=agreste_viticulture",
            "caveat": "Statistique territoriale, pas preuve parcellaire ni domaine.",
            "next_action": "Croiser avec RPG et appellations."
        },
        {
            "key": "agreste_vineyard_land_values",
            "label": "Foncier viticole Agreste",
            "persona": "investisseur, territoire, direction, analyste",
            "user_need": "Ajouter un signal de rarete et d attractivite fonciere aux lectures vin/oenotourisme.",
            "copy_use": "Contexte investissement, slide territoire, benchmark foncier.",
            "source_keys": [
                "agreste_vineyard_land_values"
            ],
            "primary_kpis": [
                "normalized_rows",
                "vineyard_rows",
                "territory_count",
                "average_price_eur_ha",
                "price_min_eur_ha",
                "price_max_eur_ha"
            ],
            "endpoint": "/api/get_agreste_vineyard_land_values.php?format=json",
            "markdown_export": "/api/get_agreste_vineyard_land_values.php?format=md",
            "csv_export": "/api/reference_export.php?type=agreste_vineyard_land_values",
            "caveat": "Valeurs vignes lissees avec concours SAFER : contexte foncier, pas prix transactionnel brut.",
            "next_action": "Normaliser la ressource Agreste en CSV local puis relier aux territoires viticoles."
        },
        {
            "key": "dgddi_vitivinicole_supply",
            "label": "Récoltes et stocks vitivinicoles DGDDI",
            "persona": "filiere, territoire, analyste, direction",
            "user_need": "Ajouter le contexte offre : surfaces productives, recoltes, declarations et stocks pour lire un territoire viticole.",
            "copy_use": "Brief filiere, page territoire, contexte offre, deck direction.",
            "source_keys": [
                "dgddi_vitivinicole_stocks_harvests"
            ],
            "primary_kpis": [
                "harvest_resource_count",
                "stock_resource_count",
                "surface_ha_total",
                "production_hl_total",
                "stock_hl_total",
                "stock_to_production_ratio"
            ],
            "endpoint": "/api/get_dgddi_vitivinicole_supply.php?format=json",
            "markdown_export": "/api/get_dgddi_vitivinicole_supply.php?format=md",
            "csv_export": "/api/reference_export.php?type=dgddi_vitivinicole_supply",
            "caveat": "Jeu historique data.gouv ancien ; basculer/valider DataDouane avant publication de chiffres recents.",
            "next_action": "Normaliser les XLS officiels en CSV local avec type, annee, departement, surface, production, stock et declarations."
        },
        {
            "key": "rpg_vineyard_parcels",
            "label": "Parcelles viticoles RPG",
            "persona": "cartographie, territoire, foncier, appellation",
            "user_need": "Mesurer une empreinte viticole déclarative par parcelles PAC.",
            "copy_use": "Brief foncier, carte, diagnostic zone.",
            "source_keys": [
                "rpg_parcels"
            ],
            "primary_kpis": [
                "parcels",
                "surface_ha",
                "communes",
                "latest_year"
            ],
            "endpoint": "/api/get_rpg_vineyard_parcels.php?format=json",
            "markdown_export": "/api/reference_export.php?type=rpg_vineyard_parcels&format=md",
            "csv_export": "/api/reference_export.php?type=rpg_vineyard_parcels",
            "caveat": "Déclaratif PAC : pas propriété cadastrale ni exhaustivité vigne.",
            "next_action": "Contrôler les clés géographiques avant rattachement domaine."
        },
        {
            "key": "source_refresh_policy",
            "label": "Politique de fraîcheur sources",
            "persona": "data ops, publication, gouvernance",
            "user_need": "Savoir quelles sources rafraîchir, avec quelle preuve et quelle commande.",
            "copy_use": "Runbook source, audit fraîcheur.",
            "source_keys": [
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "recommended_cadence",
                "stale_after_days",
                "critical_after_days",
                "evidence_required"
            ],
            "endpoint": "/api/get_source_refresh_policy.php?format=json",
            "markdown_export": "/api/reference_export.php?type=source_refresh_policy&format=md",
            "csv_export": "/api/reference_export.php?type=source_refresh_policy",
            "caveat": "Runbook de gouvernance : ne remplace pas l’import effectif.",
            "next_action": "Traiter les sources critical/due avant publication externe."
        },
        {
            "key": "source_activation_status",
            "label": "Statut activation sources",
            "persona": "data ops, publication, gouvernance",
            "user_need": "Savoir immédiatement quelles sources peuvent être activées et quels fichiers/configs bloquent.",
            "copy_use": "Checklist release, point ops, reprise après déploiement VPS.",
            "source_keys": [
                "source_registry",
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "db_ready",
                "ready_to_run",
                "required_missing_files",
                "optional_missing_files"
            ],
            "endpoint": "/api/get_source_activation_status.php?format=json",
            "markdown_export": "/api/get_source_activation_status.php?format=md",
            "csv_export": "/api/get_source_activation_status.php?format=csv",
            "caveat": "Statut fichiers/config uniquement : ne prouve pas que l’import DB a réussi.",
            "next_action": "Corriger les fichiers/configs manquants puis lancer scripts/activate_reference_sources.php."
        },
        {
            "key": "source_maintenance_board",
            "label": "Board maintenance sources",
            "persona": "data ops, gouvernance, publication",
            "user_need": "Transformer les statuts source en tickets priorisés et copiables.",
            "copy_use": "Daily data ops, plan refresh, reprise de publication.",
            "source_keys": [
                "source_activation_status",
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "publication_action",
                "freshness_status",
                "priority",
                "copy_ticket"
            ],
            "endpoint": "/api/get_source_maintenance_board.php?format=json",
            "markdown_export": "/api/get_source_maintenance_board.php?format=md",
            "csv_export": "/api/get_source_maintenance_board.php?format=csv",
            "caveat": "Board opérationnel : ne prouve pas l’import DB ni la validité métier des données.",
            "next_action": "Traiter les tickets P1/P2/P3 avant publication externe."
        },
        {
            "key": "source_opportunity_radar",
            "label": "Source Opportunity Radar",
            "persona": "data ops, direction, produit, publication",
            "user_need": "Prioriser les nouvelles sources officielles à intégrer pour enrichir les KPI vin et oenotourisme.",
            "copy_use": "Backlog source, point data hebdo, arbitrage produit, roadmap intégration.",
            "source_keys": [
                "franceagrimer_bulk_wine_prices",
                "insee_tourism_capacity_communes",
                "sirene_wine_establishments",
                "ban_address_reference",
                "inao_aoc_aop_igp_areas_products"
            ],
            "primary_kpis": [
                "opportunity_score",
                "priority",
                "impact",
                "effort",
                "confidence_score"
            ],
            "endpoint": "/api/get_source_opportunity_radar.php?format=json",
            "markdown_export": "/api/get_source_opportunity_radar.php?format=md",
            "csv_export": "/api/get_source_opportunity_radar.php?format=csv",
            "caveat": "Radar de priorisation : les sources listées ne sont pas toutes encore importées ni validées métier.",
            "next_action": "Traiter les P1 en imports contrôlés puis les raccorder aux KPI Cards."
        },
        {
            "key": "bulk_wine_prices",
            "label": "Prix vrac FranceAgriMer",
            "persona": "direction, marché, sales, analyste",
            "user_need": "Contextualiser le marché vin avec les prix moyens vrac VSIG/IGP France entière.",
            "copy_use": "Brief marché, note sales, cadrage prix, benchmark macro.",
            "source_keys": [
                "franceagrimer_campagne_viticulture"
            ],
            "primary_kpis": [
                "series",
                "campaigns",
                "latest_price",
                "avg_price",
                "categories"
            ],
            "endpoint": "/api/get_bulk_wine_prices.php?format=json",
            "markdown_export": "/api/reference_export.php?type=bulk_wine_prices&format=md",
            "csv_export": "/api/reference_export.php?type=bulk_wine_prices",
            "caveat": "Prix vrac France entière VSIG/IGP : pas prix domaine, pas contrats privés, pas cotation appellation fine.",
            "next_action": "Normaliser la ressource Visionet dans sources/franceagrimer-prices.csv puis lancer l’import bulk_prices."
        },
        {
            "key": "sirene_wine_establishments",
            "label": "Établissements vin SIRENE",
            "persona": "sales, analyste, direction, data ops",
            "user_need": "Mesurer la densité économique vin par commune, département et code NAF.",
            "copy_use": "Prospection, benchmark territoire, scoring business, annexe méthodo.",
            "source_keys": [
                "sirene_wine_establishments",
                "sirene_insee"
            ],
            "primary_kpis": [
                "establishments",
                "sirens",
                "core_wine_establishments",
                "communes",
                "naf_codes"
            ],
            "endpoint": "/api/get_sirene_wine_establishments.php?format=json",
            "markdown_export": "/api/reference_export.php?type=sirene_wine_establishments&format=md",
            "csv_export": "/api/reference_export.php?type=sirene_wine_establishments",
            "caveat": "Activité administrative déclarée : codes adjacents non exclusivement vin et obligations RGPD pour usages nominatifs.",
            "next_action": "Télécharger le stock établissement Sirene, importer les NAF vin, puis croiser avec communes INAO et offres DATAtourisme."
        },
        {
            "key": "reference_copy_studio",
            "label": "Reference Copy Studio",
            "persona": "direction, destination, appellation, data ops, sales",
            "user_need": "Copier rapidement le bon message, les bons KPI, les bons exports et le caveat selon la décision.",
            "copy_use": "Slides, mail, note exécutive, brief destination, release data.",
            "source_keys": [
                "reference_products",
                "kpi_pack",
                "kpi_evidence"
            ],
            "primary_kpis": [
                "persona",
                "decision",
                "metrics_to_pull",
                "products",
                "caveat"
            ],
            "endpoint": "/api/get_reference_copy_studio.php?format=json",
            "markdown_export": "/api/get_reference_copy_studio.php?format=md",
            "csv_export": "/api/get_reference_copy_studio.php?format=csv",
            "caveat": "Briefs éditoriaux : ils orientent la copie mais ne remplacent pas les chiffres dynamiques du KPI Pack.",
            "next_action": "Choisir le persona, copier le brief, puis remplacer les métriques par les valeurs du pack filtré."
        },
        {
            "key": "reference_user_need_navigator",
            "label": "User Need Navigator",
            "persona": "direction, destination, appellation, sales, data ops, analyste",
            "user_need": "Partir de la décision utilisateur pour choisir les bons KPI, produits, exports et caveats.",
            "copy_use": "Navigation produit, brief commercial, onboarding analyste, publication guidée.",
            "source_keys": [
                "reference_products",
                "reference_kpi_dictionary",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "route_count",
                "persona",
                "hero_kpis",
                "product_keys",
                "missing_product_count"
            ],
            "endpoint": "/api/get_reference_user_need_navigator.php?format=json",
            "markdown_export": "/api/get_reference_user_need_navigator.php?format=md",
            "csv_export": "/api/get_reference_user_need_navigator.php?format=csv",
            "caveat": "Navigator éditorial : il route vers les produits, mais ne prouve pas la fraîcheur ni l’import effectif de chaque source.",
            "next_action": "Le publier comme point d’entrée persona avant le Data Product Index."
        },
        {
            "key": "reference_publishable_snippets",
            "label": "Publishable Snippet Board",
            "persona": "direction, destination, appellation, sales, data ops, analyste",
            "user_need": "Copier un bloc pret a publier pour page, slide, email, brief ou release note.",
            "copy_use": "Homepage, deck, email sales, note methode, release data.",
            "source_keys": [
                "reference_products",
                "reference_user_need_navigator",
                "reference_kpi_dictionary"
            ],
            "primary_kpis": [
                "snippet_count",
                "kpi_slots",
                "product_keys",
                "clipboard_block"
            ],
            "endpoint": "/api/get_reference_publishable_snippets.php?format=json",
            "markdown_export": "/api/get_reference_publishable_snippets.php?format=md",
            "csv_export": "/api/get_reference_publishable_snippets.php?format=csv",
            "caveat": "Blocs éditoriaux : injecter les valeurs dynamiques et vérifier le Publication Gate avant diffusion externe.",
            "next_action": "Utiliser comme bibliothèque de textes pour la page référence et les decks."
        },
        {
            "key": "reference_kpi_scorecard",
            "label": "Reference KPI Scorecard",
            "persona": "direction, produit, analyste, publication, design",
            "user_need": "Organiser les KPI Winerix par familles coherentes, niveaux d aggregation, exports et caveats.",
            "copy_use": "Dashboard, deck, page reference, cadrage KPI, brief design.",
            "source_keys": [
                "reference_products",
                "reference_kpi_dictionary",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "family_count",
                "hero_kpis",
                "aggregation_level",
                "source_products",
                "visual_treatment"
            ],
            "endpoint": "/api/get_reference_kpi_scorecard.php?format=json",
            "markdown_export": "/api/get_reference_kpi_scorecard.php?format=md",
            "csv_export": "/api/get_reference_kpi_scorecard.php?format=csv",
            "caveat": "Scorecard methode : elle structure les familles KPI mais ne remplace pas les valeurs dynamiques ni le Publication Gate.",
            "next_action": "Utiliser comme grille de dashboard et de slides avant les KPI Cards."
        },
        {
            "key": "reference_dashboard_blueprint",
            "label": "Reference Dashboard Blueprint",
            "persona": "produit, design, direction, publication, data ops",
            "user_need": "Transformer les KPI, produits et caveats Winerix en page ou deck reference lisible et actionnable.",
            "copy_use": "Spec dashboard, brief design, page reference, deck commercial.",
            "source_keys": [
                "reference_kpi_scorecard",
                "reference_publishable_snippets",
                "reference_products"
            ],
            "primary_kpis": [
                "section_count",
                "layout",
                "kpi_slots",
                "product_keys",
                "visual_direction"
            ],
            "endpoint": "/api/get_reference_dashboard_blueprint.php?format=json",
            "markdown_export": "/api/get_reference_dashboard_blueprint.php?format=md",
            "csv_export": "/api/get_reference_dashboard_blueprint.php?format=csv",
            "caveat": "Blueprint UI : il structure la page mais ne remplace pas les valeurs dynamiques, les imports ni le Publication Gate.",
            "next_action": "L’utiliser comme cahier des charges pour la page publique référence data."
        },
        {
            "key": "reference_narrative_deck",
            "label": "Reference Narrative Deck",
            "persona": "direction, sales, produit, publication, investisseurs",
            "user_need": "Presenter Winerix comme couche reference data vin/oenotourisme dans un deck clair et caveate.",
            "copy_use": "Deck commercial, pitch investisseur, note partenaire, page narrative.",
            "source_keys": [
                "reference_dashboard_blueprint",
                "reference_kpi_scorecard",
                "reference_publishable_snippets"
            ],
            "primary_kpis": [
                "slide_count",
                "kpi_slots",
                "product_keys",
                "speaker_note",
                "caveat"
            ],
            "endpoint": "/api/get_reference_narrative_deck.php?format=json",
            "markdown_export": "/api/get_reference_narrative_deck.php?format=md",
            "csv_export": "/api/get_reference_narrative_deck.php?format=csv",
            "caveat": "Deck narratif : injecter les valeurs dynamiques depuis les produits et vérifier le Publication Gate avant partage externe.",
            "next_action": "L’utiliser comme structure de pitch et le décliner en slides visuelles."
        },
        {
            "key": "reference_source_lineage",
            "label": "Source-KPI Lineage Matrix",
            "persona": "data ops, analyste, publication, direction",
            "user_need": "Tracer chaque source vers les produits, KPI, exports, caveats et politiques de fraîcheur.",
            "copy_use": "Audit source, annexe méthodo, QA publication, revue gouvernance.",
            "source_keys": [
                "reference_products",
                "source_refresh_policy",
                "reference_kpi_dictionary"
            ],
            "primary_kpis": [
                "source_count",
                "governed_sources",
                "catalog_only_sources",
                "product_count"
            ],
            "endpoint": "/api/get_reference_source_lineage.php?format=json",
            "markdown_export": "/api/get_reference_source_lineage.php?format=md",
            "csv_export": "/api/get_reference_source_lineage.php?format=csv",
            "caveat": "Lineage catalogue : il prouve les liens déclarés source/produit, pas l’import DB effectif ni la fraîcheur runtime.",
            "next_action": "Traiter les sources catalog_only en ajoutant leur politique de fraîcheur ou en les marquant comme produits internes."
        },
        {
            "key": "reference_api_manifest",
            "label": "Reference API Manifest",
            "persona": "développeur, partenaire, data ops, publication",
            "user_need": "Trouver rapidement tous les endpoints produits Winerix, leurs formats, KPI, caveats et priorités.",
            "copy_use": "Documentation API, intégration partenaire, audit exports, génération navigation.",
            "source_keys": [
                "reference_products",
                "reference_source_lineage",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "product_count",
                "publish_count",
                "complete_count",
                "watch_count",
                "endpoint_count"
            ],
            "endpoint": "/api/get_reference_api_manifest.php?format=json",
            "markdown_export": "/api/get_reference_api_manifest.php?format=md",
            "csv_export": "/api/get_reference_api_manifest.php?format=csv",
            "caveat": "Manifeste déclaratif issu du catalogue : vérifier le Publication Gate et les imports avant usage externe.",
            "next_action": "L’utiliser comme source de documentation API et navigation produit."
        },
        {
            "key": "reference_launch_readiness",
            "label": "Reference Launch Readiness",
            "persona": "direction, publication, data ops, produit",
            "user_need": "Savoir si Winerix est prêt à être partagé comme référence data publique et quoi corriger avant lancement.",
            "copy_use": "Checklist launch, go/no-go publication, réunion release, suivi partenaire.",
            "source_keys": [
                "reference_publication_gate",
                "source_activation_status",
                "reference_source_lineage",
                "reference_api_manifest",
                "reference_dashboard_blueprint"
            ],
            "primary_kpis": [
                "check_count",
                "required_count",
                "recommended_count",
                "artifact_available_count",
                "artifact_missing_count"
            ],
            "endpoint": "/api/get_reference_launch_readiness.php?format=json",
            "markdown_export": "/api/get_reference_launch_readiness.php?format=md",
            "csv_export": "/api/get_reference_launch_readiness.php?format=csv",
            "caveat": "Checklist déclarative : elle ne remplace pas les imports DB, la validation runtime ni la validation métier finale.",
            "next_action": "L’utiliser comme go/no-go avant toute diffusion publique ou partenaire."
        },
        {
            "key": "reference_citation_kit",
            "label": "Reference Citation Kit",
            "persona": "publication, analyste, direction, legal, sales",
            "user_need": "Citer proprement les sources officielles et conserver les caveats avec chaque KPI publié.",
            "copy_use": "Annexe méthode, footer slide, page publique, mail partenaire, QA publication.",
            "source_keys": [
                "datatourisme_oenotourism",
                "inao_siqo_products",
                "inao_aoc_aop_commune_areas",
                "eambrosia_gi",
                "insee_tourism_capacity_communes",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "citation_count",
                "official_count",
                "internal_count",
                "license_label",
                "caveat"
            ],
            "endpoint": "/api/get_reference_citation_kit.php?format=json",
            "markdown_export": "/api/get_reference_citation_kit.php?format=md",
            "csv_export": "/api/get_reference_citation_kit.php?format=csv",
            "caveat": "Kit éditorial : vérifier l’URL, la fraîcheur et le Publication Gate avant diffusion externe.",
            "next_action": "L’utiliser comme source unique des citations dans pages, slides et exports."
        },
        {
            "key": "reference_integration_guide",
            "label": "Reference Integration Guide",
            "persona": "développeur, partenaire, data ops, produit",
            "user_need": "Intégrer les API Winerix en Markdown, JSON ou CSV avec des exemples copiables et les bons caveats.",
            "copy_use": "Documentation développeur, onboarding partenaire, intégration dashboard, runbook API.",
            "source_keys": [
                "reference_api_manifest",
                "reference_publication_gate",
                "reference_citation_kit"
            ],
            "primary_kpis": [
                "endpoint_count",
                "recipe_count",
                "markdown_endpoint",
                "json_endpoint",
                "csv_endpoint"
            ],
            "endpoint": "/api/get_reference_integration_guide.php?format=json",
            "markdown_export": "/api/get_reference_integration_guide.php?format=md",
            "csv_export": "/api/get_reference_integration_guide.php?format=csv",
            "caveat": "Guide d’intégration : les exemples doivent conserver les caveats et vérifier le Publication Gate avant affichage externe.",
            "next_action": "Le partager avec tout partenaire ou développeur qui consomme les exports Winerix."
        },
        {
            "key": "reference_data_room_index",
            "label": "Reference Data Room Index",
            "persona": "direction, publication, partenaire, data ops, sales",
            "user_need": "Trouver rapidement le bon livrable Winerix selon l’usage : publication, API, KPI, sources, destination, appellation ou sales.",
            "copy_use": "Sommaire data room, onboarding partenaire, revue publication, navigation interne.",
            "source_keys": [
                "reference_launch_readiness",
                "reference_api_manifest",
                "reference_kpi_scorecard",
                "reference_source_lineage",
                "reference_citation_kit"
            ],
            "primary_kpis": [
                "collection_count",
                "unique_product_count",
                "markdown_export_count",
                "product_keys",
                "copy_order"
            ],
            "endpoint": "/api/get_reference_data_room_index.php?format=json",
            "markdown_export": "/api/get_reference_data_room_index.php?format=md",
            "csv_export": "/api/get_reference_data_room_index.php?format=csv",
            "caveat": "Index de navigation : vérifier les exports produits et le Publication Gate avant partage externe.",
            "next_action": "L’utiliser comme sommaire officiel des livrables de référence Winerix."
        },
        {
            "key": "reference_data_contracts",
            "label": "Reference Data Contracts",
            "persona": "développeur, partenaire, data ops, produit",
            "user_need": "Savoir quels champs et formats attendre pour intégrer les produits API Winerix sans casser les usages.",
            "copy_use": "Contrats API, QA intégration, documentation partenaire, migration de champs.",
            "source_keys": [
                "reference_api_manifest",
                "reference_integration_guide",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "contract_count",
                "catalog_linked_count",
                "missing_product_count",
                "required_fields",
                "quality_gates"
            ],
            "endpoint": "/api/get_reference_data_contracts.php?format=json",
            "markdown_export": "/api/get_reference_data_contracts.php?format=md",
            "csv_export": "/api/get_reference_data_contracts.php?format=csv",
            "caveat": "Contrats logiques : ils documentent les champs attendus mais ne remplacent pas les tests runtime ni la validation des imports.",
            "next_action": "Les utiliser comme garde-fou avant toute intégration externe ou changement de schéma API."
        },
        {
            "key": "reference_release_notes",
            "label": "Reference Release Notes",
            "persona": "direction, publication, sales, data ops, partenaires",
            "user_need": "Savoir quoi annoncer, quoi partager avec caveat et quoi ne pas promettre dans l’état actuel de la référence Winerix.",
            "copy_use": "Note de lancement, mail partenaire, release interne, alignement sales.",
            "source_keys": [
                "reference_launch_readiness",
                "reference_data_room_index",
                "reference_publication_gate",
                "source_activation_status"
            ],
            "primary_kpis": [
                "section_count",
                "unique_product_count",
                "shareable_count",
                "runtime_validation_count"
            ],
            "endpoint": "/api/get_reference_release_notes.php?format=json",
            "markdown_export": "/api/get_reference_release_notes.php?format=md",
            "csv_export": "/api/get_reference_release_notes.php?format=csv",
            "caveat": "Release notes éditoriales : elles ne remplacent pas le Publication Gate ni la validation runtime.",
            "next_action": "Les utiliser pour cadrer le prochain partage public ou partenaire."
        },
        {
            "key": "reference_trust_badges",
            "label": "Trust Badge Pack",
            "persona": "design, publication, produit, data ops",
            "user_need": "Afficher clairement live, partiel, demo, bloque, source officielle, metadata-only ou agregat nominatif.",
            "copy_use": "Badges UI, dashboard, page territoire, deck, data room.",
            "source_keys": [
                "reference_claim_guard",
                "reference_live_kpi_board",
                "reference_visual_system"
            ],
            "primary_kpis": [
                "badge_count",
                "family",
                "tone",
                "html",
                "copy_rule"
            ],
            "endpoint": "/api/get_reference_trust_badges.php?format=json",
            "markdown_export": "/api/get_reference_trust_badges.php?format=md",
            "csv_export": "/api/get_reference_trust_badges.php?format=csv",
            "caveat": "Badge visuel : ne remplace pas Claim Guard, Publication Gate ou revue metier finale.",
            "next_action": "Utiliser ces badges dans territory-reference.html et les exports KPI."
        },
        {
            "key": "reference_claim_guard",
            "label": "Reference Claim Guard",
            "persona": "publication, marketing, direction, legal, data ops",
            "user_need": "Savoir quelles promesses sont autorisees ou interdites selon mode KPI, source et canal.",
            "copy_use": "QA publication, page publique, email partenaire, slide, post court.",
            "source_keys": [
                "reference_live_kpi_board",
                "reference_territory_share_pack",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "mode_count",
                "source_state_count",
                "channel_count",
                "allowed_claims",
                "forbidden_claims"
            ],
            "endpoint": "/api/get_reference_claim_guard.php?format=json",
            "markdown_export": "/api/get_reference_claim_guard.php?format=md",
            "csv_export": "/api/get_reference_claim_guard.php?format=csv",
            "caveat": "Garde-fou editorial : ne remplace pas revue juridique, metier ou Publication Gate final.",
            "next_action": "Utiliser ce guard avant de publier les Share Packs et pages territoire."
        },
        {
            "key": "reference_territory_share_pack",
            "label": "Territory Share Pack",
            "persona": "marketing, publication, sales, direction, destination",
            "user_need": "Copier des textes prets a partager pour une fiche territoire sans reformuler les caveats.",
            "copy_use": "Page publique, email partenaire, slide direction, data room, post court.",
            "source_keys": [
                "reference_territory_publication_bundle",
                "reference_live_kpi_board"
            ],
            "primary_kpis": [
                "channel_count",
                "live_count",
                "partial_count",
                "demo_count",
                "copy"
            ],
            "endpoint": "/api/get_reference_territory_share_pack.php?format=json",
            "markdown_export": "/api/get_reference_territory_share_pack.php?format=md",
            "csv_export": "/api/get_reference_territory_share_pack.php?format=csv",
            "caveat": "Pack editorial : ne remplace pas Publication Gate, validation runtime ni revue metier finale.",
            "next_action": "Utiliser ces blocs dans pages, emails, slides et demos partenaires."
        },
        {
            "key": "reference_territory_publication_bundle",
            "label": "Territory Publication Bundle",
            "persona": "publication, marketing, produit, destination, direction",
            "user_need": "Publier ou partager une fiche territoire avec sections, KPI modes, sources et blocs copiables depuis un seul endpoint.",
            "copy_use": "Page territoire, demo partenaire, data room courte, brief destination.",
            "source_keys": [
                "reference_territory_page_kit",
                "reference_live_kpi_board",
                "reference_kpi_dependency_map"
            ],
            "primary_kpis": [
                "live_count",
                "partial_count",
                "demo_count",
                "section_count",
                "copy_blocks"
            ],
            "endpoint": "/api/get_reference_territory_publication_bundle.php?format=json",
            "markdown_export": "/api/get_reference_territory_publication_bundle.php?format=md",
            "csv_export": "/api/get_reference_territory_publication_bundle.php?format=csv",
            "caveat": "Bundle logique : ne remplace pas validation runtime, imports DB, revue metier ou Publication Gate externe.",
            "next_action": "Utiliser ce bundle comme source unique pour les prototypes territoire publics."
        },
        {
            "key": "reference_live_kpi_board",
            "label": "Live KPI Board",
            "persona": "publication, produit, design, direction, data ops",
            "user_need": "Savoir quels KPI territoire afficher en live, partiel, demo ou bloque dans une page publique.",
            "copy_use": "Page territoire, dashboard public, QA publication, demo partenaire.",
            "source_keys": [
                "reference_score_hydration",
                "reference_territory_score_calculator",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "live_count",
                "partial_count",
                "demo_count",
                "blocked_count",
                "display_mode"
            ],
            "endpoint": "/api/get_reference_live_kpi_board.php?format=json",
            "markdown_export": "/api/get_reference_live_kpi_board.php?format=md",
            "csv_export": "/api/get_reference_live_kpi_board.php?format=csv",
            "caveat": "Mode affichage logique : ne remplace pas revue metier finale ni Publication Gate externe.",
            "next_action": "Brancher ce board dans territory-reference.html pour choisir live/partial/demo par carte."
        },
        {
            "key": "reference_score_hydration",
            "label": "Score Hydration Board",
            "persona": "data ops, produit, publication, direction, analyste",
            "user_need": "Savoir quels scores territoire peuvent etre calcules avec donnees normalisees, lesquels restent partiels ou bloques.",
            "copy_use": "Go/no-go hydratation KPI, dashboard readiness, debug page territoire.",
            "source_keys": [
                "reference_kpi_dependency_map",
                "reference_normalization_quality_gates",
                "reference_territory_score_calculator"
            ],
            "primary_kpis": [
                "hydrated_ready_count",
                "partially_hydratable_count",
                "blocked_by_normalization_count",
                "hydration_rate"
            ],
            "endpoint": "/api/get_reference_score_hydration.php?format=json",
            "markdown_export": "/api/get_reference_score_hydration.php?format=md",
            "csv_export": "/api/get_reference_score_hydration.php?format=csv",
            "caveat": "Hydratation logique : ne remplace pas revue metier, Publication Gate ni import DB valide.",
            "next_action": "Utiliser ce board pour choisir quels scores afficher en live et lesquels laisser en pipeline."
        },
        {
            "key": "reference_kpi_dependency_map",
            "label": "KPI Dependency Map",
            "persona": "data ops, produit, analyste, publication, direction",
            "user_need": "Comprendre quelles sources et normalisations alimentent chaque composant de score territoire.",
            "copy_use": "Lineage KPI, data room, debug score, priorisation normalisation.",
            "source_keys": [
                "reference_territory_kpi_formulas",
                "reference_normalization_runbook",
                "reference_normalization_quality_gates"
            ],
            "primary_kpis": [
                "score_count",
                "component_dependency_count",
                "unique_source_count",
                "normalization_output_count"
            ],
            "endpoint": "/api/get_reference_kpi_dependency_map.php?format=json",
            "markdown_export": "/api/get_reference_kpi_dependency_map.php?format=md",
            "csv_export": "/api/get_reference_kpi_dependency_map.php?format=csv",
            "caveat": "Carte logique : ne verifie ni existence fichier, ni qualite donnees, ni import DB.",
            "next_action": "Utiliser avec Readiness et Quality Gates pour savoir quels scores peuvent etre hydrates."
        },
        {
            "key": "reference_normalization_quality_gates",
            "label": "Normalization Quality Gates",
            "persona": "data ops, publication, produit, direction",
            "user_need": "Verifier qu un CSV normalise est structurellement pret avant import, score ou publication.",
            "copy_use": "QA source, checklist import, Publication Gate, runbook data ops.",
            "source_keys": [
                "reference_normalization_runbook",
                "reference_normalization_readiness"
            ],
            "primary_kpis": [
                "qa_ready_count",
                "blocked_count",
                "status_counts",
                "missing_columns",
                "row_count"
            ],
            "endpoint": "/api/get_reference_normalization_quality_gates.php?format=json",
            "markdown_export": "/api/get_reference_normalization_quality_gates.php?format=md",
            "csv_export": "/api/get_reference_normalization_quality_gates.php?format=csv",
            "caveat": "QA structurelle : ne remplace pas revue metier, statistiques ni validation import DB.",
            "next_action": "Utiliser ces gates apres chaque normalisation et avant tout import ou hydratation KPI."
        },
        {
            "key": "reference_normalization_readiness",
            "label": "Reference Normalization Readiness",
            "persona": "data ops, produit, publication, direction",
            "user_need": "Savoir quelles normalisations sont pretes, bloquees ou deja produites sans lancer les scripts.",
            "copy_use": "Checklist execution, daily source ops, sprint normalisation, go/no-go import.",
            "source_keys": [
                "reference_normalization_runbook",
                "reference_source_normalization_backlog"
            ],
            "primary_kpis": [
                "ready_to_run_count",
                "normalized_file_available_count",
                "missing_input_count",
                "next_ready_source"
            ],
            "endpoint": "/api/get_reference_normalization_readiness.php?format=json",
            "markdown_export": "/api/get_reference_normalization_readiness.php?format=md",
            "csv_export": "/api/get_reference_normalization_readiness.php?format=csv",
            "caveat": "Readiness fichiers : ne valide ni contenu CSV, ni execution script, ni import DB.",
            "next_action": "Remplir les inputs manquants puis executer uniquement les sources ready_to_run."
        },
        {
            "key": "reference_normalization_runbook",
            "label": "Reference Normalization Runbook",
            "persona": "data ops, produit, publication, direction",
            "user_need": "Executer les normalisations sources dans le bon ordre avec commandes, fichiers cibles, gates et caveats.",
            "copy_use": "Runbook data ops, checklist normalisation, plan sprint source, data room methode.",
            "source_keys": [
                "reference_source_normalization_backlog",
                "source_refresh_policy",
                "reference_source_fidelity"
            ],
            "primary_kpis": [
                "step_count",
                "priority",
                "input_file",
                "output_file",
                "command"
            ],
            "endpoint": "/api/get_reference_normalization_runbook.php?format=json",
            "markdown_export": "/api/get_reference_normalization_runbook.php?format=md",
            "csv_export": "/api/get_reference_normalization_runbook.php?format=csv",
            "caveat": "Runbook execution : ne prouve pas que les scripts ont ete lances ni que les imports DB sont valides.",
            "next_action": "Remplir les fichiers input prioritaires puis executer Sirene, BAN et HVE en premier."
        },
        {
            "key": "reference_source_normalization_backlog",
            "label": "Source Normalization Backlog",
            "persona": "data ops, produit, publication, direction",
            "user_need": "Prioriser les sources a normaliser pour passer de metadata/CSV brut a KPI territoire exploitables.",
            "copy_use": "Roadmap data ops, comite source, runbook import, arbitrage produit.",
            "source_keys": [
                "source_opportunity_radar",
                "source_refresh_policy",
                "reference_source_fidelity"
            ],
            "primary_kpis": [
                "item_count",
                "top_priority_source",
                "status_counts",
                "target_file",
                "publication_gain"
            ],
            "endpoint": "/api/get_reference_source_normalization_backlog.php?format=json",
            "markdown_export": "/api/get_reference_source_normalization_backlog.php?format=md",
            "csv_export": "/api/get_reference_source_normalization_backlog.php?format=csv",
            "caveat": "Backlog d execution : ne prouve pas que normalisations CSV ou imports DB sont realises.",
            "next_action": "Traiter Sirene et BAN en premier pour activer densite business et cartes fiables."
        },
        {
            "key": "reference_territory_score_inputs",
            "label": "Territory Score Input Templates",
            "persona": "produit, data, publication, design, sales",
            "user_need": "Disposer de jeux de composants 0-100 prets a copier pour alimenter les scores territoire.",
            "copy_use": "Prototype score, demo page territoire, dashboard, QA Publication Gate.",
            "source_keys": [
                "reference_territory_score_calculator",
                "reference_territory_kpi_formulas"
            ],
            "primary_kpis": [
                "template_count",
                "component_value",
                "source_status",
                "publication_gate",
                "score_url"
            ],
            "endpoint": "/api/get_reference_territory_score_inputs.php?format=json",
            "markdown_export": "/api/get_reference_territory_score_inputs.php?format=md",
            "csv_export": "/api/get_reference_territory_score_inputs.php?format=csv",
            "caveat": "Templates de demonstration/cadrage : remplacer par valeurs sources actives avant publication externe.",
            "next_action": "Utiliser les URLs score generees pour tester les pages territoire et dashboards."
        },
        {
            "key": "reference_territory_score_calculator",
            "label": "Territory Score Calculator",
            "persona": "data, produit, publication, direction, design",
            "user_need": "Calculer des scores territoire ponderes, caveates et copiables a partir des formules Winerix.",
            "copy_use": "API score, prototype page territoire, dashboard, annexe methode.",
            "source_keys": [
                "reference_territory_kpi_formulas",
                "reference_publication_gate",
                "reference_territory_page_kit"
            ],
            "primary_kpis": [
                "average_score",
                "publishable_with_caveat_count",
                "pipeline_count",
                "score",
                "publishability"
            ],
            "endpoint": "/api/get_reference_territory_scores.php?format=json",
            "markdown_export": "/api/get_reference_territory_scores.php?format=md",
            "csv_export": "/api/get_reference_territory_scores.php?format=csv",
            "caveat": "Calculateur logique avec composants demo/overrides : les valeurs publiees doivent venir des sources actives.",
            "next_action": "Brancher les composants reels issus des jointures territoire et du Publication Gate."
        },
        {
            "key": "reference_territory_kpi_formulas",
            "label": "Territory KPI Formula Book",
            "persona": "data, produit, publication, direction, analyste",
            "user_need": "Comprendre comment les scores territoire Winerix sont ponderes, compares et caveates.",
            "copy_use": "Spec KPI, annexe methode, data room, brief dashboard.",
            "source_keys": [
                "reference_territory_kpi_crosswalk",
                "reference_kpi_dictionary",
                "reference_publication_gate",
                "reference_source_fidelity"
            ],
            "primary_kpis": [
                "metric_count",
                "normalization_rule_count",
                "formula",
                "weights",
                "minimum_gate"
            ],
            "endpoint": "/api/get_reference_territory_kpi_formulas.php?format=json",
            "markdown_export": "/api/get_reference_territory_kpi_formulas.php?format=md",
            "csv_export": "/api/get_reference_territory_kpi_formulas.php?format=csv",
            "caveat": "Formules logiques : elles ne prouvent pas que les valeurs sources et jointures DB sont executees.",
            "next_action": "Utiliser ces pondérations pour hydrater les pages territoire et expliciter les scores dans la data room."
        },
        {
            "key": "territory_reference_page",
            "label": "Territory Reference Page",
            "persona": "publication, marketing, direction, destination, design",
            "user_need": "Voir et copier une page territoire vin/oenotourisme attractive, sourcee et caveatee.",
            "copy_use": "Prototype public, demo partenaire, page SEO, support commercial.",
            "source_keys": [
                "reference_territory_page_kit",
                "reference_territory_kpi_crosswalk",
                "reference_source_fidelity",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "reference_score",
                "section_count",
                "source_count",
                "publication_gate",
                "copy_markdown"
            ],
            "endpoint": "/territory-reference.html",
            "markdown_export": "/docs/territory-reference-page.md",
            "csv_export": "/api/get_reference_territory_page_kit.php?format=csv",
            "caveat": "Page statique hydratee best-effort : les valeurs doivent etre controlees par le Publication Gate avant partage externe.",
            "next_action": "Utiliser comme prototype de page territoire et brancher les valeurs dynamiques des endpoints actifs."
        },
        {
            "key": "reference_territory_page_kit",
            "label": "Territory Page Kit",
            "persona": "produit, marketing, territoire, publication, design",
            "user_need": "Assembler une page territoire vin/oenotourisme avec KPI, preuves, caveats, visuels et blocs copiables.",
            "copy_use": "Page SEO, deck destination, dashboard public, data room partenaire.",
            "source_keys": [
                "reference_territory_kpi_crosswalk",
                "reference_story_builder",
                "reference_embed_kit",
                "reference_visual_system",
                "reference_publication_gate"
            ],
            "primary_kpis": [
                "section_count",
                "layout_count",
                "kpi_slots",
                "source_stack",
                "html_snippet"
            ],
            "endpoint": "/api/get_reference_territory_page_kit.php?format=json",
            "markdown_export": "/api/get_reference_territory_page_kit.php?format=md",
            "csv_export": "/api/get_reference_territory_page_kit.php?format=csv",
            "caveat": "Kit de publication : les valeurs doivent venir des endpoints actifs et passer le Publication Gate.",
            "next_action": "Utiliser ce kit pour construire les premieres pages territoire Winerix reference."
        },
        {
            "key": "reference_territory_kpi_crosswalk",
            "label": "Territory KPI Crosswalk",
            "persona": "produit, data ops, territoire, publication, direction",
            "user_need": "Savoir quelles sources croiser pour produire des KPI territoire fiables, agregeables et publiables.",
            "copy_use": "Plan de jointure, spec dashboard, brief data product, page territoire.",
            "source_keys": [
                "inao_aoc_aop_communes",
                "ban_address_reference",
                "insee_tourism_capacity_communes",
                "datatourisme_oenotourism",
                "sirene_wine_establishments",
                "hve_certified_estates"
            ],
            "primary_kpis": [
                "join_key_count",
                "recipe_count",
                "source_stack",
                "kpi_slots",
                "quality_gates"
            ],
            "endpoint": "/api/get_reference_territory_kpi_crosswalk.php?format=json",
            "markdown_export": "/api/get_reference_territory_kpi_crosswalk.php?format=md",
            "csv_export": "/api/get_reference_territory_kpi_crosswalk.php?format=csv",
            "caveat": "Plan de rapprochement : ne prouve pas que les jointures DB ont ete executees ou validees.",
            "next_action": "Utiliser ces recettes pour construire les pages territoire et prioriser les imports/jointures."
        },
        {
            "key": "reference_source_fidelity",
            "label": "Source Fidelity Ledger",
            "persona": "data ops, publication, partenariats, direction",
            "user_need": "Suivre les sources comme un portefeuille fidele : score, tier, cadence, preuve, risque et action relation/source.",
            "copy_use": "Comite source, runbook data ops, data room, priorisation de normalisation.",
            "source_keys": [
                "source_refresh_policy",
                "source_opportunity_radar"
            ],
            "primary_kpis": [
                "source_count",
                "official_source_count",
                "average_fidelity_score",
                "pipeline_count",
                "relationship_action"
            ],
            "endpoint": "/api/get_reference_source_fidelity.php?format=json",
            "markdown_export": "/api/get_reference_source_fidelity.php?format=md",
            "csv_export": "/api/get_reference_source_fidelity.php?format=csv",
            "caveat": "Score de gouvernance source : il ne remplace pas la validation runtime des imports ni la verification metier.",
            "next_action": "Utiliser le ledger pour choisir les prochaines sources a normaliser, citer ou surveiller."
        },
        {
            "key": "reference_story_builder",
            "label": "Reference Story Builder",
            "persona": "marketing, contenu, direction, journalistes, produit",
            "user_need": "Transformer les KPI vin/oenotourisme en recits utilisateurs sourcees, caveates et faciles a publier.",
            "copy_use": "Angles editoriaux, briefs SEO, decks, pages territoire.",
            "source_keys": [
                "reference_user_need_navigator",
                "reference_kpi_scorecard",
                "reference_visual_system",
                "reference_embed_kit"
            ],
            "primary_kpis": [
                "segment_count",
                "storyline_count",
                "core_kpis",
                "required_sources",
                "visual_family"
            ],
            "endpoint": "/api/get_reference_story_builder.php?format=json",
            "markdown_export": "/api/get_reference_story_builder.php?format=md",
            "csv_export": "/api/get_reference_story_builder.php?format=csv",
            "caveat": "Les recits sont des patrons de publication : les valeurs doivent venir des endpoints actifs et du Publication Gate.",
            "next_action": "Utiliser ces storylines pour produire les pages territoire, decks et snippets SEO Winerix."
        },
        {
            "key": "reference_embed_kit",
            "label": "Reference Embed Kit",
            "persona": "produit, design, contenu, developpeurs, sales enablement",
            "user_need": "Copier-coller des blocs KPI Winerix en HTML, Markdown, CSV ou JavaScript sans recreer la logique de presentation.",
            "copy_use": "Composants UI, pages territoire, data rooms, decks commerciaux.",
            "source_keys": [
                "reference_visual_system",
                "reference_kpi_scorecard",
                "reference_citation_kit",
                "reference_api_manifest"
            ],
            "primary_kpis": [
                "block_count",
                "css_tokens",
                "copy_target",
                "snippet_format",
                "publication_rule"
            ],
            "endpoint": "/api/get_reference_embed_kit.php?format=json",
            "markdown_export": "/api/get_reference_embed_kit.php?format=md",
            "csv_export": "/api/get_reference_embed_kit.php?format=csv",
            "caveat": "Kit de presentation : les snippets doivent etre alimentes par les endpoints actifs et controles par le Publication Gate.",
            "next_action": "Brancher les blocs HTML/Markdown sur les pages territoire, decks et exports commerciaux."
        },
        {
            "key": "reference_visual_system",
            "label": "Reference Visual System",
            "persona": "design, produit, publication, direction",
            "user_need": "Transformer les KPI Winerix en cartes, dashboards et slides cohérents, distinctifs et caveatés.",
            "copy_use": "Design system data, brief UI, deck visuel, guidelines dashboard.",
            "source_keys": [
                "reference_kpi_scorecard",
                "reference_dashboard_blueprint",
                "reference_publishable_snippets"
            ],
            "primary_kpis": [
                "family_count",
                "component_count",
                "copy_rule_count",
                "visual_treatment",
                "copy_rule"
            ],
            "endpoint": "/api/get_reference_visual_system.php?format=json",
            "markdown_export": "/api/get_reference_visual_system.php?format=md",
            "csv_export": "/api/get_reference_visual_system.php?format=csv",
            "caveat": "Système visuel : il guide la présentation mais ne remplace pas les valeurs dynamiques ni le Publication Gate.",
            "next_action": "L’utiliser pour harmoniser la page référence, les KPI Cards et les decks."
        },
        {
            "key": "reference_kpi_dictionary",
            "label": "Dictionnaire KPI Winerix",
            "persona": "data ops, analyste, publication, direction",
            "user_need": "Comprendre exactement ce que chaque KPI signifie avant de le copier ou de le publier.",
            "copy_use": "Glossaire KPI, annexe méthodo, QA publication.",
            "source_keys": [
                "kpi_pack",
                "reference_products",
                "source_refresh_policy"
            ],
            "primary_kpis": [
                "definition",
                "calculation",
                "source_keys",
                "copy_hint",
                "caveat"
            ],
            "endpoint": "/api/get_reference_kpi_dictionary.php?format=json",
            "markdown_export": "/api/get_reference_kpi_dictionary.php?format=md",
            "csv_export": "/api/get_reference_kpi_dictionary.php?format=csv",
            "caveat": "Dictionnaire sémantique : ne remplace pas les valeurs dynamiques ni les contrôles d’import.",
            "next_action": "Utiliser ces définitions comme source de vérité dans les slides, exports et briefs."
        },
        {
            "key": "reference_kpi_card_deck",
            "label": "KPI Card Deck",
            "persona": "direction, produit, design, publication",
            "user_need": "Afficher ou copier des KPI sous forme de cartes claires, attractives et caveatées.",
            "copy_use": "Dashboard, slide, page référence, brief exécutif.",
            "source_keys": [
                "reference_kpi_dictionary",
                "kpi_pack",
                "reference_products"
            ],
            "primary_kpis": [
                "title",
                "value_placeholder",
                "copy_sentence",
                "caveat",
                "style"
            ],
            "endpoint": "/api/get_reference_kpi_card_deck.php?format=json",
            "markdown_export": "/api/get_reference_kpi_card_deck.php?format=md",
            "csv_export": "/api/get_reference_kpi_card_deck.php?format=csv",
            "caveat": "Cartes éditoriales : remplacer les placeholders par les valeurs dynamiques avant publication.",
            "next_action": "Utiliser comme source pour UI ou slides, puis injecter les valeurs du KPI Pack."
        },
        {
            "key": "reference_kpi_cards",
            "label": "KPI Cards hydratées",
            "persona": "produit, direction, publication, design",
            "user_need": "Afficher les cartes KPI avec valeurs dynamiques quand la DB est prête, sinon garder les placeholders.",
            "copy_use": "Dashboard, page référence, export slide.",
            "source_keys": [
                "reference_kpi_card_deck",
                "kpi_pack"
            ],
            "primary_kpis": [
                "value",
                "hydrated",
                "copy_sentence_hydrated",
                "caveat"
            ],
            "endpoint": "/api/get_reference_kpi_cards.php?format=json",
            "markdown_export": "/api/get_reference_kpi_cards.php?format=md",
            "csv_export": "/api/get_reference_kpi_cards.php?format=csv",
            "caveat": "Hydratation best-effort : si la DB échoue, les placeholders restent visibles.",
            "next_action": "Utiliser ce endpoint pour UI publique, avec Publication Gate avant diffusion externe."
        },
        {
            "key": "reference_data_product_index",
            "label": "Data Product Index",
            "persona": "éditeur, analyste, sales, ops data",
            "user_need": "Choisir vite le bon produit data Winerix, son export, ses KPI, son niveau de maturité et son caveat.",
            "copy_use": "Sommaire public, navigation catalogue, brief sales, QA publication.",
            "source_keys": [
                "reference_product_catalog",
                "reference_publication_gate",
                "reference_kpi_dictionary"
            ],
            "primary_kpis": [
                "product_count",
                "stage_counts",
                "source_count",
                "kpi_count"
            ],
            "endpoint": "/api/get_reference_data_product_index.php?format=json",
            "markdown_export": "/api/get_reference_data_product_index.php?format=md",
            "csv_export": "/api/get_reference_data_product_index.php?format=csv",
            "caveat": "Index de navigation : il reflète le catalogue produit configuré, pas la fraîcheur réelle des données importées.",
            "next_action": "Le publier comme sommaire principal avant les exports KPI et packs persona."
        },
        {
            "key": "reference_publication_gate",
            "label": "Publication Gate",
            "persona": "publication, data ops, direction",
            "user_need": "Décider si un chiffre ou un pack peut être publié, annoté ou bloqué.",
            "copy_use": "Checklist avant publication externe, release note, contrôle qualité.",
            "source_keys": [
                "source_activation_status",
                "reference_kpi_dictionary",
                "reference_copy_studio"
            ],
            "primary_kpis": [
                "status",
                "fail_count",
                "warn_count",
                "gates",
                "activation_summary"
            ],
            "endpoint": "/api/get_reference_publication_gate.php?format=json",
            "markdown_export": "/api/get_reference_publication_gate.php?format=md",
            "csv_export": "/api/get_reference_publication_gate.php?format=csv",
            "caveat": "Gate de readiness : ne remplace pas les tests d’import DB ni la validation métier finale.",
            "next_action": "Utiliser ce gate avant chaque export externe ou partage de KPI."
        }
    ],
    "copy_markdown": "# Catalogue produits data Winerix\n\nChaque produit indique quoi copier, pour qui, avec quelles sources et quel caveat conserver.\n\n## Ordre de publication recommandé\n\n- P1 [publier] Reference Pack Winerix : Score référence, preuves et gaps visibles.\n- P1 [publier] Oenotourism Demand Offer Pack : Lecture offre + demande, caveats et blocs copiables disponibles.\n- P1 [publier] Territory Brief Composer : Brief territoire copiable avec scores, sources, badges et caveats disponible.\n- P1 [publier] Territory Comparison Pack : Axes de comparaison, badges, caveats et exports copiables disponibles.\n- P1 [publier] KPI Aggregation Rules : Regles aggregation KPI, mailles, recettes et caveats disponibles.\n- P1 [publier] KPI Publication Certificates : Recus KPI avec score, badge, sources, regles aggregation et caveat disponibles.\n- P1 [publier] Source Attribution Pack : Attributions source, licences, wording public et caveats disponibles.\n- P1 [publier] Public Footnote Pack : Footnotes source/KPI courtes et completes disponibles pour pages et decks.\n- P1 [publier] Page Publication Kit : Kit page avec sections, checklist, certificats et footnotes disponible.\n- P1 [publier] Source Relationship Pack : Tiers relation source, demandes, risques et messages copiables disponibles.\n- P1 [publier] Public Distribution Pack : Bundles audience, ordre envoi, risques et emails copiables disponibles.\n- P1 [publier] User Feedback Pack : Segments, questions feedback, scores friction et templates input disponibles.\n- P1 [publier] Source Demand Backlog : Backlog sources demandees, scoring et actions producteurs disponibles.\n- P1 [publier] Source Acquisition Sprint : Sprint 30 jours, gates acceptation et messages producteurs disponibles.\n- P1 [publier] Reference Source Radar : Radar nouvelles sources avec scoring, pipeline, KPI servis et actions suivant source.\n- P1 [normaliser] OpenAgenda Wine Event Signal : Metadonnees et echantillon OpenAgenda recuperes, schema et normalizer disponibles.\n- P1 [normaliser] BNLC Carpooling Areas : Metadonnees et CSV BNLC recuperes, schema et normalizer disponibles.\n- P1 [normaliser] Insee BPE Equipment : Pages, zip denombrement et dictionnaires BPE recuperes, schema et normalizer disponibles.\n- P1 [normaliser] Merimee Heritage Monuments : Metadonnees et CSV Merimee recuperes, schema et normalizer disponibles.\n- P1 [fideliser] DATAtourisme Fidelity Monitor : Snapshot ressources DATAtourisme, scoring fraicheur, couverture regionale et monitoring disponibles.\n- P1 [publier] Reference Authority Index : Sources d autorite, KPI, statuts, scores et prochaines actions visibles.\n- P1 [publier] Territory Data Spine : Mailles, cles, mappings sources, regles aggregation et sorties territoire definies.\n- P1 [publier] Territory KPI Scorecards : Scorecards KPI agregees, layouts, regles, wording et caveats disponibles.\n- P1 [publier] Territory Scorecard Public Bundle : Bundles publics, blocs copiables, audiences, checklist et caveats disponibles.\n- P1 [activer] Source to Score Activation Queue : File source->normalisation->scorecard->publication avec commandes preparees et gates.\n- P1 [activer] Activation Outputs Manifest : Sorties activees, sorties lourdes pendientes, KPI et scorecards reliees.\n- P1 [hydrater] Territory Source Fact Table : Builder faits territoire/source/KPI et schema unifie disponibles.\n- P1 [hydrater] Territory KPI Score Table : Builder scores KPI, schema, copy, confidence et caveats disponibles.\n- P1 [publier] Territory Pilot Profiles : Builder profils pilotes, outputs CSV/Markdown, sources, confiance et caveats disponibles.\n- P1 [publier] Publishable Territory Profiles : Profils filtres par label, maille publiable, scorecards, confiance et caveats.\n- P1 [publier] Profile Publication Queue : Queue editoriale avec statuts, priorites, gates, actions et copy blocks.\n- P1 [publier] Profile Proof Cards : Proof cards multi-sources, statuts, copy lines et caveats disponibles.\n- P1 [publier] KPI Copy Pack : Snippets KPI copiables avec sources, caveats et exports JSON/Markdown/CSV.\n- P1 [publier] User Need KPI Map : Besoins utilisateurs relies aux KPI, sources, gates et formats copiables.\n- P1 [publier] Publishable Territory Page Pack : Blueprints pages territoire, champs CMS, gates et blocs copiables disponibles.\n- P1 [publier] Reference Launch Readiness : Checklist go/no-go publication avec preuves, risques et actions.\n- P1 [publier] Reference Data Room Index : Sommaire data room par usage avec produits, ordre de copie et caveats.\n- P1 [publier] Trust Badge Pack : Badges live/partial/demo/blocked/source/gate disponibles avec HTML/CSS.\n- P1 [publier] Reference Claim Guard : Claims autorises/interdits par mode KPI, source et canal disponibles.\n- P1 [publier] Territory Share Pack : Textes partageables par canal avec caveats conserves.\n- P1 [publier] Territory Publication Bundle : Bundle page, KPI live modes, dependances, copy blocks et endpoints disponible.\n- P1 [publier] Live KPI Board : Modes live/partial/demo/blocked disponibles pour les KPI territoire.\n- P1 [publier] Score Hydration Board : Scores hydratables/partiels/bloques deduits des dependances et Quality Gates.\n- P1 [publier] KPI Dependency Map : Scores, composants, sources, outputs normalisation et gates relies.\n- P1 [publier] Normalization Quality Gates : QA schema/output/lignes/source_key/caveat disponible avant import.\n- P1 [publier] Reference Normalization Readiness : Inputs, outputs, schemas et statuts readiness visibles sans execution.\n- P1 [publier] Reference Normalization Runbook : Commandes, inputs, outputs, schemas, phases, gates et caveats prets a copier.\n- P1 [publier] Source Normalization Backlog : Priorites de normalisation, fichiers cibles, impact utilisateur et caveats disponibles.\n- P1 [publier] Territory Score Input Templates : Templates composants, gates, statuts source et URLs score prets a copier.\n- P1 [publier] Territory Score Calculator : Scores calculables via formules, overrides, plafond pipeline et Publication Gate logique.\n- P1 [publier] Territory KPI Formula Book : Formules, poids, sources, gates et règles de normalisation documentés.\n- P1 [publier] Territory Reference Page : Prototype HTML public avec sections KPI, copy buttons, endpoints et fallback statique.\n- P1 [publier] Territory Page Kit : Sections, layouts, KPI slots, sources, caveats et snippet HTML disponibles.\n- P2 [publier] KPI Pack central : KPI central avec caveats et Evidence Pack.\n- P2 [publier] User Need Navigator : Parcours persona prêts avec KPI, produits, exports et caveats.\n- P2 [publier] Reference Citation Kit : Citations, licences, usages et caveats centralisés pour publication.\n- P2 [publier] Reference Release Notes : Notes de version avec messages, limites et promesses interdites.\n- P2 [publier] Territory KPI Crosswalk : Cles de rapprochement, recettes KPI, sources et quality gates documentes.\n- P2 [publier] Reference Story Builder : Storylines KPI reliees aux segments, sources, caveats et familles visuelles.\n- P2 [publier] Reference Embed Kit : Blocs HTML/Markdown/CSV copiables avec sources, caveats et dependances explicites.\n- P3 [publier] Evidence Pack KPI : Citations, URLs et limites présentes.\n- P3 [publier] Publishable Snippet Board : Blocs publication prêts avec KPI slots, exports, CTA et caveats.\n- P3 [publier] Source Fidelity Ledger : Portefeuille source score, tier, cadence, preuve et action relation/source disponible.\n- P3 [publier] Reference Visual System : Tokens visuels, composants KPI et règles de copy prêts pour UI/decks.\n- P3 [publier] Data Product Index : Sommaire produit exportable avec priorités, stages, KPI, sources et caveats.\n- P4 [publier] Packs KPI par usage : Texte prêt à coller par persona.\n- P4 [publier] Reference Copy Studio : Briefs persona prêts avec KPI, exports et caveats.\n- P4 [publier] Reference KPI Scorecard : Familles KPI coherentes avec niveaux, produits, caveats et directions visuelles.\n- P5 [publier] Offre locale DATAtourisme : Import local filtré vin et faux positifs contrôlés.\n- P5 [publier] Reference Dashboard Blueprint : Spec dashboard reference avec sections, layouts, KPI slots et exports.\n- P5 [publier] Dictionnaire KPI Winerix : Définitions, calculs, sources et caveats stabilisés.\n- P6 [publier] Destinations Vignobles & Découvertes : Liste Atout France structurée par vignoble.\n- P6 [publier] Reference Narrative Deck : Deck narratif prêt avec slides, KPI slots, exports, notes orateur et caveats.\n- P6 [publier] KPI Card Deck : Cartes KPI prêtes avec style, texte, caveat et placeholders.\n- P7 [compléter] Hébergements touristiques classés : CSV officiel importé, capacité et catégories calculées.\n- P7 [compléter] Insee Tourism Occupancy Pack : Archive Insee HVD recuperee ; normalisation demand signal requise avant publication forte.\n- P7 [compléter] Capacité touristique communale INSEE : CSV Insee 2026 téléchargé, import agrégé commune disponible.\n- P7 [publier] Source-KPI Lineage Matrix : Lineage source-produit-KPI-caveat exportable et gaps gouvernance visibles.\n- P7 [publier] KPI Cards hydratées : Cartes hydratées ou fallback placeholders explicite.\n- P8 [compléter] BNSC Bike Parking Pack : ZIP BNSC recupere ; normalisation et aggregation commune requises avant publication forte.\n- P8 [compléter] Qualite Tourisme Establishments Pack : CSV officiel recupere ; normalisation et rapprochement vin requis avant publication forte.\n- P8 [compléter] Établissements Tourisme & Handicap : CSV national importé, actifs filtrés et quatre familles visibles.\n- P8 [compléter] Qualité adresse BAN : Metadata BAN récupérée ; audit CSV des adresses Winerix requis pour publier les scores.\n- P8 [compléter] Agence Bio Organic Wine Pack : CSV operateurs bio recupere ; normalisation vin et agregats territoire requis avant publication forte.\n- P8 [compléter] Exploitations certifiées HVE : CSV officiel récupéré ; rapprochement domaines/communes requis avant publication forte.\n- P8 [publier] Reference API Manifest : Manifeste API exportable avec endpoints JSON/Markdown/CSV, personas, KPI et caveats.\n- P8 [publier] Publication Gate : Décision publier/annoter/bloquer disponible avant diffusion externe.\n- P9 [publier] Preuve réglementaire eAmbrosia : GI importées avec statut et cahiers des charges.\n- P9 [publier] Source Opportunity Radar : Nouvelles sources officielles scorées avec action et caveat.\n- P9 [publier] Reference Integration Guide : Guide integration API avec endpoints prioritaires et snippets copiables.\n- P10 [publier] Produits SIQO INAO vin : CSV SIQO importé, filtre vin contrôlé et statuts publiés visibles.\n- P10 [compléter] Établissements vin SIRENE : Mapping NAF prêt ; stock établissement Sirene requis pour publier les volumes.\n- P10 [publier] Reference Data Contracts : Contrats API logiques avec champs, formats, quality gates et caveats.\n- P11 [publier] Aires AOC/AOP INAO par commune : CSV INAO importé, encodage normalisé et matchs Winerix visibles.\n- P12 [publier] Preuve appellation complète : SIQO, INAO communes et eAmbrosia visibles avec gaps exportables.\n- P13 [surveiller] Contrôle écarts appellations/eAmbrosia : Écarts relus avant usage juridique.\n- P14 [publier] Cadrage Agreste viticulture : Millésime, territoire, indicateur et unité présents.\n- P14 [compléter] Foncier viticole Agreste : Metadata officielle récupérée ; CSV foncier viticole normalisé requis pour publier les prix.\n- P14 [compléter] Récoltes et stocks vitivinicoles DGDDI : Metadata et ressources XLS récupérées ; CSV normalisé requis avant publication de chiffres.\n- P15 [compléter] Parcelles viticoles RPG : RPG filtré vigne importé et clés géographiques contrôlées.\n- P15 [compléter] Prix vrac FranceAgriMer : Pack marché prêt ; CSV FranceAgriMer normalisé requis pour publier les prix.\n- P16 [surveiller] Politique de fraîcheur sources : Sources due/critical traitées avant publication externe.\n- P17 [surveiller] Statut activation sources : DB prête et fichiers obligatoires présents avant import.\n- P18 [surveiller] Board maintenance sources : Tickets source priorisés et copiables disponibles.\n\n## Reference Pack Winerix\n\n- Usage : Pitch global, note exécutive, page référence.\n- Persona : direction, investisseur, analyste, publication\n- Besoin utilisateur : Présenter Winerix comme référentiel data vin/oenotourisme avec score, preuves, piliers et gaps.\n- Sources : source_registry, inao_siqo_products, inao_aoc_aop_commune_areas, datatourisme_oenotourism, tourisme_handicap_establishments, eambrosia_gi, agreste_viticulture_territorial, rpg_parcels, atout_france_classified_accommodations\n- KPI clés : reference_score, confidence_score, active_source_count, evidence_pack\n- Markdown : /api/reference_export.php?type=wine_reference_pack&format=md\n- CSV : /api/reference_export.php?type=wine_reference_pack\n- Caveat : Synthèse de maturité : dépend des imports locaux et des caveats de chaque source.\n- Prochaine action : Utiliser comme porte d’entrée avant de copier les packs spécialisés.\n\n## KPI Pack central\n\n- Usage : Dashboard, slide, note de synthèse.\n- Persona : direction, territoire, sales, data ops\n- Besoin utilisateur : Obtenir des KPI agrégés et copiables par périmètre.\n- Sources : source_registry, estate_profiles, macro_oenotourism_indicators, macro_wine_indicators\n- KPI clés : communes, appellations, estates, wines, confidence_score\n- Markdown : /api/get_kpis.php?format=md\n- CSV : /api/reference_export.php?type=kpis\n- Caveat : Pack agrégé : ne remplace pas les fiches source ni les contrôles de publication.\n- Prochaine action : Filtrer par région, appellation ou commune quand le périmètre est connu.\n\n## Evidence Pack KPI\n\n- Usage : Annexe méthodo, bas de slide, note de publication.\n- Persona : publication, analyste, conformité, data ops\n- Besoin utilisateur : Copier les preuves, citations, caveats et limites avec les KPI.\n- Sources : source_registry, source_refresh_policy\n- KPI clés : source_name, source_url, citation, caveat\n- Markdown : /api/reference_export.php?type=kpi_evidence&format=md\n- CSV : /api/reference_export.php?type=kpi_evidence\n- Caveat : La preuve ne valide pas automatiquement la fraîcheur : vérifier les dates et gates.\n- Prochaine action : Joindre systématiquement ce pack aux chiffres publiés.\n\n## Packs KPI par usage\n\n- Usage : Mail, note persona, brief métier.\n- Persona : direction, destination, sales, marché, data ops\n- Besoin utilisateur : Copier une formulation adaptée à une décision utilisateur.\n- Sources : kpi_pack\n- KPI clés : paste_ready, decision, next_action\n- Markdown : /api/reference_export.php?type=kpi_user_packs&format=md\n- CSV : /api/reference_export.php?type=kpi_user_packs\n- Caveat : Formulation prête à coller : garder les caveats et le périmètre.\n- Prochaine action : Choisir le persona avant de copier.\n\n## Offre locale DATAtourisme\n\n- Usage : Brief destination, diagnostic offre, priorisation commune.\n- Persona : destination, agence, territoire, oenotourisme\n- Besoin utilisateur : Mesurer l’épaisseur de l’offre locale vin : lieux, visites, activités, itinéraires, événements.\n- Sources : datatourisme_oenotourism\n- KPI clés : offers, very_relevant, cities, places, experiences, routes, events\n- Markdown : /api/reference_export.php?type=oenotourism_offers&format=md&min_relevance=55\n- CSV : /api/reference_export.php?type=oenotourism_offers&min_relevance=55\n- Caveat : Offre publiée par les territoires, pas fréquentation ni exhaustivité réelle.\n- Prochaine action : Croiser avec V&D, hébergements classés, communes et appellations.\n\n## Destinations Vignobles & Découvertes\n\n- Usage : Cadrage label, preuve de structuration destination.\n- Persona : destination, institutionnel, oenotourisme\n- Besoin utilisateur : Identifier les destinations labellisées par vignoble/région.\n- Sources : atout_france_vignobles_decouvertes_destinations\n- KPI clés : destinations, wine_regions\n- Markdown : /api/reference_export.php?type=vignobles_decouvertes_destinations&format=md\n- CSV : /api/reference_export.php?type=vignobles_decouvertes_destinations\n- Caveat : Label destination : pas fréquentation, pas performance de chaque prestataire.\n- Prochaine action : Relier aux communes, offres DATAtourisme et hébergements classés.\n\n## Hébergements touristiques classés\n\n- Usage : Cadrage capacité, qualité hébergement, score accueil.\n- Persona : destination, investisseur, agence, institutionnel\n- Besoin utilisateur : Qualifier la capacité d’accueil officielle autour des territoires viticoles.\n- Sources : atout_france_classified_accommodations\n- KPI clés : establishments, rooms, beds, communes, five_star_establishments\n- Markdown : /api/reference_export.php?type=classified_accommodations&format=md\n- CSV : /api/reference_export.php?type=classified_accommodations\n- Caveat : Hébergements classés uniquement : pas toute l’offre, pas fréquentation réelle.\n- Prochaine action : Croiser avec INSEE nuitées, V&D et DATAtourisme.\n\n## Oenotourism Demand Offer Pack\n\n- Usage : Fiche territoire, deck destination, argumentaire commercial, dashboard, data room.\n- Persona : destination, direction, commercial, publication, produit\n- Besoin utilisateur : Expliquer clairement un score oenotourisme offre + demande sans confondre frequentation touristique et frequentation vin.\n- Sources : insee_tourism_occupancy, insee_tourism_capacity_communes, datatourisme_oenotourism, qualite_tourisme_establishments, vignobles_decouvertes, tourism_handicap_establishments\n- KPI clés : pillar_count, source_count, score_recipe, copy_blocks, trust_badge_keys\n- Markdown : /api/get_reference_oenotourism_demand_offer.php?format=md\n- CSV : /api/get_reference_oenotourism_demand_offer.php?format=csv\n- Caveat : Pack de lecture : il clarifie les usages mais ne remplace pas normalisation, hydratation KPI ou Publication Gate.\n- Prochaine action : Utiliser ce pack dans territory-reference.html et les decks destination pour expliquer le score oenotourisme.\n\n## Territory Brief Composer\n\n- Usage : Page territoire, email partenaire, slide destination, data room courte, note commerciale.\n- Persona : destination, commercial, direction, publication, produit\n- Besoin utilisateur : Obtenir un brief territoire pret a copier qui assemble scores, sources, badges et caveats sans reconstruire la narration.\n- Sources : reference_territory_scores, reference_oenotourism_demand_offer, reference_trust_badges, reference_claim_guard\n- KPI clés : score_count, source_count, badge_count, copy_blocks, source_stack\n- Markdown : /api/get_reference_territory_brief.php?format=md\n- CSV : /api/get_reference_territory_brief.php?format=csv\n- Caveat : Brief de composition : ne remplace pas normalisation source, validation DB, revue metier ou Publication Gate.\n- Prochaine action : Brancher ce brief dans les pages territoire, emails partenaires et decks destination.\n\n## Territory Comparison Pack\n\n- Usage : Benchmark territoire, arbitrage priorite, deck direction, brief sales, data room.\n- Persona : direction, commercial, destination, publication, analyste\n- Besoin utilisateur : Comparer plusieurs territoires avec les memes KPI, sources, badges et caveats sans surinterpretrer les ecarts.\n- Sources : reference_territory_scores, reference_territory_brief, reference_trust_badges, reference_oenotourism_demand_offer\n- KPI clés : territory_count, axis_count, row_count, copy_blocks, badge_keys\n- Markdown : /api/get_reference_territory_comparison.php?format=md\n- CSV : /api/get_reference_territory_comparison.php?format=csv\n- Caveat : Comparaison de cadrage : remplacer les placeholders par donnees normalisees par territoire avant publication.\n- Prochaine action : Utiliser avec territories=... pour preparer benchmarks destination et arbitrages commerciaux.\n\n## KPI Aggregation Rules\n\n- Usage : Methodologie KPI, data room, Publication Gate, benchmark territoire, documentation partenaire.\n- Persona : analyste, data ops, publication, direction, produit\n- Besoin utilisateur : Savoir comment agreger et comparer les KPI sans melanger commune, appellation, destination, temporalite ou denominateur.\n- Sources : reference_territory_comparison, reference_territory_kpi_formulas, reference_claim_guard\n- KPI clés : territory_level_count, rule_count, recipe_count, territory_levels, rules\n- Markdown : /api/get_reference_kpi_aggregation_rules.php?format=md\n- CSV : /api/get_reference_kpi_aggregation_rules.php?format=csv\n- Caveat : Regles methodologiques : ne prouvent pas normalisation, import ou validation metier des sources.\n- Prochaine action : Les utiliser comme garde-fou avant tout benchmark ou publication de score agrege.\n\n## KPI Publication Certificates\n\n- Usage : Publication Gate, page territoire, data room, deck direction, audit KPI.\n- Persona : publication, direction, data ops, analyste, partenaire\n- Besoin utilisateur : Copier un recu de publication pour chaque KPI avec score, badge, sources, regles d aggregation et caveat.\n- Sources : reference_territory_scores, reference_kpi_aggregation_rules, reference_trust_badges, reference_publication_gate\n- KPI clés : certificate_count, source_count, publication_status, badge_key, copy_receipt\n- Markdown : /api/get_reference_kpi_publication_certificates.php?format=md\n- CSV : /api/get_reference_kpi_publication_certificates.php?format=csv\n- Caveat : Certificat logique : ne prouve pas imports DB, normalisations, tests runtime ou revue metier.\n- Prochaine action : Afficher ces recus sous chaque KPI public et dans les data rooms partenaires.\n\n## Source Attribution Pack\n\n- Usage : Footer page territoire, annexe deck, data room source, Publication Gate, audit partenaire.\n- Persona : publication, legal, data ops, partenaire, direction\n- Besoin utilisateur : Copier les attributions, licences et caveats source corrects avant de publier ou partager une data room.\n- Sources : reference_citation_kit, reference_source_fidelity, reference_claim_guard\n- KPI clés : source_count, license_count, odbl_source_count, attribution, publication_caveat\n- Markdown : /api/get_reference_source_attributions.php?format=md\n- CSV : /api/get_reference_source_attributions.php?format=csv\n- Caveat : Attribution helper : ne remplace pas revue juridique finale ni verification de licence au moment de publication.\n- Prochaine action : Brancher ces attributions dans Territory Brief, Publication Certificates et pages publiques.\n\n## Public Footnote Pack\n\n- Usage : Footer page territoire, annexe deck, data room partenaire, export commercial.\n- Persona : publication, legal, commercial, direction, partenaire\n- Besoin utilisateur : Coller sous une page, un deck ou une data room les footnotes source/KPI avec licences et caveats.\n- Sources : reference_source_attributions, reference_kpi_publication_certificates, reference_claim_guard\n- KPI clés : footnote_count, template_count, license_counts, short_footnote, full_footnote\n- Markdown : /api/get_reference_public_footnotes.php?format=md\n- CSV : /api/get_reference_public_footnotes.php?format=csv\n- Caveat : Footnotes publication : ne remplacent pas revue juridique finale ni verification de licence a date.\n- Prochaine action : Utiliser ces footnotes dans territory-reference.html, decks et data rooms.\n\n## Page Publication Kit\n\n- Usage : Page territoire, landing partenaire, deck, data room, revue Publication Gate.\n- Persona : publication, direction, commercial, partenaire, produit\n- Besoin utilisateur : Assembler une page territoire publiable avec brief, KPI, comparaison, footnotes et checklist en un seul export.\n- Sources : reference_territory_brief, reference_territory_comparison, reference_kpi_publication_certificates, reference_public_footnotes\n- KPI clés : section_count, checklist_count, certificate_count, footnote_count, copy_blocks\n- Markdown : /api/get_reference_page_publication_kit.php?format=md\n- CSV : /api/get_reference_page_publication_kit.php?format=csv\n- Caveat : Kit de publication : ne prouve pas normalisations, imports DB, tests runtime ou revues metier/juridiques.\n- Prochaine action : Utiliser comme source unique pour assembler une page territoire publiable.\n\n## Source Relationship Pack\n\n- Usage : Gouvernance source, emails producteurs, revue schema, Publication Gate, data room methode.\n- Persona : data ops, publication, partenariat, direction, legal\n- Besoin utilisateur : Fideliser les sources critiques avec objectifs relation, demandes, cadences, risques et messages prets a envoyer.\n- Sources : reference_source_attributions, source_refresh_policy, reference_source_fidelity\n- KPI clés : source_count, tier_count, tier_counts, message_templates, relationship_goal\n- Markdown : /api/get_reference_source_relationships.php?format=md\n- CSV : /api/get_reference_source_relationships.php?format=csv\n- Caveat : Pack relationnel : ne garantit pas reponse producteur ni stabilite future des schemas/licences.\n- Prochaine action : Utiliser les messages pour clarifier Insee, DATAtourisme, Agence Bio, Atout France, INAO et OSM/BNSC.\n\n## Public Distribution Pack\n\n- Usage : Data room externe, email partenaire, pitch commercial, onboarding integration, Publication Gate.\n- Persona : direction, commercial, publication, partenariat, data ops\n- Besoin utilisateur : Savoir quel livrable Winerix envoyer a chaque audience, dans quel ordre, avec quel message et quel risque a eviter.\n- Sources : reference_page_publication_kit, reference_source_relationships, reference_public_footnotes\n- KPI clés : audience_count, bundle_count, page_kit_sections, source_relationship_count, copy_email\n- Markdown : /api/get_reference_public_distribution.php?format=md\n- CSV : /api/get_reference_public_distribution.php?format=csv\n- Caveat : Pack distribution : ne prouve pas execution endpoints, normalisation donnees ou revue juridique/metier.\n- Prochaine action : Utiliser ces bundles pour preparer les envois destination, vin, direction, data et legal.\n\n## User Feedback Pack\n\n- Usage : Micro-questionnaire, post-copy prompt, roadmap source, priorisation KPI, analyse friction publication.\n- Persona : produit, growth, publication, data ops, direction\n- Besoin utilisateur : Comprendre quels KPI sont copies, ce qui bloque la confiance et quelles sources les utilisateurs demandent.\n- Sources : reference_public_distribution, reference_page_publication_kit, reference_source_relationships\n- KPI clés : segment_count, question_count, score_count, copy_ready_score, source_demand_score\n- Markdown : /api/get_reference_user_feedback.php?format=md\n- CSV : /api/get_reference_user_feedback.php?format=csv\n- Caveat : Pack de collecte feedback : ne remplace pas tracking produit, CRM ou analyse statistique des reponses.\n- Prochaine action : Brancher ces prompts apres les boutons copier et exploiter les demandes de sources manquantes.\n\n## Source Demand Backlog\n\n- Usage : Roadmap source, comite produit, relation producteurs, priorisation normalisation, strategie reference.\n- Persona : produit, data ops, direction, partenariats, publication\n- Besoin utilisateur : Prioriser les nouvelles sources a chercher selon les gaps utilisateur, les KPI incomplets et les demandes de confiance.\n- Sources : reference_user_feedback, reference_source_relationships, reference_kpi_dependency_map\n- KPI clés : item_count, research_now_count, source_demand_score, recommended_status, target_kpis\n- Markdown : /api/get_reference_source_demand_backlog.php?format=md\n- CSV : /api/get_reference_source_demand_backlog.php?format=csv\n- Caveat : Backlog de recherche : ne prouve pas disponibilite producteur, accord de partage ou publiabilite juridique.\n- Prochaine action : Traiter les sources research_now puis rattacher les producteurs aux Source Relationships.\n\n## Source Acquisition Sprint\n\n- Usage : Sprint source, comite produit, relation producteur, plan partenariat, roadmap normalisation.\n- Persona : data ops, produit, partenariats, direction\n- Besoin utilisateur : Transformer les sources demandees en plan 30 jours avec contacts producteurs, echantillons, gates et decisions.\n- Sources : reference_source_demand_backlog, reference_source_relationships, reference_user_feedback\n- KPI clés : phase_count, item_count, research_now_count, acceptance_gate_count, message_templates\n- Markdown : /api/get_reference_source_acquisition_sprint.php?format=md\n- CSV : /api/get_reference_source_acquisition_sprint.php?format=csv\n- Caveat : Sprint acquisition : ne garantit pas reponse producteur, disponibilite donnees ou publiabilite juridique.\n- Prochaine action : Executer les contacts semaine 1/2 pour visites caves, evenements vin et opening hours.\n\n## Reference Source Radar\n\n- Usage : Roadmap source, comite data, sprint acquisition, relation producteur, veille open data.\n- Persona : data ops, produit, partenariats, direction\n- Besoin utilisateur : Identifier, scorer et prioriser les nouvelles sources utiles pour KPI vin, oenotourisme, acces et patrimoine.\n- Sources : reference_source_demand_backlog, reference_source_acquisition_sprint, reference_user_need_kpi_map\n- KPI clés : candidate_count, p1_count, sample_now_count, fidelize_now_count, research_now_count\n- Markdown : /api/get_reference_source_radar.php?format=md\n- CSV : /api/get_reference_source_radar.php?format=csv\n- Caveat : Radar source : chaque source doit etre reverifiee cote licence, schema, maille et fraicheur avant ingestion ou publication.\n- Prochaine action : Echantillonner OpenAgenda, Insee BPE, Merimee et BNLC puis ajouter les sources utiles au sprint acquisition.\n\n## OpenAgenda Wine Event Signal\n\n- Usage : Signal evenementiel, page territoire, contexte demande, calendrier vin, radar source.\n- Persona : data ops, destination, marketing, media\n- Besoin utilisateur : Mesurer les evenements vin, vignoble, degustation, gastronomie et activation territoire depuis OpenAgenda.\n- Sources : reference_source_radar, openagenda_public_events\n- KPI clés : wine_event_signal, territory_activation_score, tourism_demand_context, wine_relevance_score\n- Markdown : /api/get_openagenda_wine_events.php?format=md\n- CSV : /api/get_openagenda_wine_events.php?format=csv\n- Caveat : OpenAgenda contributif : couverture non exhaustive, taxonomy variable, frequentation non mesuree.\n- Prochaine action : Executer le normalizer sur un echantillon elargi puis agreger par commune et periode.\n\n## BNLC Carpooling Areas\n\n- Usage : Signal accessibilite, page territoire, comparaison destinations, score acces bas carbone.\n- Persona : data ops, territoire, destination, mobilite\n- Besoin utilisateur : Mesurer les lieux de covoiturage pour qualifier l acces bas carbone aux territoires vin et oenotourisme.\n- Sources : reference_source_radar, bnlc_carpooling_areas\n- KPI clés : carpool_access_signal, low_carbon_access_score, access_signal\n- Markdown : /api/get_bnlc_carpooling_areas.php?format=md\n- CSV : /api/get_bnlc_carpooling_areas.php?format=csv\n- Caveat : BNLC : presence infrastructure, pas usage reel, disponibilite instantanee ou desserte finale vers les domaines.\n- Prochaine action : Executer le normalizer puis agreger les lieux ouverts par commune et distance aux zones vin.\n\n## Insee BPE Equipment\n\n- Usage : Readiness territoire, densite services tourisme, contexte culture/loisirs, accessibilite, comparaison destinations.\n- Persona : data ops, territoire, destination, analyste\n- Besoin utilisateur : Mesurer les equipements et services qui rendent un territoire vin/oenotourisme pret a accueillir et comparable.\n- Sources : reference_source_radar, insee_bpe_2024\n- KPI clés : tourism_service_density, territory_readiness_score, culture_leisure_context, access_equipment_signal\n- Markdown : /api/get_insee_bpe_equipment.php?format=md\n- CSV : /api/get_insee_bpe_equipment.php?format=csv\n- Caveat : BPE : presence d equipements, pas qualite, frequentation ou satisfaction visiteur.\n- Prochaine action : Executer le normalizer puis calculer les densites par commune, departement et destination vin.\n\n## Merimee Heritage Monuments\n\n- Usage : Signal patrimoine, page territoire, storytelling culturel, comparaison destinations, note methodologique.\n- Persona : data ops, territoire, destination, marketing, media\n- Besoin utilisateur : Qualifier le contexte patrimonial des territoires vin et oenotourisme avec une source publique citeable.\n- Sources : reference_source_radar, merimee_monuments_historiques\n- KPI clés : heritage_pull_signal, culture_wine_context_score, territory_story_proof, heritage_signal\n- Markdown : /api/get_merimee_heritage_monuments.php?format=md\n- CSV : /api/get_merimee_heritage_monuments.php?format=csv\n- Caveat : Merimee : patrimoine protege, pas frequentation, ouverture au public ou impact oenotouristique direct.\n- Prochaine action : Executer le normalizer puis agregger les monuments par commune et zone vin avec deduplication culture.\n\n## DATAtourisme Fidelity Monitor\n\n- Usage : Source health, monitoring hebdomadaire, pages territoire, publication gate, relation source.\n- Persona : data ops, produit, destination, direction\n- Besoin utilisateur : Fideliser DATAtourisme par suivi de fraicheur, couverture regionale, ressources critiques et actions source.\n- Sources : reference_source_radar, datatourisme_resources, source_refresh_policy\n- KPI clés : datatourisme_freshness_score, coverage_by_region, source_relationship_signal, regional_feed_watchlist\n- Markdown : /api/get_datatourisme_fidelity_monitor.php?format=md\n- CSV : /api/get_datatourisme_fidelity_monitor.php?format=csv\n- Caveat : DATAtourisme : fraicheur ressource ne prouve pas exhaustivite ni qualite des POI territoriaux.\n- Prochaine action : Executer le monitoring et afficher la fraicheur DATAtourisme dans les pages et certificats de publication.\n\n## Reference Authority Index\n\n- Usage : Comite direction, page methode, data room, roadmap source, briefing media, pitch investisseur.\n- Persona : fondateur, data ops, produit, direction, media\n- Besoin utilisateur : Voir quelles sources et KPI rendent Winerix credible comme reference vin et oenotourisme.\n- Sources : reference_source_radar, reference_user_need_kpi_map, reference_publishable_territory_page_pack, datatourisme_fidelity_monitor\n- KPI clés : source_count, average_authority_score, normalization_ready_count, copy_ready_count, pillar_count\n- Markdown : /api/get_reference_authority_index.php?format=md\n- CSV : /api/get_reference_authority_index.php?format=csv\n- Caveat : Index autorite : mesure la maturite source/KPI/produit, pas la verite terrain exhaustive ni les validations runtime.\n- Prochaine action : Utiliser cet index pour prioriser normalisations, monitoring et pages territoire publiques.\n\n## Territory Data Spine\n\n- Usage : Modele data, regles aggregation, pages territoire, benchmark, data room, publication gate.\n- Persona : data ops, produit, analyste, direction\n- Besoin utilisateur : Agreger les sources vin/oenotourisme a la bonne maille pour produire des KPI coherents et comparables.\n- Sources : reference_authority_index, reference_user_need_kpi_map, reference_kpi_aggregation_rules\n- KPI clés : grain_count, source_mapping_count, aggregation_rule_count, output_table_count\n- Markdown : /api/get_reference_territory_data_spine.php?format=md\n- CSV : /api/get_reference_territory_data_spine.php?format=csv\n- Caveat : Spine territoriale : definit les regles, ne prouve pas normalisation effective ni controles geographiques runtime.\n- Prochaine action : Utiliser cette spine pour construire les tables faits source, scores KPI et contexte publication territoire.\n\n## Territory KPI Scorecards\n\n- Usage : Page territoire, deck, observatoire, pitch, data room, board data ops.\n- Persona : fondateur, territoire, marketing, data ops, media\n- Besoin utilisateur : Transformer les sources vin/oenotourisme en cartes KPI agregees, coherentes, visuelles et copiables.\n- Sources : reference_authority_index, reference_territory_data_spine, reference_kpi_copy_pack, reference_publishable_territory_page_pack\n- KPI clés : card_count, rule_count, layout_count, authority_source_count, spine_source_mapping_count\n- Markdown : /api/get_reference_territory_kpi_scorecards.php?format=md\n- CSV : /api/get_reference_territory_kpi_scorecards.php?format=csv\n- Caveat : Scorecards : modeles de KPI agreges et copy, ne prouvent pas recalcul runtime ni normalisation executee.\n- Prochaine action : Brancher les scorecards aux premieres pages territoire avec valeurs certifiees et confiance source.\n\n## Territory Scorecard Public Bundle\n\n- Usage : Page publique, investor slide, sales brief, citation kit, data room.\n- Persona : fondateur, marketing, territoire, sales, media\n- Besoin utilisateur : Copier les scorecards territoire dans une page, un deck, un CRM ou une citation sans perdre sources et caveats.\n- Sources : reference_territory_kpi_scorecard_pack, reference_publishable_territory_page_pack, reference_kpi_copy_pack, reference_public_footnotes\n- KPI clés : audience_count, block_count, package_count, checklist_count, scorecard_count\n- Markdown : /api/get_reference_territory_scorecard_public_bundle.php?format=md\n- CSV : /api/get_reference_territory_scorecard_public_bundle.php?format=csv\n- Caveat : Bundle copy : structure les blocs publics, ne remplace pas valeurs certifiees ni validation runtime.\n- Prochaine action : Utiliser ce bundle pour publier les premiers profils territoire et citations methodologiques.\n\n## Source to Score Activation Queue\n\n- Usage : Board execution, sprint data, roadmap normalisation, comite produit, publication readiness.\n- Persona : data ops, produit, direction, analyste\n- Besoin utilisateur : Piloter le passage des sources recuperees vers normalisation, scorecards KPI et publication publique.\n- Sources : reference_authority_index, reference_territory_data_spine, reference_territory_kpi_scorecard_pack, reference_territory_scorecard_public_bundle\n- KPI clés : item_count, p1_count, normalize_next_count, publication_ready_count\n- Markdown : /api/get_reference_source_to_score_activation_queue.php?format=md\n- CSV : /api/get_reference_source_to_score_activation_queue.php?format=csv\n- Caveat : Activation queue : prepare l execution, ne prouve pas scripts lances, sorties generees ou valeurs certifiees.\n- Prochaine action : Executer les items P1 de normalisation dans l ordre OpenAgenda, BNLC, BPE, Merimee, DATAtourisme monitor.\n\n## Activation Outputs Manifest\n\n- Usage : Runbook activation, score hydration, publication readiness, board data ops.\n- Persona : data ops, produit, direction, analyste\n- Besoin utilisateur : Voir quelles sorties source normalisees existent et quelles scorecards elles peuvent hydrater.\n- Sources : reference_source_to_score_activation_queue, reference_territory_kpi_scorecard_pack, reference_territory_scorecard_public_bundle\n- KPI clés : output_count, activated_count, pending_heavy_count\n- Markdown : /api/get_reference_activation_outputs_manifest.php?format=md\n- CSV : /api/get_reference_activation_outputs_manifest.php?format=csv\n- Caveat : Manifeste activation : ne prouve pas import DB, validation endpoint ou valeurs publiques certifiees.\n- Prochaine action : Brancher les sorties activees aux tables faits source et conserver BPE comme job lourd dedie.\n\n## Territory Source Fact Table\n\n- Usage : Layer data, score hydration, QA source, data room, publication readiness.\n- Persona : data ops, analyste, produit, direction\n- Besoin utilisateur : Transformer les sorties normalisees en faits territoire/source/KPI prets a hydrater les scorecards.\n- Sources : reference_activation_outputs_manifest, reference_territory_data_spine, reference_territory_kpi_scorecard_pack\n- KPI clés : schema_count, input_count, output_count\n- Markdown : /api/get_reference_territory_source_facts.php?format=md\n- CSV : /api/get_reference_territory_source_facts.php?format=csv\n- Caveat : Table faits : ne prouve pas import DB, validation endpoint ou certification finale des scores publics.\n- Prochaine action : Utiliser les faits pour hydrater les scorecards territoire et calculer les premiers profils pilotes.\n\n## Territory KPI Score Table\n\n- Usage : Score hydration, page territoire, deck, data room, QA publication.\n- Persona : data ops, analyste, produit, direction, marketing\n- Besoin utilisateur : Calculer des scores KPI territoire coherents depuis les faits source normalises avec copy et caveats.\n- Sources : reference_territory_source_fact_table, reference_territory_kpi_scorecard_pack, reference_territory_scorecard_public_bundle\n- KPI clés : schema_count, input_count, output_count, scorecard_count\n- Markdown : /api/get_reference_territory_kpi_scores.php?format=md\n- CSV : /api/get_reference_territory_kpi_scores.php?format=csv\n- Caveat : Scores KPI : calcules depuis sorties normalisees, ne prouvent pas import DB, validation endpoint ou certification finale.\n- Prochaine action : Brancher les scores calcules dans le bundle public des premiers territoires pilotes.\n\n## Territory Pilot Profiles\n\n- Usage : Page pilote, deck, data room, revue publication, selection territoires prioritaires.\n- Persona : produit, marketing, fondateur, data ops, territoire\n- Besoin utilisateur : Transformer les scores KPI en profils territoire pilotes copiables avec sources, confiance et caveats.\n- Sources : reference_territory_kpi_score_table, reference_territory_scorecard_public_bundle, reference_publishable_territory_page_pack\n- KPI clés : schema_count, output_count, rule_count\n- Markdown : /api/get_reference_territory_pilot_profiles.php?format=md\n- CSV : /api/get_reference_territory_pilot_profiles.php?format=csv\n- Caveat : Profils pilotes : generes depuis scores locaux, ne prouvent pas import DB, validation endpoint ou noms publics verifies.\n- Prochaine action : Revoir les 50 profils pilotes, brancher les noms publics territoire puis publier les premiers profils.\n\n## Publishable Territory Profiles\n\n- Usage : Page publique brouillon, deck, revue publication, selection territoires prioritaires.\n- Persona : produit, marketing, fondateur, data ops, territoire\n- Besoin utilisateur : Produire des profils territoire publiables avec label source, maille lisible, scorecards, confiance et caveats.\n- Sources : reference_territory_pilot_profiles, reference_territory_kpi_score_table, reference_territory_scorecard_public_bundle\n- KPI clés : schema_count, output_count, rule_count\n- Markdown : /api/get_reference_publishable_territory_profiles.php?format=md\n- CSV : /api/get_reference_publishable_territory_profiles.php?format=csv\n- Caveat : Profils publiables : brouillons data/copy, demandent revue label, preuves, sources et approbation finale.\n- Prochaine action : Publier les premiers profils apres revue labels et selection des preuves source.\n\n## Profile Publication Queue\n\n- Usage : Revue publication, planning editorial, page publique, deck, validation source.\n- Persona : produit, marketing, fondateur, data ops, editorial\n- Besoin utilisateur : Prioriser les profils territoire a publier avec gates editoriaux, preuve multi-source et prochaines actions.\n- Sources : reference_publishable_territory_profiles, reference_territory_scorecard_public_bundle, reference_publication_gate\n- KPI clés : schema_count, status_count, output_count\n- Markdown : /api/get_reference_profile_publication_queue.php?format=md\n- CSV : /api/get_reference_profile_publication_queue.php?format=csv\n- Caveat : Queue publication : controle editorial, ne vaut pas approbation finale, import DB ou validation endpoint.\n- Prochaine action : Traiter les profils needs_multi_source_proof avant toute publication publique.\n\n## Profile Proof Cards\n\n- Usage : Revue editoriale, page territoire, proof strip, citation kit, validation source.\n- Persona : produit, marketing, editorial, data ops, territoire\n- Besoin utilisateur : Ajouter des preuves multi-sources aux profils territoire avant publication publique.\n- Sources : reference_publishable_territory_profiles, reference_territory_source_fact_table, reference_profile_publication_queue\n- KPI clés : schema_count, output_count, status_count\n- Markdown : /api/get_reference_profile_proof_cards.php?format=md\n- CSV : /api/get_reference_profile_proof_cards.php?format=csv\n- Caveat : Proof cards : soutiennent la revue editoriale, ne prouvent pas exhaustivite terrain ni approbation finale.\n- Prochaine action : Utiliser les proof cards pour promouvoir les profils de needs_multi_source_proof vers revue editoriale.\n\n## KPI Copy Pack\n\n- Usage : Page territoire, deck commercial, note investisseur, brief partenaire, CRM, CMS.\n- Persona : fondateur, marketing, data, territoire, sales\n- Besoin utilisateur : Copier des KPI vin et oenotourisme coherents, sexy et publies avec source, maille, date et caveat.\n- Sources : reference_kpi_publication_certificates, reference_public_footnotes, reference_source_attributions, reference_source_demand_backlog\n- KPI clés : section_count, item_count, rule_count, copy_ready_status\n- Markdown : /api/get_reference_kpi_copy_pack.php?format=md\n- CSV : /api/get_reference_kpi_copy_pack.php?format=csv\n- Caveat : Pack copie : ne remplace pas les certificats de publication, attributions source ou controles de licence.\n- Prochaine action : Brancher les snippets sur les pages territoires et les exports commerciaux prioritaires.\n\n## User Need KPI Map\n\n- Usage : Cadrage produit, roadmap data, page territoire, brief commercial, cahier des charges source.\n- Persona : fondateur, territoire, domaine, data partner, media\n- Besoin utilisateur : Relier chaque besoin utilisateur aux KPI, sources, regles d agregation et formats copiables.\n- Sources : reference_kpi_copy_pack, reference_kpi_aggregation_rules, reference_source_acquisition_sprint, reference_page_publication_kit\n- KPI clés : persona_count, need_count, unique_kpi_count, copy_block_count\n- Markdown : /api/get_reference_user_need_kpi_map.php?format=md\n- CSV : /api/get_reference_user_need_kpi_map.php?format=csv\n- Caveat : Cartographie besoin : ne prouve pas la publiabilite individuelle des KPI sans certificat et attribution source.\n- Prochaine action : Utiliser cette matrice pour prioriser les prochains packs sources et les pages territoire.\n\n## Publishable Territory Page Pack\n\n- Usage : Page publique, landing comparative, one-pager commercial, page methode, CMS.\n- Persona : territoire, fondateur, marketing, media, data\n- Besoin utilisateur : Assembler une page territoire vin et oenotourisme publiable avec KPI, sources, caveats et blocs copiables.\n- Sources : reference_user_need_kpi_map, reference_kpi_copy_pack, reference_page_publication_kit, reference_territory_page_kit, reference_territory_publication_bundle\n- KPI clés : blueprint_count, section_count, cms_field_count, gate_count, copy_block_count\n- Markdown : /api/get_reference_publishable_territory_page.php?format=md\n- CSV : /api/get_reference_publishable_territory_page.php?format=csv\n- Caveat : Pack page publiable : assemble la structure, mais ne remplace pas alimentation KPI, certificats ou controles runtime.\n- Prochaine action : Brancher ce pack sur les premieres pages territoire prioritaires et remplacer les placeholders par valeurs certifiees.\n\n## Insee Tourism Occupancy Pack\n\n- Usage : KPI demande touristique, fiche territoire, deck destination, score oenotourisme, benchmark offre/demande.\n- Persona : destination, analyste, direction, publication, data ops\n- Besoin utilisateur : Contextualiser un territoire viticole avec la demande touristique officielle : nuitées, arrivées et occupation.\n- Sources : insee_tourism_occupancy, insee_tourism_capacity_communes, datatourisme_oenotourism, vignobles_decouvertes\n- KPI clés : zip_available, sample_latest_period, sample_measure_count, sample_geo_level_count, zip_file_count\n- Markdown : /api/get_insee_tourism_occupancy.php?format=md\n- CSV : /api/get_insee_tourism_occupancy.php?format=csv\n- Caveat : Demande touristique generale : ne pas attribuer au vin sans rapprochement territoire/offre oenotouristique.\n- Prochaine action : Normaliser DS_TOUR_FREQ_data.csv puis isoler les niveaux geo comparables aux territoires viticoles.\n\n## BNSC Bike Parking Pack\n\n- Usage : Score oenotourisme, page territoire, carte mobilite douce, deck destination, data room.\n- Persona : destination, oenotourisme, mobilite douce, publication, data ops\n- Besoin utilisateur : Qualifier l accessibilite velo d un territoire oenotouristique avec un signal national standardise.\n- Sources : bnsc_bike_parking, datatourisme_oenotourism, ban_address_reference, reference_kpi_aggregation_rules\n- KPI clés : sampled_parkings, sample_commune_count, sample_capacity, sample_covered_count, sample_lit_count\n- Markdown : /api/get_bnsc_bike_parking.php?format=md\n- CSV : /api/get_bnsc_bike_parking.php?format=csv\n- Caveat : Source OSM/ODbL contributive : signal mobilite douce non exhaustif, pas label Accueil Velo ni frequentation.\n- Prochaine action : Normaliser le ZIP puis agreger par code commune pour activer bike_access_signal.\n\n## Capacité touristique communale INSEE\n\n- Usage : Brief destination, score capacité accueil, benchmark commune/département.\n- Persona : destination, institutionnel, analyste, sales\n- Besoin utilisateur : Mesurer la capacité d’accueil officielle d’un territoire avant de parler potentiel œnotouristique.\n- Sources : insee_tourism_capacity_communes\n- KPI clés : communes, total_tourism_capacity, hotel_rooms, camping_pitches, other_accommodation_bedplaces\n- Markdown : /api/reference_export.php?type=insee_tourism_capacity_communes&format=md\n- CSV : /api/reference_export.php?type=insee_tourism_capacity_communes\n- Caveat : Capacité officielle au 1er janvier : pas fréquentation réelle, pas nuitées, pas motivation vin.\n- Prochaine action : Croiser par code commune avec INAO, DATAtourisme et Vignobles & Découvertes.\n\n## Qualite Tourisme Establishments Pack\n\n- Usage : KPI accueil, fiche territoire, score oenotourisme, carte qualite, data room destination.\n- Persona : destination, oenotourisme, publication, data ops, commercial\n- Besoin utilisateur : Qualifier la qualite d accueil touristique d un territoire avec un label d Etat et des caveats clairs sur le lien vin.\n- Sources : qualite_tourisme_establishments, datatourisme_oenotourism, vignobles_decouvertes, classified_accommodations, tourism_handicap_establishments\n- KPI clés : sampled_establishments, wine_related_establishments, geocoded_rate, region_count, activity_count\n- Markdown : /api/get_qualite_tourisme_establishments.php?format=md\n- CSV : /api/get_qualite_tourisme_establishments.php?format=csv\n- Caveat : Label qualite accueil : ne mesure pas frequentation ni preuve vin sans rapprochement DATAtourisme/V&D/commune viticole.\n- Prochaine action : Normaliser le CSV puis rapprocher par commune/geocodage avec les offres oenotouristiques et labels destination.\n\n## Établissements Tourisme & Handicap\n\n- Usage : Brief destination inclusive, score accueil, annexe qualité accessibilité.\n- Persona : destination inclusive, institutionnel, oenotourisme, qualité\n- Besoin utilisateur : Qualifier l’accessibilité réelle de l’offre touristique locale par établissements labellisés.\n- Sources : tourisme_handicap_establishments\n- KPI clés : establishments, all_four_disabilities, cities, departments, activities\n- Markdown : /api/reference_export.php?type=tourism_handicap_establishments&format=md\n- CSV : /api/reference_export.php?type=tourism_handicap_establishments\n- Caveat : Label accessibilité : ne mesure pas fréquentation, satisfaction ni exhaustivité de toute l’offre touristique.\n- Prochaine action : Croiser avec DATAtourisme, hébergements classés, V&D et communes viticoles.\n\n## Qualité adresse BAN\n\n- Usage : Audit geocodage, carte territoire, QA publication, enrichissement DATAtourisme/Sirene.\n- Persona : cartographie, destination, data ops, publication\n- Besoin utilisateur : Verifier et geocoder les adresses de lieux vin/oenotourisme avant cartes, scores territoriaux et pages publiques.\n- Sources : ban_address_reference, ban_commune_status\n- KPI clés : audit_rows, geocoded_rate, average_address_score, low_quality_rows, certified_address_rows, commune_count\n- Markdown : /api/get_ban_address_quality.php?format=md\n- CSV : /api/reference_export.php?type=ban_address_quality\n- Caveat : La BAN qualifie adresse et coordonnees ; elle ne prouve ni ouverture au public, ni pertinence vin, ni frequentation.\n- Prochaine action : Produire sources/ban-address-quality.csv a partir des lieux Winerix et isoler les adresses faibles.\n\n## Agence Bio Organic Wine Pack\n\n- Usage : KPI durabilite, fiche territoire, data room source, score oenotourisme responsable.\n- Persona : destination, data ops, publication, durabilite, analyste\n- Besoin utilisateur : Mesurer et expliquer la presence bio liee au vin par territoire avec source officielle, SIRET, certificateur et caveats.\n- Sources : agencebio_organic_wine, sirene_wine_establishments, ban_address_quality, reference_trust_badges\n- KPI clés : wine_related_operators, department_count, city_count, certifier_count, source_mode\n- Markdown : /api/get_agencebio_organic_wine.php?format=md\n- CSV : /api/get_agencebio_organic_wine.php?format=csv\n- Caveat : Annuaire declaratif Agence Bio : publier d abord des agregats territoire ; le groupe culture VI de l historique communal inclut une faible part de raisin de table.\n- Prochaine action : Normaliser les operateurs vin bio puis croiser SIRET/Sirene/BAN/communes pour activer le KPI durabilite bio.\n\n## Exploitations certifiées HVE\n\n- Usage : Score durabilite territoire, fiche domaine, deck destination, preuve environnementale.\n- Persona : territoire, durabilite, oenotourisme, direction\n- Besoin utilisateur : Ajouter un signal environnemental officiel pour qualifier les domaines, territoires et offres viticoles.\n- Sources : hve_certified_estates\n- KPI clés : certified_estates, wine_related_estates, wine_related_rate, region_count, department_count, commune_count\n- Markdown : /api/get_hve_certified_estates.php?format=md\n- CSV : /api/reference_export.php?type=hve_certified_estates\n- Caveat : Annuaire volontaire et filtrage vin textuel : relire avant publication forte ou usage nominatif.\n- Prochaine action : Rapprocher HVE avec domaines Winerix, Sirene, BAN et communes viticoles.\n\n## Preuve réglementaire eAmbrosia\n\n- Usage : Contrôle appellation, annexe réglementaire.\n- Persona : réglementaire, appellation, publication, analyste\n- Besoin utilisateur : Sécuriser les preuves GI, PDO/AOP, PGI/IGP et cahiers des charges.\n- Sources : eambrosia_gi\n- KPI clés : gi_count, registered_count, pdo_count, pgi_count, specification_urls\n- Markdown : /api/reference_export.php?type=eambrosia_gis&format=md\n- CSV : /api/reference_export.php?type=eambrosia_gis\n- Caveat : Preuve UE à croiser avec INAO/COMAGRI et libellés locaux.\n- Prochaine action : Utiliser aussi le contrôle des écarts appellation/eAmbrosia.\n\n## Aires AOC/AOP INAO par commune\n\n- Usage : Cadrage appellation, preuve communale, QA réglementaire.\n- Persona : territoire, appellation, publication, data ops\n- Besoin utilisateur : Relier les aires officielles AOC/AOP aux communes pour sécuriser un périmètre territorial.\n- Sources : inao_aoc_aop_commune_areas, appellations, comagri_ao_2025\n- KPI clés : area_rows, areas, communes, matched_winerix_areas, departments\n- Markdown : /api/reference_export.php?type=inao_aoc_aop_communes&format=md\n- CSV : /api/reference_export.php?type=inao_aoc_aop_communes\n- Caveat : AOC/AOP toutes familles : filtrer/croiser avec les appellations vin Winerix, COMAGRI ou eAmbrosia avant usage juridique.\n- Prochaine action : Comparer les libellés INAO avec les appellations Winerix et traiter les non-matchs prioritaires.\n\n## Produits SIQO INAO vin\n\n- Usage : Filtre produit, cadrage appellation, preuve SIQO.\n- Persona : appellation, publication, analyste, data ops\n- Besoin utilisateur : Identifier les produits vin officiels sous SIQO avant de publier un périmètre ou une preuve appellation.\n- Sources : inao_siqo_products, inao_aoc_aop_commune_areas, eambrosia_gi\n- KPI clés : products, published_products, appellations, denominations, signs\n- Markdown : /api/reference_export.php?type=inao_siqo_products&format=md&wine_only=1\n- CSV : /api/reference_export.php?type=inao_siqo_products&wine_only=1\n- Caveat : Source produit officielle : ne remplace pas les aires communales INAO ni les cahiers des charges eAmbrosia.\n- Prochaine action : Rapprocher appellations/dénominations SIQO avec INAO communes et eAmbrosia pour construire une preuve complète.\n\n## Preuve appellation complète\n\n- Usage : Annexe preuve, QA publication, priorisation des gaps réglementaires.\n- Persona : publication, réglementaire, analyste, data ops\n- Besoin utilisateur : Savoir si une appellation est prouvée par produit SIQO, aire communale INAO et eAmbrosia.\n- Sources : appellations, inao_siqo_products, inao_aoc_aop_commune_areas, eambrosia_gi\n- KPI clés : complete_evidence, coverage_rate, siqo_matched, inao_area_matched, eambrosia_matched\n- Markdown : /api/reference_export.php?type=appellation_evidence_pack&format=md\n- CSV : /api/reference_export.php?type=appellation_evidence_pack\n- Caveat : Matching normalisé accents/casse/ponctuation, mais encore textuel : relire les libellés avant usage juridique ou publication forte.\n- Prochaine action : Traiter les gaps SIQO, INAO aire et eAmbrosia avant de promettre une preuve complète.\n\n## Contrôle écarts appellations/eAmbrosia\n\n- Usage : File de revue, QA réglementaire.\n- Persona : data ops, réglementaire, publication\n- Besoin utilisateur : Identifier les appellations sans preuve eAmbrosia directe et les GI orphelines.\n- Sources : appellations, eambrosia_gi\n- KPI clés : matched, missing_eambrosia, orphan_eambrosia, match_rate\n- Markdown : /api/reference_export.php?type=appellation_regulatory_gaps&format=md\n- CSV : /api/reference_export.php?type=appellation_regulatory_gaps\n- Caveat : Matching textuel normalisé : relire avant usage juridique.\n- Prochaine action : Qualifier les non-appariements prioritaires.\n\n## Cadrage Agreste viticulture\n\n- Usage : Brief filière, ordre de grandeur territoire.\n- Persona : territoire, filière, appellation, investisseur\n- Besoin utilisateur : Cadrer surface, production et exploitations avec une source statistique officielle.\n- Sources : agreste_viticulture_territorial\n- KPI clés : surface_vigne, production_vin, exploitations_viticoles\n- Markdown : /api/reference_export.php?type=agreste_viticulture&format=md\n- CSV : /api/reference_export.php?type=agreste_viticulture\n- Caveat : Statistique territoriale, pas preuve parcellaire ni domaine.\n- Prochaine action : Croiser avec RPG et appellations.\n\n## Foncier viticole Agreste\n\n- Usage : Contexte investissement, slide territoire, benchmark foncier.\n- Persona : investisseur, territoire, direction, analyste\n- Besoin utilisateur : Ajouter un signal de rarete et d attractivite fonciere aux lectures vin/oenotourisme.\n- Sources : agreste_vineyard_land_values\n- KPI clés : normalized_rows, vineyard_rows, territory_count, average_price_eur_ha, price_min_eur_ha, price_max_eur_ha\n- Markdown : /api/get_agreste_vineyard_land_values.php?format=md\n- CSV : /api/reference_export.php?type=agreste_vineyard_land_values\n- Caveat : Valeurs vignes lissees avec concours SAFER : contexte foncier, pas prix transactionnel brut.\n- Prochaine action : Normaliser la ressource Agreste en CSV local puis relier aux territoires viticoles.\n\n## Récoltes et stocks vitivinicoles DGDDI\n\n- Usage : Brief filiere, page territoire, contexte offre, deck direction.\n- Persona : filiere, territoire, analyste, direction\n- Besoin utilisateur : Ajouter le contexte offre : surfaces productives, recoltes, declarations et stocks pour lire un territoire viticole.\n- Sources : dgddi_vitivinicole_stocks_harvests\n- KPI clés : harvest_resource_count, stock_resource_count, surface_ha_total, production_hl_total, stock_hl_total, stock_to_production_ratio\n- Markdown : /api/get_dgddi_vitivinicole_supply.php?format=md\n- CSV : /api/reference_export.php?type=dgddi_vitivinicole_supply\n- Caveat : Jeu historique data.gouv ancien ; basculer/valider DataDouane avant publication de chiffres recents.\n- Prochaine action : Normaliser les XLS officiels en CSV local avec type, annee, departement, surface, production, stock et declarations.\n\n## Parcelles viticoles RPG\n\n- Usage : Brief foncier, carte, diagnostic zone.\n- Persona : cartographie, territoire, foncier, appellation\n- Besoin utilisateur : Mesurer une empreinte viticole déclarative par parcelles PAC.\n- Sources : rpg_parcels\n- KPI clés : parcels, surface_ha, communes, latest_year\n- Markdown : /api/reference_export.php?type=rpg_vineyard_parcels&format=md\n- CSV : /api/reference_export.php?type=rpg_vineyard_parcels\n- Caveat : Déclaratif PAC : pas propriété cadastrale ni exhaustivité vigne.\n- Prochaine action : Contrôler les clés géographiques avant rattachement domaine.\n\n## Politique de fraîcheur sources\n\n- Usage : Runbook source, audit fraîcheur.\n- Persona : data ops, publication, gouvernance\n- Besoin utilisateur : Savoir quelles sources rafraîchir, avec quelle preuve et quelle commande.\n- Sources : source_refresh_policy\n- KPI clés : recommended_cadence, stale_after_days, critical_after_days, evidence_required\n- Markdown : /api/reference_export.php?type=source_refresh_policy&format=md\n- CSV : /api/reference_export.php?type=source_refresh_policy\n- Caveat : Runbook de gouvernance : ne remplace pas l’import effectif.\n- Prochaine action : Traiter les sources critical/due avant publication externe.\n\n## Statut activation sources\n\n- Usage : Checklist release, point ops, reprise après déploiement VPS.\n- Persona : data ops, publication, gouvernance\n- Besoin utilisateur : Savoir immédiatement quelles sources peuvent être activées et quels fichiers/configs bloquent.\n- Sources : source_registry, source_refresh_policy\n- KPI clés : db_ready, ready_to_run, required_missing_files, optional_missing_files\n- Markdown : /api/get_source_activation_status.php?format=md\n- CSV : /api/get_source_activation_status.php?format=csv\n- Caveat : Statut fichiers/config uniquement : ne prouve pas que l’import DB a réussi.\n- Prochaine action : Corriger les fichiers/configs manquants puis lancer scripts/activate_reference_sources.php.\n\n## Board maintenance sources\n\n- Usage : Daily data ops, plan refresh, reprise de publication.\n- Persona : data ops, gouvernance, publication\n- Besoin utilisateur : Transformer les statuts source en tickets priorisés et copiables.\n- Sources : source_activation_status, source_refresh_policy\n- KPI clés : publication_action, freshness_status, priority, copy_ticket\n- Markdown : /api/get_source_maintenance_board.php?format=md\n- CSV : /api/get_source_maintenance_board.php?format=csv\n- Caveat : Board opérationnel : ne prouve pas l’import DB ni la validité métier des données.\n- Prochaine action : Traiter les tickets P1/P2/P3 avant publication externe.\n\n## Source Opportunity Radar\n\n- Usage : Backlog source, point data hebdo, arbitrage produit, roadmap intégration.\n- Persona : data ops, direction, produit, publication\n- Besoin utilisateur : Prioriser les nouvelles sources officielles à intégrer pour enrichir les KPI vin et oenotourisme.\n- Sources : franceagrimer_bulk_wine_prices, insee_tourism_capacity_communes, sirene_wine_establishments, ban_address_reference, inao_aoc_aop_igp_areas_products\n- KPI clés : opportunity_score, priority, impact, effort, confidence_score\n- Markdown : /api/get_source_opportunity_radar.php?format=md\n- CSV : /api/get_source_opportunity_radar.php?format=csv\n- Caveat : Radar de priorisation : les sources listées ne sont pas toutes encore importées ni validées métier.\n- Prochaine action : Traiter les P1 en imports contrôlés puis les raccorder aux KPI Cards.\n\n## Prix vrac FranceAgriMer\n\n- Usage : Brief marché, note sales, cadrage prix, benchmark macro.\n- Persona : direction, marché, sales, analyste\n- Besoin utilisateur : Contextualiser le marché vin avec les prix moyens vrac VSIG/IGP France entière.\n- Sources : franceagrimer_campagne_viticulture\n- KPI clés : series, campaigns, latest_price, avg_price, categories\n- Markdown : /api/reference_export.php?type=bulk_wine_prices&format=md\n- CSV : /api/reference_export.php?type=bulk_wine_prices\n- Caveat : Prix vrac France entière VSIG/IGP : pas prix domaine, pas contrats privés, pas cotation appellation fine.\n- Prochaine action : Normaliser la ressource Visionet dans sources/franceagrimer-prices.csv puis lancer l’import bulk_prices.\n\n## Établissements vin SIRENE\n\n- Usage : Prospection, benchmark territoire, scoring business, annexe méthodo.\n- Persona : sales, analyste, direction, data ops\n- Besoin utilisateur : Mesurer la densité économique vin par commune, département et code NAF.\n- Sources : sirene_wine_establishments, sirene_insee\n- KPI clés : establishments, sirens, core_wine_establishments, communes, naf_codes\n- Markdown : /api/reference_export.php?type=sirene_wine_establishments&format=md\n- CSV : /api/reference_export.php?type=sirene_wine_establishments\n- Caveat : Activité administrative déclarée : codes adjacents non exclusivement vin et obligations RGPD pour usages nominatifs.\n- Prochaine action : Télécharger le stock établissement Sirene, importer les NAF vin, puis croiser avec communes INAO et offres DATAtourisme.\n\n## Reference Copy Studio\n\n- Usage : Slides, mail, note exécutive, brief destination, release data.\n- Persona : direction, destination, appellation, data ops, sales\n- Besoin utilisateur : Copier rapidement le bon message, les bons KPI, les bons exports et le caveat selon la décision.\n- Sources : reference_products, kpi_pack, kpi_evidence\n- KPI clés : persona, decision, metrics_to_pull, products, caveat\n- Markdown : /api/get_reference_copy_studio.php?format=md\n- CSV : /api/get_reference_copy_studio.php?format=csv\n- Caveat : Briefs éditoriaux : ils orientent la copie mais ne remplacent pas les chiffres dynamiques du KPI Pack.\n- Prochaine action : Choisir le persona, copier le brief, puis remplacer les métriques par les valeurs du pack filtré.\n\n## User Need Navigator\n\n- Usage : Navigation produit, brief commercial, onboarding analyste, publication guidée.\n- Persona : direction, destination, appellation, sales, data ops, analyste\n- Besoin utilisateur : Partir de la décision utilisateur pour choisir les bons KPI, produits, exports et caveats.\n- Sources : reference_products, reference_kpi_dictionary, reference_publication_gate\n- KPI clés : route_count, persona, hero_kpis, product_keys, missing_product_count\n- Markdown : /api/get_reference_user_need_navigator.php?format=md\n- CSV : /api/get_reference_user_need_navigator.php?format=csv\n- Caveat : Navigator éditorial : il route vers les produits, mais ne prouve pas la fraîcheur ni l’import effectif de chaque source.\n- Prochaine action : Le publier comme point d’entrée persona avant le Data Product Index.\n\n## Publishable Snippet Board\n\n- Usage : Homepage, deck, email sales, note methode, release data.\n- Persona : direction, destination, appellation, sales, data ops, analyste\n- Besoin utilisateur : Copier un bloc pret a publier pour page, slide, email, brief ou release note.\n- Sources : reference_products, reference_user_need_navigator, reference_kpi_dictionary\n- KPI clés : snippet_count, kpi_slots, product_keys, clipboard_block\n- Markdown : /api/get_reference_publishable_snippets.php?format=md\n- CSV : /api/get_reference_publishable_snippets.php?format=csv\n- Caveat : Blocs éditoriaux : injecter les valeurs dynamiques et vérifier le Publication Gate avant diffusion externe.\n- Prochaine action : Utiliser comme bibliothèque de textes pour la page référence et les decks.\n\n## Reference KPI Scorecard\n\n- Usage : Dashboard, deck, page reference, cadrage KPI, brief design.\n- Persona : direction, produit, analyste, publication, design\n- Besoin utilisateur : Organiser les KPI Winerix par familles coherentes, niveaux d aggregation, exports et caveats.\n- Sources : reference_products, reference_kpi_dictionary, reference_publication_gate\n- KPI clés : family_count, hero_kpis, aggregation_level, source_products, visual_treatment\n- Markdown : /api/get_reference_kpi_scorecard.php?format=md\n- CSV : /api/get_reference_kpi_scorecard.php?format=csv\n- Caveat : Scorecard methode : elle structure les familles KPI mais ne remplace pas les valeurs dynamiques ni le Publication Gate.\n- Prochaine action : Utiliser comme grille de dashboard et de slides avant les KPI Cards.\n\n## Reference Dashboard Blueprint\n\n- Usage : Spec dashboard, brief design, page reference, deck commercial.\n- Persona : produit, design, direction, publication, data ops\n- Besoin utilisateur : Transformer les KPI, produits et caveats Winerix en page ou deck reference lisible et actionnable.\n- Sources : reference_kpi_scorecard, reference_publishable_snippets, reference_products\n- KPI clés : section_count, layout, kpi_slots, product_keys, visual_direction\n- Markdown : /api/get_reference_dashboard_blueprint.php?format=md\n- CSV : /api/get_reference_dashboard_blueprint.php?format=csv\n- Caveat : Blueprint UI : il structure la page mais ne remplace pas les valeurs dynamiques, les imports ni le Publication Gate.\n- Prochaine action : L’utiliser comme cahier des charges pour la page publique référence data.\n\n## Reference Narrative Deck\n\n- Usage : Deck commercial, pitch investisseur, note partenaire, page narrative.\n- Persona : direction, sales, produit, publication, investisseurs\n- Besoin utilisateur : Presenter Winerix comme couche reference data vin/oenotourisme dans un deck clair et caveate.\n- Sources : reference_dashboard_blueprint, reference_kpi_scorecard, reference_publishable_snippets\n- KPI clés : slide_count, kpi_slots, product_keys, speaker_note, caveat\n- Markdown : /api/get_reference_narrative_deck.php?format=md\n- CSV : /api/get_reference_narrative_deck.php?format=csv\n- Caveat : Deck narratif : injecter les valeurs dynamiques depuis les produits et vérifier le Publication Gate avant partage externe.\n- Prochaine action : L’utiliser comme structure de pitch et le décliner en slides visuelles.\n\n## Source-KPI Lineage Matrix\n\n- Usage : Audit source, annexe méthodo, QA publication, revue gouvernance.\n- Persona : data ops, analyste, publication, direction\n- Besoin utilisateur : Tracer chaque source vers les produits, KPI, exports, caveats et politiques de fraîcheur.\n- Sources : reference_products, source_refresh_policy, reference_kpi_dictionary\n- KPI clés : source_count, governed_sources, catalog_only_sources, product_count\n- Markdown : /api/get_reference_source_lineage.php?format=md\n- CSV : /api/get_reference_source_lineage.php?format=csv\n- Caveat : Lineage catalogue : il prouve les liens déclarés source/produit, pas l’import DB effectif ni la fraîcheur runtime.\n- Prochaine action : Traiter les sources catalog_only en ajoutant leur politique de fraîcheur ou en les marquant comme produits internes.\n\n## Reference API Manifest\n\n- Usage : Documentation API, intégration partenaire, audit exports, génération navigation.\n- Persona : développeur, partenaire, data ops, publication\n- Besoin utilisateur : Trouver rapidement tous les endpoints produits Winerix, leurs formats, KPI, caveats et priorités.\n- Sources : reference_products, reference_source_lineage, reference_publication_gate\n- KPI clés : product_count, publish_count, complete_count, watch_count, endpoint_count\n- Markdown : /api/get_reference_api_manifest.php?format=md\n- CSV : /api/get_reference_api_manifest.php?format=csv\n- Caveat : Manifeste déclaratif issu du catalogue : vérifier le Publication Gate et les imports avant usage externe.\n- Prochaine action : L’utiliser comme source de documentation API et navigation produit.\n\n## Reference Launch Readiness\n\n- Usage : Checklist launch, go/no-go publication, réunion release, suivi partenaire.\n- Persona : direction, publication, data ops, produit\n- Besoin utilisateur : Savoir si Winerix est prêt à être partagé comme référence data publique et quoi corriger avant lancement.\n- Sources : reference_publication_gate, source_activation_status, reference_source_lineage, reference_api_manifest, reference_dashboard_blueprint\n- KPI clés : check_count, required_count, recommended_count, artifact_available_count, artifact_missing_count\n- Markdown : /api/get_reference_launch_readiness.php?format=md\n- CSV : /api/get_reference_launch_readiness.php?format=csv\n- Caveat : Checklist déclarative : elle ne remplace pas les imports DB, la validation runtime ni la validation métier finale.\n- Prochaine action : L’utiliser comme go/no-go avant toute diffusion publique ou partenaire.\n\n## Reference Citation Kit\n\n- Usage : Annexe méthode, footer slide, page publique, mail partenaire, QA publication.\n- Persona : publication, analyste, direction, legal, sales\n- Besoin utilisateur : Citer proprement les sources officielles et conserver les caveats avec chaque KPI publié.\n- Sources : datatourisme_oenotourism, inao_siqo_products, inao_aoc_aop_commune_areas, eambrosia_gi, insee_tourism_capacity_communes, reference_publication_gate\n- KPI clés : citation_count, official_count, internal_count, license_label, caveat\n- Markdown : /api/get_reference_citation_kit.php?format=md\n- CSV : /api/get_reference_citation_kit.php?format=csv\n- Caveat : Kit éditorial : vérifier l’URL, la fraîcheur et le Publication Gate avant diffusion externe.\n- Prochaine action : L’utiliser comme source unique des citations dans pages, slides et exports.\n\n## Reference Integration Guide\n\n- Usage : Documentation développeur, onboarding partenaire, intégration dashboard, runbook API.\n- Persona : développeur, partenaire, data ops, produit\n- Besoin utilisateur : Intégrer les API Winerix en Markdown, JSON ou CSV avec des exemples copiables et les bons caveats.\n- Sources : reference_api_manifest, reference_publication_gate, reference_citation_kit\n- KPI clés : endpoint_count, recipe_count, markdown_endpoint, json_endpoint, csv_endpoint\n- Markdown : /api/get_reference_integration_guide.php?format=md\n- CSV : /api/get_reference_integration_guide.php?format=csv\n- Caveat : Guide d’intégration : les exemples doivent conserver les caveats et vérifier le Publication Gate avant affichage externe.\n- Prochaine action : Le partager avec tout partenaire ou développeur qui consomme les exports Winerix.\n\n## Reference Data Room Index\n\n- Usage : Sommaire data room, onboarding partenaire, revue publication, navigation interne.\n- Persona : direction, publication, partenaire, data ops, sales\n- Besoin utilisateur : Trouver rapidement le bon livrable Winerix selon l’usage : publication, API, KPI, sources, destination, appellation ou sales.\n- Sources : reference_launch_readiness, reference_api_manifest, reference_kpi_scorecard, reference_source_lineage, reference_citation_kit\n- KPI clés : collection_count, unique_product_count, markdown_export_count, product_keys, copy_order\n- Markdown : /api/get_reference_data_room_index.php?format=md\n- CSV : /api/get_reference_data_room_index.php?format=csv\n- Caveat : Index de navigation : vérifier les exports produits et le Publication Gate avant partage externe.\n- Prochaine action : L’utiliser comme sommaire officiel des livrables de référence Winerix.\n\n## Reference Data Contracts\n\n- Usage : Contrats API, QA intégration, documentation partenaire, migration de champs.\n- Persona : développeur, partenaire, data ops, produit\n- Besoin utilisateur : Savoir quels champs et formats attendre pour intégrer les produits API Winerix sans casser les usages.\n- Sources : reference_api_manifest, reference_integration_guide, reference_publication_gate\n- KPI clés : contract_count, catalog_linked_count, missing_product_count, required_fields, quality_gates\n- Markdown : /api/get_reference_data_contracts.php?format=md\n- CSV : /api/get_reference_data_contracts.php?format=csv\n- Caveat : Contrats logiques : ils documentent les champs attendus mais ne remplacent pas les tests runtime ni la validation des imports.\n- Prochaine action : Les utiliser comme garde-fou avant toute intégration externe ou changement de schéma API.\n\n## Reference Release Notes\n\n- Usage : Note de lancement, mail partenaire, release interne, alignement sales.\n- Persona : direction, publication, sales, data ops, partenaires\n- Besoin utilisateur : Savoir quoi annoncer, quoi partager avec caveat et quoi ne pas promettre dans l’état actuel de la référence Winerix.\n- Sources : reference_launch_readiness, reference_data_room_index, reference_publication_gate, source_activation_status\n- KPI clés : section_count, unique_product_count, shareable_count, runtime_validation_count\n- Markdown : /api/get_reference_release_notes.php?format=md\n- CSV : /api/get_reference_release_notes.php?format=csv\n- Caveat : Release notes éditoriales : elles ne remplacent pas le Publication Gate ni la validation runtime.\n- Prochaine action : Les utiliser pour cadrer le prochain partage public ou partenaire.\n\n## Trust Badge Pack\n\n- Usage : Badges UI, dashboard, page territoire, deck, data room.\n- Persona : design, publication, produit, data ops\n- Besoin utilisateur : Afficher clairement live, partiel, demo, bloque, source officielle, metadata-only ou agregat nominatif.\n- Sources : reference_claim_guard, reference_live_kpi_board, reference_visual_system\n- KPI clés : badge_count, family, tone, html, copy_rule\n- Markdown : /api/get_reference_trust_badges.php?format=md\n- CSV : /api/get_reference_trust_badges.php?format=csv\n- Caveat : Badge visuel : ne remplace pas Claim Guard, Publication Gate ou revue metier finale.\n- Prochaine action : Utiliser ces badges dans territory-reference.html et les exports KPI.\n\n## Reference Claim Guard\n\n- Usage : QA publication, page publique, email partenaire, slide, post court.\n- Persona : publication, marketing, direction, legal, data ops\n- Besoin utilisateur : Savoir quelles promesses sont autorisees ou interdites selon mode KPI, source et canal.\n- Sources : reference_live_kpi_board, reference_territory_share_pack, reference_publication_gate\n- KPI clés : mode_count, source_state_count, channel_count, allowed_claims, forbidden_claims\n- Markdown : /api/get_reference_claim_guard.php?format=md\n- CSV : /api/get_reference_claim_guard.php?format=csv\n- Caveat : Garde-fou editorial : ne remplace pas revue juridique, metier ou Publication Gate final.\n- Prochaine action : Utiliser ce guard avant de publier les Share Packs et pages territoire.\n\n## Territory Share Pack\n\n- Usage : Page publique, email partenaire, slide direction, data room, post court.\n- Persona : marketing, publication, sales, direction, destination\n- Besoin utilisateur : Copier des textes prets a partager pour une fiche territoire sans reformuler les caveats.\n- Sources : reference_territory_publication_bundle, reference_live_kpi_board\n- KPI clés : channel_count, live_count, partial_count, demo_count, copy\n- Markdown : /api/get_reference_territory_share_pack.php?format=md\n- CSV : /api/get_reference_territory_share_pack.php?format=csv\n- Caveat : Pack editorial : ne remplace pas Publication Gate, validation runtime ni revue metier finale.\n- Prochaine action : Utiliser ces blocs dans pages, emails, slides et demos partenaires.\n\n## Territory Publication Bundle\n\n- Usage : Page territoire, demo partenaire, data room courte, brief destination.\n- Persona : publication, marketing, produit, destination, direction\n- Besoin utilisateur : Publier ou partager une fiche territoire avec sections, KPI modes, sources et blocs copiables depuis un seul endpoint.\n- Sources : reference_territory_page_kit, reference_live_kpi_board, reference_kpi_dependency_map\n- KPI clés : live_count, partial_count, demo_count, section_count, copy_blocks\n- Markdown : /api/get_reference_territory_publication_bundle.php?format=md\n- CSV : /api/get_reference_territory_publication_bundle.php?format=csv\n- Caveat : Bundle logique : ne remplace pas validation runtime, imports DB, revue metier ou Publication Gate externe.\n- Prochaine action : Utiliser ce bundle comme source unique pour les prototypes territoire publics.\n\n## Live KPI Board\n\n- Usage : Page territoire, dashboard public, QA publication, demo partenaire.\n- Persona : publication, produit, design, direction, data ops\n- Besoin utilisateur : Savoir quels KPI territoire afficher en live, partiel, demo ou bloque dans une page publique.\n- Sources : reference_score_hydration, reference_territory_score_calculator, reference_publication_gate\n- KPI clés : live_count, partial_count, demo_count, blocked_count, display_mode\n- Markdown : /api/get_reference_live_kpi_board.php?format=md\n- CSV : /api/get_reference_live_kpi_board.php?format=csv\n- Caveat : Mode affichage logique : ne remplace pas revue metier finale ni Publication Gate externe.\n- Prochaine action : Brancher ce board dans territory-reference.html pour choisir live/partial/demo par carte.\n\n## Score Hydration Board\n\n- Usage : Go/no-go hydratation KPI, dashboard readiness, debug page territoire.\n- Persona : data ops, produit, publication, direction, analyste\n- Besoin utilisateur : Savoir quels scores territoire peuvent etre calcules avec donnees normalisees, lesquels restent partiels ou bloques.\n- Sources : reference_kpi_dependency_map, reference_normalization_quality_gates, reference_territory_score_calculator\n- KPI clés : hydrated_ready_count, partially_hydratable_count, blocked_by_normalization_count, hydration_rate\n- Markdown : /api/get_reference_score_hydration.php?format=md\n- CSV : /api/get_reference_score_hydration.php?format=csv\n- Caveat : Hydratation logique : ne remplace pas revue metier, Publication Gate ni import DB valide.\n- Prochaine action : Utiliser ce board pour choisir quels scores afficher en live et lesquels laisser en pipeline.\n\n## KPI Dependency Map\n\n- Usage : Lineage KPI, data room, debug score, priorisation normalisation.\n- Persona : data ops, produit, analyste, publication, direction\n- Besoin utilisateur : Comprendre quelles sources et normalisations alimentent chaque composant de score territoire.\n- Sources : reference_territory_kpi_formulas, reference_normalization_runbook, reference_normalization_quality_gates\n- KPI clés : score_count, component_dependency_count, unique_source_count, normalization_output_count\n- Markdown : /api/get_reference_kpi_dependency_map.php?format=md\n- CSV : /api/get_reference_kpi_dependency_map.php?format=csv\n- Caveat : Carte logique : ne verifie ni existence fichier, ni qualite donnees, ni import DB.\n- Prochaine action : Utiliser avec Readiness et Quality Gates pour savoir quels scores peuvent etre hydrates.\n\n## Normalization Quality Gates\n\n- Usage : QA source, checklist import, Publication Gate, runbook data ops.\n- Persona : data ops, publication, produit, direction\n- Besoin utilisateur : Verifier qu un CSV normalise est structurellement pret avant import, score ou publication.\n- Sources : reference_normalization_runbook, reference_normalization_readiness\n- KPI clés : qa_ready_count, blocked_count, status_counts, missing_columns, row_count\n- Markdown : /api/get_reference_normalization_quality_gates.php?format=md\n- CSV : /api/get_reference_normalization_quality_gates.php?format=csv\n- Caveat : QA structurelle : ne remplace pas revue metier, statistiques ni validation import DB.\n- Prochaine action : Utiliser ces gates apres chaque normalisation et avant tout import ou hydratation KPI.\n\n## Reference Normalization Readiness\n\n- Usage : Checklist execution, daily source ops, sprint normalisation, go/no-go import.\n- Persona : data ops, produit, publication, direction\n- Besoin utilisateur : Savoir quelles normalisations sont pretes, bloquees ou deja produites sans lancer les scripts.\n- Sources : reference_normalization_runbook, reference_source_normalization_backlog\n- KPI clés : ready_to_run_count, normalized_file_available_count, missing_input_count, next_ready_source\n- Markdown : /api/get_reference_normalization_readiness.php?format=md\n- CSV : /api/get_reference_normalization_readiness.php?format=csv\n- Caveat : Readiness fichiers : ne valide ni contenu CSV, ni execution script, ni import DB.\n- Prochaine action : Remplir les inputs manquants puis executer uniquement les sources ready_to_run.\n\n## Reference Normalization Runbook\n\n- Usage : Runbook data ops, checklist normalisation, plan sprint source, data room methode.\n- Persona : data ops, produit, publication, direction\n- Besoin utilisateur : Executer les normalisations sources dans le bon ordre avec commandes, fichiers cibles, gates et caveats.\n- Sources : reference_source_normalization_backlog, source_refresh_policy, reference_source_fidelity\n- KPI clés : step_count, priority, input_file, output_file, command\n- Markdown : /api/get_reference_normalization_runbook.php?format=md\n- CSV : /api/get_reference_normalization_runbook.php?format=csv\n- Caveat : Runbook execution : ne prouve pas que les scripts ont ete lances ni que les imports DB sont valides.\n- Prochaine action : Remplir les fichiers input prioritaires puis executer Sirene, BAN et HVE en premier.\n\n## Source Normalization Backlog\n\n- Usage : Roadmap data ops, comite source, runbook import, arbitrage produit.\n- Persona : data ops, produit, publication, direction\n- Besoin utilisateur : Prioriser les sources a normaliser pour passer de metadata/CSV brut a KPI territoire exploitables.\n- Sources : source_opportunity_radar, source_refresh_policy, reference_source_fidelity\n- KPI clés : item_count, top_priority_source, status_counts, target_file, publication_gain\n- Markdown : /api/get_reference_source_normalization_backlog.php?format=md\n- CSV : /api/get_reference_source_normalization_backlog.php?format=csv\n- Caveat : Backlog d execution : ne prouve pas que normalisations CSV ou imports DB sont realises.\n- Prochaine action : Traiter Sirene et BAN en premier pour activer densite business et cartes fiables.\n\n## Territory Score Input Templates\n\n- Usage : Prototype score, demo page territoire, dashboard, QA Publication Gate.\n- Persona : produit, data, publication, design, sales\n- Besoin utilisateur : Disposer de jeux de composants 0-100 prets a copier pour alimenter les scores territoire.\n- Sources : reference_territory_score_calculator, reference_territory_kpi_formulas\n- KPI clés : template_count, component_value, source_status, publication_gate, score_url\n- Markdown : /api/get_reference_territory_score_inputs.php?format=md\n- CSV : /api/get_reference_territory_score_inputs.php?format=csv\n- Caveat : Templates de demonstration/cadrage : remplacer par valeurs sources actives avant publication externe.\n- Prochaine action : Utiliser les URLs score generees pour tester les pages territoire et dashboards.\n\n## Territory Score Calculator\n\n- Usage : API score, prototype page territoire, dashboard, annexe methode.\n- Persona : data, produit, publication, direction, design\n- Besoin utilisateur : Calculer des scores territoire ponderes, caveates et copiables a partir des formules Winerix.\n- Sources : reference_territory_kpi_formulas, reference_publication_gate, reference_territory_page_kit\n- KPI clés : average_score, publishable_with_caveat_count, pipeline_count, score, publishability\n- Markdown : /api/get_reference_territory_scores.php?format=md\n- CSV : /api/get_reference_territory_scores.php?format=csv\n- Caveat : Calculateur logique avec composants demo/overrides : les valeurs publiees doivent venir des sources actives.\n- Prochaine action : Brancher les composants reels issus des jointures territoire et du Publication Gate.\n\n## Territory KPI Formula Book\n\n- Usage : Spec KPI, annexe methode, data room, brief dashboard.\n- Persona : data, produit, publication, direction, analyste\n- Besoin utilisateur : Comprendre comment les scores territoire Winerix sont ponderes, compares et caveates.\n- Sources : reference_territory_kpi_crosswalk, reference_kpi_dictionary, reference_publication_gate, reference_source_fidelity\n- KPI clés : metric_count, normalization_rule_count, formula, weights, minimum_gate\n- Markdown : /api/get_reference_territory_kpi_formulas.php?format=md\n- CSV : /api/get_reference_territory_kpi_formulas.php?format=csv\n- Caveat : Formules logiques : elles ne prouvent pas que les valeurs sources et jointures DB sont executees.\n- Prochaine action : Utiliser ces pondérations pour hydrater les pages territoire et expliciter les scores dans la data room.\n\n## Territory Reference Page\n\n- Usage : Prototype public, demo partenaire, page SEO, support commercial.\n- Persona : publication, marketing, direction, destination, design\n- Besoin utilisateur : Voir et copier une page territoire vin/oenotourisme attractive, sourcee et caveatee.\n- Sources : reference_territory_page_kit, reference_territory_kpi_crosswalk, reference_source_fidelity, reference_publication_gate\n- KPI clés : reference_score, section_count, source_count, publication_gate, copy_markdown\n- Markdown : /docs/territory-reference-page.md\n- CSV : /api/get_reference_territory_page_kit.php?format=csv\n- Caveat : Page statique hydratee best-effort : les valeurs doivent etre controlees par le Publication Gate avant partage externe.\n- Prochaine action : Utiliser comme prototype de page territoire et brancher les valeurs dynamiques des endpoints actifs.\n\n## Territory Page Kit\n\n- Usage : Page SEO, deck destination, dashboard public, data room partenaire.\n- Persona : produit, marketing, territoire, publication, design\n- Besoin utilisateur : Assembler une page territoire vin/oenotourisme avec KPI, preuves, caveats, visuels et blocs copiables.\n- Sources : reference_territory_kpi_crosswalk, reference_story_builder, reference_embed_kit, reference_visual_system, reference_publication_gate\n- KPI clés : section_count, layout_count, kpi_slots, source_stack, html_snippet\n- Markdown : /api/get_reference_territory_page_kit.php?format=md\n- CSV : /api/get_reference_territory_page_kit.php?format=csv\n- Caveat : Kit de publication : les valeurs doivent venir des endpoints actifs et passer le Publication Gate.\n- Prochaine action : Utiliser ce kit pour construire les premieres pages territoire Winerix reference.\n\n## Territory KPI Crosswalk\n\n- Usage : Plan de jointure, spec dashboard, brief data product, page territoire.\n- Persona : produit, data ops, territoire, publication, direction\n- Besoin utilisateur : Savoir quelles sources croiser pour produire des KPI territoire fiables, agregeables et publiables.\n- Sources : inao_aoc_aop_communes, ban_address_reference, insee_tourism_capacity_communes, datatourisme_oenotourism, sirene_wine_establishments, hve_certified_estates\n- KPI clés : join_key_count, recipe_count, source_stack, kpi_slots, quality_gates\n- Markdown : /api/get_reference_territory_kpi_crosswalk.php?format=md\n- CSV : /api/get_reference_territory_kpi_crosswalk.php?format=csv\n- Caveat : Plan de rapprochement : ne prouve pas que les jointures DB ont ete executees ou validees.\n- Prochaine action : Utiliser ces recettes pour construire les pages territoire et prioriser les imports/jointures.\n\n## Source Fidelity Ledger\n\n- Usage : Comite source, runbook data ops, data room, priorisation de normalisation.\n- Persona : data ops, publication, partenariats, direction\n- Besoin utilisateur : Suivre les sources comme un portefeuille fidele : score, tier, cadence, preuve, risque et action relation/source.\n- Sources : source_refresh_policy, source_opportunity_radar\n- KPI clés : source_count, official_source_count, average_fidelity_score, pipeline_count, relationship_action\n- Markdown : /api/get_reference_source_fidelity.php?format=md\n- CSV : /api/get_reference_source_fidelity.php?format=csv\n- Caveat : Score de gouvernance source : il ne remplace pas la validation runtime des imports ni la verification metier.\n- Prochaine action : Utiliser le ledger pour choisir les prochaines sources a normaliser, citer ou surveiller.\n\n## Reference Story Builder\n\n- Usage : Angles editoriaux, briefs SEO, decks, pages territoire.\n- Persona : marketing, contenu, direction, journalistes, produit\n- Besoin utilisateur : Transformer les KPI vin/oenotourisme en recits utilisateurs sourcees, caveates et faciles a publier.\n- Sources : reference_user_need_navigator, reference_kpi_scorecard, reference_visual_system, reference_embed_kit\n- KPI clés : segment_count, storyline_count, core_kpis, required_sources, visual_family\n- Markdown : /api/get_reference_story_builder.php?format=md\n- CSV : /api/get_reference_story_builder.php?format=csv\n- Caveat : Les recits sont des patrons de publication : les valeurs doivent venir des endpoints actifs et du Publication Gate.\n- Prochaine action : Utiliser ces storylines pour produire les pages territoire, decks et snippets SEO Winerix.\n\n## Reference Embed Kit\n\n- Usage : Composants UI, pages territoire, data rooms, decks commerciaux.\n- Persona : produit, design, contenu, developpeurs, sales enablement\n- Besoin utilisateur : Copier-coller des blocs KPI Winerix en HTML, Markdown, CSV ou JavaScript sans recreer la logique de presentation.\n- Sources : reference_visual_system, reference_kpi_scorecard, reference_citation_kit, reference_api_manifest\n- KPI clés : block_count, css_tokens, copy_target, snippet_format, publication_rule\n- Markdown : /api/get_reference_embed_kit.php?format=md\n- CSV : /api/get_reference_embed_kit.php?format=csv\n- Caveat : Kit de presentation : les snippets doivent etre alimentes par les endpoints actifs et controles par le Publication Gate.\n- Prochaine action : Brancher les blocs HTML/Markdown sur les pages territoire, decks et exports commerciaux.\n\n## Reference Visual System\n\n- Usage : Design system data, brief UI, deck visuel, guidelines dashboard.\n- Persona : design, produit, publication, direction\n- Besoin utilisateur : Transformer les KPI Winerix en cartes, dashboards et slides cohérents, distinctifs et caveatés.\n- Sources : reference_kpi_scorecard, reference_dashboard_blueprint, reference_publishable_snippets\n- KPI clés : family_count, component_count, copy_rule_count, visual_treatment, copy_rule\n- Markdown : /api/get_reference_visual_system.php?format=md\n- CSV : /api/get_reference_visual_system.php?format=csv\n- Caveat : Système visuel : il guide la présentation mais ne remplace pas les valeurs dynamiques ni le Publication Gate.\n- Prochaine action : L’utiliser pour harmoniser la page référence, les KPI Cards et les decks.\n\n## Dictionnaire KPI Winerix\n\n- Usage : Glossaire KPI, annexe méthodo, QA publication.\n- Persona : data ops, analyste, publication, direction\n- Besoin utilisateur : Comprendre exactement ce que chaque KPI signifie avant de le copier ou de le publier.\n- Sources : kpi_pack, reference_products, source_refresh_policy\n- KPI clés : definition, calculation, source_keys, copy_hint, caveat\n- Markdown : /api/get_reference_kpi_dictionary.php?format=md\n- CSV : /api/get_reference_kpi_dictionary.php?format=csv\n- Caveat : Dictionnaire sémantique : ne remplace pas les valeurs dynamiques ni les contrôles d’import.\n- Prochaine action : Utiliser ces définitions comme source de vérité dans les slides, exports et briefs.\n\n## KPI Card Deck\n\n- Usage : Dashboard, slide, page référence, brief exécutif.\n- Persona : direction, produit, design, publication\n- Besoin utilisateur : Afficher ou copier des KPI sous forme de cartes claires, attractives et caveatées.\n- Sources : reference_kpi_dictionary, kpi_pack, reference_products\n- KPI clés : title, value_placeholder, copy_sentence, caveat, style\n- Markdown : /api/get_reference_kpi_card_deck.php?format=md\n- CSV : /api/get_reference_kpi_card_deck.php?format=csv\n- Caveat : Cartes éditoriales : remplacer les placeholders par les valeurs dynamiques avant publication.\n- Prochaine action : Utiliser comme source pour UI ou slides, puis injecter les valeurs du KPI Pack.\n\n## KPI Cards hydratées\n\n- Usage : Dashboard, page référence, export slide.\n- Persona : produit, direction, publication, design\n- Besoin utilisateur : Afficher les cartes KPI avec valeurs dynamiques quand la DB est prête, sinon garder les placeholders.\n- Sources : reference_kpi_card_deck, kpi_pack\n- KPI clés : value, hydrated, copy_sentence_hydrated, caveat\n- Markdown : /api/get_reference_kpi_cards.php?format=md\n- CSV : /api/get_reference_kpi_cards.php?format=csv\n- Caveat : Hydratation best-effort : si la DB échoue, les placeholders restent visibles.\n- Prochaine action : Utiliser ce endpoint pour UI publique, avec Publication Gate avant diffusion externe.\n\n## Data Product Index\n\n- Usage : Sommaire public, navigation catalogue, brief sales, QA publication.\n- Persona : éditeur, analyste, sales, ops data\n- Besoin utilisateur : Choisir vite le bon produit data Winerix, son export, ses KPI, son niveau de maturité et son caveat.\n- Sources : reference_product_catalog, reference_publication_gate, reference_kpi_dictionary\n- KPI clés : product_count, stage_counts, source_count, kpi_count\n- Markdown : /api/get_reference_data_product_index.php?format=md\n- CSV : /api/get_reference_data_product_index.php?format=csv\n- Caveat : Index de navigation : il reflète le catalogue produit configuré, pas la fraîcheur réelle des données importées.\n- Prochaine action : Le publier comme sommaire principal avant les exports KPI et packs persona.\n\n## Publication Gate\n\n- Usage : Checklist avant publication externe, release note, contrôle qualité.\n- Persona : publication, data ops, direction\n- Besoin utilisateur : Décider si un chiffre ou un pack peut être publié, annoté ou bloqué.\n- Sources : source_activation_status, reference_kpi_dictionary, reference_copy_studio\n- KPI clés : status, fail_count, warn_count, gates, activation_summary\n- Markdown : /api/get_reference_publication_gate.php?format=md\n- CSV : /api/get_reference_publication_gate.php?format=csv\n- Caveat : Gate de readiness : ne remplace pas les tests d’import DB ni la validation métier finale.\n- Prochaine action : Utiliser ce gate avant chaque export externe ou partage de KPI.\n\n"
}