# Project Tracks

This file tracks all major tracks for the project. Each track has its own detailed plan in its respective folder.

---

## Phase 6: Context Composition Redesign

*Initialized: 2026-05-10*

### Context Control & Workflow Enhancements

1. [x] **Track: Granular AST Control (Signatures vs. Definitions)**
   *Link: [./archive/granular_ast_control_20260510/](./archive/granular_ast_control_20260510/)*
   *Goal: Introduce 'AST Signatures' and 'AST Definitions' states in the Context Panel for C/C++ files.*

2. [x] **Track: Context Snapshotting per "Take"**
   *Link: [./archive/context_snapshotting_takes_20260510/](./archive/context_snapshotting_takes_20260510/)*
   *Goal: Snapshot and visually restore the Context Panel state when switching between Takes.*

3. [x] **Track: Interactive Text Slice Highlighting**
   *Link: [./archive/interactive_text_slice_highlighting_20260510/](./archive/interactive_text_slice_highlighting_20260510/)*
   *Goal: Allow highlighting text ranges to create fuzzy-anchored slices (Def, Sig, Hide) that survive file modifications.*

4. [x] **Track: Context Batch Operations UX**
   *Link: [./archive/context_batch_operations_ux_20260510/](./archive/context_batch_operations_ux_20260510/)*
   *Goal: Add multi-select and batch state modification capabilities to the Context Panel for rapid wrangling.*

5. [x] **Track: GenCpp Project Initialization**
   *Link: [./archive/gencpp_project_init_20260510/](./archive/gencpp_project_init_20260510/)*
   *Goal: Configure manual_slop.toml in the gencpp repo to isolate conductor tracks, logs, and history.*

6. [x] **Track: Interactive AST Tree Masking**
   *Link: [./archive/interactive_ast_tree_masking_20260510/](./archive/interactive_ast_tree_masking_20260510/)*
   *Goal: Inspect C/C++ ASTs in the GUI and mask individual classes/functions as Def, Sig, or Hide.*

7. [x] **Track: Phase 6 Review and Regression Verification**
   *Link: [./archive/phase6_review_20260510/](./archive/phase6_review_20260510/)*
   *Goal: Review Phase 6 implementation, perform full-suite batch regression testing, and expand test coverage for new context curation features.*

8. [ ] **Track: GenCpp Dogfood Feedback Loop**
   *Link: [./tracks/gencpp_dogfood_feedback_20260510/](./tracks/gencpp_dogfood_feedback_20260510/)*
   *Goal: Verify Manual Slop can target gencpp at C:/projects/gencpp and establish a feedback mechanism for issues found during dogfooding.*

9. [x] **Track: Context Composition Decoupling**
   *Link: [./archive/context_comp_decouple_20260510/](./archive/context_comp_decouple_20260510/)*
   *Goal: Decouple Files & Media from Context Composition, add directory grouping, file stats, and view mode selection per file.*

10. [x] **Track: Context Composition Slice Visualization**
    *Link: [./archive/context_comp_slices_20260510/](./archive/context_comp_slices_20260510/)*
    *Goal: Enhance slice visualization with visual editor, annotation support (tags/comments), and view presets.*

14. [~] **Track: Context Preview & Slice Editor Fixes**
    *Link: [./tracks/context_preview_fixes_20260516/](./tracks/context_preview_fixes_20260516/)*
    *Goal: Fix Preview button generating empty content, and Inspect/Slices buttons failing to open their respective editor panels.*

13. [x] **Track: GUI Refactor & Stabilization**
    *Link: [./archive/gui_refactor_stabilization_20260512/](./archive/gui_refactor_stabilization_20260512/)*
    *Goal: Refactor gui_2.py to fix regressions and enforce better imgui scoping patterns.*

14. [x] **Track: I started to do a large cleanup to ./src/gui_2.py. I want you to study it and derive more information on how to maintain and write code for the python codebase. Please update product guidlines or the python code_styleguidleines based on what you discover. Also we may need to make some changes the mcp_tools for better structural awareness of annotations or other conventions with these python files. There is still more orgnaizatoin to be done like annotation/organizing the __init__ method's declarations, among other nitpicks.**
*Link: [./archive/gui_2_cleanup_20260513/](./archive/gui_2_cleanup_20260513/)*
---

