{
    "ok": true,
    "generated_at": "2026-07-06T19:02:29+00:00",
    "summary": "Kit de blocs copiables pour publier les KPI Winerix en cartes HTML, extraits Markdown, badges de source et recettes copy-to-clipboard.",
    "visual_system_summary": {
        "family_count": 6,
        "component_count": 5,
        "copy_rule_count": 4
    },
    "block_count": 6,
    "css_tokens": {
        "font_title": "Canela / Fraunces / Georgia",
        "font_body": "Satoshi / Manrope / system sans fallback",
        "radius_card": "22px",
        "shadow_card": "0 18px 45px rgba(29, 39, 48, 0.14)",
        "border_proof": "1px solid rgba(125, 31, 45, 0.18)",
        "color_authority": "#7d1f2d",
        "color_territory": "#52724f",
        "color_capacity": "#2b8f99",
        "color_market": "#b15a32",
        "color_operations": "#315c7a"
    },
    "blocks": [
        {
            "key": "hero_reference_score",
            "label": "Hero Reference Score",
            "use_case": "Page publique, pitch deck, fiche territoire",
            "format": "html",
            "copy_target": "Bloc hero KPI avec score, preuve et caveat",
            "dependencies": [
                "reference_visual_system",
                "reference_kpi_scorecard",
                "reference_citation_kit"
            ],
            "snippet": "<section class=\"wx-kpi wx-kpi--authority\"><p class=\"wx-kpi__eyebrow\">Reference Winerix</p><h2>Score reference : 86/100</h2><p>Couverture officielle forte, sources citees et activation suivie.</p><small>Sources : INAO, Insee, Atout France. Caveat : donnees selon disponibilite locale.</small></section>"
        },
        {
            "key": "territory_proof_stack",
            "label": "Territory Proof Stack",
            "use_case": "Fiche appellation, page region, module SEO",
            "format": "markdown",
            "copy_target": "Pile de preuves sourcees pour un territoire",
            "dependencies": [
                "appellation_evidence_pack",
                "source_lineage_matrix",
                "publication_gate"
            ],
            "snippet": "### Preuves territoire\n- **Appellation** : AOC/AOP confirmee via INAO.\n- **Surface** : parcelles viticoles consolidees avec RPG.\n- **Tourisme** : capacite d'accueil rapprochee via Insee.\n- **A publier si** : sources fraiches, caveat explicite, export reproductible."
        },
        {
            "key": "oenotourism_capacity_card",
            "label": "Oenotourism Capacity Card",
            "use_case": "Dashboard destination, observatoire, dossier investisseur",
            "format": "html",
            "copy_target": "Carte capacite oenotouristique avec accessibilite et hebergements",
            "dependencies": [
                "insee_tourism_capacity_communes",
                "atout_france_accommodations",
                "tourisme_handicap"
            ],
            "snippet": "<article class=\"wx-card wx-card--capacity\"><span>Oenotourisme</span><strong>1 240 lits classes</strong><p>Hotels, campings et residences consolides par commune viticole.</p><small>Ajouter le badge accessibilite si Tourisme & Handicap est present.</small></article>"
        },
        {
            "key": "market_context_sparkline",
            "label": "Market Context Sparkline",
            "use_case": "Note marche, slide prix, briefing direction",
            "format": "html",
            "copy_target": "Mini tendance marche avec prudence source",
            "dependencies": [
                "bulk_wine_price_pack",
                "reference_publishable_snippets"
            ],
            "snippet": "<div class=\"wx-spark wx-spark--market\"><b>Prix vrac</b><span>tendance a normaliser</span><p>Utiliser seulement apres integration FranceAgriMer normalisee.</p></div>"
        },
        {
            "key": "source_gate_badges",
            "label": "Source Gate Badges",
            "use_case": "Back-office, data room, page methodologie",
            "format": "html",
            "copy_target": "Badges de statut pour ne pas surpromettre les sources",
            "dependencies": [
                "source_activation_status",
                "source_maintenance_board",
                "launch_readiness"
            ],
            "snippet": "<p class=\"wx-gates\"><span data-status=\"ready\">publier</span><span data-status=\"watch\">surveiller</span><span data-status=\"blocked\">pipeline</span></p>"
        },
        {
            "key": "copy_button_recipe",
            "label": "Copy Button Recipe",
            "use_case": "Portail reference, page KPI, outil commercial",
            "format": "javascript",
            "copy_target": "Bouton copier neutre, reutilisable sur les exports",
            "dependencies": [
                "reference_api_manifest",
                "reference_visual_system"
            ],
            "snippet": "document.querySelectorAll('[data-copy]').forEach((button) => {\n  button.addEventListener('click', async () => {\n    const target = document.querySelector(button.dataset.copy);\n    await navigator.clipboard.writeText(target ? target.textContent.trim() : '');\n    button.textContent = 'Copie';\n  });\n});"
        }
    ],
    "rules": [
        {
            "key": "always_pair_number_source_caveat",
            "label": "Toujours tripler nombre + source + caveat",
            "rule": "Aucun KPI public ne doit sortir sans source primaire et limite de lecture."
        },
        {
            "key": "separate_fact_inference",
            "label": "Distinguer fait officiel et lecture Winerix",
            "rule": "Les donnees INAO/Insee/Atout France sont des faits ; les scores, priorites et segments sont des interpretations Winerix."
        },
        {
            "key": "prefer_copy_ready_blocks",
            "label": "Preferer les blocs copiables",
            "rule": "Chaque KPI majeur doit exister en JSON, Markdown, CSV et snippet presentable."
        },
        {
            "key": "do_not_publish_pipeline_sources",
            "label": "Ne pas publier les sources pipeline comme des donnees actives",
            "rule": "FranceAgriMer et Sirene restent clairement marques tant que le fichier normalise/import n est pas disponible."
        }
    ],
    "html_example": "<style>\n  .wx-kpi {\n    --wx-accent: #7d1f2d;\n    background: linear-gradient(135deg, #fff8ea 0%, #f4efe3 100%);\n    border: 1px solid rgba(125, 31, 45, .18);\n    border-radius: 22px;\n    box-shadow: 0 18px 45px rgba(29, 39, 48, .14);\n    color: #14231d;\n    max-width: 560px;\n    padding: 28px;\n  }\n  .wx-kpi__eyebrow {\n    color: var(--wx-accent);\n    font-size: 12px;\n    font-weight: 800;\n    letter-spacing: .14em;\n    text-transform: uppercase;\n  }\n  .wx-kpi h2 {\n    font-family: Georgia, serif;\n    font-size: clamp(34px, 6vw, 62px);\n    line-height: .95;\n    margin: 10px 0;\n  }\n  .wx-kpi small {\n    display: block;\n    margin-top: 18px;\n    opacity: .74;\n  }\n</style>\n<section class=\"wx-kpi\">\n  <p class=\"wx-kpi__eyebrow\">Reference Winerix</p>\n  <h2>86/100</h2>\n  <p>Un territoire lisible, source et pret a publier.</p>\n  <small>Sources : INAO, Insee, Atout France. Caveat : verification fraicheur requise avant publication.</small>\n</section>",
    "copy_markdown": "# Reference Embed Kit\n\nKit de blocs copiables pour publier les KPI Winerix en cartes HTML, extraits Markdown, badges de source et recettes copy-to-clipboard.\n\n## Blocs copiables\n\n### Hero Reference Score\n- Usage : Page publique, pitch deck, fiche territoire\n- Format : html\n- Cible : Bloc hero KPI avec score, preuve et caveat\n- Dependances : reference_visual_system, reference_kpi_scorecard, reference_citation_kit\n\n```html\n<section class=\"wx-kpi wx-kpi--authority\"><p class=\"wx-kpi__eyebrow\">Reference Winerix</p><h2>Score reference : 86/100</h2><p>Couverture officielle forte, sources citees et activation suivie.</p><small>Sources : INAO, Insee, Atout France. Caveat : donnees selon disponibilite locale.</small></section>\n```\n\n### Territory Proof Stack\n- Usage : Fiche appellation, page region, module SEO\n- Format : markdown\n- Cible : Pile de preuves sourcees pour un territoire\n- Dependances : appellation_evidence_pack, source_lineage_matrix, publication_gate\n\n```markdown\n### Preuves territoire\n- **Appellation** : AOC/AOP confirmee via INAO.\n- **Surface** : parcelles viticoles consolidees avec RPG.\n- **Tourisme** : capacite d'accueil rapprochee via Insee.\n- **A publier si** : sources fraiches, caveat explicite, export reproductible.\n```\n\n### Oenotourism Capacity Card\n- Usage : Dashboard destination, observatoire, dossier investisseur\n- Format : html\n- Cible : Carte capacite oenotouristique avec accessibilite et hebergements\n- Dependances : insee_tourism_capacity_communes, atout_france_accommodations, tourisme_handicap\n\n```html\n<article class=\"wx-card wx-card--capacity\"><span>Oenotourisme</span><strong>1 240 lits classes</strong><p>Hotels, campings et residences consolides par commune viticole.</p><small>Ajouter le badge accessibilite si Tourisme & Handicap est present.</small></article>\n```\n\n### Market Context Sparkline\n- Usage : Note marche, slide prix, briefing direction\n- Format : html\n- Cible : Mini tendance marche avec prudence source\n- Dependances : bulk_wine_price_pack, reference_publishable_snippets\n\n```html\n<div class=\"wx-spark wx-spark--market\"><b>Prix vrac</b><span>tendance a normaliser</span><p>Utiliser seulement apres integration FranceAgriMer normalisee.</p></div>\n```\n\n### Source Gate Badges\n- Usage : Back-office, data room, page methodologie\n- Format : html\n- Cible : Badges de statut pour ne pas surpromettre les sources\n- Dependances : source_activation_status, source_maintenance_board, launch_readiness\n\n```html\n<p class=\"wx-gates\"><span data-status=\"ready\">publier</span><span data-status=\"watch\">surveiller</span><span data-status=\"blocked\">pipeline</span></p>\n```\n\n### Copy Button Recipe\n- Usage : Portail reference, page KPI, outil commercial\n- Format : javascript\n- Cible : Bouton copier neutre, reutilisable sur les exports\n- Dependances : reference_api_manifest, reference_visual_system\n\n```javascript\ndocument.querySelectorAll('[data-copy]').forEach((button) => {\n  button.addEventListener('click', async () => {\n    const target = document.querySelector(button.dataset.copy);\n    await navigator.clipboard.writeText(target ? target.textContent.trim() : '');\n    button.textContent = 'Copie';\n  });\n});\n```\n\n## Tokens CSS\n- `font_title` : Canela / Fraunces / Georgia\n- `font_body` : Satoshi / Manrope / system sans fallback\n- `radius_card` : 22px\n- `shadow_card` : 0 18px 45px rgba(29, 39, 48, 0.14)\n- `border_proof` : 1px solid rgba(125, 31, 45, 0.18)\n- `color_authority` : #7d1f2d\n- `color_territory` : #52724f\n- `color_capacity` : #2b8f99\n- `color_market` : #b15a32\n- `color_operations` : #315c7a\n\n## Regles de publication\n- **Toujours tripler nombre + source + caveat** : Aucun KPI public ne doit sortir sans source primaire et limite de lecture.\n- **Distinguer fait officiel et lecture Winerix** : Les donnees INAO/Insee/Atout France sont des faits ; les scores, priorites et segments sont des interpretations Winerix.\n- **Preferer les blocs copiables** : Chaque KPI majeur doit exister en JSON, Markdown, CSV et snippet presentable.\n- **Ne pas publier les sources pipeline comme des donnees actives** : FranceAgriMer et Sirene restent clairement marques tant que le fichier normalise/import n est pas disponible.\n\n## Exemple HTML complet\n\n```html\n<style>\n  .wx-kpi {\n    --wx-accent: #7d1f2d;\n    background: linear-gradient(135deg, #fff8ea 0%, #f4efe3 100%);\n    border: 1px solid rgba(125, 31, 45, .18);\n    border-radius: 22px;\n    box-shadow: 0 18px 45px rgba(29, 39, 48, .14);\n    color: #14231d;\n    max-width: 560px;\n    padding: 28px;\n  }\n  .wx-kpi__eyebrow {\n    color: var(--wx-accent);\n    font-size: 12px;\n    font-weight: 800;\n    letter-spacing: .14em;\n    text-transform: uppercase;\n  }\n  .wx-kpi h2 {\n    font-family: Georgia, serif;\n    font-size: clamp(34px, 6vw, 62px);\n    line-height: .95;\n    margin: 10px 0;\n  }\n  .wx-kpi small {\n    display: block;\n    margin-top: 18px;\n    opacity: .74;\n  }\n</style>\n<section class=\"wx-kpi\">\n  <p class=\"wx-kpi__eyebrow\">Reference Winerix</p>\n  <h2>86/100</h2>\n  <p>Un territoire lisible, source et pret a publier.</p>\n  <small>Sources : INAO, Insee, Atout France. Caveat : verification fraicheur requise avant publication.</small>\n</section>\n```\n"
}