From 7b50a9b339ac61be4019a5d3ccfc401d423e8e9e Mon Sep 17 00:00:00 2001 From: OpenSquared Date: Wed, 17 Jun 2026 08:43:10 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20KeyError=20'stats'=20in=20cycle=20log=20?= =?UTF-8?q?line=20=E2=80=94=20use=20.get()=20defensively?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- backend/services/auto_cycle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/services/auto_cycle.py b/backend/services/auto_cycle.py index f3b904b..c6742a0 100644 --- a/backend/services/auto_cycle.py +++ b/backend/services/auto_cycle.py @@ -141,7 +141,7 @@ def run_cycle_once(trigger: str = "auto") -> Dict[str, Any]: logger.info( f"[Cycle {run_id[:16]}] Portfolio lessons loaded " f"(report from {portfolio_lessons.get('created_at','?')[:10]}, " - f"{age_hours:.0f}h ago, avg_pnl={portfolio_lessons['stats'].get('avg_pnl_pct')}%)" + f"{age_hours:.0f}h ago, avg_pnl={portfolio_lessons.get('stats', {}).get('avg_pnl_pct')}%)" ) else: logger.info(f"[Cycle {run_id[:16]}] No portfolio report yet — cycle runs without performance feedback")