From c3cebc2d7e3f972474623938a81a11e757ac8cba Mon Sep 17 00:00:00 2001 From: OpenSquared Date: Tue, 30 Jun 2026 17:23:51 +0200 Subject: [PATCH] feat: instrument analysis --- backend/geooptions.db | 0 frontend/src/pages/InstrumentDashboard.tsx | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 backend/geooptions.db diff --git a/backend/geooptions.db b/backend/geooptions.db new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/pages/InstrumentDashboard.tsx b/frontend/src/pages/InstrumentDashboard.tsx index 6b1183e..7c00560 100644 --- a/frontend/src/pages/InstrumentDashboard.tsx +++ b/frontend/src/pages/InstrumentDashboard.tsx @@ -969,9 +969,10 @@ function CausalFrise({ )} - {/* Précision — source directe depuis /causal-lab/analyses (même valeur que MarketEvents) */} + {/* Précision — causalScores (API fraîche) avec fallback sur activation_score du snapshot */} {(() => { - const s = ev.id != null ? (causalScores[ev.id] ?? null) : null + const snapScore = ev.activation_score != null ? Math.round(ev.activation_score * 100) : null + const s = ev.id != null ? (causalScores[ev.id] ?? snapScore) : snapScore if (s == null) return null const barCls = s >= 70 ? 'bg-emerald-500' : s >= 40 ? 'bg-amber-500' : 'bg-red-500' const txtCls = s >= 70 ? 'text-emerald-400' : s >= 40 ? 'text-amber-400' : 'text-red-400' @@ -1073,7 +1074,8 @@ function ExplanationScore({ rawPred: (ev.prediction_json ?? 'null').slice(0, 30), }) - const s = ev.id != null ? (causalScores[ev.id] ?? null) : null + const snapScore = ev.activation_score != null ? Math.round(ev.activation_score * 100) : null + const s = ev.id != null ? (causalScores[ev.id] ?? snapScore) : snapScore if (debugRows.length > 0) debugRows[debugRows.length - 1].score = s if (s != null) scored.push(s) }