From c335c0c627323d9af3d0506ff4f7aa4272dd1b3a Mon Sep 17 00:00:00 2001 From: Kevin Bruton Date: Mon, 29 Sep 2025 20:23:13 +0200 Subject: [PATCH] feat: give relevance in ui to final decision --- frontend_implementation_plan.md | 4 ++-- webapp/main.py | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend_implementation_plan.md b/frontend_implementation_plan.md index a0b047e5..ea09127f 100644 --- a/frontend_implementation_plan.md +++ b/frontend_implementation_plan.md @@ -142,8 +142,8 @@ The left panel should display a hierarchical tree structure as follows: ├── 🛡️ Conservative Risk Analyst │ ├── 📄 Risk Assessment (Conservative) │ └── 💬 Agent Messages - └── ⚠️ Risk Judge - ├── 📄 Final Risk Decision + └── 🧠 Portfolio Manager (Final Decision) + ├── 📄 Portfolio Manager's Decision └── 💬 Agent Messages ``` diff --git a/webapp/main.py b/webapp/main.py index dcf9c009..438f0642 100644 --- a/webapp/main.py +++ b/webapp/main.py @@ -48,7 +48,9 @@ PHASE_SEQUENCE = [ "research_phase", "planning_phase", "execution_phase", - "risk_analysis_phase" + "risk_analysis_phase", + # New dedicated top-level phase for the final portfolio decision + "final_decision_phase" ] # Mount the static directory to serve CSS, JS, etc. @@ -162,10 +164,11 @@ def update_execution_state(state: Dict[str, Any]): "report_name": "Risk Assessment (Conservative)" }, "Risk Judge": { - "phase": "risk_analysis", + # Moved to its own dedicated phase for prominence + "phase": "final_decision", "agent_id": "risk_judge", "report_key": "final_trade_decision", - "report_name": "Final Risk Decision" + "report_name": "Portfolio Manager's Decision" } } @@ -240,8 +243,16 @@ def initialize_complete_execution_tree(): "children": [ create_agent_node("risky_analyst", "🚨 Aggressive Risk Analyst"), create_agent_node("neutral_analyst", "⚖️ Neutral Risk Analyst"), - create_agent_node("safe_analyst", "🛡️ Conservative Risk Analyst"), - create_agent_node("risk_judge", "⚠️ Risk Judge") + create_agent_node("safe_analyst", "🛡️ Conservative Risk Analyst") + ] + }, + { + "id": "final_decision_phase", + "name": "🧠 Portfolio Manager's Decision", + "status": "pending", + "content": "Final portfolio / trade decision synthesized from all prior phases", + "children": [ + create_agent_node("risk_judge", "🧠 Portfolio Manager") ] } ]