diff --git a/ai-engine/services/single_match_orchestrator.py b/ai-engine/services/single_match_orchestrator.py index f23998c..c0dc994 100755 --- a/ai-engine/services/single_match_orchestrator.py +++ b/ai-engine/services/single_match_orchestrator.py @@ -1059,6 +1059,21 @@ class SingleMatchOrchestrator: return self._build_basketball_prediction_package(data, prediction) features = self._build_v25_features(data) + # ── DEBUG: log critical feature values to diagnose absurd predictions ── + _debug_keys = [ + 'home_overall_elo', 'away_overall_elo', 'elo_diff', + 'odds_ms_h', 'odds_ms_d', 'odds_ms_a', + 'implied_home', 'implied_draw', 'implied_away', + 'home_goals_avg', 'away_goals_avg', + 'home_conceded_avg', 'away_conceded_avg', + 'home_momentum_score', 'away_momentum_score', + 'home_squad_quality', 'away_squad_quality', + ] + print("── [DEBUG] Feature values for model input ──") + for _dk in _debug_keys: + print(f" {_dk}: {features.get(_dk, 'MISSING')}") + print(f" Total features: {len(features)}") + print("── [DEBUG END] ──") v25_signal = self._get_v25_signal(data, features) prediction = self._build_v25_prediction(data, features, v25_signal) base_package = self._build_prediction_package(data, prediction, v25_signal)