Private
Public Access
0
0
Files
manual_slop/conductor/tracks/hot_reload_python_20260516/plan.md
T
2026-05-16 03:11:58 -04:00

2.7 KiB

Implementation Plan: Hot Reload Python Codebase

Phase 1: Registration & Trigger Integration

Focus: Register src.gui_2 module, add keyboard and GUI triggers

  • [~] Task 1.1: Add _hot_reload_error state to App.__init__ (gui_2.py:101-251)
  • Task 1.2: Add _trigger_hot_reload() method to App (gui_2.py)
  • Task 1.3: Add Ctrl+Alt+R capture in App.run() main loop (gui_2.py:268-332)
  • Task 1.4: Register src.gui_2 in AppController.__init__ with full state_keys and delegation_targets
  • Task 1.5: Add "Hot Reload" button in _render_mma_dashboard (gui_2.py:4664-4695)
  • Task 1.N: Write tests for trigger integration
  • Task 1.X: Conductor - User Manual Verification

Phase 2: Delegation Pattern Refactor

Focus: Extract App._render_xxx methods to module-level functions in gui_2.py

  • Task 2.1: Refactor _render_main_interface — extract to module-level render_main_interface(app: App) and convert App method to thin delegation wrapper
  • Task 2.2: Refactor _render_discussion_hub and discussion panel methods
  • Task 2.3: Refactor _render_files_and_media, _render_files_panel, _render_screenshots_panel
  • Task 2.4: Refactor _render_ai_settings_hub, _render_provider_panel, _render_persona_selector_panel
  • Task 2.5: Refactor _render_agent_tools_panel, _render_rag_panel, _render_system_prompts_panel
  • Task 2.6: Refactor _render_preset_manager_content, _render_persona_editor_window, _render_tool_preset_manager_content
  • Task 2.7: Refactor _render_operations_hub, _render_tool_calls_panel, _render_comms_history_panel
  • Task 2.8: Refactor _render_mma_dashboard, _render_mma_modals, _render_ticket_queue, _render_task_dag_panel
  • Task 2.9: Refactor _render_approve_script_modal, _render_patch_modal
  • Task 2.10: Write tests verifying module-level functions exist and accept app: App as first parameter
  • Task 2.X: Conductor - User Manual Verification

Phase 3: Visual Error Tint

Focus: Render error overlay when HotReloader.is_error_state is True

  • Task 3.1: Add _render_error_tint(app: App) module-level function in gui_2.py
  • Task 3.2: Call _render_error_tint(app) at start of render_main_interface
  • Task 3.3: Write test for error tint rendering
  • Task 3.X: Conductor - User Manual Verification

Phase 4: Integration & Verification

Focus: End-to-end tests via live_gui fixture

  • Task 4.1: Write e2e test — trigger hot reload, verify GUI still renders
  • Task 4.2: Write e2e test — hot reload preserves state (active_discussion, show_windows, etc.)
  • Task 4.3: Run full batch test suite
  • Task 4.X: Conductor - User Manual Verification