Ripley
3719ab42b4
feat: add cost-summary and cost-breakdown monitoring endpoints
...
- CostSummaryRead schema + GET /monitoring/cost-summary (latest snapshot per gateway)
- CostBreakdownRead schema + GET /monitoring/cost-breakdown (models ranked by cost with %)
- Both endpoints support ?gateway_id= filtering and org-scoping
- Updated FUTURE.md: dashboard logic port and WebSocket marked done, remaining 5 summary endpoints queued
2026-05-10 22:38:41 -05:00
Ripley
22bc6bc36e
docs: update FUTURE.md and MEMORY.md for monitoring API endpoints
2026-05-10 20:45:23 -05:00
Ripley
3140dac7cd
docs: update VERSION, HISTORY, FUTURE for v0.0.4 — gateway collector complete
2026-05-10 20:15:31 -05:00
Ripley
d09822a821
feat: add gateway data collection service + fix model FK definitions
...
- Created src/backend/app/services/monitoring/ package:
- gateway_collector.py: Background asyncio task that polls gateway RPC endpoints
(usage.cost, usage.status, cron.list, sessions.list/preview, health, status)
and stores results in monitoring models using upsert pattern
- models.py: Pydantic schemas for parsing gateway RPC responses
- __init__.py: Package init, exports GatewayCollectorService
- Added collector startup/shutdown in main.py lifespan:
- Launches collector as background task when gateways exist
- Clean shutdown on app termination
- Fixed model FK definitions in monitoring.py and alert_rules.py:
- Replaced Column(UUID, ForeignKey(...)) with Field(foreign_key=...)
to match codebase pattern (UUID is Python class, not SQLAlchemy type)
- Added missing gateway_id field to AlertRule model
- Removed OpenClawDBService inheritance from GatewayCollectorService
(uses session factory pattern instead of injected session)
- Cleaned up duplicate/conflicting imports
- Configurable collection intervals via env vars:
COLLECTION_INTERVAL_COST (300s), COLLECTION_INTERVAL_CRON (60s),
COLLECTION_INTERVAL_SESSION (30s), COLLECTION_INTERVAL_HEALTH (60s)
2026-05-10 20:13:16 -05:00
Ripley
d1719ab394
docs: update STRUCTURE.md with full agent structure, pipeline, dispatch protocol
...
- Added complete agent role definitions (Prime, Ripley, Neo, Scarlett, Bishop, Private_Hudson)
- Added development pipeline: Neo → Bishop → Private_Hudson → Ripley
- Added agent dispatch protocol with context block template
- Added Docker setup documentation (ports, auth mode, test procedure)
- Added universal mandate and tech stack compliance checklist
- Updated FUTURE.md: marked Phase 1 CRITICAL as done (was already complete)
- Added Engineering Reference Manual as LOW priority with explicit user initiation note
- Updated DEVELOPMENT_LOG.md with completed work entries
2026-05-10 18:14:26 -05:00
Ripley
9aee2e41e8
feat: initial project setup - base platform forked and running
...
- Copied base platform (Python/FastAPI backend + Next.js frontend)
- Adapted Dockerfile for src/ layout, fixed scripts paths for worker
- Created compose.yml with local dev configuration
- Auth mode: local (token-based)
- Ports: backend 8080, frontend 3080 (avoiding conflicts)
- All 4 services running: db, redis, backend, frontend, webhook-worker
- 97 API endpoints verified operational
- Database migrations auto-applied
- Git repo initialized on main branch
2026-05-10 11:14:55 -05:00