15. [x] **Track: Add Python structural MCP tools (py_remove_def, py_add_def, py_move_def, py_region_wrap)**
*Link: [./archive/python_structural_mcp_tools_20260513/](./archive/python_structural_mcp_tools_20260513/)*

---

## Phase 8: UI Polish

*Initialized: 2026-06-03*

User review surfaced five outstanding UI issues, each previously attempted without success. This track addresses them as five independent phases with their own TDD cycles and atomic commits.

1. [ ] **Track: UI Polish (Five Issues)**
   *Spec: [./../../docs/superpowers/specs/2026-06-03-ui-polish-design.md](./../../docs/superpowers/specs/2026-06-03-ui-polish-design.md)*
   *Plan: [./../../docs/superpowers/plans/2026-06-03-ui-polish.md](./../../docs/superpowers/plans/2026-06-03-ui-polish.md)*
   *Goal: Resolve five long-standing UI issues:
   - Phase 1: GFM markdown table rendering (pre-processor into `src/markdown_table.py`, wire into `MarkdownRenderer.render`).
   - Phase 2: Widen the `Keep Pairs` numeric input next to `Truncate` in the discussion panel (`gui_2.py:3829`, width 80 -> 140, switch to `drag_int`).
   - Phase 3: Fix `Refresh Registry` button in Log Management — currently instantiates `LogRegistry` without calling `load_registry()` so the displayed table never reflects on-disk state (`gui_2.py:1675`).
   - Phase 4: Add `Vendor State` tab to Operations Hub — at-a-glance provider/model, context-window utilization, cache hit rate, last error class, vendor quota (new `src/vendor_state.py` aggregator + `controller.vendor_quota` field + `ai_client` wire-up).
   - Phase 5: Files & Media > Files directory-grouped tree (re-use `aggregate.group_files_by_dir`, mirror `render_context_files_table` collapsible-node style).*

---

## Hot Reload Feature

1. [x] **Track: Hot Reload Python Codebase (Phase 2)**
   *Link: [./archive/hot_reload_python_20260516/](./archive/hot_reload_python_20260516/)*
   *Goal: Implement selective, state-preserving hot-reload for src/gui_2.py with delegation pattern refactor, manual trigger via Ctrl+Alt+R and GUI button, and visual error tint feedback on failure.*

---

## Phase 5: Codebase Curation

*Initialized: 2026-05-07*

### Analysis & Structural Review

1. [x] **Track: Comprehensive Path Mapping & Tooling**
   *Link: [./archive/ai_interaction_call_graph_20260507/](./archive/ai_interaction_call_graph_20260507/)*
   *Goal: Automated and manual derivation of all major code paths and pipelines in the system.*

2. [x] **Track: Controller State Mutation Matrix**
   *Link: [./archive/controller_state_mutation_matrix_20260507/](./archive/controller_state_mutation_matrix_20260507/)*
   *Goal: Comprehensive map of all methods that modify the `AppController` and `App` state.*

3. [x] **Track: Source-Wide Redundancy Audit**
   *Link: [./archive/source_wide_redundancy_audit_20260507/](./archive/source_wide_redundancy_audit_20260507/)*
   *Goal: Deep file-by-file audit to identify unused methods, duplicate logic, and dead code.*

4. [x] **Track: Curate Provider Registries**
   *Link: [./archive/curate_provider_registries_20260507/](./archive/curate_provider_registries_20260507/)*
   *Goal: Move the PROVIDERS list to models.py and update all references to use this single source of truth.*

5. [x] **Track: Encapsulate AppController Status**
   *Link: [./archive/encapsulate_appcontroller_status_20260507/](./archive/encapsulate_appcontroller_status_20260507/)*
   *Goal: Convert ai_status and mma_status to properties with thread-safe setters.*

6. [x] **Track: Decouple GUI Log Loading**
   *Link: [./archive/decouple_gui_log_loading_20260507/](./archive/decouple_gui_log_loading_20260507/)*
   *Goal: Move Tkinter directory selection out of AppController and into gui_2.py.*

7. [x] **Track: Refactor Context Aggregation Pipeline**
   *Link: [./archive/refactor_context_aggregation_pipeline_20260507/](./archive/refactor_context_aggregation_pipeline_20260507/)*
   *Goal: Modernize src/aggregate.py and consolidate legacy tier builders.*

