Alexander Payne
d8d976aa60
feat: complete Event Log, Ledger, Memory, Cascade Router, Upgrade Queue, Activity Feed
This commit implements six major features:
1. Event Log System (src/swarm/event_log.py)
- SQLite-based audit trail for all swarm events
- Task lifecycle tracking (created, assigned, completed, failed)
- Agent lifecycle tracking (joined, left, status changes)
- Integrated with coordinator for automatic logging
- Dashboard page at /swarm/events
2. Lightning Ledger (src/lightning/ledger.py)
- Transaction tracking for Lightning Network payments
- Balance calculations (incoming, outgoing, net, available)
- Integrated with payment_handler for automatic logging
- Dashboard page at /lightning/ledger
3. Semantic Memory / Vector Store (src/memory/vector_store.py)
- Embedding-based similarity search for Echo agent
- Fallback to keyword matching if sentence-transformers unavailable
- Personal facts storage and retrieval
- Dashboard page at /memory
4. Cascade Router Integration (src/timmy/cascade_adapter.py)
- Automatic LLM failover between providers (Ollama → AirLLM → API)
- Circuit breaker pattern for failing providers
- Metrics tracking per provider (latency, error rates)
- Dashboard status page at /router/status
5. Self-Upgrade Approval Queue (src/upgrades/)
- State machine for self-modifications: proposed → approved/rejected → applied/failed
- Human approval required before applying changes
- Git integration for branch management
- Dashboard queue at /self-modify/queue
6. Real-Time Activity Feed (src/events/broadcaster.py)
- WebSocket-based live activity streaming
- Bridges event_log to dashboard clients
- Activity panel on /swarm/live
Tests:
- 101 unit tests passing
- 4 new E2E test files for Selenium testing
- Run with: SELENIUM_UI=1 pytest tests/functional/ -v --headed
Documentation:
- 6 ADRs (017-022) documenting architecture decisions
- Implementation summary in docs/IMPLEMENTATION_SUMMARY.md
- Architecture diagram in docs/architecture-v2.md
2026-02-26 08:01:01 -05:00
..
2026-02-24 16:48:14 +00:00
2026-02-26 08:01:01 -05:00
2026-02-19 19:05:01 +00:00
2026-02-25 07:57:28 -05:00
2026-02-24 23:36:50 +00:00
2026-02-21 12:57:38 -05:00
2026-02-25 18:17:43 -05:00
2026-02-22 14:04:20 +00:00
2026-02-24 16:48:14 +00:00
2026-02-24 16:31:47 +00:00
2026-02-21 16:53:16 +00:00
2026-02-22 14:04:20 +00:00
2026-02-25 01:11:14 +00:00
2026-02-24 18:29:21 +00:00
2026-02-24 18:29:21 +00:00
2026-02-24 16:31:47 +00:00
2026-02-24 16:31:47 +00:00
2026-02-24 16:31:47 +00:00
2026-02-22 16:21:32 -05:00
2026-02-25 01:11:14 +00:00
2026-02-22 19:01:04 -05:00
2026-02-24 23:36:50 +00:00
2026-02-26 08:01:01 -05:00
2026-02-25 20:22:51 -05:00
2026-02-25 20:22:51 -05:00
2026-02-24 16:31:47 +00:00
2026-02-24 16:31:47 +00:00
2026-02-25 20:22:51 -05:00
2026-02-21 12:57:38 -05:00
2026-02-21 12:57:38 -05:00
2026-02-22 22:04:37 +00:00
2026-02-26 08:01:01 -05:00
2026-02-22 20:20:11 -05:00
2026-02-24 23:36:50 +00:00
2026-02-25 19:59:42 -05:00
2026-02-25 19:59:42 -05:00
2026-02-22 20:48:14 -05:00
2026-02-22 16:21:32 -05:00
2026-02-24 16:31:47 +00:00
2026-02-24 16:48:14 +00:00
2026-02-21 12:57:38 -05:00
2026-02-19 19:05:01 +00:00
2026-02-25 19:43:43 -05:00
2026-02-25 19:43:43 -05:00
2026-02-24 23:36:50 +00:00
2026-02-25 18:07:44 -05:00
2026-02-24 12:58:19 -05:00
2026-02-25 17:23:47 -05:00
2026-02-21 12:57:38 -05:00
2026-02-24 16:31:47 +00:00
2026-02-24 15:51:15 +00:00
2026-02-25 17:28:41 -05:00
2026-02-24 18:29:21 +00:00
2026-02-24 22:25:04 +00:00
2026-02-21 12:57:38 -05:00
2026-02-24 16:31:47 +00:00
2026-02-22 16:21:32 -05:00
2026-02-25 07:20:56 -05:00
2026-02-22 20:20:11 -05:00
2026-02-22 12:21:50 +00:00
2026-02-21 12:57:38 -05:00
2026-02-22 17:16:12 +00:00
2026-02-24 17:18:29 +00:00
2026-02-22 19:01:04 -05:00
2026-02-24 23:36:50 +00:00
2026-02-22 20:33:26 -05:00
2026-02-26 08:01:01 -05:00
2026-02-24 16:31:47 +00:00
2026-02-21 13:45:24 -05:00
2026-02-21 12:57:38 -05:00
2026-02-24 23:36:50 +00:00
2026-02-24 23:36:50 +00:00
2026-02-21 16:36:56 +00:00
2026-02-25 07:57:28 -05:00
2026-02-25 07:57:28 -05:00
2026-02-25 02:08:02 -05:00