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

3.3 KiB

Implementation Plan: Advanced Log Management and Session Restoration

Phase 1: Storage Optimization (Offloading Data)

  • Task: Implement file-based offloading for scripts and tool outputs.
    • Update src/session_logger.py to include log_tool_output(session_id, output) which saves output to a unique file in the session directory and returns the filename.
    • Modify src/session_logger.py:log_tool_call to ensure scripts are consistently saved and return a unique filename/ID.
    • Update src/app_controller.py to use these unique IDs/filenames in the payload of comms and tool logs instead of raw content.
  • Task: Verify that logs are smaller and scripts/outputs are correctly saved to the session directory.
  • Task: Conductor - User Manual Verification 'Phase 1: Storage Optimization' (Protocol in workflow.md)

Phase 2: Session-Level Restoration & UI Relocation

  • Task: Relocate the "Load Log" button.
    • Remove the "Load Log" button from _render_comms_history_panel in src/gui_2.py.
    • Add the "Load Log" button to the "Log Management" panel in src/gui_2.py.
  • Task: Rework cb_load_prior_log for session-level loading.
    • Update src/app_controller.py:cb_load_prior_log to allow selecting a session directory or the main session log file.
    • Implement logic to load all related logs (comms, mma, tools) for that session.
    • Ensure that for entries referencing external files (scripts/outputs), the content is loaded on-demand or during the restoration process.
  • Task: Implement "Historical Replay" UI mode.
    • In src/gui_2.py, implement logic to tint the UI (as already partially done for comms) when is_viewing_prior_session is True.
    • Populate disc_entries, _comms_log, and MMA Dashboard states from the loaded session logs.
  • Task: Conductor - User Manual Verification 'Phase 2: Session-Level Restoration' (Protocol in workflow.md)

Phase 3: Diagnostic Log & Discussion Cleanup

  • Task: Clean up discussion history and implement Diagnostic Tab.
    • Add self.diagnostic_log (a list of transient messages) to AppController.
    • Update src/app_controller.py:_on_performance_alert to append to self.diagnostic_log instead of disc_entries.
    • Update src/ai_client.py (and other areas) to redirect "SYSTEM WARNING" and similar performance-related messages to the diagnostic log via a new event type.
    • Add a "Diagnostics" tab to the Log Management panel in src/gui_2.py to render self.diagnostic_log.
    • Ensure diagnostic_log is NOT persisted to manual_slop.toml or restored during session loads.
  • Task: Conductor - User Manual Verification 'Phase 3: Diagnostic Log & Cleanup' (Protocol in workflow.md)

Phase 4: MMA Log Integration & Filtering

  • Task: Improve MMA log visibility and filtering.
    • Ensure MMA sub-agent log_comms calls include sufficient metadata (tier, role) for filtering.
    • Update _render_comms_history_panel in src/gui_2.py to ensure MMA logs are clearly distinct and correctly filtered based on existing UI toggles.
  • Task: Final end-to-end verification of session restoration and log management.
  • Task: Conductor - User Manual Verification 'Phase 4: MMA Log Integration' (Protocol in workflow.md)