8. [x] **Track: Cull Unused Symbols**
   *Link: [./archive/cull_unused_symbols_20260507/](./archive/cull_unused_symbols_20260507/)*
   *Goal: Safely remove the 27 dead symbols identified in the redundancy audit.*

9. [x] **Track: Structural Dependency Mapping (SDM) Docstrings**
*Link: [./archive/sdm_docstrings_20260509/](./archive/sdm_docstrings_20260509/)*

10. [x] **Track: AppController Curation & Structural Alignment**
    *Link: [./archive/app_controller_curation_20260513/](./archive/app_controller_curation_20260513/)*
    *Goal: Curate src/app_controller.py to match gui_2.py organization and enforce Python style conventions.*

- [x] **Track: Fix 45 failing test files across 12 batches**
*Link: [./archive/fix_test_suite_failures_20260514/](./archive/fix_test_suite_failures_20260514/)*

- [x] **Track: Fix Indentation 1-Space Convention**
*Link: [./archive/fix_indentation_1space_20260516/](./archive/fix_indentation_1space_20260516/)*
*Goal: Standardize all Python files to 1-space indentation per AI-Optimized Python Style Guide. Audit and correct indentation in src/, tests/, scripts/, and conductor/ directories.*

---

## Remaining Backlog (Phases 3 & 4)

0. [ ] **Track: Sloppy.py Startup Speedup**
   *Status: 2026-06-05 — Surfaced during regression_fixes_20260605 root-cause analysis. `sloppy.py --enable-test-hooks` startup latency has crept up; live_gui fixtures time out at `wait_for_server(timeout=15)`. Hypothesized cause: too much init work on the main thread (FastAPI hook server bring-up, log pruner retry loops, MCT startup). Plan: profile startup, move heavy init off the main thread to the controller's background thread pool, defer non-critical subsystems to lazy-init on first use. Spec/plan to follow.*

0b. [ ] **Track: rag_phase4_stress_test_flake_20260606**
   *Status: 2026-06-06 — Surfaced during post-v2 verification test run. `test_rag_phase4_stress.py::test_rag_large_codebase_verification_sim` passes in isolation (14.83s) but fails in the full batched run (24.56s) with `AssertionError: Modified context not found in discussion`. Pattern: 50 dummy files indexed, 1 modified, RAG re-indexed successfully, but the modified content doesn't appear in the AI's discussion context. Hypothesized causes: (a) test-ordering flake with the session-scoped live_gui fixture (most likely), (b) timing issue with the RAG retrieval into the AI context, (c) real bug in the RAG->AI context pipeline that only surfaces with 50+ files. Plan: investigate determinism first (run with different batch orders), then check the RAG->context assembly code path. Spec/plan to follow.*

0a. [ ] **Track: prior_session_test_harden_20260605** [superseded by live_gui_test_hardening_v2_20260605]
   *Status: 2026-06-05 — Surfaced during live_gui_fragility_fixes_20260605 execution. `test_prior_session_no_pop_imbalance::test_no_extraneous_pop_when_prior_session_renders` is more under-mocked than expected. Completed as part of live_gui_test_hardening_v2_20260605: test refactored to call narrow render_prior_session_view (50+ mocks -> 20, runtime 5.79s -> 0.08s). Commit 26e0ced4.*

1. [ ] **Track: Bootstrap gencpp Python Bindings**
   *Link: [./tracks/gencpp_python_bindings_20260308/](./tracks/gencpp_python_bindings_20260308/)*

2. [ ] **Track: Tree-Sitter Lua MCP Tools**
   *Link: [./tracks/tree_sitter_lua_mcp_tools_20260310/](./tracks/tree_sitter_lua_mcp_tools_20260310/)*

3. [ ] **Track: GDScript Language Support Tools**
   *Link: [./tracks/gdscript_godot_script_language_support_tools_20260310/](./tracks/gdscript_godot_script_language_support_tools_20260310/)*

4. [ ] **Track: C# Language Support Tools**
   *Link: [./tracks/csharp_language_support_tools_20260310/](./tracks/csharp_language_support_tools_20260310/)*

5. [ ] **Track: OpenAI Provider Integration**
    *Link: [./tracks/openai_integration_20260308/](./tracks/openai_integration_20260308/)*

6. [ ] **Track: Zhipu AI (GLM) Provider Integration**
    *Link: [./tracks/zhipu_integration_20260308/](./tracks/zhipu_integration_20260308/)*

