[
  {
    "id": 0,
    "ts": "2026-06-14T01:51:56.191",
    "level": "INFO",
    "logger": "__main__",
    "msg": "INFO [__main__] \u2705 Backtest desk registered at /backtest"
  },
  {
    "id": 1,
    "ts": "2026-06-14T01:51:56.191",
    "level": "INFO",
    "logger": "__main__",
    "msg": "INFO [__main__] \u2705 Agent system loaded (LLM-enhanced) \u2014 agents OFF by default, POST /api/agents/start to begin"
  },
  {
    "id": 2,
    "ts": "2026-06-14T01:51:56.192",
    "level": "INFO",
    "logger": "monitoring.trading_hours_manager",
    "msg": "INFO [monitoring.trading_hours_manager] Trading hours manager started (auto_start=True)"
  },
  {
    "id": 3,
    "ts": "2026-06-14T01:51:56.193",
    "level": "INFO",
    "logger": "__main__",
    "msg": "INFO [__main__] v7.0 Trading hours manager wired to orchestrator"
  },
  {
    "id": 4,
    "ts": "2026-06-14T01:51:56.193",
    "level": "INFO",
    "logger": "__main__",
    "msg": "INFO [__main__] v7.0 Cost controller wired to orchestrator"
  },
  {
    "id": 5,
    "ts": "2026-06-14T01:51:56.238",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total)"
  },
  {
    "id": 6,
    "ts": "2026-06-14T01:51:56.239",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcb5 Restored 2000 cash ledger entries"
  },
  {
    "id": 7,
    "ts": "2026-06-14T01:51:56.239",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcca Restored equity HWM: $11,854.42"
  },
  {
    "id": 8,
    "ts": "2026-06-14T01:51:56.240",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive)"
  },
  {
    "id": 9,
    "ts": "2026-06-14T01:51:56.241",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive)"
  },
  {
    "id": 10,
    "ts": "2026-06-14T01:51:56.241",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: kill_switch_enabled = False (mode=aggressive)"
  },
  {
    "id": 11,
    "ts": "2026-06-14T01:51:56.242",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive)"
  },
  {
    "id": 12,
    "ts": "2026-06-14T01:51:56.243",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive)"
  },
  {
    "id": 13,
    "ts": "2026-06-14T01:51:56.243",
    "level": "INFO",
    "logger": "__main__",
    "msg": "INFO [__main__] Serving via waitress on 0.0.0.0:5004 (24 threads)"
  },
  {
    "id": 14,
    "ts": "2026-06-14T01:51:56.243",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive)"
  },
  {
    "id": 15,
    "ts": "2026-06-14T01:51:56.244",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T01:51:54.427585)"
  },
  {
    "id": 16,
    "ts": "2026-06-14T01:51:56.255",
    "level": "INFO",
    "logger": "waitress",
    "msg": "INFO [waitress] Serving on http://0.0.0.0:5004"
  },
  {
    "id": 17,
    "ts": "2026-06-14T01:51:56.256",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] trade_db: opened /home/btd/.btd/trades.db"
  },
  {
    "id": 18,
    "ts": "2026-06-14T01:51:56.261",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \u2713 CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60"
  },
  {
    "id": 19,
    "ts": "2026-06-14T01:51:56.300",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] \ud83d\udcbe trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved)"
  },
  {
    "id": 20,
    "ts": "2026-06-14T01:51:56.307",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] Pool[tier1]: created with 8 workers"
  },
  {
    "id": 21,
    "ts": "2026-06-14T01:51:57.091",
    "level": "INFO",
    "logger": "monitoring.cost_controller",
    "msg": "INFO [monitoring.cost_controller] Cost controller: new day reset"
  },
  {
    "id": 22,
    "ts": "2026-06-14T01:51:57.131",
    "level": "INFO",
    "logger": "llm_client",
    "msg": "INFO [llm_client] \u2705 LLM: Claude Haiku configured (paid fallback)"
  },
  {
    "id": 23,
    "ts": "2026-06-14T01:51:58.003",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] PatternStore: loaded 2499 patterns"
  },
  {
    "id": 24,
    "ts": "2026-06-14T01:51:58.004",
    "level": "INFO",
    "logger": "agent_core",
    "msg": "INFO [agent_core] PatternStore: loaded 2499 patterns"
  },
  {
    "id": 25,
    "ts": "2026-06-14T01:51:58.841",
    "level": "WARNING",
    "logger": "agent_core",
    "msg": "WARNING [agent_core] MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace'"
  },
  {
    "id": 26,
    "ts": "2026-06-14T01:52:10.891",
    "level": "INFO",
    "logger": "agents.shared.alpaca_account_history",
    "msg": "INFO [agents.shared.alpaca_account_history] alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db"
  },
  {
    "id": 27,
    "ts": "2026-06-14T01:52:10.979",
    "level": "INFO",
    "logger": "agents.shared.alpaca_api_audit",
    "msg": "INFO [agents.shared.alpaca_api_audit] alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db"
  },
  {
    "id": 28,
    "ts": "2026-06-14T01:52:10.980",
    "level": "INFO",
    "logger": "agents.shared.trade_snapshots",
    "msg": "INFO [agents.shared.trade_snapshots] trade_snapshots: opened /home/btd/.btd/trade_snapshots.db"
  },
  {
    "id": 29,
    "ts": "2026-06-14T01:59:31.987",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 30,
    "ts": "2026-06-14T01:59:37.108",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.1s to build \u2014 refresh interval now 15s (dashboard serves cached copy in between)"
  },
  {
    "id": 31,
    "ts": "2026-06-14T02:00:57.431",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.5s to build \u2014 refresh interval now 16s (dashboard serves cached copy in between)"
  },
  {
    "id": 32,
    "ts": "2026-06-14T02:02:17.730",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.6s to build \u2014 refresh interval now 17s (dashboard serves cached copy in between)"
  },
  {
    "id": 33,
    "ts": "2026-06-14T02:03:32.117",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 34,
    "ts": "2026-06-14T02:03:32.120",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 2"
  },
  {
    "id": 35,
    "ts": "2026-06-14T02:03:32.120",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 3"
  },
  {
    "id": 36,
    "ts": "2026-06-14T02:03:37.508",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.4s to build \u2014 refresh interval now 16s (dashboard serves cached copy in between)"
  },
  {
    "id": 37,
    "ts": "2026-06-14T02:04:17.170",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.1s to build \u2014 refresh interval now 15s (dashboard serves cached copy in between)"
  },
  {
    "id": 38,
    "ts": "2026-06-14T02:04:58.117",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 6.1s to build \u2014 refresh interval now 18s (dashboard serves cached copy in between)"
  },
  {
    "id": 39,
    "ts": "2026-06-14T02:06:17.836",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.8s to build \u2014 refresh interval now 17s (dashboard serves cached copy in between)"
  },
  {
    "id": 40,
    "ts": "2026-06-14T02:06:52.057",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 41,
    "ts": "2026-06-14T02:06:52.060",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 2"
  },
  {
    "id": 42,
    "ts": "2026-06-14T02:07:32.078",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 43,
    "ts": "2026-06-14T02:07:32.091",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 44,
    "ts": "2026-06-14T02:07:32.092",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 2"
  },
  {
    "id": 45,
    "ts": "2026-06-14T02:07:32.092",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 3"
  },
  {
    "id": 46,
    "ts": "2026-06-14T02:07:32.092",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 4"
  },
  {
    "id": 47,
    "ts": "2026-06-14T02:07:37.601",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 5.5s to build \u2014 refresh interval now 17s (dashboard serves cached copy in between)"
  },
  {
    "id": 48,
    "ts": "2026-06-14T02:08:10.134",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 1"
  },
  {
    "id": 49,
    "ts": "2026-06-14T02:08:10.135",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 2"
  },
  {
    "id": 50,
    "ts": "2026-06-14T02:08:10.136",
    "level": "WARNING",
    "logger": "waitress.queue",
    "msg": "WARNING [waitress.queue] Task queue depth is 3"
  },
  {
    "id": 51,
    "ts": "2026-06-14T02:08:15.991",
    "level": "INFO",
    "logger": "routes.agents",
    "msg": "INFO [routes.agents] status payload took 8.4s to build \u2014 refresh interval now 25s (dashboard serves cached copy in between)"
  },
  {
    "id": 52,
    "ts": "2026-06-14T02:09:34.369",
    "level": "INFO",
    "logger": "waitress",
    "msg": "INFO [waitress] Client disconnected while serving /live-prices"
  },
  {
    "id": 53,
    "ts": "2026-06-14T02:29:34.257",
    "level": "INFO",
    "logger": "massive_client",
    "msg": "INFO [massive_client] \ud83d\udce1 Queued subscribe: ['DSY', 'UBXG', 'ASTN', 'BYAH', 'CAST', 'FRD', 'VSME']"
  },
  {
    "id": 54,
    "ts": "2026-06-14T02:55:23.791",
    "level": "INFO",
    "logger": "massive_client",
    "msg": "INFO [massive_client] \ud83d\udce1 Queued subscribe: ['SPY', 'QQQ', 'IWM']"
  }
]