Private
Public Access
0
0

Add SSDL-style docstrings to MMA Orchestrator Panel group functions

This commit is contained in:
2026-06-12 22:18:59 -04:00
parent 14d46d49e8
commit fc2171a40f
+46
View File
@@ -5890,6 +5890,12 @@ def render_heavy_text(app: App, label: str, content: str, id_suffix: str = "") -
def render_mma_dashboard(app: App) -> None:
"""
Main MMA dashboard interface.
State Mutations:
None directly.
SSDL Shape:
`[I:focus_selector] -> [I:track_summary] -> [B:epic_planner] -> [I:track_browser] -> [B:global_controls] -> [I:usage_analytics] -> [I:ticket_queue] -> [I:task_dag] => [I:agent_streams]`
"""
if app.perf_profiling_enabled: app.perf_monitor.start_component("_render_mma_dashboard")
render_mma_focus_selector(app)
@@ -6024,6 +6030,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:
"""
Renders the Epic Planning panel for Tier 1 strategy input and planning button.
State Mutations:
app.ui_epic_input (text input)
SSDL Shape:
`[I:input_textbox] => [B:plan_button]`
"""
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()
@@ -6130,6 +6145,17 @@ def render_mma_usage_section(app: App) -> None:
imgui.pop_item_width()
def render_mma_ticket_editor(app: App) -> None:
"""
Renders the ticket detail editor panel, letting the user modify priority, target,
and persona override, mark a ticket complete, or delete it.
State Mutations:
app.active_tickets (modifies status/priority/override fields via app._push_mma_state_update)
app.ui_selected_ticket_id
SSDL Shape:
`[I:ticket_details] -> [B:combo_selectors] => [B:action_buttons]`
"""
imgui.separator(); imgui.text_colored(C_VAL(), f"Editing: {app.ui_selected_ticket_id}")
ticket = next((t for t in app.active_tickets if str(t.get('id', '')) == app.ui_selected_ticket_id), None)
if ticket:
@@ -6150,6 +6176,15 @@ 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:
"""
Renders the agent execution stream panels in a tabbed view for Tier 1, 2, 3, and 4.
State Mutations:
app.show_windows (toggles pop-out sub-windows)
SSDL Shape:
`[I] -> [B:tab_bar] => [I:stream_panels]`
"""
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")]:
@@ -6371,6 +6406,17 @@ def render_ticket_queue(app: App) -> None:
imgui.end_table()
def render_task_dag_panel(app: App) -> None: # 4. Task DAG Visualizer
"""
Renders the interactive node editor DAG visualizer, mapping ticket relationships
and allowing creation or deletion of links.
State Mutations:
app.ui_selected_ticket_id (node selection)
app.active_tickets (updates dependency lists on link creation or deletion)
SSDL Shape:
`[I:task_nodes] -> [B:node_editor_canvas] => [I:link_connections]`
"""
imgui.text("Task DAG")
if (app.active_track or app.active_tickets) and app.node_editor_ctx:
ed.set_current_editor(app.node_editor_ctx)