7. [ ] **Track: AI Provider Caching Optimization**
    *Link: [./tracks/caching_optimization_20260308/](./tracks/caching_optimization_20260308/)*

8. [ ] **Track: Manual UX Validation & Review**
   *Link: [./tracks/manual_ux_validation_20260302/](./tracks/manual_ux_validation_20260302/)*

---

## Phase 4 Archive

*See below for completed Phase 4 tracks.*

1. [x] ~~**Track: Session Context Snapshots & Visibility**~~ (Archived 2026-03-22 - Replaced by discussion_hub_panel_reorganization)
   *Link: [./archive/session_context_snapshots_20260311/](./archive/session_context_snapshots_20260311/)*

2. [x] ~~**Track: Discussion Takes & Timeline Branching**~~ (Archived 2026-03-22 - Replaced by discussion_hub_panel_reorganization)
   *Link: [./archive/discussion_takes_branching_20260311/](./archive/discussion_takes_branching_20260311/)*

3. [x] **Track: RAG Support**
   *Link: [./archive/rag_support_20260308/](./archive/rag_support_20260308/)*

4. [x] **Track: Agent Tool Preference & Bias Tuning**
   *Link: [./archive/tool_bias_tuning_20260308/](./archive/tool_bias_tuning_20260308/)*

5. [x] **Track: Expanded Hook API & Headless Orchestration**
   *Link: [./archive/hook_api_expansion_20260308/](./archive/hook_api_expansion_20260308/)*

6. [x] **Track: Codebase Audit and Cleanup**
    *Link: [./archive/codebase_audit_20260308/](./archive/codebase_audit_20260308/)*

7. [x] **Track: Expanded Test Coverage and Stress Testing**
   *Link: [./archive/test_coverage_expansion_20260309/](./archive/test_coverage_expansion_20260309/)*

8. [x] **Track: Beads Mode Integration**
   *Link: [./archive/beads_mode_20260309/](./archive/beads_mode_20260309/)*

9. [x] **Track: Optimization pass for Data-Oriented Python heuristics**
    *Link: [./archive/data_oriented_optimization_20260312/](./archive/data_oriented_optimization_20260312/)*

10. [x] **Track: Rich Thinking Trace Handling**
   *Link: [./archive/thinking_trace_handling_20260313/](./archive/thinking_trace_handling_20260313/)*

11. [x] **Track: Smarter Aggregation with Sub-Agent Summarization**
    *Link: [./archive/aggregation_smarter_summaries_20260322/](./archive/aggregation_smarter_summaries_20260322/)*

12. [x] **Track: System Context Exposure**
     *Link: [./archive/system_context_exposure_20260322/](./archive/system_context_exposure_20260322/)*

13. [x] **Track: Advanced Log Management and Session Restoration**
   *Link: [./archive/log_session_overhaul_20260308/](./archive/log_session_overhaul_20260308/)*

14. [x] **Track: UI Theme Overhaul & Style System**
   *Link: [./archive/ui_theme_overhaul_20260308/](./archive/ui_theme_overhaul_20260308/)*

15. [x] **Track: Selectable GUI Text & UX Improvements**
   *Link: [./archive/selectable_ui_text_20260308/](./archive/selectable_ui_text_20260308/)*

16. [x] **Track: Markdown Support & Syntax Highlighting**
   *Link: [./archive/markdown_highlighting_20260308/](./archive/markdown_highlighting_20260308/)*

17. [X] **Track: Custom Shader and Window Frame Support** 
   *Link: [./archive/custom_shaders_20260309/](./archive/custom_shaders_20260309/)*

18. [x] **Track: UI/UX Improvements - Presets and AI Settings**
   *Link: [./archive/presets_ai_settings_ux_20260311/](./archive/presets_ai_settings_ux_20260311/)*

19. [x] **Track: Discussion Hub Panel Reorganization**
    *Link: [./archive/discussion_hub_panel_reorganization_20260322/](./archive/discussion_hub_panel_reorganization_20260322/)*

20. [x] **Track: Undo/Redo History Support**
    *Link: [./archive/undo_redo_history_20260311/](./archive/undo_redo_history_20260311/)*

21. [x] **Track: Advanced Text Viewer with Syntax Highlighting**
    *Link: [./archive/text_viewer_rich_rendering_20260313/](./archive/text_viewer_rich_rendering_20260313/)*

