From cb9b310d0cb7bb3dbd3822f47e40cec7da7f0385 Mon Sep 17 00:00:00 2001 From: Jan Svabenik Date: Sat, 21 Mar 2026 21:00:58 +0100 Subject: [PATCH] feat: show top decision reason in UI --- web/app.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/app.js b/web/app.js index c179b54..652b65a 100644 --- a/web/app.js +++ b/web/app.js @@ -850,7 +850,10 @@ function updateHeroMetrics() { const decisionSummary = refinementInfo.decision_summary || {}; const recOn = decisionSummary.record_enabled ?? 0; const decOn = decisionSummary.decode_enabled ?? 0; - healthRefinePlan.textContent = `${plan.selected?.length || 0}/${plan.budget || 0} · drop ${plan.dropped_by_snr || 0}/${plan.dropped_by_budget || 0} · rec ${recOn} dec ${decOn}`; + const reasonCounts = decisionSummary.reasons || {}; + const topReason = Object.entries(reasonCounts).sort((a, b) => b[1] - a[1])[0]; + const reasonText = topReason ? `· ${topReason[0]}` : ''; + healthRefinePlan.textContent = `${plan.selected?.length || 0}/${plan.budget || 0} · drop ${plan.dropped_by_snr || 0}/${plan.dropped_by_budget || 0} · rec ${recOn} dec ${decOn} ${reasonText}`; } if (healthRefineWindows) { const stats = refinementInfo.window_stats || null;