1.8 KiB
1.8 KiB
Implementation Plan: Event-Driven API Metrics Updates
Phase 1: Event Infrastructure & Test Setup [checkpoint: 776f4e4]
Define the event mechanism and create baseline tests to ensure we don't break data accuracy.
- Task: Create
tests/test_api_events.pyto verify the new event emission logic in isolation.cd3f3c8 - Task: Implement a simple
EventEmitterorSignalclass (if not already present) to handle decoupled communication.cd3f3c8 - Task: Instrument
ai_client.pywith the event system, adding placeholders for the key lifecycle events.cd3f3c8 - Task: Conductor - User Manual Verification 'Phase 1: Event Infrastructure & Test Setup' (Protocol in workflow.md)
Phase 2: Client Instrumentation (API Lifecycle) [checkpoint: e24664c]
Update the AI client to emit events during actual API interactions.
- Task: Implement event emission for Gemini and Anthropic request/response cycles in
ai_client.py.20ebab5 - Task: Implement event emission for tool/function calls and stream processing.
20ebab5 - Task: Verify via tests that events carry the correct payload (token counts, session metadata).
20ebab5 - Task: Conductor - User Manual Verification 'Phase 2: Client Instrumentation (API Lifecycle)' (Protocol in workflow.md)
e24664c
Phase 3: GUI Integration & Decoupling [checkpoint: 8caebbd]
Connect the UI to the event system and remove polling logic.
- Task: Update
gui.pyto subscribe to API events and trigger metrics UI refreshes only upon event receipt.2dd6145 - Task: Audit the
gui.pyrender loop and remove all per-frame metrics calculations or display updates.2dd6145 - Task: Verify that UI performance improves (reduced CPU/frame time) while metrics remain accurate.
2dd6145 - Task: Conductor - User Manual Verification 'Phase 3: GUI Integration & Decoupling' (Protocol in workflow.md)
8caebbd