{"ok":true,"generated_at":"2026-07-08T00:08:21+02:00","summary":{"family_count":6,"component_count":5,"copy_rule_count":4},"families":[{"key":"reference_authority","label":"Reference authority","tone":"institutional, premium, calm","background":"#fff8ea","ink":"#14231d","accent":"#7d1f2d","secondary":"#c59243","shape":"score ring plus proof stack","best_for":"reference score, confidence, publication gate","copy_rule":"Use one strong claim, one proof line and one visible caveat."},{"key":"wine_territory","label":"Wine territory","tone":"cartographic, grounded, regulatory","background":"#f4efe3","ink":"#1b2a21","accent":"#52724f","secondary":"#8b6f47","shape":"layered map card","best_for":"INAO, SIQO, RPG, Agreste, appellation evidence","copy_rule":"Separate area, parcel, product and regulation in the copy."},{"key":"oenotourism_capacity","label":"Oenotourism capacity","tone":"bright, welcoming, service oriented","background":"#edf7f6","ink":"#193d55","accent":"#2b8f99","secondary":"#9acbd0","shape":"capacity grid with accessibility badges","best_for":"DATAtourisme, INSEE capacity, accommodations, accessibility","copy_rule":"Never say capacity equals visits; keep the frequency caveat visible."},{"key":"market_context","label":"Market context","tone":"precise, sober, financial","background":"#f7f3ed","ink":"#1d2730","accent":"#b15a32","secondary":"#d0a36c","shape":"sparkline and segment badge","best_for":"FranceAgriMer prices, macro wine, trade nomenclature","copy_rule":"Frame as market context, not as a domain-level price."},{"key":"business_density","label":"Business density","tone":"actionable, sales, territory intelligence","background":"#f0f4ed","ink":"#1f3026","accent":"#4b7f52","secondary":"#bed0a5","shape":"NAF heatmap plus core/adjacent split","best_for":"Sirene wine establishments, business presence, prospecting","copy_rule":"Show aggregated density before any nominative business usage."},{"key":"source_operations","label":"Source operations","tone":"operational, transparent, quality first","background":"#f5f7f8","ink":"#17212b","accent":"#315c7a","secondary":"#d8923b","shape":"kanban mini board with gate badges","best_for":"activation status, maintenance board, launch readiness","copy_rule":"Use publish / annotate / block language, not vague readiness claims."}],"components":[{"key":"hero_score_card","label":"Hero score card","use_case":"Top of page or first slide.","structure":"eyebrow, large metric, one sentence, caveat badge, primary CTA","rules":["one metric only","source visible","gate status visible","no decorative chart without meaning"]},{"key":"proof_stack","label":"Proof stack","use_case":"Appellation, source lineage or citation sections.","structure":"three proof columns plus gap queue","rules":["show gaps","show source URL or citation","separate official source from Winerix inference"]},{"key":"kpi_family_card","label":"KPI family card","use_case":"Dashboard rail and scorecard overview.","structure":"family name, north star, hero KPI, aggregation level, caveat","rules":["one aggregation level per card","avoid mixed KPI families","keep caveat under 140 characters"]},{"key":"copy_export_tile","label":"Copy export tile","use_case":"Data room, API manifest and static dashboard.","structure":"label, audience, endpoint, copy button, format badges","rules":["make Markdown the default copy format","show JSON and CSV as technical formats","never hide caveats behind a secondary click"]},{"key":"source_gate_badge","label":"Source gate badge","use_case":"Launch readiness, maintenance board and publication gate.","structure":"status, due level, action, fallback","rules":["use strong verbs","red for blocked only","amber for annotate/stale","green only for publishable"]}],"copy_rules":[{"rule":"Always pair number + source + caveat.","bad":"12 M oenotourists prove the market.","good":"Atout France gives a national oenotourism order of magnitude; it does not prove local visits."},{"rule":"Separate official facts from Winerix inference.","bad":"This appellation is fully proven.","good":"INAO and eAmbrosia sources align; remaining textual gaps stay visible for review."},{"rule":"Use action labels instead of vague status labels.","bad":"Data is almost ready.","good":"Publish with annotations after source freshness and import status are checked."},{"rule":"Do not overstate pipeline-only sources.","bad":"Sirene gives our wine business map.","good":"Sirene pipeline is ready; publish aggregated NAF density after local import."}],"copy_markdown":"# Winerix Reference Visual System\n\nDesign system for KPI cards, dashboards, decks and reference pages.\n\n## KPI family tokens\n\n| Family | Tone | Background | Accent | Shape | Copy rule |\n|---|---|---|---|---|---|\n| Reference authority | institutional, premium, calm | #fff8ea | #7d1f2d | score ring plus proof stack | Use one strong claim, one proof line and one visible caveat. |\n| Wine territory | cartographic, grounded, regulatory | #f4efe3 | #52724f | layered map card | Separate area, parcel, product and regulation in the copy. |\n| Oenotourism capacity | bright, welcoming, service oriented | #edf7f6 | #2b8f99 | capacity grid with accessibility badges | Never say capacity equals visits; keep the frequency caveat visible. |\n| Market context | precise, sober, financial | #f7f3ed | #b15a32 | sparkline and segment badge | Frame as market context, not as a domain-level price. |\n| Business density | actionable, sales, territory intelligence | #f0f4ed | #4b7f52 | NAF heatmap plus core/adjacent split | Show aggregated density before any nominative business usage. |\n| Source operations | operational, transparent, quality first | #f5f7f8 | #315c7a | kanban mini board with gate badges | Use publish / annotate / block language, not vague readiness claims. |\n\n## Components\n\n### Hero score card\n\n- Use case: Top of page or first slide.\n- Structure: eyebrow, large metric, one sentence, caveat badge, primary CTA\n- Rules: one metric only; source visible; gate status visible; no decorative chart without meaning\n\n### Proof stack\n\n- Use case: Appellation, source lineage or citation sections.\n- Structure: three proof columns plus gap queue\n- Rules: show gaps; show source URL or citation; separate official source from Winerix inference\n\n### KPI family card\n\n- Use case: Dashboard rail and scorecard overview.\n- Structure: family name, north star, hero KPI, aggregation level, caveat\n- Rules: one aggregation level per card; avoid mixed KPI families; keep caveat under 140 characters\n\n### Copy export tile\n\n- Use case: Data room, API manifest and static dashboard.\n- Structure: label, audience, endpoint, copy button, format badges\n- Rules: make Markdown the default copy format; show JSON and CSV as technical formats; never hide caveats behind a secondary click\n\n### Source gate badge\n\n- Use case: Launch readiness, maintenance board and publication gate.\n- Structure: status, due level, action, fallback\n- Rules: use strong verbs; red for blocked only; amber for annotate/stale; green only for publishable\n\n## Copy rules\n\n- Always pair number + source + caveat.\n  Bad: 12 M oenotourists prove the market.\n  Good: Atout France gives a national oenotourism order of magnitude; it does not prove local visits.\n- Separate official facts from Winerix inference.\n  Bad: This appellation is fully proven.\n  Good: INAO and eAmbrosia sources align; remaining textual gaps stay visible for review.\n- Use action labels instead of vague status labels.\n  Bad: Data is almost ready.\n  Good: Publish with annotations after source freshness and import status are checked.\n- Do not overstate pipeline-only sources.\n  Bad: Sirene gives our wine business map.\n  Good: Sirene pipeline is ready; publish aggregated NAF density after local import.\n"}