Files
manual_slop/conductor/tracks/gui_path_config_20260308/plan.md

2.8 KiB

Plan: GUI Path Configuration in Context Hub

Phase 1: Path Info Display

Focus: Show current path resolution in GUI

  • Task 1.1: Add path info functions to paths.py

    • WHERE: src/paths.py
    • WHAT: Add functions to get path resolution source (default/env/config)
    • HOW: Return tuple of (resolved_path, source)
    • SAFETY: New functions, no modifications
  • Task 1.2: Create path display helper

    • WHERE: src/paths.py
    • WHAT: Function to get all paths with resolution info
    • HOW: Returns dict of path_name -> (resolved, source)
    • SAFETY: New function

Phase 2: Context Hub Panel

Focus: Add Path Configuration panel to GUI

  • Task 2.1: Add Paths tab to Context Hub

    • WHERE: src/gui_2.py (Context Hub section)
    • WHAT: New tab/section for path configuration
    • HOW: Add ImGui tab item, follow existing panel patterns
    • SAFETY: New panel, no modifications to existing
  • Task 2.2: Display current paths

    • WHERE: src/gui_2.py (new paths panel)
    • WHAT: Show resolved paths and their sources
    • HOW: Call paths.py functions, display in read-only text
    • SAFETY: New code
  • Task 2.3: Add path text inputs

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: Editable text inputs for each path
    • HOW: ImGui input_text for conductor_dir, logs_dir, scripts_dir
    • SAFETY: New code
  • Task 2.4: Add browse buttons

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: File dialog buttons to browse for directories
    • HOW: Use existing file dialog patterns in gui_2.py
    • SAFETY: New code

Phase 3: Persistence

Focus: Save path changes to config.toml

  • Task 3.1: Add config write function

    • WHERE: src/gui_2.py or new utility
    • WHAT: Write [paths] section to config.toml
    • HOW: Read existing config, update paths section, write back
    • SAFETY: Backup before write, handle errors
  • Task 3.2: Add Apply button

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: Button to save changes
    • HOW: Call config write function, show success/error message
    • SAFETY: Confirmation dialog
  • Task 3.3: Add Reset button

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: Reset paths to defaults
    • HOW: Clear custom values, show confirmation
    • SAFETY: Confirmation dialog

Phase 4: UX Polish

Focus: Improve user experience

  • Task 4.1: Add restart warning

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: Show warning that changes require restart
    • HOW: Text label after Apply
    • SAFETY: New code
  • Task 4.2: Add tooltips

    • WHERE: src/gui_2.py (paths panel)
    • WHAT: Explain each path and resolution order
    • HOW: ImGui set_tooltip on hover
    • SAFETY: New code

Phase 5: Tests

Focus: Verify GUI path configuration

  • Task 5.1: Test path display
    • WHERE: tests/test_gui_paths.py (new file)
    • WHAT: Verify paths panel shows correct values
    • HOW: Mock paths.py, verify display
    • SAFETY: New test file