{
  "date": "2026-05-20",
  "generated": "2026-05-20T07:20:25",
  "model_version": "4.0",
  "protocol_version": "4.0",
  "analyses": [
    {
      "match": "Willem II Tilburg vs FC Volendam",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "16:45",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "76.3%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Willem II 4W-1D-0L last 5, Volendam 1W-1D-3L last 5. H2H 5W-0 Willem II (9-2 buts). Dernière journée Eredivisie — Willem II en confiance, Volendam struggling. DC 1X marche prioritaire v4.0."
    },
    {
      "match": "SCU Torreense vs Casa Pia Lisbon",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "70.6%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Playoff aller D2/D1. Torreense (D2, 3e) 3 victoires de rang + finaliste Coupe Portugal. Casa Pia (D1, 17e) 10 matchs sans victoire avant 1-0 Guimarães. Home advantage + dynamique. DC 1X plutôt que ML pour absorber chaos playoff."
    },
    {
      "match": "Tsitsipas, Stefanos vs Tien, Learner",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "08:30",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "72.6%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Tsitsipas solide sur terre (battu Mpetshi Perricard 6-4 7-6 au R1). Tien faible sur terre (2 victoires à Rome = a doublé son total carrière). Première rencontre. Pas de chaos."
    },
    {
      "match": "Norrie, Cameron vs Navone, Mariano",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "DB v3 trigger quota cap — pari excédentaire dropped",
      "niveau_confiance_v4": null,
      "probabilites": {
        "selection": "60.8%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Navone EN FORME terre (titre Bucharest, scalps Madrid/Rome, titre Tiriac Open). Norrie 78% jeux service terre mais saison ocre mitigée (R2 Rome, QF Barcelona). H2H Navone 1-0 (Rio 2024, 6-4 6-2). Spécialiste terre vs joueur tout terrain."
    },
    {
      "match": "Collignon, Raphael vs Ruud, Casper",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "81.9%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Ruud 6 victoires sur 7 derniers, finaliste Rome (battu par Sinner). 3x champion à Geneva (spécialiste). Battu Brooksby 6-3 7-5 en 92 min. Collignon vient de finale Challenger Bordeaux (gap de niveau). Première rencontre."
    },
    {
      "match": "Tauson, Clara vs Cristian, Jaqueline",
      "sport": "tennis",
      "ligue": "WTA Strasbourg",
      "heure": "09:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "64.7%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Tauson 8-9 saison, 0-1 terre, abandons récents (Rome vs Oliynykova, Miami vs Boulter) — issues physiques. Cristian forte dynamique (démantelé Kessler en 76 min), frappe lourde adaptée à la terre. H2H 3-3 mais Tauson 1-0 sur terre majeur. Tauson injuries = chaos 2."
    },
    {
      "match": "Navarro, Emma vs Jovic, Iva",
      "sport": "tennis",
      "ligue": "WTA Strasbourg",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "66.6%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Navarro 6-11 saison 2026, 2-2 terre, 7 défaites sur 10 derniers — slump prolongé. Jovic en confiance (poussé Gauff jusqu'aux limites à Rome, servait pour le match). Jovic en montée, Navarro stagne. Première rencontre."
    },
    {
      "match": "Humbert, Ugo vs Khachanov, Karen",
      "sport": "tennis",
      "ligue": "ATP Hamburg",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "77.0%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Khachanov 110-76 carrière sur terre, 4/5 derniers wins, QF Rome récente (battu par Ruud). Humbert 33-44 sur terre (négatif), vient de gagner R1 en 3 sets serrés. H2H 1-1 sur dur, première sur terre — surface favorable Khachanov."
    },
    {
      "match": "Oklahoma City Thunder vs San Antonio Spurs",
      "sport": "basketball",
      "ligue": "NBA Playoffs WCF",
      "heure": "00:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "71.4%"
      },
      "stats_comparatives": {
        "type": "v4 shrinkage 70/30"
      },
      "raisonnement": "Game 2 WCF, Spurs lead 1-0 après instant classic Wemby (41pts/24reb). Spurs sans De'Aaron Fox (out ankle) — pas de second scoreur fiable, dependance excessive sur Wemby. OKC à domicile dans must-win. Jalen Williams available. Mode playoffs v4.0 ML autorisé."
    },
    {
      "match": "SC Freiburg vs Aston Villa",
      "sport": "football",
      "ligue": "Europa League",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Finale UEL terrain neutre, chaos 2. ML Villa p_finale=0.5604 borderline (Kamara/Onana absents). DC X2 cote 1.18 < 1.30 (NO BET 1). Over 2.5 cote 1.99 p_finale~0.53 < 0.55.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Villa avantage talent mais midfield amputé (Kamara/Onana/Lindelöf doubtful). Freiburg solide fin saison (4-1 RB Leipzig). Finale terrain neutre Istanbul = variance haute. Aucun marché ne passe les seuils v4.0."
    },
    {
      "match": "Fritz, Taylor vs Popyrin, Alexei",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Fritz retour après ~2 mois sans match competition (issues physiques). Jamais SF Geneva. Chaos 2. p_finale Fritz ~0.555 borderline mais comeback risk élevé.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Fritz revient de blessure, Popyrin saison 7-13 mais 185min R1. Match coin-flip avec Fritz rust factor. Pas de pronostic fiable."
    },
    {
      "match": "Butvilas, Edas vs Bublik, Alexander",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "17:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Bublik (#10 mondial) sous-performe sur terre (3/7 sur 4 tournois récents, 57-59 carrière clay). Butvilas qualifié en forme (sortis Sonego). p_finale Bublik 0.649 borderline CONFIANT mais edge -0.114 et style mismatch.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Marché valorise Bublik à 0.763 (cote 1.31). Mon estimation 0.60 vu sous-performance clay récente. Spot piège classique. NO BET."
    },
    {
      "match": "Ugo Carabelli, Camilo vs Tiafoe, Frances",
      "sport": "tennis",
      "ligue": "ATP Hamburg",
      "heure": "11:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Carabelli specialiste terre lente (14-8 saison terre) vs Tiafoe puissance mais clay weak (4-2 saison ocre). Ni p_finale ML Tiafoe (0.49) ni Carabelli (0.52) atteint le seuil 0.55. Spot piège classique.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match style mismatch sans clear edge. Marché penche Tiafoe (talent) mais clay favorise Carabelli. Aucun pronostic fiable."
    },
    {
      "match": "Davidovich Fokina, Alejandro vs de Minaur, Alex",
      "sport": "tennis",
      "ligue": "ATP Hamburg",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "de Minaur traîne fatigue depuis Madrid/Rome (boitait), Davidovich a sauvé 13 BP au R1 (lucky win). p_finale de Minaur 0.570 borderline PROBABLE mais fatigue concerns + Davidovich underdog dangerous.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "de Minaur talent edge mais physically taxed. Davidovich saison médiocre mais sauvé 13 BP montre instabilité. Combo chaos 2 + fatigue + borderline p_finale = NO BET prudent."
    },
    {
      "match": "Friedsam, Anna-Lena vs Zidansek, Tamara",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kraus, Sinja vs Noha Akugue, Noma",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Chwalinska, Maja vs Monnet, Carole",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.09 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Begu, Irina-Camelia vs Lamens, Suzan",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Juvan, Kaja vs Maristany Zuleta de Reales, Guiomar",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Dart, Harriet vs Romero Gormaz, Leyre",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Minnen, Greet vs Radivojevic, Lola",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Von Deichmann, Kathinka vs Sakatsume, Himeno",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pridankina, Elena vs Avdeeva, Julia",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-B",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Cotes ML manquantes — DQ insuffisant pour pronostic.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Donnees absentes du fichier brutes."
    },
    {
      "match": "Sherif Ahmed Abdelaziz, Maiar vs Trevisan, Martina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.29 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Stephens, Sloane vs Pigato, Lisa",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kostovic, Teodora vs Quevedo, Kaitlin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Riera, Julia vs Montgomery, Robin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Stoiana, Mary vs Jorge, Matilde",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Korneeva, Alina vs Ortenzi, Jazmin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Bassols Ribera, Marina vs Pliskova, Karolina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.24 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Hruncakova, Viktoria vs Andreescu, Bianca",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.16 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Krueger, Ashlyn vs Giovannini, Luisina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Salkova, Dominika vs Bandecchi, Susan",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Semenistaja, Darja vs Zavatska, Katarina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Gao, Xinyu vs Tan, Harmony",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Hunter, Storm vs Wang, Xiyu",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Sun, Lulu vs Ito, Aoi",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Liu, Claire vs Kawa, Katarzyna",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fruhvirtova, Linda vs Ponchet, Jessika",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Sasnovich, Aliaksandra vs Dodin, Oceane",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.07 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Carle, Maria vs Timofeeva, Maria",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.26 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Sramkova, Rebecca vs Jorge, Francisca",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.29 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Bronzetti, Lucia vs Stefanini, Lucrezia",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kudermetova, Polina vs Tomova, Viktoriya",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pellegrino, Andrea vs Harris, Lloyd",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Svrcina, Dalibor vs Gomez, Federico Agustin",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Holmgren, August vs Jade, Daniel",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.21 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Zheng, Michael vs Travaglia, Stefano",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "De Jong, Jesper vs Draxl, Liam",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Faurel, Thomas vs Clarke, Jay",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Diaz Acosta, Facundo vs Bertola, Remy",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.21 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Sakellaridis, Stefanos vs Cecchinato, Marco",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Boscardin Dias, Pedro vs Galarneau, Alexis",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Blanchet, Ugo vs Llamas Ruiz, Pablo",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.18 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Bueno, Gonzalo vs Sachko, Vitaliy",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Glinka, Daniil vs Prado Angelo, Juan Carlos",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Moro Canas, Alejandro vs Neumayer, Lukas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Gaubas, Vilius vs Reis Da Silva, Joao Lucas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.28 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Faria, Jaime vs Smith, Colton",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Heide, Gustavo vs Rodionov, Jurij",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Rocha, Henrique vs Gojo, Borna",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Samuel, Toby vs Goffin, David",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fery, Arthur vs Martinez, Pedro",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Nava, Emilio vs Seyboth Wild, Thiago",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fatic, Nerman vs Jacquet, Kyrian",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Cadenasso, Gianluca vs Riedi, Leandro",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Molcan, Alex vs Gill, Felix",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.26 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Maestrelli, Francesco vs Carballes Baena, Roberto",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Dodig, Matej vs Dellien, Hugo",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pavlovic, Luka vs Barrios Vera, Marcelo Tomas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Schwaerzler, Joel vs Safiullin, Roman",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Schoolkate, Tristan vs Blanch, Darwin",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Budkov Kjaer, Nicolai vs Gentzsch, Tom",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Choinski, Jan vs Herbert, Pierre-Hugues",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Comesana, Francisco vs Munar, Jaume",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Rinderknech, Arthur vs Djere, Laslo",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Wawrinka, Stan vs Michelsen, Alex",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Bouzkova, Marie vs Oliynykova, Oleksandra",
      "sport": "tennis",
      "ligue": "WTA - WTA Strasbourg, France Women Singles",
      "heure": "08:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Zhang, Shuai vs Parry, Diane",
      "sport": "tennis",
      "ligue": "WTA - WTA Strasbourg, France Women Singles",
      "heure": "10:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Auger-Aliassime, Felix vs Kovacevic, Aleksandar",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.11 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Buse, Ignacio vs Mensik, Jakub",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Darderi, Luciano vs Hanfmann, Yannick",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Parks, Alycia vs Teichmann, Jil",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Ferro, Fiona vs Bouzas Maneiro, Jessica",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kabbaj, Yasmine vs Maria, Tatjana",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.22 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Marcinko, Petra vs Kotliar, Yelyzaveta",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.08 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Nahimana, Sada vs Udvardy, Panna",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote favori 1.24 < 1.30 (marche trop court).",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Arango, Emiliana vs Bondar, Anna",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Starodubtseva, Yuliia vs Kalinina, Anhelina",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    }
  ],
  "paris": [
    {
      "sport": "football",
      "ligue_canonique": "ERED",
      "ligue": "Eredivisie",
      "match": "Willem II Tilburg vs FC Volendam",
      "heure": "16:45",
      "marche_canonique": "DC",
      "marche": "Double Chance",
      "selection": "Willem II ou Nul (1X)",
      "cote": 1.38,
      "cote_plancher": 1.345,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.78,
      "probabilite_marche": "72.5%",
      "p_marche_num": 0.7246,
      "p_finale_num": 0.7634,
      "edge_num": 0.0388,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Willem II 4W-1D-0L last 5, Volendam 1W-1D-3L last 5. H2H 5W-0 Willem II (9-2 buts). Dernière journée Eredivisie — Willem II en confiance, Volendam struggling. DC 1X marche prioritaire v4.0."
    },
    {
      "sport": "football",
      "ligue_canonique": "LP",
      "ligue": "Liga Portugal",
      "match": "SCU Torreense vs Casa Pia Lisbon",
      "heure": "17:00",
      "marche_canonique": "DC",
      "marche": "Double Chance",
      "selection": "Torreense ou Nul (1X)",
      "cote": 1.39,
      "cote_plancher": 1.458,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.7,
      "probabilite_marche": "71.9%",
      "p_marche_num": 0.7194,
      "p_finale_num": 0.7058,
      "edge_num": -0.0136,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Playoff aller D2/D1. Torreense (D2, 3e) 3 victoires de rang + finaliste Coupe Portugal. Casa Pia (D1, 17e) 10 matchs sans victoire avant 1-0 Guimarães. Home advantage + dynamique. DC 1X plutôt que ML pour absorber chaos playoff."
    },
    {
      "sport": "tennis",
      "ligue_canonique": "ATP_250",
      "ligue": "ATP Geneva",
      "match": "Tsitsipas, Stefanos vs Tien, Learner",
      "heure": "08:30",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Tsitsipas",
      "cote": 1.49,
      "cote_plancher": 1.416,
      "dq_flag": "DQ-A",
      "chaos": 0,
      "p_estimee": 0.75,
      "probabilite_marche": "67.1%",
      "p_marche_num": 0.6711,
      "p_finale_num": 0.7263,
      "edge_num": 0.0552,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Tsitsipas solide sur terre (battu Mpetshi Perricard 6-4 7-6 au R1). Tien faible sur terre (2 victoires à Rome = a doublé son total carrière). Première rencontre. Pas de chaos."
    },
    {
      "sport": "tennis",
      "ligue_canonique": "ATP_250",
      "ligue": "ATP Geneva",
      "match": "Collignon, Raphael vs Ruud, Casper",
      "heure": "11:10",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Ruud",
      "cote": 1.34,
      "cote_plancher": 1.252,
      "dq_flag": "DQ-A",
      "chaos": 0,
      "p_estimee": 0.85,
      "probabilite_marche": "74.6%",
      "p_marche_num": 0.7463,
      "p_finale_num": 0.8189,
      "edge_num": 0.0726,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Ruud 6 victoires sur 7 derniers, finaliste Rome (battu par Sinner). 3x champion à Geneva (spécialiste). Battu Brooksby 6-3 7-5 en 92 min. Collignon vient de finale Challenger Bordeaux (gap de niveau). Première rencontre."
    },
    {
      "sport": "tennis",
      "ligue_canonique": "WTA_500",
      "ligue": "WTA Strasbourg",
      "match": "Tauson, Clara vs Cristian, Jaqueline",
      "heure": "09:40",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Cristian",
      "cote": 1.56,
      "cote_plancher": 1.594,
      "dq_flag": "DQ-A",
      "chaos": 2,
      "p_estimee": 0.65,
      "probabilite_marche": "64.1%",
      "p_marche_num": 0.641,
      "p_finale_num": 0.6473,
      "edge_num": 0.0063,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Tauson 8-9 saison, 0-1 terre, abandons récents (Rome vs Oliynykova, Miami vs Boulter) — issues physiques. Cristian forte dynamique (démantelé Kessler en 76 min), frappe lourde adaptée à la terre. H2H 3-3 mais Tauson 1-0 sur terre majeur. Tauson injuries = chaos 2."
    },
    {
      "sport": "tennis",
      "ligue_canonique": "WTA_500",
      "ligue": "WTA Strasbourg",
      "match": "Navarro, Emma vs Jovic, Iva",
      "heure": "15:30",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Jovic",
      "cote": 1.42,
      "cote_plancher": 1.547,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.65,
      "probabilite_marche": "70.4%",
      "p_marche_num": 0.7042,
      "p_finale_num": 0.6663,
      "edge_num": -0.0379,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Navarro 6-11 saison 2026, 2-2 terre, 7 défaites sur 10 derniers — slump prolongé. Jovic en confiance (poussé Gauff jusqu'aux limites à Rome, servait pour le match). Jovic en montée, Navarro stagne. Première rencontre."
    },
    {
      "sport": "tennis",
      "ligue_canonique": "ATP_500",
      "ligue": "ATP Hamburg",
      "match": "Humbert, Ugo vs Khachanov, Karen",
      "heure": "11:10",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Khachanov",
      "cote": 1.34,
      "cote_plancher": 1.334,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.78,
      "probabilite_marche": "74.6%",
      "p_marche_num": 0.7463,
      "p_finale_num": 0.7699,
      "edge_num": 0.0236,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Khachanov 110-76 carrière sur terre, 4/5 derniers wins, QF Rome récente (battu par Ruud). Humbert 33-44 sur terre (négatif), vient de gagner R1 en 3 sets serrés. H2H 1-1 sur dur, première sur terre — surface favorable Khachanov."
    },
    {
      "sport": "basketball",
      "ligue_canonique": "NBA",
      "ligue": "NBA Playoffs WCF",
      "match": "Oklahoma City Thunder vs San Antonio Spurs",
      "heure": "00:30",
      "marche_canonique": "ML",
      "marche": "Match Winner",
      "selection": "Oklahoma City Thunder",
      "cote": 1.43,
      "cote_plancher": 1.441,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.72,
      "probabilite_marche": "69.9%",
      "p_marche_num": 0.6993,
      "p_finale_num": 0.7138,
      "edge_num": 0.0145,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1u",
      "mise_euros": 10,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Game 2 WCF, Spurs lead 1-0 après instant classic Wemby (41pts/24reb). Spurs sans De'Aaron Fox (out ankle) — pas de second scoreur fiable, dependance excessive sur Wemby. OKC à domicile dans must-win. Jalen Williams available. Mode playoffs v4.0 ML autorisé."
    }
  ],
  "no_bet": [
    {
      "match": "SC Freiburg vs Aston Villa",
      "sport": "football",
      "ligue": "Europa League",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Finale UEL terrain neutre, chaos 2. ML Villa p_finale=0.5604 borderline (Kamara/Onana absents). DC X2 cote 1.18 < 1.30 (NO BET 1). Over 2.5 cote 1.99 p_finale~0.53 < 0.55.",
      "raisonnement": "Villa avantage talent mais midfield amputé (Kamara/Onana/Lindelöf doubtful). Freiburg solide fin saison (4-1 RB Leipzig). Finale terrain neutre Istanbul = variance haute. Aucun marché ne passe les seuils v4.0."
    },
    {
      "match": "Fritz, Taylor vs Popyrin, Alexei",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Fritz retour après ~2 mois sans match competition (issues physiques). Jamais SF Geneva. Chaos 2. p_finale Fritz ~0.555 borderline mais comeback risk élevé.",
      "raisonnement": "Fritz revient de blessure, Popyrin saison 7-13 mais 185min R1. Match coin-flip avec Fritz rust factor. Pas de pronostic fiable."
    },
    {
      "match": "Butvilas, Edas vs Bublik, Alexander",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "17:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Bublik (#10 mondial) sous-performe sur terre (3/7 sur 4 tournois récents, 57-59 carrière clay). Butvilas qualifié en forme (sortis Sonego). p_finale Bublik 0.649 borderline CONFIANT mais edge -0.114 et style mismatch.",
      "raisonnement": "Marché valorise Bublik à 0.763 (cote 1.31). Mon estimation 0.60 vu sous-performance clay récente. Spot piège classique. NO BET."
    },
    {
      "match": "Ugo Carabelli, Camilo vs Tiafoe, Frances",
      "sport": "tennis",
      "ligue": "ATP Hamburg",
      "heure": "11:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Carabelli specialiste terre lente (14-8 saison terre) vs Tiafoe puissance mais clay weak (4-2 saison ocre). Ni p_finale ML Tiafoe (0.49) ni Carabelli (0.52) atteint le seuil 0.55. Spot piège classique.",
      "raisonnement": "Match style mismatch sans clear edge. Marché penche Tiafoe (talent) mais clay favorise Carabelli. Aucun pronostic fiable."
    },
    {
      "match": "Davidovich Fokina, Alejandro vs de Minaur, Alex",
      "sport": "tennis",
      "ligue": "ATP Hamburg",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "de Minaur traîne fatigue depuis Madrid/Rome (boitait), Davidovich a sauvé 13 BP au R1 (lucky win). p_finale de Minaur 0.570 borderline PROBABLE mais fatigue concerns + Davidovich underdog dangerous.",
      "raisonnement": "de Minaur talent edge mais physically taxed. Davidovich saison médiocre mais sauvé 13 BP montre instabilité. Combo chaos 2 + fatigue + borderline p_finale = NO BET prudent."
    },
    {
      "match": "Friedsam, Anna-Lena vs Zidansek, Tamara",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kraus, Sinja vs Noha Akugue, Noma",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Chwalinska, Maja vs Monnet, Carole",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.09 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Begu, Irina-Camelia vs Lamens, Suzan",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Juvan, Kaja vs Maristany Zuleta de Reales, Guiomar",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Dart, Harriet vs Romero Gormaz, Leyre",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Minnen, Greet vs Radivojevic, Lola",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Von Deichmann, Kathinka vs Sakatsume, Himeno",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pridankina, Elena vs Avdeeva, Julia",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-B",
      "chaos": 2,
      "raison": "Cotes ML manquantes — DQ insuffisant pour pronostic.",
      "raisonnement": "Donnees absentes du fichier brutes."
    },
    {
      "match": "Sherif Ahmed Abdelaziz, Maiar vs Trevisan, Martina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.29 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Stephens, Sloane vs Pigato, Lisa",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kostovic, Teodora vs Quevedo, Kaitlin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Riera, Julia vs Montgomery, Robin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Stoiana, Mary vs Jorge, Matilde",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Korneeva, Alina vs Ortenzi, Jazmin",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Bassols Ribera, Marina vs Pliskova, Karolina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.24 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Hruncakova, Viktoria vs Andreescu, Bianca",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.16 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Krueger, Ashlyn vs Giovannini, Luisina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Salkova, Dominika vs Bandecchi, Susan",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Semenistaja, Darja vs Zavatska, Katarina",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Gao, Xinyu vs Tan, Harmony",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Hunter, Storm vs Wang, Xiyu",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Sun, Lulu vs Ito, Aoi",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Liu, Claire vs Kawa, Katarzyna",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fruhvirtova, Linda vs Ponchet, Jessika",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Sasnovich, Aliaksandra vs Dodin, Oceane",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "11:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.07 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Carle, Maria vs Timofeeva, Maria",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.26 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Sramkova, Rebecca vs Jorge, Francisca",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.29 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Bronzetti, Lucia vs Stefanini, Lucrezia",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kudermetova, Polina vs Tomova, Viktoriya",
      "sport": "tennis",
      "ligue": "WTA - French Open Women Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pellegrino, Andrea vs Harris, Lloyd",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Svrcina, Dalibor vs Gomez, Federico Agustin",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Holmgren, August vs Jade, Daniel",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.21 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Zheng, Michael vs Travaglia, Stefano",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "De Jong, Jesper vs Draxl, Liam",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.25 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Faurel, Thomas vs Clarke, Jay",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Diaz Acosta, Facundo vs Bertola, Remy",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.21 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Sakellaridis, Stefanos vs Cecchinato, Marco",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Boscardin Dias, Pedro vs Galarneau, Alexis",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Blanchet, Ugo vs Llamas Ruiz, Pablo",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.18 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Bueno, Gonzalo vs Sachko, Vitaliy",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Glinka, Daniil vs Prado Angelo, Juan Carlos",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Moro Canas, Alejandro vs Neumayer, Lukas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Gaubas, Vilius vs Reis Da Silva, Joao Lucas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.28 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Faria, Jaime vs Smith, Colton",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Heide, Gustavo vs Rodionov, Jurij",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Rocha, Henrique vs Gojo, Borna",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Samuel, Toby vs Goffin, David",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fery, Arthur vs Martinez, Pedro",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Nava, Emilio vs Seyboth Wild, Thiago",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Fatic, Nerman vs Jacquet, Kyrian",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Cadenasso, Gianluca vs Riedi, Leandro",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Molcan, Alex vs Gill, Felix",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.26 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Maestrelli, Francesco vs Carballes Baena, Roberto",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Dodig, Matej vs Dellien, Hugo",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Pavlovic, Luka vs Barrios Vera, Marcelo Tomas",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Schwaerzler, Joel vs Safiullin, Roman",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Schoolkate, Tristan vs Blanch, Darwin",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Budkov Kjaer, Nicolai vs Gentzsch, Tom",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Choinski, Jan vs Herbert, Pierre-Hugues",
      "sport": "tennis",
      "ligue": "ATP - French Open Men Singles",
      "heure": "12:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Comesana, Francisco vs Munar, Jaume",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Rinderknech, Arthur vs Djere, Laslo",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Wawrinka, Stan vs Michelsen, Alex",
      "sport": "tennis",
      "ligue": "ATP - ATP Geneva, Switzerland Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Bouzkova, Marie vs Oliynykova, Oleksandra",
      "sport": "tennis",
      "ligue": "WTA - WTA Strasbourg, France Women Singles",
      "heure": "08:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Zhang, Shuai vs Parry, Diane",
      "sport": "tennis",
      "ligue": "WTA - WTA Strasbourg, France Women Singles",
      "heure": "10:50",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Auger-Aliassime, Felix vs Kovacevic, Aleksandar",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.11 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Buse, Ignacio vs Mensik, Jakub",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Darderi, Luciano vs Hanfmann, Yannick",
      "sport": "tennis",
      "ligue": "ATP - ATP Hamburg, Germany Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Parks, Alycia vs Teichmann, Jil",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Ferro, Fiona vs Bouzas Maneiro, Jessica",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Kabbaj, Yasmine vs Maria, Tatjana",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.22 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Marcinko, Petra vs Kotliar, Yelyzaveta",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.08 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Nahimana, Sada vs Udvardy, Panna",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "NO BET 1 — cote favori 1.24 < 1.30 (marche trop court).",
      "raisonnement": "Edge mathematique negligeable, hors range v4.0 [1.30-3.00]."
    },
    {
      "match": "Arango, Emiliana vs Bondar, Anna",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Starodubtseva, Yuliia vs Kalinina, Anhelina",
      "sport": "tennis",
      "ligue": "WTA - WTA Rabat, Morocco Women Singles",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Match non enrichi WebSearch — donnees forme/H2H/blessures insuffisantes pour pronostic calibre v4.0.",
      "raisonnement": "Qualifs RG ou match tier inferieur sans contexte. Anti-hallucination — NO BET > pronostic fragile."
    },
    {
      "match": "Norrie, Cameron vs Navone, Mariano",
      "sport": "tennis",
      "ligue": "ATP Geneva",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DB v3 trigger quota cap 8 paris/jour. Pari PROBABLE p_finale=0.6084 le plus faible — drop pour respecter contrainte. v4.0 autorise volume libre mais schema v3 contraint à 8.",
      "raisonnement": "Pronostic Navone valide v4.0 (PROBABLE) mais quota DB v3 dépassé."
    }
  ],
  "resume": {
    "total_paris": 8,
    "total_no_bet": 81,
    "total_matchs_analyses": 89,
    "repartition_niveaux": {
      "CERTAIN": 3,
      "CONFIANT": 5,
      "PROBABLE": 0
    },
    "exposition_totale_euros": 80,
    "exposition_totale_unites": "8u",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 33.5,
      "ROI_potentiel": "+41.9%"
    },
    "calibration_attendue": {
      "win_rate_attendu_si_calibration_parfaite": "72.6%",
      "details": "3xCERTAIN(avg 0.784) + 5xCONFIANT(avg 0.692) + 0xPROBABLE(avg 0)"
    }
  }
}