22. [x] **Track: Tree-Sitter C/C++ MCP Tools**
   *Link: [./archive/ts_cpp_tree_sitter_20260308/](./archive/ts_cpp_tree_sitter_20260308/)*

23. [x] **Track: Saved System Prompt Presets**
   *Link: [./archive/saved_presets_20260308/](./archive/saved_presets_20260308/)*

24. [x] **Track: Saved Tool Presets**
   *Link: [./archive/saved_tool_presets_20260308/](./archive/saved_tool_presets_20260308/)*

25. [x] **Track: External Text Editor Integration for Approvals**
   *Link: [./archive/external_editor_integration_20260308/](./archive/external_editor_integration_20260308/)*

26. [x] **Track: Agent Personas: Unified Profiles & Tool Presets**
   *Link: [./archive/agent_personas_20260309/](./archive/agent_personas_20260309/)*

27. [x] **Track: Advanced Workspace Docking & Layout Profiles**
   *Link: [./archive/workspace_profiles_20260310/](./archive/workspace_profiles_20260310/)*

28. [x] **Track: Review investigation of codebase and expose/cull any hidden invisible prompting**
   *Link: [./archive/cull_hidden_prompts_20260502/](./archive/cull_hidden_prompts_20260502/)*

29. [x] **Track: Test Regression Verification**
   *Link: [./archive/test_regression_verification_20260307/](./archive/test_regression_verification_20260307/)*

---

### Phase 2: Strict Execution Queue (Completed 2026-03-06)

*See: [./archive/strict_execution_queue_completed_20260306/](./archive/strict_execution_queue_completed_20260306/)*

---

### Phase 0: Infrastructure (Critical)

- [x] **Track: Conductor Path Configuration**

---

### Recent Completed Tracks (2026-05+)

*Archived 2026-06-03 via `archive_completed_tracks_20260603`. All directories moved from `tracks/` to `archive/`.*

- [x] **Track: Robust Live Simulation Verification**

---

- [x] **Track: Fix GUI Crashes in Tool Preset Manager and Discussion Hub**
*Link: [./archive/gui_crash_fixes_20260531/](./archive/gui_crash_fixes_20260531/)*

---

- [x] **Track: Fix `keys_down` AttributeError in ImGui IO**
*Link: [./archive/fix_imgui_keys_down_20260601/](./archive/fix_imgui_keys_down_20260601/)*

---

- [x] **Track: Selectable Thinking Monologs**
*Link: [./archive/selectable_thinking_monologs_20260601/](./archive/selectable_thinking_monologs_20260601/)*

---

- [x] **Track: Fix MiniMax history sequencing and truncation**
*Link: [./archive/minimax_history_fix_20260601/](./archive/minimax_history_fix_20260601/)*

---

- [x] **Track: Preserve context selection on discussion switch and add empty context warning**
*Link: [./archive/context_preservation_and_warnings_20260601/](./archive/context_preservation_and_warnings_20260601/)*

---

- [x] **Track: Fix Text Viewer docking conflicts and Tool Call row click interactivity**
*Link: [./archive/text_viewer_and_tool_call_fixes_20260601/](./archive/text_viewer_and_tool_call_fixes_20260601/)*

---

- [x] **Track: UX Refinements for Context Composition and Discussion Entries**
*Link: [./archive/context_composition_ux_20260601/](./archive/context_composition_ux_20260601/)*

---

- [x] **Track: Combine AST Inspector and Slices Editor into a unified Structural File Editor**
*Link: [./archive/structural_file_editor_20260601/](./archive/structural_file_editor_20260601/)*

---

- [x] **Track: Add per-response token metrics and AI-assisted history compression**
*Link: [./archive/discussion_metrics_and_compression_20260601/](./archive/discussion_metrics_and_compression_20260601/)*

---

- [x] **Track: Fix Approve Modal sizing and inline full preview**
*Link: [./archive/approve_modal_ux_20260601/](./archive/approve_modal_ux_20260601/)*

---

- [x] **Track: Phase 7 Stabilization and Polishing (Regressions Fix)**
*Link: [./archive/phase7_stabilization_and_polishing_20260601/](./archive/phase7_stabilization_and_polishing_20260601/)*

---

