{
  "paretoFront": ["batch", "stream", "managed", "hybride"],
  "constrainedFront": ["stream", "managed", "hybride"],
  "tradeoffs": [
    {"id":"batch","architecture":"Traitement par lots sur stockage durable","explanation":"Coût 100 et complexité 2 minimaux, mais latence 3600, indisponibilité 4 et limite d’évolution 3. Exclu sous latence ≤ 15."},
    {"id":"stream","architecture":"Journal distribué et traitement continu autogéré","explanation":"Latence 2 et limite d’évolution 1, au prix d’un coût 500 et d’une complexité 8. Managed améliore latence, complexité, risque et indisponibilité mais coûte 700."},
    {"id":"managed","architecture":"Ingestion et traitement continu gérés","explanation":"Latence 1, risque 2 et indisponibilité 1 minimaux, mais coût 700 maximal. Batch et hybride coûtent moins; batch est aussi moins complexe."},
    {"id":"hybride","architecture":"Chemin continu et consolidation par lots","explanation":"Coût 350, latence 10 et complexité 6 offrent un compromis. Stream améliore latence et évolutivité mais augmente coût, complexité et risque."}
  ],
  "explanation":"Tous les sept critères sont minimisés, sans somme pondérée. Une dominance exige aucune dégradation et au moins une amélioration stricte. Hybride domine ancien: 350<600, 10<20, 6<9, 3<6, 2<5, 1<3, 2<4. Les quatre autres candidats présentent chacun des compromis empêchant leur dominance. Filtrer d’abord les candidats par latence ≤ 15 donne stream, managed, hybride; recalculer leur dominance conserve les trois. À titre de sensibilité, latence ≤ 2 conserve stream et managed, tandis que latence ≤ 1 ne conserve que managed. Ces scénarios ne prouvent aucune supériorité universelle. L’hypervolume est le volume de l’union des boîtes entre les candidats admissibles et un point de référence commun, moins favorable sur chaque axe. Aucun point de référence ni normalisation n’étant assigné, aucune valeur d’hypervolume n’est annoncée; les frontières et leur changement sont établis directement par dominance. Les architectures sont des interprétations plausibles des IDs, les valeurs sont fixes et hypothétiques, sans validation du débit réel de 100 millions d’événements par jour.",
  "diagnostic_matrix": [
    {"hypothesis":"Les quatre candidats annoncés sont non dominés","predictedSignals":"Aucun candidat ne les améliore sur tous les axes avec une amélioration stricte","contradictoryObservations":"Existence d’un témoin de dominance pour un ID retenu","discriminatingMeasurement":"Comparaison exhaustive des paires de la fixture"},
    {"hypothesis":"La contrainte de latence conserve trois candidats non dominés","predictedSignals":"Admissibles stream, managed, hybride puis même frontière après redominance","contradictoryObservations":"Candidat retenu de latence > 15 ou témoin de dominance admissible","discriminatingMeasurement":"Filtrage inclusif et comparaison exhaustive après filtrage"},
    {"hypothesis":"Les architectures peuvent traiter le débit cible en exploitation","predictedSignals":"Débit soutenu, latence et exactitude respectant des objectifs spécifiés","contradictoryObservations":"Retard croissant, pertes ou violations des objectifs sous charge et panne","discriminatingMeasurement":"Essais de charge et de panne sur implémentations concrètes; non disponibles","status":"unresolved"}
  ]
}
