salior/docs/skeleton-gap-analysis.md

101 lines
3.9 KiB
Markdown

# Salior Skeleton — Gap Analysis vs. Plan
## Plan v/s Implementation
### ✅ Implemented
| Plan Item | File | Status |
|-----------|------|--------|
| Config from env | `salior/core/config.py` | ✅ |
| structlog logging | `salior/core/logging.py` | ✅ |
| Long-term memory | `salior/core/memory.py` | ✅ |
| Base Agent class | `salior/core/agent.py` | ✅ |
| data_agent (HL WS) | `salior/agents/data/agent.py` | ✅ |
| signal_agent (regime) | `salior/agents/signal/agent.py` | ✅ |
| exec_agent (CLOB) | `salior/agents/exec/agent.py` | ✅ Stub — no real signing |
| risk_agent | `salior/agents/risk/agent.py` | ✅ |
| Schema (8 hypertables) | `salior/db/schema.sql` | ✅ |
| TimescaleDB client | `salior/db/timescale_client.py` | ✅ |
| Supabase client | `salior/db/supabase_client.py` | ✅ |
| LLM client | `salior/llm/client.py` | ✅ |
| 6 skills | `salior/skills/*.md` | ✅ |
| MCP server | `salior/mcp/server.py` | ✅ |
| Plugin registry | `salior/plugins/__init__.py` | ✅ |
| 4 built-in plugins | `plugins/*/` | ✅ |
| Wallet connect | `salior/wallet/connect.py` | ✅ |
| Dashboard | `salior/dashboard/` | ✅ |
| Compute node manager | `salior/compute/node_manager.py` | ✅ |
| Plugin deploy | `salior/compute/deploy.py` | ✅ |
| Daemon class | `salior/daemon.py` | ✅ No CLI integration |
### ❌ Missing / Incomplete
| Item | Priority | Why |
|------|----------|-----|
| **HL real wallet signing** | CRITICAL | exec_agent is a stub — can't place real orders |
| **Hooks event system** | HIGH | No on_signal / on_fill / on_error events |
| **Agent scheduler** | HIGH | No cron-like scheduling per agent |
| **Swarm/coordinator** | MEDIUM | No multi-agent orchestration |
| **Signal planner/validator** | MEDIUM | signal_agent is a single LLM call, no self-validation |
| **Telegram bot** | MEDIUM | No Telegram alerts or commands |
| **Daemon CLI** | MEDIUM | `daemon start/stop/status` not in cli.py |
| **Compute `add/remove` CLI** | MEDIUM | Can't register nodes via CLI |
| **`nodes.yaml` seeded** | LOW | VPS3 not pre-registered in node manager |
| **`compute/status.py`** | LOW | No per-node plugin status |
| **`hooks/` directory** | HIGH | Event hooks system entirely missing |
| **wallet/vault.py** | LOW | Renamed to connect.py (minor) |
| **Dashboard: real PnL data** | LOW | Performance endpoint is placeholder |
| **Dashboard: order signing flow** | LOW | Order requires wallet popup, backend not wired for tx signing |
| **Agent `__pycache__` in gitignore** | LOW | Some leaked into last commit |
---
## Priority Build Order
### 1. Hooks event system (HIGH)
on_signal → trigger other agents or webhooks
on_fill → update portfolio, notify
on_error → alert, pause agent
on_schedule → cron-like scheduling per agent
### 2. Agent scheduler (HIGH)
Decouple loop intervals per agent
data: continuous (WS-based, no loop)
signal: 60s
exec: 300s
risk: 30s
### 3. Telegram bot (MEDIUM)
`salior telegram serve` — bot commands + alerts
### 4. Daemon CLI integration (MEDIUM)
`salior daemon start/stop/status`
### 5. Compute add/remove node CLI (MEDIUM)
### 6. VPS3 pre-seeded in nodes.yaml (LOW)
Auto-discover local node on install
### 7. Signal planner + validator (MEDIUM)
Decompose regime detection, confidence scoring
---
## Skeleton Completeness Score
| Area | Score | Notes |
|------|-------|-------|
| Core | 8/10 | Missing scheduler, swarm, hooks |
| Agents | 7/10 | 4/5 built; exec signing stub |
| Database | 10/10 | Full schema + both clients |
| LLM | 10/10 | Routing + batch |
| Skills | 10/10 | 6/6 built |
| MCP | 10/10 | 5 tools |
| Dashboard | 8/10 | UI complete; order signing not wired |
| Compute | 8/10 | Node manager + deploy; no status.py |
| Plugins | 10/10 | 4/4 built |
| Wallet | 9/10 | EIP-4361 done; tx signing not wired |
| Daemon | 6/10 | Class done; no CLI integration |
| **Total** | **~85%** | |
**Remaining ~15%**: hooks system, scheduler, telegram bot, daemon CLI, node add/remove CLI, signal planner.