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
81794c4a5e
docs: bump to v0.0.3 — Phase 2 monitoring models
2026-05-10 19:41:22 -05:00
Ripley
f4b7e992ad
feat: Phase 2 monitoring models — 7 new tables with CASCADE and composite indexes
...
- Add monitoring.py: CostSnapshot, CronJobStatus, SessionEvent, SubAgentRun, SystemHealthMetric
- Add alert_rules.py: AlertRule, AlertEvent
- Register all 7 models in __init__.py
- Add Alembic migration 7a8b9c0d1e2f for 7 new monitoring tables
- Add Alembic migration 8f9a0b1c2d3e for CASCADE FK rules, composite indexes, acknowledged_by FK
- Update env.py for transaction-per-migration to avoid failure chaining
- Security: ondelete CASCADE on all org/gateway FKs, SET NULL on acknowledged_by
- Performance: composite indexes on (org_id, created_at) and (org_id, gateway_id) for all monitoring tables
2026-05-10 19:40:25 -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
a32a38f082
docs: update VERSION.md and HISTORY.md for v0.0.2 - base platform running
2026-05-10 11:15:30 -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