conductor(track): Initialize track 'mma_agent_focus_ux_20260302'

This commit is contained in:
2026-03-02 11:57:39 -05:00
parent 4f11d1e01d
commit c1a86e2f36
5 changed files with 279 additions and 19 deletions

View File

@@ -10,25 +10,17 @@
## Planned: Next Track
### `mma_agent_focus_ux` (not yet created)
### `mma_agent_focus_ux_20260302` (initialized — run after bleed cleanup)
**Priority:** High
**Depends on:** nothing
**Origin:** User feedback 2026-03-02 — token viz is agent-agnostic; MMA observability panels (comms, tool calls, discussion history, token budget) show global/session-scoped data with no way to isolate a specific tier or agent.
**Depends on:** `feature_bleed_cleanup_20260302` Phase 1 (dead comms panel removed)
**Track dir:** `conductor/tracks/mma_agent_focus_ux_20260302/`
**The Gap (audit-confirmed):**
- `_comms_log` entries (gui_2.py:861895) have no tier/agent tag — only `direction`, `type`, `payload`
- `_tool_log` entries (gui_2.py:897900) are `(script, result, ts)` — no tier tag
- `mma_streams` dict uses `stream_id` (`"Tier 1"` etc.) — the **only** existing per-agent key
- `_on_comms_entry` never attaches caller tier/agent context
- Token stats are global (single `ai_client` provider, no per-tier history separation)
**Audit-confirmed gaps:**
- `ai_client._append_comms` emits entries with no `source_tier` key
- `ai_client` has no `current_tier` module variable — no way for tiers to self-identify
- `_tool_log` is `list[tuple[str,str,float]]` — no tier field, tuple must migrate to dict
- `run_worker_lifecycle` replaces `comms_log_callback` but never stamps `source_tier`
- `generate_tickets` (Tier 2) does NOT replace callback at all
- No Focus Agent selector widget in Operations Hub
**Intent:**
1. Add a `source_tier` / `agent_id` field to comms log entries and tool log tuples at the point of emission
2. Add a "Focus Agent" selector widget to the MMA Dashboard (None = global; Tier 14 = filtered)
3. Filter `_render_comms_history_panel`, `_render_tool_calls_panel`, and `_render_discussion_panel` by the selected agent when focus is active
4. Token budget panel: when a tier is focused, show token stats for that tier's model/history (requires per-tier history tracking in ai_client or conductor engine)
5. Discussion history entries emitted by MMA workers (via `history_add` comms kind) already carry a `role` — use that to group by tier
**Scope note:** Item 4 (per-tier token stats) is the most architectural — may warrant a sub-track or phased deferral.
**To initialize:** Run `/conductor-new-track mma_agent_focus_ux` at start of next session after reading this file.
**Scope:** Phase 1 (tier tagging) → Phase 2 (tool log dict migration) → Phase 3 (Focus Agent UI + filter). Per-tier token stats deferred to sub-track.