- [x] **Track: Phase 7 Monolithic Stabilization (Final Cleanup)**
*Link: [./archive/phase7_monolithic_stabilization_20260602/](./archive/phase7_monolithic_stabilization_20260602/)*

---

- [x] **Track: Implement Async Context Preview to fix UI hangs and add an 'Everything' Command Palette.**
*Link: [./archive/command_palette_and_performance_20260602/](./archive/command_palette_and_performance_20260602/)*
*Goal: Async context preview offload (background thread, state lock) + Command Palette (32 commands, fuzzy search, Ctrl+Shift+P, Up/Down/Enter nav, 13 unit + 7 live_gui tests). Phases 1-3 complete.*

---

- [x] **Track: Comprehensive Documentation Refresh**
*Link: [./archive/documentation_refresh_comprehensive_20260602/](./archive/documentation_refresh_comprehensive_20260602/)*
*Goal: Refresh stale documentation across `docs/`. Completed: ASCII file tree updates (`docs/Readme.md` + `Readme.md` 5→14 guides, 22→53 src modules), `docs/guide_testing.md` (new, comprehensive 251-file test suite reference), 7 per-source-file guides (`guide_gui_2.md`, `guide_ai_client.md`, `guide_api_hooks.md`, `guide_mcp_client.md`, `guide_app_controller.md`, `guide_multi_agent_conductor.md`, `guide_models.md`). All 14 guides cross-linked. Gap analysis: [./archive/documentation_refresh_comprehensive_20260602/gap_analysis.md](./archive/documentation_refresh_comprehensive_20260602/gap_analysis.md).*

  Sub-tracks (all checkpointed):
  - [x] **Sub-Track 1: Docs Layer Refresh** `[checkpoint: 20225c8]` — 18 per-file atomic commits. 15 guides (8 refreshed + 7 new), Subsystem Index (24 entries), 106 cross-links all resolve, symbol parity fixed (`apply_nerv_theme` -> `apply_nerv`).
  - [x] **Sub-Track 2: Conductor Docs Refresh** `[checkpoint: ef4efab2]` — 4 per-file atomic commits: `product.md` (14 guides, MiniMax, Command Palette), `tech-stack.md` (MiniMax, Gemini Embedding 001), `workflow.md` (2026-06-02 doc refresh, 45-tool count), `index.md` (active track links).
  - [x] **Sub-Track 3: Agent Config Refresh** `[checkpoint: 87f668a6]` — 3 per-file atomic commits: `AGENTS.md` (5.4K -> 0.7K thin pointer), `CLAUDE.md` (6.7K -> 0.2K deprecation stub), `GEMINI.md` (5 providers, sloppy.py entry, 12 key modules). Drift check: 0 issues in 9 mirrored skill files.

- [x] **Track: Test Consolidation & TOML Sandboxing** `[checkpoint: cb91006c]`
*Spec: [./../../docs/superpowers/specs/2026-06-02-test-consolidation-design.md](./../../docs/superpowers/specs/2026-06-02-test-consolidation-design.md), Plan: [./../../docs/superpowers/plans/2026-06-02-test-consolidation.md](./../../docs/superpowers/plans/2026-06-02-test-consolidation.md)*
*Goal: Audit tests for real-TOML usage, migrate offenders to sandboxed patterns. Added `scripts/check_test_toml_paths.py` audit script (CI gate). Migrated `test_mcp_client_whitelist_enforcement` to `tmp_path` (was the only offender). Skipped redundant `enforce_no_real_toml` fixture — existing `isolate_workspace` autouse + audit script provide equivalent coverage.*

---

- [x] **Track: Clean Install Test** `[checkpoint: d14ae3b]`
*Link: [./tracks/clean_install_test_20260603/](./tracks/clean_install_test_20260603/), Spec: [./../../docs/superpowers/specs/2026-06-02-clean-install-test-design.md](./../../docs/superpowers/specs/2026-06-02-clean-install-test-design.md), Plan: [./../../docs/superpowers/plans/2026-06-02-clean-install-test.md](./../../docs/superpowers/plans/2026-06-02-clean-install-test.md)*
*Goal: Add opt-in pytest test (`RUN_CLEAN_INSTALL_TEST=1`) that clones the repo to tmp_path, runs `uv sync`, launches `sloppy.py --enable-test-hooks`, verifies Hook API responds. Catches "works on my machine" failures. Added `clean_install` marker to `pyproject.toml`. Created `tests/test_clean_install.py` (114 lines, uses `urllib.request` from stdlib per tech-stack.md dependency minimalism rule - deviation from plan). Skipped by default. Marked with `@pytest.mark.clean_install`.*

