Commit Graph

7 Commits

Author SHA1 Message Date
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 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