diff --git a/src/gui_2.py b/src/gui_2.py index 94d317c9..2b977057 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -1407,9 +1407,6 @@ class App: self.ai_status = f"Default editor set to: {editor_name}" def _save_paths(self) -> None: - """ - [C: tests/test_gui_paths.py:test_save_paths] - """ self.config["paths"] = { "logs_dir": self.ui_logs_dir, "scripts_dir": self.ui_scripts_dir @@ -1422,9 +1419,6 @@ class App: self.ai_status = 'paths applied and session reset' def _populate_auto_slices(self, f_item: models.FileItem) -> None: - """ - [C: tests/test_auto_slices.py:test_populate_auto_slices_basic] - """ from src import mcp_client import re from pathlib import Path @@ -1551,9 +1545,6 @@ class App: self._patch_error_message = str(e) def _reorder_ticket(self, src_idx: int, dst_idx: int) -> None: - """ - [C: tests/test_ticket_queue.py:TestReorder.test_reorder_ticket_invalid, tests/test_ticket_queue.py:TestReorder.test_reorder_ticket_valid] - """ if src_idx == dst_idx: return new_tickets = list(self.active_tickets) ticket = new_tickets.pop(src_idx) @@ -1589,27 +1580,18 @@ class App: self._patch_error_message = str(e) def bulk_execute(self) -> None: - """ - [C: tests/test_ticket_queue.py:TestBulkOperations.test_bulk_execute] - """ for tid in self.ui_selected_tickets: t = next((t for t in self.active_tickets if str(t.get('id', '')) == tid), None) if t: t['status'] = 'in_progress' self._push_mma_state_update() def bulk_skip(self) -> None: - """ - [C: tests/test_ticket_queue.py:TestBulkOperations.test_bulk_skip] - """ for tid in self.ui_selected_tickets: t = next((t for t in self.active_tickets if str(t.get('id', '')) == tid), None) if t: t['status'] = 'completed' self._push_mma_state_update() def bulk_block(self) -> None: - """ - [C: tests/test_ticket_queue.py:TestBulkOperations.test_bulk_block] - """ for tid in self.ui_selected_tickets: t = next((t for t in self.active_tickets if str(t.get('id', '')) == tid), None) if t: t['status'] = 'blocked' @@ -2152,8 +2134,6 @@ def render_log_management(app: App) -> None: SSDL Shape: `[I:sessions] -> [B:registry_actions] -> [B:sessions_table]` - - [C: tests/test_log_management_ui.py:test_render_log_management_logic] """ if app.perf_profiling_enabled: app.perf_monitor.start_component("_render_log_management") with imscope.window("Log Management", app.show_windows["Log Management"]) as (exp, opened): @@ -3397,8 +3377,6 @@ def render_files_and_media(app: App) -> None: SSDL Shape: `[I:inventory] -> [B:add_files_folders] -> [I:screenshots] => [B:add_screenshots]` - - [C: tests/test_gui_fast_render.py:test_render_files_and_media_fast] """ if imgui.collapsing_header("Files", imgui.TreeNodeFlags_.default_open): with imscope.group(): @@ -3550,9 +3528,6 @@ def render_context_batch_actions(app: App, total_lines: int, total_ast: int) -> imgui.text(f" | Total: {len(app.context_files)} files, {total_lines} lines, {total_ast} AST elements") def render_add_context_files_modal(app: App) -> None: - """ - [C: tests/test_auto_slices.py:test_add_selected_triggers_auto_slices] - """ if imgui.begin_popup_modal("Select Context Files", None, imgui.WindowFlags_.always_auto_resize)[0]: imgui.text("Select files from project to add to context:") imgui.begin_child("ctx_picker_list", imgui.ImVec2(600, 300), True) @@ -3612,8 +3587,6 @@ def render_context_composition_panel(app: App) -> None: | +-------------------------------------------------------+ | | > Screenshots | +-------------------------------------------------------------+ - - [C: tests/test_auto_slices.py:test_add_all_triggers_auto_slices, tests/test_gui_fast_render.py:test_render_context_composition_panel_fast] """ if imgui.collapsing_header("Context Composition##panel"): total_lines, total_ast = app._update_context_file_stats() @@ -4659,7 +4632,6 @@ def _on_warmup_complete_callback(app: App, status: dict) -> None: appends a message to a lock-protected list that the indicator (or the diagnostics panel) can read. Runs on a background _io_pool thread; only sets primitive state. - [C: src/gui_2.py:render_warmup_status_indicator, src/gui_2.py:App._post_init, tests/test_gui_warmup_indicator.py:test_callback_sets_timestamp] """ try: app._warmup_completion_ts = time.time() @@ -4687,8 +4659,6 @@ def render_warmup_status_indicator(app: App) -> None: SSDL Shape: `[I:warmup_status] -> [I:status_text]` - - [C: src/gui_2.py:App._post_init, src/gui_2.py:render_main_interface, tests/test_gui_warmup_indicator.py:test_render_warmup_indicator_function_exists, tests/test_gui_warmup_indicator.py:test_callback_sets_timestamp] """ controller = getattr(app, "controller", None) if controller is None: return @@ -4719,11 +4689,7 @@ def render_warmup_status_indicator(app: App) -> None: # No render: warmup done, no failures, transient window expired. def render_synthesis_panel(app: App) -> None: - """ - - Renders a panel for synthesizing multiple discussion takes. - [C: tests/test_gui_synthesis.py:test_render_synthesis_panel] - """ + """Renders a panel for synthesizing multiple discussion takes.""" imgui.text("Select takes to synthesize:") discussions = app.project.get('discussion', {}).get('discussions', {}) if not isinstance(getattr(app, 'ui_synthesis_selected_takes', None), dict): app.ui_synthesis_selected_takes = {name: False for name in discussions} @@ -5002,9 +4968,6 @@ def render_discussion_metadata(app: App) -> None: if imgui.button("Delete"): app._delete_discussion(app.active_discussion) def render_discussion_panel(app: App) -> None: - """ - [C: tests/test_discussion_takes_gui.py:test_render_discussion_tabs, tests/test_discussion_takes_gui.py:test_switching_discussion_via_tabs, tests/test_gui_discussion_tabs.py:test_discussion_tabs_rendered, tests/test_gui_fast_render.py:test_render_discussion_panel_fast, tests/test_gui_phase4.py:test_track_discussion_toggle, tests/test_gui_symbol_navigation.py:test_render_discussion_panel_symbol_lookup] - """ if app.perf_profiling_enabled: app.perf_monitor.start_component("_render_discussion_panel") render_thinking_indicator(app) @@ -5165,9 +5128,7 @@ def render_operations_hub(app: App) -> None: if exp: render_vendor_state(app) def render_vendor_state(app: App) -> None: # TODO(Ed): Shouldn't this just be a part of usage analytics? We can show all used vendors at once... - """Render the Operations Hub > Vendor State panel. - [C: src/vendor_state.py:get_vendor_state] - """ + """Render the Operations Hub > Vendor State panel.""" from src.vendor_state import get_vendor_state metrics = get_vendor_state(app) if imgui.begin_table("vendor_state", 3, imgui.TableFlags_.row_bg | imgui.TableFlags_.borders): @@ -5817,7 +5778,6 @@ def render_heavy_text(app: App, label: str, content: str, id_suffix: str = "") - def render_mma_dashboard(app: App) -> None: """ Main MMA dashboard interface. - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress, tests/test_mma_approval_indicators.py:TestMMAApprovalIndicators.test_approval_badge_shown_when_ask_dialog_pending, tests/test_mma_approval_indicators.py:TestMMAApprovalIndicators.test_approval_badge_shown_when_mma_approval_pending, tests/test_mma_approval_indicators.py:TestMMAApprovalIndicators.test_approval_badge_shown_when_spawn_pending, tests/test_mma_approval_indicators.py:TestMMAApprovalIndicators.test_no_approval_badge_when_idle] """ if app.perf_profiling_enabled: app.perf_monitor.start_component("_render_mma_dashboard") render_mma_focus_selector(app) @@ -5924,9 +5884,6 @@ def render_mma_modals(app: App) -> None: imgui.end_popup() def render_mma_track_summary(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ is_nerv = theme.is_nerv_active() 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" @@ -5955,24 +5912,15 @@ def render_mma_track_summary(app: App) -> None: imgui.text_colored(C_LBL(), "ETA:"); imgui.same_line(); imgui.text_colored(C_VAL(), f"~{int(eta_mins)}m ({remaining} tickets remaining)") def render_mma_epic_planner(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ imgui.text_colored(C_LBL(), 'Epic Planning (Tier 1)') _, app.ui_epic_input = imgui.input_text_multiline('##epic_input', app.ui_epic_input, imgui.ImVec2(-1, 80)) if imgui.button('Plan Epic (Tier 1)', imgui.ImVec2(-1, 0)): app._cb_plan_epic() def render_mma_conductor_setup(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ if imgui.button("Run Setup Scan"): app._cb_run_conductor_setup() if app.ui_conductor_setup_summary: imgui.input_text_multiline("##setup_summary", app.ui_conductor_setup_summary, imgui.ImVec2(-1, 120), imgui.InputTextFlags_.read_only) def render_mma_track_browser(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ imgui.text("Track Browser") if imgui.begin_table("mma_tracks_table", 4, imgui.TableFlags_.borders | imgui.TableFlags_.row_bg | imgui.TableFlags_.resizable): imgui.table_setup_column("Title"); imgui.table_setup_column("Status"); imgui.table_setup_column("Progress"); imgui.table_setup_column("Actions"); imgui.table_headers_row() @@ -5999,9 +5947,6 @@ def render_mma_track_browser(app: App) -> None: app.ui_new_track_name = ""; app.ui_new_track_desc = "" def render_mma_global_controls(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ changed, app.mma_step_mode = imgui.checkbox("Step Mode (HITL)", app.mma_step_mode) imgui.same_line(); imgui.text(f"Status: {app.mma_status.upper()}") if app.controller and hasattr(app.controller, 'engine') and app.controller.engine and hasattr(app.controller.engine, '_pause_event'): @@ -6030,9 +5975,6 @@ def render_mma_global_controls(app: App) -> None: imgui.same_line(); imgui.text_disabled("(Ctrl+Alt+R)") def render_mma_usage_section(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ imgui.text("Tier Usage (Tokens & Cost)") if imgui.begin_table("mma_usage", 5, imgui.TableFlags_.borders | imgui.TableFlags_.row_bg): imgui.table_setup_column("Tier"); imgui.table_setup_column("Model"); imgui.table_setup_column("Input"); imgui.table_setup_column("Output"); imgui.table_setup_column("Est. Cost"); imgui.table_headers_row() @@ -6096,9 +6038,6 @@ def render_mma_ticket_editor(app: App) -> None: if imgui.button(f"Delete##{app.ui_selected_ticket_id}"): app.active_tickets = [t for t in app.active_tickets if str(t.get('id', '')) != app.ui_selected_ticket_id]; app.ui_selected_ticket_id = None; app._push_mma_state_update() def render_mma_agent_streams(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ imgui.text("Agent Streams") if imgui.begin_tab_bar("mma_streams_tabs"): for tier, label, sep_flag_attr in [("Tier 1", "Tier 1", "ui_separate_tier1"), ("Tier 2", "Tier 2 (Tech Lead)", "ui_separate_tier2"), ("Tier 3", None, "ui_separate_tier3"), ("Tier 4", "Tier 4 (QA)", "ui_separate_tier4")]: @@ -6116,9 +6055,6 @@ def render_mma_agent_streams(app: App) -> None: imgui.end_tab_bar() def render_tier_stream_panel(app: App, tier_key: str, stream_key: str | None) -> None: - """ - [C: tests/test_mma_dashboard_streams.py:TestMMADashboardStreams.test_tier1_renders_stream_content, tests/test_mma_dashboard_streams.py:TestMMADashboardStreams.test_tier3_renders_worker_subheaders] - """ if app.perf_profiling_enabled: app.perf_monitor.start_component("_render_tier_stream_panel") if app.is_viewing_prior_session: imgui.text_colored(theme.get_color("status_warning"), "HISTORICAL VIEW - READ ONLY") @@ -6211,9 +6147,6 @@ def render_track_proposal_modal(app: App) -> None: imgui.end_popup() def render_ticket_queue(app: App) -> None: - """ - [C: tests/test_gui_kill_button.py:test_render_ticket_queue_table_columns] - """ imgui.text("Ticket Queue Management") if not app.active_track: imgui.text_disabled("No active track.") @@ -6510,9 +6443,6 @@ def render_beads_tab(app: App) -> None: imgui.text_colored(theme.get_color("status_error"), f"Error loading beads: {e}") def render_mma_focus_selector(app: App) -> None: - """ - [C: tests/test_gui_progress.py:test_render_mma_dashboard_progress] - """ imgui.text("Focus Agent:"); imgui.same_line() focus_label = app.ui_focus_agent or "All" if imgui.begin_combo("##focus_agent", focus_label, imgui.ComboFlags_.width_fit_preview):