conductor: add phase 6 context composition redesign tracks
- context_comp_decouple_20260510: Decouple Files & Media from Context Composition, directory grouping, file stats - context_comp_slices_20260510: Slice visualization with annotations, view presets - context_comp_presets_20260510: Context preset save/load with validation, context preview - Depends_on chain: presets -> slices -> decouple
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Track Specification: Context Composition Decoupling
|
||||
|
||||
## Overview
|
||||
Decouple Files & Media from Context Composition, add directory grouping, file stats, and view mode selection per file. This is Phase 1 of the Context Composition Redesign per spec at `docs/superpowers/specs/2026-05-10-context-composition-redesign-design.md`.
|
||||
|
||||
## Current State Audit (as of 2026-05-10)
|
||||
### Already Implemented
|
||||
- Files & Media panel lists project files with wildcards
|
||||
- Context Composition panel inherits files from Files & Media
|
||||
- View flags (agg/full/sig/def) sync visually between panels
|
||||
- `_render_context_composition_panel()` in gui_2.py:2794-2964
|
||||
|
||||
### Gaps to Fill (This Track's Scope)
|
||||
- Files & Media populates Context Composition automatically (coupled)
|
||||
- No directory grouping in file listings
|
||||
- No file stats (line count, AST element count)
|
||||
- View mode selection is limited (no custom view presets)
|
||||
- Context Composition is NOT independent selection - it's derived from Files & Media
|
||||
|
||||
## Goals
|
||||
1. Make Files & Media and Context Composition independent data sources
|
||||
2. Add directory grouping to file listings for compact display
|
||||
3. Add file stats per file and aggregate
|
||||
4. Implement proper view mode selection (full/sig/def/custom)
|
||||
5. User can add/remove files from Context Composition independently
|
||||
6. "Add all" and bulk add/remove operations
|
||||
|
||||
## Functional Requirements
|
||||
- Context Composition starts empty or from saved preset on discussion switch
|
||||
- User manually adds files FROM project whitelist (not auto-inherited)
|
||||
- Each file entry has: path, view_mode, custom_slices
|
||||
- Directory grouping with collapsible headers (`📁 relative/path/`)
|
||||
- File stats displayed: line count, AST element count per file
|
||||
- Aggregate stats for selection: total files, lines, AST elements
|
||||
- View mode dropdown per file: full, sig, def, custom
|
||||
- Batch operations: add all from whitelist, remove selected, etc.
|
||||
|
||||
## Non-Functional Requirements
|
||||
- No horizontal scrolling in file lists (directory grouping enables this)
|
||||
- Stats computed asynchronously to not block UI
|
||||
- FileItem model may need extension for view_mode field
|
||||
|
||||
## Architecture Reference
|
||||
- `src/gui_2.py:_render_context_composition_panel()` - main panel
|
||||
- `src/models.py:FileItem` - needs view_mode field extension
|
||||
- `src/aggregate.py` - respects view modes when composing context
|
||||
- `docs/superpowers/specs/2026-05-10-context-composition-redesign-design.md`
|
||||
|
||||
## Out of Scope
|
||||
- Slice visualization and annotations (Phase 2)
|
||||
- Context preset save/load (Phase 3)
|
||||
- Context preview before send (Phase 3)
|
||||
Reference in New Issue
Block a user