{"ok":true,"generated_at":"2026-07-08T00:24:34+02:00","summary":{"contract_count":10,"catalog_linked_count":10,"missing_product_count":0},"contracts":[{"product_key":"reference_launch_readiness","product_label":"Reference Launch Readiness","contract_name":"Launch readiness contract","purpose":"Go/no-go checklist before public or partner sharing.","required_fields":["ok","generated_at","summary","checks","copy_markdown"],"nested_fields":["checks.key","checks.area","checks.status","checks.ready_label","checks.evidence_product","checks.pass_condition","checks.next_action","checks.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["required checks present","artifact_missing count reviewed","Publication Gate linked"],"consumer_use":"Display launch checklist and block external sharing if required checks are unresolved.","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":"Declarative readiness does not replace DB imports, runtime endpoint validation or final business review.","contract_status":"catalog_linked"},{"product_key":"reference_api_manifest","product_label":"Reference API Manifest","contract_name":"API manifest contract","purpose":"Index product endpoints and copy formats for developers and partners.","required_fields":["ok","generated_at","summary","products","copy_markdown"],"nested_fields":["products.key","products.stage","products.priority","products.json_endpoint","products.markdown_endpoint","products.csv_endpoint","products.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["endpoint listed for each published product","caveat present","stage present"],"consumer_use":"Build navigation, API docs and integration pickers.","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":"Manifest is catalog-derived; Publication Gate still controls external display.","contract_status":"catalog_linked"},{"product_key":"reference_citation_kit","product_label":"Reference Citation Kit","contract_name":"Citation contract","purpose":"Attach source citations, licenses, URLs and caveats to published KPI.","required_fields":["ok","generated_at","summary","citations","copy_markdown"],"nested_fields":["citations.source_key","citations.source_type","citations.source_name","citations.producer","citations.url","citations.license_label","citations.citation","citations.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["citation present","license present","URL present for official sources","caveat present"],"consumer_use":"Render source footnotes, slide footers and methodology annexes.","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":"Citation URLs and licenses must be reviewed when source pages change.","contract_status":"catalog_linked"},{"product_key":"reference_source_lineage","product_label":"Source-KPI Lineage Matrix","contract_name":"Source lineage contract","purpose":"Trace source keys to products, KPI slots, exports and governance policy.","required_fields":["ok","generated_at","summary","sources","copy_markdown"],"nested_fields":["sources.source_key","sources.lineage_status","sources.product_keys","sources.primary_kpis","sources.primary_action","sources.fallback_action"],"stable_formats":["json","md","csv"],"quality_gates":["catalog_only reviewed","product_count > 0","kpi_count visible","freshness policy linked when applicable"],"consumer_use":"Audit which source supports which KPI or public product.","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 is declarative and does not prove database import success.","contract_status":"catalog_linked"},{"product_key":"reference_kpi_scorecard","product_label":"Reference KPI Scorecard","contract_name":"KPI scorecard contract","purpose":"Group KPI into coherent families and aggregation levels.","required_fields":["ok","generated_at","family_count","families","copy_markdown"],"nested_fields":["families.key","families.family","families.north_star","families.aggregation_level","families.hero_kpis","families.source_products","families.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["hero KPI present","aggregation level present","caveat present","source products present"],"consumer_use":"Power dashboards, slide outlines and KPI navigation.","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 structures KPI logic but does not provide runtime values.","contract_status":"catalog_linked"},{"product_key":"reference_data_room_index","product_label":"Reference Data Room Index","contract_name":"Data room collection contract","purpose":"Route users to the right deliverable by use case.","required_fields":["ok","generated_at","summary","collections","copy_markdown"],"nested_fields":["collections.key","collections.title","collections.audience","collections.objective","collections.entry_action","collections.product_keys","collections.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["collection has products","entry action present","caveat present"],"consumer_use":"Build the public data room or partner onboarding hub.","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 routes to products; product exports and gates remain authoritative.","contract_status":"catalog_linked"},{"product_key":"reference_integration_guide","product_label":"Reference Integration Guide","contract_name":"Integration guide contract","purpose":"Give developers copyable curl, fetch and PHP recipes.","required_fields":["ok","generated_at","endpoint_count","recipe_count","endpoints","recipes","copy_markdown"],"nested_fields":["endpoints.key","endpoints.markdown_endpoint","endpoints.json_endpoint","recipes.key","recipes.language","recipes.snippet","recipes.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["recipe has caveat","endpoint has preferred format","Publication Gate recipe present"],"consumer_use":"Onboard partner developers and internal UI builders.","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":"Examples must use absolute URLs in production and handle HTTP failures.","contract_status":"catalog_linked"},{"product_key":"reference_dashboard_blueprint","product_label":"Reference Dashboard Blueprint","contract_name":"Dashboard blueprint contract","purpose":"Describe UI sections, KPI slots and source products for the reference page.","required_fields":["ok","generated_at","section_count","sections","copy_markdown"],"nested_fields":["sections.key","sections.title","sections.layout","sections.intent","sections.visual_direction","sections.kpi_slots","sections.product_keys"],"stable_formats":["json","md","csv"],"quality_gates":["section has KPI slots","visual direction present","actions present"],"consumer_use":"Drive UI implementation and deck layouts.","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 is not hydrated; runtime values must come from product APIs.","contract_status":"catalog_linked"},{"product_key":"reference_narrative_deck","product_label":"Reference Narrative Deck","contract_name":"Narrative deck contract","purpose":"Provide slide-ready storyline with KPI slots and caveats.","required_fields":["ok","generated_at","slide_count","slides","copy_markdown"],"nested_fields":["slides.slide","slides.title","slides.subtitle","slides.message","slides.kpi_slots","slides.visual","slides.product_keys","slides.caveat"],"stable_formats":["json","md","csv"],"quality_gates":["slide order present","speaker note present","caveat present"],"consumer_use":"Generate decks, notes and partner presentations.","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 needs runtime values injected before external sharing.","contract_status":"catalog_linked"},{"product_key":"reference_publication_gate","product_label":"Publication Gate","contract_name":"Publication gate contract","purpose":"Expose publish, annotate or block decision before public usage.","required_fields":["ok","generated_at","status","summary","gates"],"nested_fields":["status","fail_count","warn_count","gates.key","gates.status","gates.label"],"stable_formats":["json","md","csv"],"quality_gates":["status visible","fail/warn counts visible","blocking reason visible"],"consumer_use":"Prevent public display when required gates are blocked.","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":"Readiness gate does not replace business validation or legal review.","contract_status":"catalog_linked"}],"copy_markdown":"# Winerix Reference Data Contracts\n\nContrats logiques des principaux produits API Winerix : champs, formats, garanties, usages et caveats.\n\n## Synthese\n\n- Contrats : 10\n- Produits lies au catalogue : 10\n- Produits manquants : 0\n\n## Table copiable\n\n| Produit | Contrat | Formats | Champs requis | Quality gates | Caveat |\n|---|---|---|---|---|---|\n| Reference Launch Readiness | Launch readiness contract | json, md, csv | ok, generated_at, summary, checks, copy_markdown | required checks present, artifact_missing count reviewed, Publication Gate linked | Declarative readiness does not replace DB imports, runtime endpoint validation or final business review. |\n| Reference API Manifest | API manifest contract | json, md, csv | ok, generated_at, summary, products, copy_markdown | endpoint listed for each published product, caveat present, stage present | Manifest is catalog-derived; Publication Gate still controls external display. |\n| Reference Citation Kit | Citation contract | json, md, csv | ok, generated_at, summary, citations, copy_markdown | citation present, license present, URL present for official sources, caveat present | Citation URLs and licenses must be reviewed when source pages change. |\n| Source-KPI Lineage Matrix | Source lineage contract | json, md, csv | ok, generated_at, summary, sources, copy_markdown | catalog_only reviewed, product_count > 0, kpi_count visible, freshness policy linked when applicable | Lineage is declarative and does not prove database import success. |\n| Reference KPI Scorecard | KPI scorecard contract | json, md, csv | ok, generated_at, family_count, families, copy_markdown | hero KPI present, aggregation level present, caveat present, source products present | Scorecard structures KPI logic but does not provide runtime values. |\n| Reference Data Room Index | Data room collection contract | json, md, csv | ok, generated_at, summary, collections, copy_markdown | collection has products, entry action present, caveat present | Index routes to products; product exports and gates remain authoritative. |\n| Reference Integration Guide | Integration guide contract | json, md, csv | ok, generated_at, endpoint_count, recipe_count, endpoints, recipes, copy_markdown | recipe has caveat, endpoint has preferred format, Publication Gate recipe present | Examples must use absolute URLs in production and handle HTTP failures. |\n| Reference Dashboard Blueprint | Dashboard blueprint contract | json, md, csv | ok, generated_at, section_count, sections, copy_markdown | section has KPI slots, visual direction present, actions present | Blueprint is not hydrated; runtime values must come from product APIs. |\n| Reference Narrative Deck | Narrative deck contract | json, md, csv | ok, generated_at, slide_count, slides, copy_markdown | slide order present, speaker note present, caveat present | Deck needs runtime values injected before external sharing. |\n| Publication Gate | Publication gate contract | json, md, csv | ok, generated_at, status, summary, gates | status visible, fail/warn counts visible, blocking reason visible | Readiness gate does not replace business validation or legal review. |\n\n## Launch readiness contract\n\n**Produit.** Reference Launch Readiness\n\n**But.** Go/no-go checklist before public or partner sharing.\n\n**Champs requis.** ok, generated_at, summary, checks, copy_markdown\n\n**Champs imbriques.** checks.key, checks.area, checks.status, checks.ready_label, checks.evidence_product, checks.pass_condition, checks.next_action, checks.caveat\n\n**Usage consommateur.** Display launch checklist and block external sharing if required checks are unresolved.\n\n**Endpoint.** /api/get_reference_launch_readiness.php?format=json\n\n**Caveat.** Declarative readiness does not replace DB imports, runtime endpoint validation or final business review.\n\n## API manifest contract\n\n**Produit.** Reference API Manifest\n\n**But.** Index product endpoints and copy formats for developers and partners.\n\n**Champs requis.** ok, generated_at, summary, products, copy_markdown\n\n**Champs imbriques.** products.key, products.stage, products.priority, products.json_endpoint, products.markdown_endpoint, products.csv_endpoint, products.caveat\n\n**Usage consommateur.** Build navigation, API docs and integration pickers.\n\n**Endpoint.** /api/get_reference_api_manifest.php?format=json\n\n**Caveat.** Manifest is catalog-derived; Publication Gate still controls external display.\n\n## Citation contract\n\n**Produit.** Reference Citation Kit\n\n**But.** Attach source citations, licenses, URLs and caveats to published KPI.\n\n**Champs requis.** ok, generated_at, summary, citations, copy_markdown\n\n**Champs imbriques.** citations.source_key, citations.source_type, citations.source_name, citations.producer, citations.url, citations.license_label, citations.citation, citations.caveat\n\n**Usage consommateur.** Render source footnotes, slide footers and methodology annexes.\n\n**Endpoint.** /api/get_reference_citation_kit.php?format=json\n\n**Caveat.** Citation URLs and licenses must be reviewed when source pages change.\n\n## Source lineage contract\n\n**Produit.** Source-KPI Lineage Matrix\n\n**But.** Trace source keys to products, KPI slots, exports and governance policy.\n\n**Champs requis.** ok, generated_at, summary, sources, copy_markdown\n\n**Champs imbriques.** sources.source_key, sources.lineage_status, sources.product_keys, sources.primary_kpis, sources.primary_action, sources.fallback_action\n\n**Usage consommateur.** Audit which source supports which KPI or public product.\n\n**Endpoint.** /api/get_reference_source_lineage.php?format=json\n\n**Caveat.** Lineage is declarative and does not prove database import success.\n\n## KPI scorecard contract\n\n**Produit.** Reference KPI Scorecard\n\n**But.** Group KPI into coherent families and aggregation levels.\n\n**Champs requis.** ok, generated_at, family_count, families, copy_markdown\n\n**Champs imbriques.** families.key, families.family, families.north_star, families.aggregation_level, families.hero_kpis, families.source_products, families.caveat\n\n**Usage consommateur.** Power dashboards, slide outlines and KPI navigation.\n\n**Endpoint.** /api/get_reference_kpi_scorecard.php?format=json\n\n**Caveat.** Scorecard structures KPI logic but does not provide runtime values.\n\n## Data room collection contract\n\n**Produit.** Reference Data Room Index\n\n**But.** Route users to the right deliverable by use case.\n\n**Champs requis.** ok, generated_at, summary, collections, copy_markdown\n\n**Champs imbriques.** collections.key, collections.title, collections.audience, collections.objective, collections.entry_action, collections.product_keys, collections.caveat\n\n**Usage consommateur.** Build the public data room or partner onboarding hub.\n\n**Endpoint.** /api/get_reference_data_room_index.php?format=json\n\n**Caveat.** Index routes to products; product exports and gates remain authoritative.\n\n## Integration guide contract\n\n**Produit.** Reference Integration Guide\n\n**But.** Give developers copyable curl, fetch and PHP recipes.\n\n**Champs requis.** ok, generated_at, endpoint_count, recipe_count, endpoints, recipes, copy_markdown\n\n**Champs imbriques.** endpoints.key, endpoints.markdown_endpoint, endpoints.json_endpoint, recipes.key, recipes.language, recipes.snippet, recipes.caveat\n\n**Usage consommateur.** Onboard partner developers and internal UI builders.\n\n**Endpoint.** /api/get_reference_integration_guide.php?format=json\n\n**Caveat.** Examples must use absolute URLs in production and handle HTTP failures.\n\n## Dashboard blueprint contract\n\n**Produit.** Reference Dashboard Blueprint\n\n**But.** Describe UI sections, KPI slots and source products for the reference page.\n\n**Champs requis.** ok, generated_at, section_count, sections, copy_markdown\n\n**Champs imbriques.** sections.key, sections.title, sections.layout, sections.intent, sections.visual_direction, sections.kpi_slots, sections.product_keys\n\n**Usage consommateur.** Drive UI implementation and deck layouts.\n\n**Endpoint.** /api/get_reference_dashboard_blueprint.php?format=json\n\n**Caveat.** Blueprint is not hydrated; runtime values must come from product APIs.\n\n## Narrative deck contract\n\n**Produit.** Reference Narrative Deck\n\n**But.** Provide slide-ready storyline with KPI slots and caveats.\n\n**Champs requis.** ok, generated_at, slide_count, slides, copy_markdown\n\n**Champs imbriques.** slides.slide, slides.title, slides.subtitle, slides.message, slides.kpi_slots, slides.visual, slides.product_keys, slides.caveat\n\n**Usage consommateur.** Generate decks, notes and partner presentations.\n\n**Endpoint.** /api/get_reference_narrative_deck.php?format=json\n\n**Caveat.** Deck needs runtime values injected before external sharing.\n\n## Publication gate contract\n\n**Produit.** Publication Gate\n\n**But.** Expose publish, annotate or block decision before public usage.\n\n**Champs requis.** ok, generated_at, status, summary, gates\n\n**Champs imbriques.** status, fail_count, warn_count, gates.key, gates.status, gates.label\n\n**Usage consommateur.** Prevent public display when required gates are blocked.\n\n**Endpoint.** /api/get_reference_publication_gate.php?format=json\n\n**Caveat.** Readiness gate does not replace business validation or legal review.\n"}