1. filterCategory: fix inline event.target → uses btn parameter - All Agents tab filter buttons now correctly toggle active class 2. exportRecommendations/showApplyModal: read from agentData, not removed INLINE_RECOMMENDATIONS - Apply modal shows real recommendations - Export generates JSON with real data 3. Heatmap cell click: add showCellDetail modal with Chart.js line chart + prompt history - onclick='showCellDetail(model, agent)' on every td - renderCellChart computes score history from agent.history - prompt_change items filtered and displayed 4. watch-db.cjs: incremental DB sync tool - Polls git for changes in .kilo/agents/*.md and kilo-meta.json - Detects model_change vs prompt_change by comparing with previous version - Exports to JSON after sync, logs to .kilo/logs/watch-db.log - SIGINT/SIGTERM graceful shutdown - Trigger: npm run evolution:watch
2.9 KiB
2.9 KiB
APAW Agent Evolution Dashboard
Overview
This is a standalone HTML dashboard that visualizes agent model assignments, performance scores, and recommendations for the APAW codebase.
Features
- Real-time agent model & performance tracking
- Agent × Model compatibility heatmap
- Performance impact analysis with Chart.js visualizations
- Model recommendation engine with priority scoring
- Evolution timeline and history tracking
Data Sources
The dashboard pulls data from three primary sources:
- .kilo/agents/*.md - Agent definitions with model assignments, modes, colors, and descriptions
- kilo-meta.json - Central registry of agent metadata, categories, and capabilities
- model-benchmarks-verified.json - IF scores and context window data for all supported models
Build Process
The build-standalone-fixed.cjs script:
- Parses all agent YAML frontmatter
- Computes composite performance scores using IF scores and context windows
- Generates model recommendations based on score improvements
- Embeds unified JSON data directly into the HTML file
- Updates JavaScript functions to use embedded data
Incremental DB Sync
The watch-db.cjs script provides incremental database synchronization:
- Watches for changes in
.kilo/agents/*.mdandkilo-meta.json - Only processes changed files (incremental update)
- Determines change type (model_change vs prompt_change)
- Updates database with new versions and metadata
- Exports updated data to JSON
- Clean shutdown on SIGINT/SIGTERM
- Configurable polling interval via
WATCH_INTERVAL_MSenv var - Logging to
.kilo/logs/watch-db.log
Validation
The build process ensures:
- ✅ No unicode escape sequences (no \u003c or \u003e characters)
- ✅ Valid embedded JSON structure
- ✅ Clean standalone HTML file with no external dependencies
- ✅ Proper function updates (init, renderHeatmap, renderRecommendations)
Output Files
index.standalone.html- Self-contained dashboard with embedded datadata/index.html- Copy of standalone dashboard for web serving
Usage
Simply open index.standalone.html in any modern browser. No server or external dependencies required.
To run the incremental DB watcher:
# Run with default 60 second interval
node agent-evolution/scripts/watch-db.cjs
# Run with custom interval (10 seconds)
WATCH_INTERVAL_MS=10000 node agent-evolution/scripts/watch-db.cjs
# Run in background
nohup node agent-evolution/scripts/watch-db.cjs > watch-db.log 2>&1 &
Agent Count
The dashboard currently tracks 34 agents across multiple categories:
- Core Development
- Quality Assurance
- Security
- Analysis
- Process Management
- Cognitive Enhancement
- Testing
Model Support
Supports 15 verified models with IF scores from artificialanalysis.ai:
- DeepSeek V4-Pro Max (IF: 89)
- DeepSeek V4-Flash (IF: 86)
- Kimi K2.6 (IF: 91)
- Qwen3-Coder 480B (IF: 88)
- GLM-5.1 (IF: 90)
- And 10 more models