{
    "ok": true,
    "generated_at": "2026-07-06T17:58:14+00:00",
    "summary": "Pack de badges de confiance pour afficher clairement mode KPI, état source et gate de publication dans les pages, dashboards et exports Winerix.",
    "badge_count": 8,
    "claim_guard_modes": [
        "live",
        "partial",
        "demo",
        "blocked"
    ],
    "badges": [
        {
            "key": "kpi_live",
            "label": "Live",
            "family": "kpi_display_mode",
            "tone": "publishable_with_caveat",
            "background": "#e8f1df",
            "ink": "#21351f",
            "accent": "#4f6f4d",
            "meaning": "KPI hydraté et affichable avec source, périmètre, date et caveat.",
            "copy_rule": "Toujours afficher le caveat sous la valeur.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"kpi_live\" style=\"--badge-bg:#e8f1df;--badge-ink:#21351f;--badge-accent:#4f6f4d;\">Live</span>"
        },
        {
            "key": "kpi_partial",
            "label": "Partiel",
            "family": "kpi_display_mode",
            "tone": "annotated_pipeline",
            "background": "#fff3d8",
            "ink": "#3d2b16",
            "accent": "#bd7a32",
            "meaning": "Certains composants sont prêts, d autres restent en pipeline.",
            "copy_rule": "Lister les composants manquants ou non normalisés.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"kpi_partial\" style=\"--badge-bg:#fff3d8;--badge-ink:#3d2b16;--badge-accent:#bd7a32;\">Partiel</span>"
        },
        {
            "key": "kpi_demo",
            "label": "Demo",
            "family": "kpi_display_mode",
            "tone": "placeholder_only",
            "background": "#edf1f4",
            "ink": "#24313a",
            "accent": "#5f7180",
            "meaning": "Valeur illustrative ou template, non publiable comme donnée sourcée.",
            "copy_rule": "Inclure demo ou placeholder dans le titre.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"kpi_demo\" style=\"--badge-bg:#edf1f4;--badge-ink:#24313a;--badge-accent:#5f7180;\">Demo</span>"
        },
        {
            "key": "kpi_blocked",
            "label": "Bloqué",
            "family": "kpi_display_mode",
            "tone": "do_not_publish",
            "background": "#f8e4e7",
            "ink": "#4a1620",
            "accent": "#9b2435",
            "meaning": "Publication interdite tant que le gate ou la source bloque.",
            "copy_rule": "Masquer la valeur publique et afficher la prochaine action interne.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"kpi_blocked\" style=\"--badge-bg:#f8e4e7;--badge-ink:#4a1620;--badge-accent:#9b2435;\">Bloqué</span>"
        },
        {
            "key": "source_official_normalized",
            "label": "Source officielle normalisée",
            "family": "source_state",
            "tone": "strong_with_caveat",
            "background": "#e7f2ef",
            "ink": "#18342e",
            "accent": "#2b828b",
            "meaning": "Source officielle transformée en CSV exploitable et caveaté.",
            "copy_rule": "Citer la source primaire et le fichier normalisé.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"source_official_normalized\" style=\"--badge-bg:#e7f2ef;--badge-ink:#18342e;--badge-accent:#2b828b;\">Source officielle normalisée</span>"
        },
        {
            "key": "source_metadata_only",
            "label": "Metadata only",
            "family": "source_state",
            "tone": "context_only",
            "background": "#f3efe7",
            "ink": "#372f24",
            "accent": "#9b7648",
            "meaning": "Source identifiée mais pas encore normalisée en valeur active.",
            "copy_rule": "Présenter comme contexte ou source candidate, jamais comme chiffre actif.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"source_metadata_only\" style=\"--badge-bg:#f3efe7;--badge-ink:#372f24;--badge-accent:#9b7648;\">Metadata only</span>"
        },
        {
            "key": "source_nominative_sensitive",
            "label": "Agrégat d’abord",
            "family": "source_state",
            "tone": "aggregate_first",
            "background": "#f6e7dc",
            "ink": "#3e2418",
            "accent": "#b15a32",
            "meaning": "Donnée nominative ou sensible : publication en agrégat avant listing.",
            "copy_rule": "Revue RGPD/métier avant affichage nominatif.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"source_nominative_sensitive\" style=\"--badge-bg:#f6e7dc;--badge-ink:#3e2418;--badge-accent:#b15a32;\">Agrégat d’abord</span>"
        },
        {
            "key": "publication_gate",
            "label": "Publication Gate",
            "family": "publication",
            "tone": "gate_required",
            "background": "#eee7f0",
            "ink": "#2d2033",
            "accent": "#6c4d7d",
            "meaning": "La valeur doit passer un contrôle de publication avant diffusion externe.",
            "copy_rule": "Ne pas retirer ce badge des exports externes.",
            "html": "<span class=\"wx-trust-badge\" data-badge=\"publication_gate\" style=\"--badge-bg:#eee7f0;--badge-ink:#2d2033;--badge-accent:#6c4d7d;\">Publication Gate</span>"
        }
    ],
    "css": ".wx-trust-badge {\n  --badge-bg: #edf1f4;\n  --badge-ink: #24313a;\n  --badge-accent: #5f7180;\n  align-items: center;\n  background: var(--badge-bg);\n  border: 1px solid color-mix(in srgb, var(--badge-accent), transparent 62%);\n  border-radius: 999px;\n  color: var(--badge-ink);\n  display: inline-flex;\n  font: 800 11px/1.1 \"Aptos\", \"Manrope\", sans-serif;\n  gap: 8px;\n  letter-spacing: .08em;\n  padding: 8px 11px;\n  text-transform: uppercase;\n}\n.wx-trust-badge::before {\n  background: var(--badge-accent);\n  border-radius: 999px;\n  content: \"\";\n  height: 8px;\n  width: 8px;\n}",
    "copy_markdown": "# Reference Trust Badge Pack\n\nPack de badges de confiance pour afficher clairement mode KPI, état source et gate de publication dans les pages, dashboards et exports Winerix.\n\n## Badges\n\n### Live\n- Cle : `kpi_live`\n- Famille : kpi_display_mode\n- Ton : publishable_with_caveat\n- Sens : KPI hydraté et affichable avec source, périmètre, date et caveat.\n- Regle copy : Toujours afficher le caveat sous la valeur.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"kpi_live\" style=\"--badge-bg:#e8f1df;--badge-ink:#21351f;--badge-accent:#4f6f4d;\">Live</span>`\n\n### Partiel\n- Cle : `kpi_partial`\n- Famille : kpi_display_mode\n- Ton : annotated_pipeline\n- Sens : Certains composants sont prêts, d autres restent en pipeline.\n- Regle copy : Lister les composants manquants ou non normalisés.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"kpi_partial\" style=\"--badge-bg:#fff3d8;--badge-ink:#3d2b16;--badge-accent:#bd7a32;\">Partiel</span>`\n\n### Demo\n- Cle : `kpi_demo`\n- Famille : kpi_display_mode\n- Ton : placeholder_only\n- Sens : Valeur illustrative ou template, non publiable comme donnée sourcée.\n- Regle copy : Inclure demo ou placeholder dans le titre.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"kpi_demo\" style=\"--badge-bg:#edf1f4;--badge-ink:#24313a;--badge-accent:#5f7180;\">Demo</span>`\n\n### Bloqué\n- Cle : `kpi_blocked`\n- Famille : kpi_display_mode\n- Ton : do_not_publish\n- Sens : Publication interdite tant que le gate ou la source bloque.\n- Regle copy : Masquer la valeur publique et afficher la prochaine action interne.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"kpi_blocked\" style=\"--badge-bg:#f8e4e7;--badge-ink:#4a1620;--badge-accent:#9b2435;\">Bloqué</span>`\n\n### Source officielle normalisée\n- Cle : `source_official_normalized`\n- Famille : source_state\n- Ton : strong_with_caveat\n- Sens : Source officielle transformée en CSV exploitable et caveaté.\n- Regle copy : Citer la source primaire et le fichier normalisé.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"source_official_normalized\" style=\"--badge-bg:#e7f2ef;--badge-ink:#18342e;--badge-accent:#2b828b;\">Source officielle normalisée</span>`\n\n### Metadata only\n- Cle : `source_metadata_only`\n- Famille : source_state\n- Ton : context_only\n- Sens : Source identifiée mais pas encore normalisée en valeur active.\n- Regle copy : Présenter comme contexte ou source candidate, jamais comme chiffre actif.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"source_metadata_only\" style=\"--badge-bg:#f3efe7;--badge-ink:#372f24;--badge-accent:#9b7648;\">Metadata only</span>`\n\n### Agrégat d’abord\n- Cle : `source_nominative_sensitive`\n- Famille : source_state\n- Ton : aggregate_first\n- Sens : Donnée nominative ou sensible : publication en agrégat avant listing.\n- Regle copy : Revue RGPD/métier avant affichage nominatif.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"source_nominative_sensitive\" style=\"--badge-bg:#f6e7dc;--badge-ink:#3e2418;--badge-accent:#b15a32;\">Agrégat d’abord</span>`\n\n### Publication Gate\n- Cle : `publication_gate`\n- Famille : publication\n- Ton : gate_required\n- Sens : La valeur doit passer un contrôle de publication avant diffusion externe.\n- Regle copy : Ne pas retirer ce badge des exports externes.\n- HTML : `<span class=\"wx-trust-badge\" data-badge=\"publication_gate\" style=\"--badge-bg:#eee7f0;--badge-ink:#2d2033;--badge-accent:#6c4d7d;\">Publication Gate</span>`\n\n## CSS\n\n```css\n.wx-trust-badge {\n  --badge-bg: #edf1f4;\n  --badge-ink: #24313a;\n  --badge-accent: #5f7180;\n  align-items: center;\n  background: var(--badge-bg);\n  border: 1px solid color-mix(in srgb, var(--badge-accent), transparent 62%);\n  border-radius: 999px;\n  color: var(--badge-ink);\n  display: inline-flex;\n  font: 800 11px/1.1 \"Aptos\", \"Manrope\", sans-serif;\n  gap: 8px;\n  letter-spacing: .08em;\n  padding: 8px 11px;\n  text-transform: uppercase;\n}\n.wx-trust-badge::before {\n  background: var(--badge-accent);\n  border-radius: 999px;\n  content: \"\";\n  height: 8px;\n  width: 8px;\n}\n```\n"
}