Mission-Control/HISTORY.md

5.1 KiB

Mission Control — Changelog

v0.0.5

Added

  • 7 monitoring summary endpoints — Neo implemented all remaining summary endpoints:
    • GET /api/v1/monitoring/cost-summary — Cost overview per gateway with model breakdown
    • GET /api/v1/monitoring/cost-breakdown — Models ranked by cost with percentage breakdown
    • GET /api/v1/monitoring/health-summary — Gateway health status and system metrics (CPU, RAM, disk, uptime)
    • GET /api/v1/monitoring/cron-summary — Cron job status with scheduling info (schedule, last/next run, failures)
    • GET /api/v1/monitoring/sessions-summary — Active sessions with context and token breakdown
    • GET /api/v1/monitoring/sub-agents-summary — Sub-agent runs with cost and token breakdown
    • GET /api/v1/monitoring/trends — Cost and token trends over 7d or 30d time ranges
  • All endpoints support org-scoped filtering via gateway_id, pagination, and security review passed (Hudson)
  • Security audit — Hudson reviewed and applied 1 fix for security issues
  • Python compilation verification — All Python files compile cleanly with py_compile

Changed

  • Version bump: 0.0.4 → 0.0.5 (minor bump for new feature endpoints)
  • Updated FUTURE.md — marked all 7 summary endpoints as DONE
  • Updated README.md — API reference table now shows all 12 endpoints as Live

Build Status

  • Backend builds successfully (Docker Compose unavailable due to client version, but Python compilation verified)
  • All 50+ Python files in backend compile without errors
  • GatewayCollectorService operational with 4 collection intervals (cost, cron, session, health)

v0.0.4

Added

  • Gateway Data Collection Service — Background asyncio task that polls gateway RPC endpoints and stores results in monitoring models
    • gateway_collector.py — GatewayCollectorService class with per-endpoint collection methods (cost, cron, session, health)
    • models.py — Pydantic schemas for parsing gateway RPC responses into typed Python objects
    • __init__.py — Package init, exports GatewayCollectorService
  • Collector startup/shutdown — Added to main.py lifespan; launches collector as background task when gateways exist
  • Configurable collection intervals via env vars: COLLECTION_INTERVAL_COST (300s), COLLECTION_INTERVAL_CRON (60s), COLLECTION_INTERVAL_SESSION (30s), COLLECTION_INTERVAL_HEALTH (60s)
  • Upsert pattern — All DB writes use insert-or-update to avoid duplicate records

Fixed

  • Model FK definitions in monitoring.py and alert_rules.py: replaced Column(UUID, ForeignKey(...)) with Field(foreign_key=...) to match codebase pattern
  • Added missing gateway_id field to AlertRule model
  • Removed OpenClawDBService inheritance from GatewayCollectorService (uses session factory pattern)
  • Cleaned up duplicate/conflicting imports in collector

v0.0.3

Added

  • Phase 2: Monitoring database models — 7 new SQLModel tables for gateway data collection
  • CostSnapshot — Timestamped cost readings from gateway RPC (per-model, per-provider breakdown)
  • CronJobStatus — Cron job state, schedule, failure tracking
  • SessionEvent — Session lifecycle events with model, channel, context%, token counts
  • SubAgentRun — Sub-agent execution records with duration, cost, token tracking
  • SystemHealthMetric — CPU, RAM, swap, disk, gateway status metrics
  • AlertRule — Configurable alert thresholds with comparison operators and cooldown
  • AlertEvent — Triggered alert instances with acknowledgment and resolution tracking
  • Alembic migration 7a8b9c0d1e2f — Creates all 7 monitoring tables with FKs and indexes
  • Alembic migration 8f9a0b1c2d3e — Adds ON DELETE CASCADE to all FKs, SET NULL on acknowledged_by, 14 composite indexes
  • Security audit passed — Hudson: 1 CRITICAL (CASCADE), 2 HIGH (mass assignment, indexes), 3 MEDIUM — all remediated

Changed

  • Frontend dev port changed from 3080 to 3037
  • Migration env.py updated for transaction-per-migration to prevent failure chaining

v0.0.2

Added

  • Base platform forked and running — Python/FastAPI backend + Next.js frontend copied into src/
  • Docker Compose dev environment — compose.yml, .env, .dockerignore created
  • Dockerfile adapted — Fixed build context for src/ layout, fixed scripts paths for webhook worker
  • All services operational — db (Postgres 16), redis, backend (uvicorn :8000), frontend (Next.js :3000), webhook-worker
  • 97 API endpoints verified — Full OpenAPI surface confirmed at /docs
  • Git repo initialized — main branch, initial commit 9aee2e4

Infrastructure

  • Ports mapped: backend → 8080, frontend → 3080 (host), avoiding Portainer/open-webui conflicts
  • Auth mode: local (token-based, LOCAL_AUTH_TOKEN in .env)
  • DB auto-migrate enabled

v0.0.1

Added

  • Project initialization — STRUCTURE.md, PROJECT.md, FUTURE.md, HISTORY.md, DEVELOPMENT_LOG.md, VERSION.md
  • Source repos cloned — openclaw-mission-control (base), openclaw-dashboard (tracking), openclaw-pixel-agents-dashboard (visualization)
  • Architecture plan — Full 4-phase implementation plan documented in PROJECT.md