salior/docs/changelog/CHANGELOG.md

3.9 KiB

Changelog

All notable changes to Salior are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.4.0] — 2026-05-11

Added

  • Hooks event system (salior/hooks/)

    • hooks/registry.pyHookRegistry with on() / off() / emit() and global instance
    • Built-in events: on_signal, on_fill, on_execution, on_error, on_risk_breach, on_agent_health
    • HookEvent dataclass: name, data, timestamp, source
  • Scheduler (salior/scheduler.py)

    • Scheduler — run multiple async tasks on independent fixed intervals
    • IntervalTask — wraps a coroutine, runs on a loop_interval, handles timeouts
    • schedule(name, coro, interval) to register tasks
  • Telegram bot (salior/telegram_bot.py)

    • TelegramBot — poll-based bot with /start, /status, /signals, /pnl, /help commands
    • Hook integration: fires alerts on on_fill, on_risk_breach, on_error
    • Chat IDs stored in ~/.salior/telegram_chats.txt
    • emit_signal(), emit_fill(), emit_risk_breach() helpers for agents
  • CLI groups fully wired (salior/cli.py)

    • salior agent [list|start] — agent management
    • salior dashboard serve — web dashboard
    • salior mcp serve — MCP server
    • salior daemon [start|stop|status] — PID-file daemon
    • salior telegram serve — Telegram bot
    • salior compute [list|add|remove|ping|deploy] — node management
    • salior plugin [list|enable|disable] — plugin management
    • salior skill [list|show] — skill management
    • salior hook [list|fire] — hook event system
    • salior status --verbose — nodes + plugins summary
  • Compute status module (salior/compute/status.py)

    • full_status() — nodes + plugins overview
    • node_status(name) — per-node detail

Changed

  • agent start remains: data + signal + exec + risk
  • compute/__init__.py now exports Node, NodeManager, deploy_plugin, status_plugin, full_status, node_status

Known Limitations

  • exec_agent is a stub for live trading — requires HL API wallet private key (secp256k1 ECDSA)
  • place_order MCP tool requires wallet approval flow (frontend not wired yet)
  • Telegram bot requires TELEGRAM_BOT_TOKEN env var
  • Risk agent position sizing needs total portfolio value from DB to be fully functional

[0.3.0] — 2026-05-11

Added

  • Dashboard web UI (salior/dashboard/)

    • dashboard/server.py — aiohttp server (salior dashboard serve)
    • dashboard/templates/index.html — Dark-themed trading dashboard (wallet bar, signal feed, portfolio, order form, agent health)
    • dashboard/static/app.js — Vanilla JS wallet connect + live data polling (30s signals, 10s agents)
    • dashboard/static/favicon.svg — SVG favicon
    • API endpoints: /api/portfolio, /api/signals, /api/performance, /api/wallet/connect, /api/wallet/session, /api/wallet/auth-message, /api/order
  • Compute orchestration (salior/compute/)

    • node_manager.py — Node registry (YAML at ~/.salior/nodes.yaml), SSH ping/run, GPU filtering
    • deploy.pydeploy_plugin() via rsync to remote nodes
  • Risk agent (salior/agents/risk/agent.py)

    • RiskAgent — position sizing, max drawdown check, max daily loss pause
    • pause() / resume() / is_paused() circuit breaker controls
  • Daemon (salior/daemon.py)

    • Daemon class — PID file at ~/.salior/run/<name>.pid, graceful SIGTERM/SIGINT handling
  • 6 skills (salior/skills/)

    • plan.md — task decomposition
    • test.md — red-green-refactor

[0.2.0] — 2026-05-11

Added

  • 4 built-in plugins (plugins/)
    • llm_batcher/, backtest_engine/, rl_trainer/, ml_predictor/

[0.1.0] — 2026-05-11

Added

  • Core skeleton, 3 agents, database layer, LLM client, skills, MCP server, plugin system, wallet connect, CLI