Private
Public Access
Docstrings: SSDL + ASCII Layout Map for Preset Managers and Windows
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# SQLite-Granularity Inline Docs for gui_2.py (Continued) — Implementation Plan
|
||||
|
||||
> **For agentic workers:** Use task-by-task execution. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** Implement SQLite-granularity docstrings with embedded SSDL and ASCII layouts for the remaining layout/tool preset managers, persona editors/selectors, provider settings, and command palette in `src/gui_2.py` and `src/command_palette.py`. Ensure zero functional regression.
|
||||
|
||||
---
|
||||
|
||||
## File Structure
|
||||
|
||||
| File | Action | Purpose |
|
||||
|---|---|---|
|
||||
| `src/gui_2.py` | Modify | Add docstrings with SSDL & ASCII wireframes to preset managers, persona editor/selector, and provider panels. |
|
||||
| `src/command_palette.py` | Modify | Add docstrings with SSDL & ASCII wireframes to `render_palette_modal`. |
|
||||
| `conductor/tracks/sqlite_docs_gui_2_continued_20260613/state.toml` | Modify | Track implementation state. |
|
||||
| `conductor/tracks.md` | Modify | Register the continued track. |
|
||||
|
||||
---
|
||||
|
||||
# Phase 1: Preset Managers & Editors
|
||||
|
||||
## Task 1.1: Document Preset Managers
|
||||
- [ ] **Step 1: Document `render_save_preset_modal`**
|
||||
Add ASCII Layout Map showing the Save Layout Preset modal layout.
|
||||
- [ ] **Step 2: Document `render_preset_manager_content`**
|
||||
Add ASCII Layout Map showing the Split Pane editor with presets sidebar, Name/Scope inputs, pop-out preview button, text editor, and action buttons.
|
||||
- [ ] **Step 3: Document `render_preset_manager_window`**
|
||||
Add ASCII Layout Map showing the window container wrapper.
|
||||
- [ ] **Step 4: Document `render_tool_preset_manager_content`**
|
||||
Add ASCII Layout Map showing the complex split pane layout containing categories & tools with radio toggles (Off/Auto/Ask) and bias profiles list/editor.
|
||||
- [ ] **Step 5: Document `render_tool_preset_manager_window`**
|
||||
Add ASCII Layout Map showing the window container wrapper.
|
||||
- [ ] **Step 6: Verify syntax and run existing tests**
|
||||
Run: `pytest tests/test_gui_window_controls.py`
|
||||
Expected: Success.
|
||||
|
||||
---
|
||||
|
||||
# Phase 2: Personas, Providers & Command Palette
|
||||
|
||||
## Task 2.1: Document Personas & Providers
|
||||
- [ ] **Step 1: Document `render_persona_editor_window`**
|
||||
Add ASCII Layout Map showing the Persona Editor modal split pane layout (list sidebar and detailed configuration panel with preferred models and system prompt box).
|
||||
- [ ] **Step 2: Document `render_persona_selector_panel`**
|
||||
Add ASCII Layout Map showing the persona selection combo and Manage Personas button.
|
||||
- [ ] **Step 3: Document `render_provider_panel`**
|
||||
Add ASCII Layout Map showing the LLM Provider configuration list box, capabilities, parameters sliders, and gemini_cli configuration.
|
||||
- [ ] **Step 4: Verify syntax and run tests**
|
||||
|
||||
## Task 2.2: Document Command Palette
|
||||
- [ ] **Step 1: Document `render_palette_modal` in `src/command_palette.py`**
|
||||
Add docstring with SSDL and ASCII Layout Map for the fuzzy search query input and scored results list view.
|
||||
- [ ] **Step 2: Verify syntax and run tests**
|
||||
Run: `pytest tests/` (full batch run check)
|
||||
|
||||
## Task 2.3: Register track and update status
|
||||
- [ ] **Step 1: Update `conductor/tracks.md`**
|
||||
- [ ] **Step 2: Mark track as complete in state.toml**
|
||||
@@ -0,0 +1,58 @@
|
||||
# Track: Continued SQLite-Granularity Inline Docs for gui_2.py
|
||||
|
||||
**Status:** Spec approved 2026-06-13
|
||||
**Initialized:** 2026-06-13
|
||||
**Owner:** Tier 2 Tech Lead
|
||||
**Priority:** Medium (Documentation / UX Maintenance)
|
||||
|
||||
---
|
||||
|
||||
## 1. Overview
|
||||
This track continues the work of `sqlite_docs_gui_2_20260612` by adding SQLite-style inline documentation to the remaining, previously skipped preset managers, configuration panels, editors, and the command palette modal in `src/gui_2.py` and `src/command_palette.py`. We enrich these functions with strict, descriptive docstrings detailing functional responsibilities, SSDL operational DAGs, and detailed ASCII layout maps.
|
||||
|
||||
---
|
||||
|
||||
## 2. Goals (Priority Order)
|
||||
|
||||
| Priority | Goal | Rationale |
|
||||
|---|---|---|
|
||||
| **A** | Document Preset Managers and Windows (`render_save_preset_modal`, `render_preset_manager_content`, `render_preset_manager_window`, `render_tool_preset_manager_content`, `render_tool_preset_manager_window`). | Essential for mapping layout and tool preset configurations. |
|
||||
| **A** | Document Persona Editor & Selectors (`render_persona_editor_window`, `render_persona_selector_panel`). | Maps the agent profile settings, preferred models, and bias profiles. |
|
||||
| **B** | Document Provider settings (`render_provider_panel`). | Maps LLM hyper-parameters, token limits, and Gemini CLI pathing. |
|
||||
| **B** | Document Command Palette modal (`render_palette_modal` in `src/command_palette.py`). | Establishes the interactive command query interface and keyboard boundaries. |
|
||||
|
||||
---
|
||||
|
||||
## 3. The Documentation Convention
|
||||
Every target function gets a Python docstring (`"""`) structured as follows:
|
||||
|
||||
1. **Functional Purpose:** Summary of the component's job.
|
||||
2. **Parameters & Inputs:** Specific types.
|
||||
3. **Immediate-Mode DAG Context:**
|
||||
- **Called by:** Parent render loop node.
|
||||
- **Calls:** Child render functions.
|
||||
4. **ASCII Layout Map:** Exact visual mockup of the panel layout using box-drawing characters and bracket notations (e.g. `[Button]`, `[x] Checkbox`, `(o) Radio`).
|
||||
5. **Thread Boundaries:** Confirming synchronous main-thread execution within the ImGui window frame.
|
||||
|
||||
---
|
||||
|
||||
## 4. Phased Breakdown
|
||||
|
||||
### Phase 1: Preset Managers & Editors
|
||||
- `render_save_preset_modal`
|
||||
- `render_preset_manager_content`
|
||||
- `render_preset_manager_window`
|
||||
- `render_tool_preset_manager_content`
|
||||
- `render_tool_preset_manager_window`
|
||||
|
||||
### Phase 2: Personas, Providers & Command Palette
|
||||
- `render_persona_editor_window`
|
||||
- `render_persona_selector_panel`
|
||||
- `render_provider_panel`
|
||||
- `render_palette_modal` (in `src/command_palette.py`)
|
||||
|
||||
---
|
||||
|
||||
## 5. Verification Criteria
|
||||
1. **Syntax Integrity:** Run `py_check_syntax` on modified files after every edit to confirm correct AST construction.
|
||||
2. **Regression Check:** Run `pytest tests/` after each phase. The addition of documentation must not alter execution paths, types, or throw warnings.
|
||||
@@ -0,0 +1,24 @@
|
||||
# Track state for sqlite_docs_gui_2_continued_20260613
|
||||
# Updated as tasks complete
|
||||
|
||||
[meta]
|
||||
track_id = "sqlite_docs_gui_2_continued_20260613"
|
||||
name = "Continued SQLite-Granularity Inline Docs for gui_2.py"
|
||||
status = "active"
|
||||
current_phase = 2
|
||||
last_updated = "2026-06-13"
|
||||
|
||||
[blocked_by]
|
||||
|
||||
[phases]
|
||||
phase_1 = { status = "completed", checkpoint_sha = "", name = "Preset Managers & Editors" }
|
||||
phase_2 = { status = "in_progress", checkpoint_sha = "", name = "Personas, Providers & Command Palette" }
|
||||
|
||||
[tasks]
|
||||
# Phase 1: Preset Managers & Editors
|
||||
t1_1 = { status = "completed", commit_sha = "", description = "Document Preset Managers and Windows (render_save_preset_modal, render_preset_manager_content, render_preset_manager_window, render_tool_preset_manager_content, render_tool_preset_manager_window)" }
|
||||
|
||||
# Phase 2: Personas, Providers & Command Palette
|
||||
t2_1 = { status = "pending", commit_sha = "", description = "Document Personas & Providers (render_persona_editor_window, render_persona_selector_panel, render_provider_panel)" }
|
||||
t2_2 = { status = "pending", commit_sha = "", description = "Document Command Palette (render_palette_modal in src/command_palette.py)" }
|
||||
t2_3 = { status = "pending", commit_sha = "", description = "Register track and update status in tracks.md" }
|
||||
Reference in New Issue
Block a user