- [x] **Track: Fix markdown_helper.py for imgui-bundle >=1.92.801** `[checkpoint: 7a34edf]`
*Link: [./tracks/markdown_helper_language_api_compat_20260603/](./tracks/markdown_helper_language_api_compat_20260603/)*
*Goal: First thing the clean install test caught. `ed.TextEditor.LanguageDefinitionId` enum was removed in `imgui-bundle>=1.92.801`. Replaced with version-compat shim helpers `_get_language_id(name)` and `_set_editor_language(editor, lang_obj)` that detect the API at runtime (1.92.5 enum vs 1.92.801+ factory). Also added parallel `_editor_lang_cache` to track current language tag per editor (robust to API name differences like "C++" vs "cpp"). Verified: test passes in opt-in mode (1.92.801), shim still works in local 1.92.5 env, follow-up commit `b306f8f` corrected test URL `/api/mma_status` -> `/api/gui/mma_status` (actual endpoint per `src/api_hooks.py:181`).*

- [x] **Track: Multi-Theme TOML System (Multi-Themes Mod)** `[checkpoint: 38abf231]`
*Link: [./tracks/multi_themes_20260604/](./tracks/multi_themes_20260604/), Plan: [./../../docs/superpowers/plans/2026-06-04-theme-syntax-modularization.md](./../../docs/superpowers/plans/2026-06-04-theme-syntax-modularization.md)*
*Goal: TOML-based theming: per-theme file layout (`themes/<name>.toml` global + `<project>/project_themes.toml` overrides), schema (`syntax_palette` + `[colors]` table of `imgui.Col_` snake_case keys), public API (`load_themes_from_disk`, `get_syntax_palette_for_theme`, `apply_syntax_palette`), `MarkdownRenderer` calls `apply_syntax_palette` on init, color-callable convention (`C_LBL()` / `C_VAL()` so theme switches take effect at use site), upstream 4-syntax-palette limit documented in [./../../docs/guide_themes.md](./../../docs/guide_themes.md) (new guide). 8 new theme files shipped. Theme-caused production bug fixed at `src/gui_2.py:3705-3707` (commit `1469ecac`): `DIR_COLORS` dict stored `C_VAL` not `C_VAL()`, so `imgui.text_colored(d_col, ...)` was being passed a function. Fixed by calling the function at the use site.*

- [~] **Track: Test Regression Fixes (post multi-themes ship)** `[checkpoint: d7487af4]`
*Link: [./tracks/regression_fixes_20260605/](./tracks/regression_fixes_20260605/), Plan: [./../../docs/superpowers/plans/2026-06-05-regression-fixes.md](./../../docs/superpowers/plans/2026-06-05-regression-fixes.md)*
*Goal: Resolve 21 failing tests surfaced after the multi-themes ship. 11 of 21 fixed across 10 atomic commits: theme regression (`test_gui_progress` C_LBL/C_VAL API change, `38abf231`), pre-existing non-live_gui (`test_gui_phase4` markdown_helper mocks, `df43f158`; `test_view_presets` persona_manager mock, `970f198c`), GUI production bug (`DIR_COLORS` callable, `1469ecac`), live_gui `LogPruner` busy loop (`ac08ee87`), RAG NoneType guard (`c96bdb06`). **Root cause of remaining 10 live_gui failures identified (commit `d7487af4`)**: `imgui.save_ini_settings_to_memory()` at `src/gui_2.py:601` crashes C-level (`0xc0000005`) when called in the first few render frames because ImGui's internal state (Fonts, DisplaySize, Settings) isn't ready. Crash is uncatchable from Python. Fixed with `_ini_capture_ready` flag (defer-not-catch pattern): first call returns `b""` and sets the flag, subsequent calls invoke the C function. Bisect anchors: `7df65dff` (pre-existing failures start), `7ea52cbb` (theme-caused failures start). Deferred follow-up track needed for ~5 remaining live_gui tests (MMA engine state transitions, RAG status timing, one test needing substantial render path mocks).*

