conductor(plan): Mark Phase 3 complete [checkpoint: b30e563]
This commit is contained in:
@@ -45,16 +45,11 @@ Focus: Update `_render_tool_calls_panel` to read dicts. No UI change — just fi
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Focus Agent UI + Filter Logic
|
||||
## Phase 3: Focus Agent UI + Filter Logic [checkpoint: b30e563]
|
||||
Focus: Add the combo selector and filter the two log panels.
|
||||
|
||||
- [ ] Task 3.1: Add `ui_focus_agent` state var to `App.__init__`.
|
||||
- **Location**: `gui_2.py` `__init__`, after `self.active_tier: str | None = None` (line ~283 — confirm with `grep -n "self.active_tier" gui_2.py`).
|
||||
- **What**: Insert `self.ui_focus_agent: str | None = None`.
|
||||
- **How**: Use `Edit`.
|
||||
- **Verify**: `grep -n "ui_focus_agent" gui_2.py` returns exactly 1 hit (the new line, before Phase 3.3 adds more).
|
||||
|
||||
- [ ] Task 3.2: Add Focus Agent selector widget in Operations Hub.
|
||||
- [x] Task 3.1: Add `ui_focus_agent` state var to `App.__init__`. b30e563
|
||||
- [x] Task 3.2: Add Focus Agent selector widget in Operations Hub. b30e563
|
||||
- **Location**: `gui_2.py` `_gui_func`, Operations Hub block (line ~1774). Confirm with `get_file_slice(1774, 1792)`. Current content:
|
||||
```python
|
||||
if imgui.begin_tab_bar("OperationsTabs"):
|
||||
@@ -80,7 +75,7 @@ Focus: Add the combo selector and filter the two log panels.
|
||||
- **Note**: Tier 1 omitted — Tier 1 (Claude Code) never calls `ai_client.send()`, so it produces no comms entries.
|
||||
- **How**: Use `Edit`.
|
||||
|
||||
- [ ] Task 3.3: Add filter logic to `_render_comms_history_panel`.
|
||||
- [x] Task 3.3: Add filter logic to `_render_comms_history_panel`. b30e563
|
||||
- **Location**: `gui_2.py` `_render_comms_history_panel` (after bleed cleanup, line ~3400). Confirm with `py_get_definition`.
|
||||
- **What**: After the `log_to_render = self.prior_session_entries if self.is_viewing_prior_session else list(self._comms_log)` line, add:
|
||||
```python
|
||||
@@ -96,7 +91,7 @@ Focus: Add the combo selector and filter the two log panels.
|
||||
Insert this after the `imgui.text_colored(C_LBL, f"{entry.get('provider', '?')}/{entry.get('model', '?')}")` line.
|
||||
- **How**: Use `Edit` for each insertion.
|
||||
|
||||
- [ ] Task 3.4: Add filter logic to `_render_tool_calls_panel`.
|
||||
- [x] Task 3.4: Add filter logic to `_render_tool_calls_panel`. b30e563
|
||||
- **Location**: `gui_2.py:2989`. Confirm with `get_file_slice(2989, 3000)`.
|
||||
- **What**: After `imgui.begin_child("scroll_area")` + clipper setup, change the render source:
|
||||
- Replace `clipper.begin(len(self._tool_log))` with a pre-filtered list:
|
||||
@@ -109,11 +104,11 @@ Focus: Add the combo selector and filter the two log panels.
|
||||
- Inside the loop use `tool_log_filtered[i_minus_one]` instead of `self._tool_log[i_minus_one]`.
|
||||
- **How**: Use `Edit`.
|
||||
|
||||
- [ ] Task 3.5: Write tests for Phase 3.
|
||||
- [x] Task 3.5: Write tests for Phase 3. 6 tests, 18/18 passed. b30e563
|
||||
- Test that `ui_focus_agent = "Tier 3"` filters out entries with `source_tier = "Tier 2"`.
|
||||
- Run `uv run pytest tests/ -x -q`.
|
||||
|
||||
- [ ] Task 3.6: Conductor — User Manual Verification
|
||||
- [x] Task 3.6: Conductor — User Manual Verification. UI confirmed by user. b30e563
|
||||
- Launch app. Open Operations Hub.
|
||||
- Confirm "Focus Agent:" combo appears above tabs with options: All, Tier 2, Tier 3, Tier 4.
|
||||
- With "All" selected: all entries show with `[main]` or `[Tier N]` labels in comms history.
|
||||
|
||||
Reference in New Issue
Block a user