From f6d58ddb07bb37c9ff53c9bf528b35059f96aea2 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Thu, 25 Jun 2026 21:07:37 -0400 Subject: [PATCH] fix(gui_2): add missing MMAUsageStats import (regression fix) In Phase 10 batch 1 (commit 28799766), I migrated the total_cost sum in render_mma_track_summary using 'MMAUsageStats.from_dict()' directly instead of the local '_MMA' alias used elsewhere in the same function. This caused NameError at runtime when the code path was exercised. Fix: add 'from src.type_aliases import MMAUsageStats as _MMA' and use '_MMA.from_dict()' consistently. Discovered by test_mma_approval_indicators.py::test_no_approval_badge_when_idle which exercises render_mma_dashboard -> render_mma_track_summary. Tests: 4/4 pass in test_mma_approval_indicators.py. --- src/gui_2.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui_2.py b/src/gui_2.py index c011b3dc..8329c83d 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -6618,7 +6618,8 @@ def render_mma_track_summary(app: App) -> None: track_name = app.active_track.description if app.active_track else "None" if getattr(app, "ui_project_execution_mode", "native") == "beads": track_name = "Beads Graph" track_stats = project_manager.calculate_track_progress(app.active_track.tickets if app.active_track else app.active_tickets) - total_cost = sum(cost_tracker.estimate_cost(MMAUsageStats.from_dict(u).model or 'unknown', MMAUsageStats.from_dict(u).input, MMAUsageStats.from_dict(u).output) for u in app.mma_tier_usage.values()) + from src.type_aliases import MMAUsageStats as _MMA + total_cost = sum(cost_tracker.estimate_cost(_MMA.from_dict(u).model or 'unknown', _MMA.from_dict(u).input, _MMA.from_dict(u).output) for u in app.mma_tier_usage.values()) imgui.text("Track:"); imgui.same_line(); imgui.text_colored(C_VAL(), track_name); imgui.same_line(); imgui.text(" | Status:"); imgui.same_line() if app.mma_status == "paused": imgui.text_colored(theme.get_color("status_warning") if is_nerv else theme.get_color("status_warning"), "PIPELINE PAUSED"); imgui.same_line()