# Agent Evolution Dashboard - Milestone & Issues ## Milestone: Agent Evolution Dashboard **Title:** Agent Evolution Dashboard **Description:** Интерактивная панель для отслеживания эволюции агентной системы APAW с интеграцией Gitea **Due Date:** 2026-04-19 (2 недели) **State:** Open --- ## Issues ### Issue 1: Рефакторинг из архива в root-директорию **Title:** Рефакторинг: перенести agent model research из archive в agent-evolution **Labels:** `refactor`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Файл `archive/apaw_agent_model_research_v3.html` содержит ценную информацию о моделях и рекомендациях. Необходимо: 1. ✅ Создать директорию `agent-evolution/` в корне проекта 2. ✅ Создать `agent-evolution/index.standalone.html` с интегрированными данными 3. ✅ Создать `agent-evolution/data/agent-versions.json` с актуальными данными 4. ✅ Создать `agent-evolution/scripts/build-standalone.cjs` для генерации 5. 🔄 Удалить `archive/apaw_agent_model_research_v3.html` после переноса данных **Критерии приёмки:** - [ ] Все данные из архива интегрированы - [ ] Дашборд работает автономно (file://) - [ ] Данные актуальны на момент коммита --- ### Issue 2: Интеграция с Gitea для истории изменений **Title:** Интеграция Agent Evolution с Gitea API **Labels:** `enhancement`, `integration`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Требуется интегрировать дашборд с Gitea для: 1. Получения истории изменений моделей из issue comments 2. Парсинга комментариев агентов (формат `## ✅ agent-name completed`) 3. Извлечения метрик производительности (Score, Duration, Files) 4. Отображения реальной истории в дашборде **Требования:** - API endpoint `/api/evolution/history` для получения истории - Webhook для автоматического обновления при новых комментариях - Кэширование данных локально - Fallback на локальные данные при недоступности Gitea **Критерии приёмки:** - [ ] История загружается из Gitea при наличии API - [ ] Fallback на локальные данные - [ ] Webhook обрабатывает `issue_comment` события - [ ] Данные обновляются в реальном времени --- ### Issue 3: Синхронизация с capability-index.yaml и kilo.jsonc **Title:** Автоматическая синхронизация эволюции агентов **Labels:** `automation`, `sync`, `medium-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Создать автоматическую синхронизацию данных эволюции из: 1. `.kilo/agents/*.md` - frontmatter с моделями 2. `.kilo/capability-index.yaml` - capabilities и routing 3. `.kilo/kilo.jsonc` - model assignments 4. Git history - история изменений 5. Gitea issue comments - performance metrics **Скрипты:** - `agent-evolution/scripts/sync-agent-history.ts` - основная синхронизация - `agent-evolution/scripts/build-standalone.cjs` - генерация HTML **NPM Scripts:** ```json "sync:evolution": "bun run agent-evolution/scripts/sync-agent-history.ts && node agent-evolution/scripts/build-standalone.cjs", "evolution:dashboard": "bunx serve agent-evolution -l 3001", "evolution:open": "start agent-evolution/index.standalone.html" ``` **Критерии приёмки:** - [ ] Синхронизация работает корректно - [ ] HTML генерируется автоматически - [ ] Данные консистентны --- ### Issue 4: Документация и README **Title:** Документация Agent Evolution Dashboard **Labels:** `documentation`, `low-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Создать полную документацию: 1. ✅ `agent-evolution/README.md` - основная документация 2. 🔄 `docs/agent-evolution.md` - техническая документация 3. 🔄 Инструкция по запуску в `AGENTS.md` 4. ✅ Schema: `agent-evolution/data/agent-versions.schema.json` 5. ✅ Skills: `.kilo/skills/evolution-sync/SKILL.md` 6. ✅ Rules: `.kilo/rules/evolutionary-sync.md` **Критерии приёмки:** - [ ] README покрывает все сценарии использования - [ ] Техническая документация описывает API - [ ] Есть примеры кода --- ### Issue 5: Docker контейнер для дашборда **Title:** Docker-изация Agent Evolution Dashboard **Labels:** `docker`, `deployment`, `low-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Упаковать дашборд в Docker для простого деплоя: **Файлы:** - ✅ `agent-evolution/Dockerfile` - ✅ `docker-compose.evolution.yml` - ✅ `agent-evolution/docker-run.sh` (Linux/macOS) - ✅ `agent-evolution/docker-run.bat` (Windows) **Команды:** ```bash # Linux/macOS bash agent-evolution/docker-run.sh restart # Windows agent-evolution\docker-run.bat restart # Docker Compose docker-compose -f docker-compose.evolution.yml up -d ``` **Критерии приёмки:** - [ ] Docker образ собирается - [ ] Контейнер запускается на порту 3001 - [ ] Данные монтируются корректно --- ## NEW: Pipeline Fitness & Auto-Evolution Issues ### Issue 6: Pipeline Judge Agent — Объективная оценка fitness **Title:** Создать pipeline-judge агента для объективной оценки workflow **Labels:** `agent`, `fitness`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Создать агента `pipeline-judge`, который объективно оценивает качество выполненного workflow на основе метрик, а не субъективных оценок. **Отличие от evaluator:** - `evaluator` — субъективные оценки 1-10 на основе наблюдений - `pipeline-judge` — объективные метрики: тесты, токены, время, quality gates **Файлы:** - `.kilo/agents/pipeline-judge.md` — ✅ создан **Fitness Formula:** ``` fitness = (test_pass_rate × 0.50) + (quality_gates_rate × 0.25) + (efficiency_score × 0.25) ``` **Метрики:** - Test pass rate: passed/total тестов - Quality gates: build, lint, typecheck, tests_clean, coverage - Efficiency: токены и время относительно бюджетов **Критерии приёмки:** - [x] Агент создан в `.kilo/agents/pipeline-judge.md` - [ ] Добавлен в `capability-index.yaml` - [ ] Интегрирован в workflow после завершения пайплайна - [ ] Логирует результаты в `.kilo/logs/fitness-history.jsonl` - [ ] Триггерит `prompt-optimizer` при fitness < 0.70 --- ### Issue 7: Fitness History Logging — накопление метрик **Title:** Создать систему логирования fitness-метрик **Labels:** `logging`, `metrics`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Создать систему накопления fitness-метрик для отслеживания эволюции пайплайна во времени. **Формат лога (`.kilo/logs/fitness-history.jsonl`):** ```jsonl {"ts":"2026-04-06T00:00:00Z","issue":42,"workflow":"feature","fitness":0.82,"tokens":38400,"time_ms":245000,"tests_passed":45,"tests_total":47} {"ts":"2026-04-06T01:30:00Z","issue":43,"workflow":"bugfix","fitness":0.91,"tokens":12000,"time_ms":85000,"tests_passed":47,"tests_total":47} ``` **Действия:** 1. ✅ Создать директорию `.kilo/logs/` если не существует 2. 🔄 Создать `.kilo/logs/fitness-history.jsonl` 3. 🔄 Обновить `pipeline-judge.md` для записи в лог 4. 🔄 Создать скрипт `agent-evolution/scripts/sync-fitness-history.ts` **Критерии приёмки:** - [ ] Файл `.kilo/logs/fitness-history.jsonl` создан - [ ] pipeline-judge пишет в лог после каждого workflow - [ ] Скрипт синхронизации интегрирован в `sync:evolution` - [ ] Дашборд отображает фитнесс-тренды --- ### Issue 8: Evolution Workflow — автоматическое самоулучшение **Title:** Реализовать эволюционный workflow для автоматической оптимизации **Labels:** `workflow`, `automation`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Реализовать непрерывный цикл самоулучшения пайплайна на основе фитнесс-метрик. **Workflow:** ``` [Workflow Completes] ↓ [pipeline-judge] → fitness score ↓ ┌───────────────────────────┐ │ fitness >= 0.85 │──→ Log + done │ fitness 0.70-0.84 │──→ [prompt-optimizer] minor tuning │ fitness < 0.70 │──→ [prompt-optimizer] major rewrite │ fitness < 0.50 │──→ [agent-architect] redesign └───────────────────────────┘ ↓ [Re-run workflow with new prompts] ↓ [pipeline-judge] again ↓ [Compare before/after] ↓ [Commit or revert] ``` **Файлы:** - `.kilo/workflows/fitness-evaluation.md` — документация workflow - Обновить `capability-index.yaml` — добавить `iteration_loops.evolution` **Конфигурация:** ```yaml evolution: enabled: true auto_trigger: true fitness_threshold: 0.70 max_evolution_attempts: 3 fitness_history: .kilo/logs/fitness-history.jsonl budgets: feature: {tokens: 50000, time_s: 300} bugfix: {tokens: 20000, time_s: 120} refactor: {tokens: 40000, time_s: 240} security: {tokens: 30000, time_s: 180} ``` **Критерии приёмки:** - [ ] Workflow определён в `.kilo/workflows/` - [ ] Интегрирован в основной pipeline - [ ] Автоматически триггерит prompt-optimizer - [ ] Сравнивает before/after fitness - [ ] Коммитит только улучшения --- ### Issue 9: /evolve Command — ручной запуск эволюции **Title:** Обновить команду /evolve для работы с fitness **Labels:** `command`, `cli`, `medium-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Расширить существующую команду `/evolution` (логирование моделей) до полноценной `/evolve` команды с анализом fitness. **Текущий `/evolution`:** - Логирует изменения моделей - Генерирует отчёты **Новый `/evolve`:** ```bash /evolve # evolve last completed workflow /evolve --issue 42 # evolve workflow for issue #42 /evolve --agent planner # focus evolution on one agent /evolve --dry-run # show what would change without applying /evolve --history # print fitness trend chart ``` **Execution:** 1. Judge: `Task(subagent_type: "pipeline-judge")` → fitness report 2. Decide: threshold-based routing 3. Re-test: тот же workflow с обновлёнными промптами 4. Log: append to fitness-history.jsonl **Файлы:** - Обновить `.kilo/commands/evolution.md` — добавить fitness логику - Создать алиас `/evolve` → `/evolution --fitness` **Критерии приёмки:** - [ ] Команда `/evolve` работает с fitness - [ ] Опции `--issue`, `--agent`, `--dry-run`, `--history` - [ ] Интегрирована с `pipeline-judge` - [ ] Отображает тренд fitness --- ### Issue 10: Update Capability Index — интеграция pipeline-judge **Title:** Добавить pipeline-judge и evolution конфигурацию в capability-index.yaml **Labels:** `config`, `integration`, `high-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Обновить `capability-index.yaml` для поддержки нового эволюционного workflow. **Добавить:** ```yaml agents: pipeline-judge: capabilities: - test_execution - fitness_scoring - metric_collection - bottleneck_detection receives: - completed_workflow - pipeline_logs produces: - fitness_report - bottleneck_analysis - improvement_triggers forbidden: - code_writing - code_changes - prompt_changes model: ollama-cloud/nemotron-3-super mode: subagent capability_routing: fitness_scoring: pipeline-judge test_execution: pipeline-judge bottleneck_detection: pipeline-judge iteration_loops: evolution: evaluator: pipeline-judge optimizer: prompt-optimizer max_iterations: 3 convergence: fitness_above_0.85 workflow_states: evaluated: [evolving, completed] evolving: [evaluated] evolution: enabled: true auto_trigger: true fitness_threshold: 0.70 max_evolution_attempts: 3 fitness_history: .kilo/logs/fitness-history.jsonl budgets: feature: {tokens: 50000, time_s: 300} bugfix: {tokens: 20000, time_s: 120} refactor: {tokens: 40000, time_s: 240} security: {tokens: 30000, time_s: 180} ``` **Критерии приёмки:** - [ ] pipeline-judge добавлен в секцию agents - [ ] capability_routing обновлён - [ ] iteration_loops.evolution добавлен - [ ] workflow_states обновлены - [ ] Секция evolution конфигурирована - [ ] YAML валиден --- ### Issue 11: Dashboard Evolution Tab — визуализация fitness **Title:** Добавить вкладку Fitness Evolution в дашборд **Labels:** `dashboard`, `visualization`, `medium-priority` **Milestone:** Agent Evolution Dashboard **Описание:** Расширить дашборд для отображения фитнесс-метрик и трендов эволюции. **Новая вкладка "Evolution":** - **Fitness Trend Chart** — график fitness по времени - **Workflow Comparison** — сравнение fitness разных workflow типов - **Agent Bottlenecks** — агенты с наибольшим потреблением токенов - **Optimization History** — история оптимизаций промптов **Data Source:** - `.kilo/logs/fitness-history.jsonl` - `.kilo/logs/efficiency_score.json` **UI Components:** ```javascript // Fitness Trend Chart // X-axis: timestamp // Y-axis: fitness score (0.0 - 1.0) // Series: issues by type (feature, bugfix, refactor) // Agent Heatmap // Rows: agents // Cols: metrics (tokens, time, contribution) // Color: intensity ``` **Критерии приёмки:** - [ ] Вкладка "Evolution" добавлена в дашборд - [ ] График fitness-trend работает - [ ] Agent bottlenecks отображаются - [ ] Данные загружаются из fitness-history.jsonl --- ## Статус направления **Текущий статус:** `ACTIVE` — новые ишьюсы для интеграции fitness-системы **Приоритеты на спринт:** | Priority | Issue | Effort | Impact | |----------|-------|--------|--------| | **P0** | #6 Pipeline Judge Agent | Low | High | | **P0** | #7 Fitness History Logging | Low | High | | **P0** | #10 Capability Index Update | Low | High | | **P1** | #8 Evolution Workflow | Medium | High | | **P1** | #9 /evolve Command | Medium | Medium | | **P2** | #11 Dashboard Evolution Tab | Medium | Medium | **Зависимости:** ``` #6 (pipeline-judge) ──► #7 (fitness-history) ──► #11 (dashboard) │ └──► #10 (capability-index) │ ┌───────────────┘ ▼ #8 (evolution-workflow) ──► #9 (evolve-command) ``` **Рекомендуемый порядок выполнения:** 1. Issue #6: Создать `pipeline-judge.md` ✅ DONE 2. Issue #10: Обновить `capability-index.yaml` 3. Issue #7: Создать `fitness-history.jsonl` и интегрировать логирование 4. Issue #8: Создать workflow `fitness-evaluation.md` 5. Issue #9: Обновить команду `/evolution` 6. Issue #11: Добавить вкладку в дашборд --- ## Quick Links - Dashboard: `agent-evolution/index.standalone.html` - Data: `agent-evolution/data/agent-versions.json` - Build Script: `agent-evolution/scripts/build-standalone.cjs` - Docker: `docker-compose -f docker-compose.evolution.yml up -d` - NPM: `bun run sync:evolution` - **NEW** Pipeline Judge: `.kilo/agents/pipeline-judge.md` - **NEW** Fitness Log: `.kilo/logs/fitness-history.jsonl` --- ## Changelog ### 2026-04-06 - ✅ Created `pipeline-judge.md` agent - ✅ Updated MILESTONE_ISSUES.md with 6 new issues (#6-#11) - ✅ Added dependency graph and priority matrix - ✅ Changed status from PAUSED to ACTIVE