- [x] **Track: Live-GUI Fragility Fixes (post regression_fixes ship)** `[checkpoint: 1488e715]` [superseded by live_gui_test_hardening_v2]
*Link: Plan: [./../../docs/superpowers/plans/2026-06-05-live-gui-fragility-fixes.md](./../../docs/superpowers/plans/2026-06-05-live-gui-fragility-fixes.md), Spec: [./../../docs/superpowers/specs/2026-06-05-live-gui-fragility-fixes-design.md](./../../docs/superpowers/specs/2026-06-05-live-gui-fragility-fixes-design.md)*
*Goal: Resolve the 3 remaining live_gui failures (269/272 → 271/272 plus 1 new regression unit test). 1-line src fix in `_capture_workspace_profile` (change `ini=b""` to `ini=""` to satisfy `WorkspaceProfile.ini_content: str` contract that `tomli_w` enforces); the `b""` sentinel was a regression from `d7487af4` that caused `save_workspace_profile` to raise `TypeError`, profile never saved, `load_workspace_profile` became a no-op. 1 new unit test (`tests/test_workspace_profile_serialization.py`) encoding the str/bytes contract. `test_prior_session_no_pop_imbalance` is **deferred to a separate follow-up track** — the test was more under-mocked than the spec assumed; fixing imscope.window tuple-return only revealed the next un-mocked dependency (imgui.begin returning bool where 2-tuple expected at line 4496). `render_main_interface` is a kitchen-sink function requiring 50+ mocks; a follow-up track will either add the missing mocks or refactor the test to exercise a narrow prior-session render path. Change 4 (doc hardening of defer-not-catch sections) deferred to track end; not done due to scope focus.*

- [x] **Track: Live-GUI Test Hardening v2 (post v1 ship)** `[complete: 26e0ced4]`
*Link: [./tracks/live_gui_test_hardening_v2_20260605/](./tracks/live_gui_test_hardening_v2_20260605/)
*Goal: Resolve the 4 remaining live_gui failures (was 3 in v1; 1 new regression). v1 fixed the str/bytes sentinel bug but exposed a deeper issue. Decomposed into 4 sub-tracks, 3 active:*
*Sub-track 1: live_gui_state_sync_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md](./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md](./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md). **REAL root cause was bad indentation in src/gui_2.py:607** (user fixed). The App class had _capture_workspace_profile being parsed as nested inside _apply_snapshot due to indentation. Once fixed, 3 tests (test_auto_switch_sim, test_workspace_profiles_restoration, test_undo_redo_lifecycle) immediately passed. App/Controller state sync is already correctly handled by __getattr__/__setattr__ at lines 478-487.*
*Sub-track 2: prior_session_test_harden_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md](./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md](./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md). Test refactored to call narrow render_prior_session_view (50+ mocks -> 20, runtime 5.79s -> 0.08s). Commit 26e0ced4.*
*Sub-track 3: wait_for_ready_test_pattern_20260605 - **SKIPPED**. Tests already pass without polling. The flake hypothesis (time.sleep not enough) was wrong; the real cause was the indent. Polling can be a follow-up hardening pass if tests become flaky in CI.*
*Sub-track 4: undo_redo_lifecycle_fix_20260605 - **RESOLVED by Sub-track 1 indent fix**. test_undo_redo_lifecycle now passes; no separate investigation needed.*
*Net result: 4 originally-failing live_gui tests all pass. User can run the full batched suite to confirm.*

*Failing tests:*
- `test_auto_switch_sim` (still fails from v1) - **Deeper bug: App/Controller state sync**. The test does `set_value('ui_separate_tier1', True)` which goes to `controller.ui_separate_tier1`, but the save reads from `app.ui_separate_tier1`. Two different objects; the saved profile has the wrong value. Same root cause for `show_windows['Diagnostics']`.
- `test_workspace_profiles_restoration` (still fails from v1) - same App/Controller sync bug.
- `test_prior_session_no_pop_imbalance` (deferred from v1) - `render_main_interface` is a kitchen-sink function requiring 50+ mocks; needs refactor or extensive mock additions.
- `test_undo_redo_lifecycle` (NEW regression) - undo restores `temperature` correctly but `ai_input` is empty string instead of "Initial Input". Snapshot mechanism probably doesn't include `ai_input` field.
# TODO(Ed): Support "Virtual" Pasted entries for the context.
