WIP almost done with track planning
This commit is contained in:
9
conductor/tracks/cache_analytics_20260306/index.md
Normal file
9
conductor/tracks/cache_analytics_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Cache Analytics Display
|
||||
|
||||
**Track ID:** cache_analytics_20260306
|
||||
|
||||
**Status:** Planned
|
||||
|
||||
**See Also:**
|
||||
- [Spec](./spec.md)
|
||||
- [Plan](./plan.md)
|
||||
9
conductor/tracks/cache_analytics_20260306/metadata.json
Normal file
9
conductor/tracks/cache_analytics_20260306/metadata.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "cache_analytics_20260306",
|
||||
"name": "Cache Analytics Display",
|
||||
"status": "planned",
|
||||
"created_at": "2026-03-06T00:00:00Z",
|
||||
"updated_at": "2026-03-06T00:00:00Z",
|
||||
"type": "feature",
|
||||
"priority": "medium"
|
||||
}
|
||||
@@ -1,16 +1,29 @@
|
||||
# Implementation Plan: Cache Analytics Display (cache_analytics)
|
||||
# Implementation Plan: Cache Analytics Display (cache_analytics_20260306)
|
||||
|
||||
## Phase 1: Research & Design
|
||||
- [ ] Task: Analyze existing backend implementation
|
||||
- [ ] Task: Design GUI/UX approach
|
||||
- [ ] Task: Conductor - User Manual Verification
|
||||
## Phase 1: Cache Stats Integration
|
||||
- [ ] Task: Initialize MMA Environment
|
||||
- [ ] Task: Verify get_gemini_cache_stats
|
||||
- WHERE: src/ai_client.py
|
||||
- WHAT: Check existing function
|
||||
- HOW: Review implementation
|
||||
|
||||
## Phase 2: Implementation
|
||||
- [ ] Task: Implement feature
|
||||
- [ ] Task: Write tests
|
||||
- [ ] Task: Conductor - User Manual Verification
|
||||
## Phase 2: Panel Implementation
|
||||
- [ ] Task: Create cache panel
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Display cache stats
|
||||
- HOW: imgui widgets
|
||||
- SAFETY: Handle no cache
|
||||
|
||||
## Phase 3: Verification
|
||||
- [ ] Task: Run test suite
|
||||
- [ ] Task: Verify coverage
|
||||
- [ ] Task: Conductor - Phase Completion Verification
|
||||
## Phase 3: TTL & Controls
|
||||
- [ ] Task: Display TTL countdown
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Time until cache rebuild
|
||||
- HOW: Calculate from cache_created_at
|
||||
- [ ] Task: Add clear button
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Manual cache clear
|
||||
- HOW: Call ai_client.cleanup()
|
||||
|
||||
## Phase 4: Verification
|
||||
- [ ] Task: Test cache display
|
||||
- [ ] Task: Conductor - Phase Verification
|
||||
|
||||
@@ -1,26 +1,21 @@
|
||||
# Track Specification: Cache Analytics Display
|
||||
# Track Specification: Cache Analytics Display (cache_analytics_20260306)
|
||||
|
||||
## Overview
|
||||
Gemini cache hit/miss visualization and TTL status.
|
||||
Gemini cache hit/miss visualization, memory usage, TTL status display. Uses existing ai_client.get_gemini_cache_stats() which is not displayed in GUI.
|
||||
|
||||
## Current State Audit
|
||||
### Already Implemented
|
||||
- get_gemini_cache_stats() in ai_client.py
|
||||
- Cache creation/deletion
|
||||
|
||||
### Gaps to Fill
|
||||
- No GUI display
|
||||
- No hit/miss tracking
|
||||
|
||||
## Goals
|
||||
- Cache status panel
|
||||
- Hit/miss ratio
|
||||
- TTL countdown
|
||||
## Architectural Constraints
|
||||
- **Non-Blocking**: Cache queries MUST NOT block UI.
|
||||
- **Efficient Polling**: Cache stats SHOULD be polled, not pushed.
|
||||
|
||||
## Functional Requirements
|
||||
- Cache size display
|
||||
- TTL visualization
|
||||
- Manual cache clear
|
||||
- **Cache Status**: Display active cache count and size.
|
||||
- **Hit/Miss Ratio**: Calculate and display cache efficiency.
|
||||
- **TTL Countdown**: Show time until next cache rebuild.
|
||||
- **Manual Clear**: Button to manually clear cache.
|
||||
|
||||
## Non-Functional Requirements
|
||||
- Non-blocking UI updates
|
||||
## Acceptance Criteria
|
||||
- [ ] Cache panel displays in GUI.
|
||||
- [ ] Hit/miss ratio calculated correctly.
|
||||
- [ ] TTL countdown visible.
|
||||
- [ ] Manual clear button works.
|
||||
- [ ] Uses existing get_gemini_cache_stats().
|
||||
|
||||
Reference in New Issue
Block a user