From 4baaadd88d60bfb4198d2e6084dd5bf06c93d294 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 2 Jun 2026 00:19:59 -0400 Subject: [PATCH] chore(conductor): Add new track 'context_composition_ux_20260601' --- conductor/tracks.md | 5 ++++ .../context_composition_ux_20260601/index.md | 5 ++++ .../metadata.json | 8 +++++++ .../context_composition_ux_20260601/plan.md | 22 ++++++++++++++++++ .../context_composition_ux_20260601/spec.md | 23 +++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 conductor/tracks/context_composition_ux_20260601/index.md create mode 100644 conductor/tracks/context_composition_ux_20260601/metadata.json create mode 100644 conductor/tracks/context_composition_ux_20260601/plan.md create mode 100644 conductor/tracks/context_composition_ux_20260601/spec.md diff --git a/conductor/tracks.md b/conductor/tracks.md index f88237eb..f0974a1b 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -295,3 +295,8 @@ This file tracks all major tracks for the project. Each track has its own detail - [x] **Track: Fix Text Viewer docking conflicts and Tool Call row click interactivity** *Link: [./tracks/text_viewer_and_tool_call_fixes_20260601/](./tracks/text_viewer_and_tool_call_fixes_20260601/)* + +--- + +- [ ] **Track: UX Refinements for Context Composition and Discussion Entries** +*Link: [./tracks/context_composition_ux_20260601/](./tracks/context_composition_ux_20260601/)* diff --git a/conductor/tracks/context_composition_ux_20260601/index.md b/conductor/tracks/context_composition_ux_20260601/index.md new file mode 100644 index 00000000..63bc167d --- /dev/null +++ b/conductor/tracks/context_composition_ux_20260601/index.md @@ -0,0 +1,5 @@ +# Track context_composition_ux_20260601 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) \ No newline at end of file diff --git a/conductor/tracks/context_composition_ux_20260601/metadata.json b/conductor/tracks/context_composition_ux_20260601/metadata.json new file mode 100644 index 00000000..ca42553d --- /dev/null +++ b/conductor/tracks/context_composition_ux_20260601/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "context_composition_ux_20260601", + "type": "feature", + "status": "new", + "created_at": "2026-06-01T00:00:00Z", + "updated_at": "2026-06-01T00:00:00Z", + "description": "UX Refinements for Context Composition and Discussion Entries" +} \ No newline at end of file diff --git a/conductor/tracks/context_composition_ux_20260601/plan.md b/conductor/tracks/context_composition_ux_20260601/plan.md new file mode 100644 index 00000000..02c61a5c --- /dev/null +++ b/conductor/tracks/context_composition_ux_20260601/plan.md @@ -0,0 +1,22 @@ +# Implementation Plan: Context Composition & UX Refinements + +## Phase 1: Panel Cleanup and Addition +- [ ] Task: Clean up Files & Media Panel + - [ ] In `src/gui_2.py`, locate `_render_files_panel`. Remove the `imgui.checkbox` and `imgui.combo` (view mode) logic for each file row. + - [ ] Replace them with a simple `imgui.text` for the path, and optionally a `[+]` button to quickly add the file to the active context composition if it isn't already present. +- [ ] Task: Implement Add File Modal + - [ ] Add state `app.show_add_context_file_modal = False` to `App.__init__`. + - [ ] In `render_context_composition_panel`, update the `[+ Add File]` button to set `app.show_add_context_file_modal = True`. + - [ ] Create `render_add_context_file_modal(app: App)` and add it to `render_context_modals`. It should iterate over `app.files`, filter out those already in `app.context_files`, and provide clickable rows to append them to `app.context_files`. + +## Phase 2: Discussion Tinting +- [ ] Task: Tint Discussion Entries + - [ ] In `render_discussion_entry`, apply `imscope.style_color(imgui.Col_.child_bg, ...)` based on `entry["role"]`. + - [ ] Define standard tints (e.g., `vec4(30, 40, 50, 255)` for User, `vec4(40, 30, 50, 255)` for AI, `vec4(20, 20, 20, 255)` for System/Context). + +## Phase 3: Verification +- [ ] Task: Verification + - [ ] Verify Files & Media is clean. + - [ ] Verify Add File modal works and successfully moves a file into the composition. + - [ ] Verify discussion entries are correctly tinted based on role. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: Verification' (Protocol in workflow.md) \ No newline at end of file diff --git a/conductor/tracks/context_composition_ux_20260601/spec.md b/conductor/tracks/context_composition_ux_20260601/spec.md new file mode 100644 index 00000000..439dd4b9 --- /dev/null +++ b/conductor/tracks/context_composition_ux_20260601/spec.md @@ -0,0 +1,23 @@ +# Specification: Context Composition & UX Refinements + +## 1. Overview +The user requested several immediate refinements to the Context Composition and Files & Media panels to improve clarity and workflow: +1. **Files & Media Cleanup:** The master "Files & Media" panel currently displays aggregation checkboxes and view mode dropdowns. These are legacy artifacts; this panel should only represent the totality of files in the project. State-specific controls belong exclusively in the "Context Composition" panel. +2. **Add File UX:** The "Add File" button in the Context Composition panel is non-functional. It needs to open a filtered selection menu allowing users to add files from the master list into the active context. +3. **Visual Entry Tinting:** To improve readability, User and AI messages in the Discussion entries list should be visually tinted, while cruft/system categories should be neutral or dimmed. + +## 2. Functional Requirements +* **Remove Master Flags:** Modify `_render_files_panel` in `src/gui_2.py` to remove the `imgui.checkbox` and `view_mode` combo box. It should only display the file path and perhaps a button to "Send to Context" if not already there. +* **Implement "Add File" Modal:** + * Create a popup modal `Add Context File` triggered by the `[+ Add File]` button in `render_context_composition_panel`. + * The modal should list all files in `app.files` that are NOT currently in `app.context_files`. + * Selecting a file adds it to `app.context_files` (defaulting to `auto_aggregate=True`, `view_mode='summary'`). +* **Discussion Entry Tinting:** Update `render_discussion_entry` to apply a subtle background tint or text color shift based on the entry's `role` (e.g., User = faint blue, AI = faint green/purple, System = dimmed gray). + +## 3. Non-Functional Requirements +* **Clarity:** The separation of concerns between "Project Files" and "Active Context" must be visually obvious. + +## 4. Acceptance Criteria +* The "Files & Media" panel shows a clean list of files without individual view/aggregation controls. +* Clicking `[+ Add File]` in Context Composition opens a functional picker to add missing files. +* The Discussion Hub entries list visually distinguishes User and AI messages via color. \ No newline at end of file