2026-06-13T20:26:02+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:26:02,116 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T20:26:02+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:26:02,173 INFO massive_client: 📡 REST polling stopped (WebSocket recovered) 2026-06-13T20:26:30+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:26:30,552 INFO monitoring.websocket_health: WebSocket health restored (was disconnected) 2026-06-13T20:31:02+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:02,164 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:31:02+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:02,164 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:31:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:03,166 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:31:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:03,217 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:31:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:03,218 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:31:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:03,218 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:31:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:31:03,219 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T20:32:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:32:06,235 INFO routes.agents: status payload took 5.5s to build — refresh interval now 16s (dashboard serves cached copy in between) 2026-06-13T20:32:30+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:32:30,678 INFO waitress: Client disconnected while serving /live-prices 2026-06-13T20:36:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:03,670 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:36:03+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:03,671 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:36:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:04,672 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:36:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:04,727 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:36:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:04,728 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:36:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:04,728 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:36:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:36:04,728 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T20:41:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:04,777 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:41:04+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:04,778 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:41:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:05,779 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:41:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:05,831 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:41:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:05,832 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:41:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:05,833 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:41:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:41:05,833 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T20:46:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:05,881 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:46:05+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:05,881 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:46:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:06,883 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:46:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:06,929 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:46:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:06,930 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:46:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:06,930 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:46:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:46:06,930 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T20:51:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:06,965 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:51:06+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:06,965 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:51:07+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:07,967 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:51:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:08,014 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:51:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:08,015 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:51:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:08,015 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:51:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:51:08,015 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T20:56:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:08,064 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T20:56:08+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:08,064 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T20:56:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:09,065 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T20:56:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:09,114 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T20:56:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:09,115 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T20:56:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:09,115 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T20:56:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 20:56:09,115 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:01:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:09,163 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:01:09+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:09,163 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:01:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:10,164 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:01:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:10,214 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:01:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:10,214 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:01:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:10,215 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:01:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:01:10,215 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:06:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:10,283 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:06:10+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:10,284 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:06:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:11,285 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:06:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:11,330 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:06:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:11,331 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:06:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:11,331 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:06:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:06:11,331 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:11:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:11,378 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:11:11+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:11,379 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:11:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:12,380 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:11:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:12,438 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:11:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:12,451 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:11:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:12,452 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:11:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:11:12,453 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:16:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:12,500 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:16:12+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:12,500 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:16:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:13,501 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:16:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:13,548 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:16:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:13,548 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:16:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:13,549 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:16:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:16:13,549 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:21:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:13,587 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:21:13+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:13,587 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:21:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:14,589 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:21:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:14,632 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:21:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:14,633 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:21:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:14,633 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:21:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:21:14,633 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:26:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:14,673 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:26:14+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:14,674 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:26:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:15,675 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:26:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:15,728 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:26:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:15,729 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:26:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:15,729 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:26:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:26:15,729 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:31:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:15,770 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:31:15+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:15,771 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:31:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:16,772 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:31:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:16,816 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:31:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:16,817 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:31:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:16,817 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:31:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:31:16,817 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:36:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:16,862 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:36:16+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:16,863 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:36:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:17,864 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:36:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:17,909 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:36:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:17,910 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:36:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:17,910 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:36:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:36:17,910 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:41:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:17,953 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:41:17+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:17,953 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:41:18+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:18,955 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:41:18+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:18,998 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:41:18+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:18,998 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:41:18+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:18,998 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:41:18+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:41:18,998 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:46:19+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:19,041 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:46:19+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:19,042 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:46:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:20,043 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:46:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:20,088 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:46:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:20,089 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:46:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:20,089 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:46:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:46:20,089 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:51:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:20,127 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:51:20+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:20,127 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:51:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:21,128 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:51:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:21,176 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:51:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:21,177 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:51:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:21,177 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:51:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:51:21,177 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T21:56:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:21,213 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T21:56:21+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:21,213 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T21:56:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:22,214 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T21:56:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:22,257 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T21:56:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:22,257 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T21:56:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:22,257 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T21:56:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 21:56:22,258 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:01:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:22,298 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:01:22+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:22,298 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:01:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:23,300 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:01:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:23,354 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:01:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:23,354 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:01:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:23,355 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:01:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:01:23,355 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:06:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:23,417 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:06:23+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:23,418 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:06:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:24,419 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:06:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:24,477 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:06:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:24,477 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:06:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:24,478 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:06:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:06:24,478 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:11:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:24,523 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:11:24+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:24,523 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:11:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:25,524 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:11:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:25,570 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:11:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:25,570 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:11:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:25,570 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:11:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:11:25,570 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:16:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:25,607 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:16:25+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:25,607 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:16:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:26,609 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:16:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:26,656 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:16:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:26,657 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:16:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:26,657 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:16:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:16:26,657 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:21:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:26,703 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:21:26+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:26,704 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:21:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:27,705 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:21:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:27,748 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:21:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:27,749 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:21:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:27,749 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:21:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:21:27,749 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:26:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:27,790 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:26:27+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:27,790 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:26:28+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:28,792 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:26:28+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:28,845 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:26:28+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:28,846 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:26:28+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:28,846 INFO massive_client: 📡 Subscribed [7]: VSME, FRD, BYAH, DSY, ASTN, UBXG, CAST 2026-06-13T22:26:28+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:26:28,846 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:28:58,399 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 1060.0 min) 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:28:58,571 INFO __main__: ✅ State flushed (orch idle) 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:28:58,579 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:28:58,579 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13 22:28:58,580 INFO __main__: 👋 ClawdBot shutdown complete (was running 1060.0 min) 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Agent Status: GET /api/agents/status ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ Session-Aware Everything ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ OHLCV System Offline ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-13T22:28:58+00:00 BTD-TRADING-DESK btd[309727]: 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 10min 50.353s CPU time. 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,799 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,799 INFO __main__: Massive client started in background (live data mode) 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,814 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,815 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,815 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-13T22:28:59+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:28:59,831 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 1)... 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,066 INFO massive_client: ✅ Massive: WebSocket CONNECTED 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,070 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,079 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,109 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,109 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,110 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,110 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,110 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,155 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,156 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,156 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,157 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,157 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,158 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,158 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,159 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,159 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,160 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,160 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-13T22:28:58.405672) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,169 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,172 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,176 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,219 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-13T22:29:00+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:00,228 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-13T22:29:01+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:01,050 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-13T22:29:01+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:01,089 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-13T22:29:02+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:02,968 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-13T22:29:29+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:29:29,815 INFO monitoring.websocket_health: WebSocket health restored (was disconnected) 2026-06-13T22:45:46+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:46,149 INFO massive_client: 📡 Queued subscribe: ['BYAH', 'FRD', 'VSME', 'ASTN', 'UBXG', 'DSY', 'CAST'] 2026-06-13T22:45:46+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:46,452 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:45:46+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:46,453 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,454 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,499 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,499 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,500 INFO massive_client: 📡 Subscribed [7]: VSME, UBXG, DSY, BYAH, FRD, ASTN, CAST 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,501 WARNING __main__: 🔄 WS reconnect — flushed 22 api + 0 bars cache entries 2026-06-13T22:45:47+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:47,501 INFO massive_client: 📡 Subscribed [7]: BYAH, FRD, VSME, ASTN, UBXG, DSY, CAST 2026-06-13T22:45:50+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:50,053 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-13T22:45:50+00:00 BTD-TRADING-DESK btd[327813]: /home/btd/BTD_Trading_Desk/clawdbot_server.py:5981: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 2026-06-13T22:45:50+00:00 BTD-TRADING-DESK btd[327813]: cutoff = datetime.utcnow() - timedelta(hours=max_age_hours) 2026-06-13T22:45:50+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:50,508 INFO massive_client: 📡 Subscribed [3]: SPY, QQQ, IWM 2026-06-13T22:45:52+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:52,241 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-13T22:45:52+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:52,247 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-13T22:45:52+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:45:52,301 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-13T22:46:30+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:46:30,631 INFO waitress: Client disconnected while serving /live-prices 2026-06-13T22:50:34+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:34,438 WARNING routes._agents_portfolio: 🩹 CANONICAL RESTORE: seed=$10000.00, anchor=0, trade_db_pnl=$-632.40, open_cb=$0.00, open_partial=$+0.00 → cash=$9367.60, divergence=$+0.00. Before: cash=$9367.60, initial=$10000.00, anchor=0. 2026-06-13T22:50:50+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:50,863 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:50:50+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:50,863 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,009 INFO waitress: Client disconnected while serving /live-prices 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,865 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,907 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,907 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,907 INFO massive_client: 📡 Subscribed [10]: VSME, QQQ, UBXG, SPY, DSY, BYAH, FRD, ASTN, IWM, CAST 2026-06-13T22:50:51+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:50:51,908 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T22:55:52+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:52,252 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T22:55:52+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:52,252 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T22:55:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:53,254 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T22:55:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:53,306 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T22:55:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:53,307 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T22:55:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:53,307 INFO massive_client: 📡 Subscribed [10]: VSME, QQQ, UBXG, SPY, DSY, BYAH, FRD, ASTN, IWM, CAST 2026-06-13T22:55:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 22:55:53,307 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T23:00:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:53,679 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T23:00:53+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:53,680 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T23:00:54+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:54,681 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T23:00:54+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:54,725 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T23:00:54+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:54,725 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T23:00:54+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:54,726 INFO massive_client: 📡 Subscribed [10]: VSME, QQQ, UBXG, SPY, DSY, BYAH, FRD, ASTN, IWM, CAST 2026-06-13T23:00:54+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:00:54,726 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T23:05:55+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:55,039 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T23:05:55+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:55,039 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T23:05:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:56,040 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T23:05:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:56,083 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T23:05:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:56,084 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T23:05:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:56,084 INFO massive_client: 📡 Subscribed [10]: VSME, QQQ, UBXG, SPY, DSY, BYAH, FRD, ASTN, IWM, CAST 2026-06-13T23:05:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:05:56,084 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T23:10:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:56,145 WARNING massive_client: 📡 Massive: WebSocket closed with error: no close frame received or sent 2026-06-13T23:10:56+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:56,145 INFO massive_client: 📡 Massive: Reconnecting in 1s (attempt 1)... 2026-06-13T23:10:57+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:57,147 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 2)... 2026-06-13T23:10:57+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:57,199 INFO massive_client: ✅ Massive: WebSocket RECONNECTED (after 1 attempts) 2026-06-13T23:10:57+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:57,199 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T23:10:57+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:57,200 INFO massive_client: 📡 Subscribed [10]: VSME, QQQ, UBXG, SPY, DSY, BYAH, FRD, ASTN, IWM, CAST 2026-06-13T23:10:57+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:10:57,200 WARNING __main__: 🔄 WS reconnect — flushed 1 api + 0 bars cache entries 2026-06-13T23:14:08+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-13T23:14:08+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:14:08,865 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 45.2 min) 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:14:09,057 INFO __main__: ✅ State flushed (orch idle) 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:14:09,064 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:14:09,065 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13 23:14:09,065 INFO __main__: 👋 ClawdBot shutdown complete (was running 45.2 min) 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Agent Status: GET /api/agents/status ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ Session-Aware Everything ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ OHLCV System Offline ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK btd[327813]: 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 5min 5.405s CPU time. 2026-06-13T23:14:09+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,432 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,432 INFO __main__: Massive client started in background (live data mode) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,457 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,458 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,458 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,471 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 1)... 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,736 INFO massive_client: ✅ Massive: WebSocket CONNECTED 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,746 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,746 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,774 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,775 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,775 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,775 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,776 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,821 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,822 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,822 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,823 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,823 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,824 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,824 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,824 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,824 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,824 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-13T23:14:08.868353) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,831 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,835 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,839 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,842 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,881 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-13T23:14:10+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:10,889 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-13T23:14:11+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:11,550 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-13T23:14:11+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:11,595 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-13T23:14:15+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:15,661 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-13T23:14:20+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:20,479 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-13T23:14:20+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:20,492 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-13T23:14:40+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:40,458 INFO monitoring.websocket_health: WebSocket health restored (was disconnected) 2026-06-13T23:14:49+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:14:49,106 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-13T23:23:28+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:23:28,000 WARNING routes._agents_portfolio: 🩹 CANONICAL RESTORE: seed=$10000.00, anchor=0, trade_db_pnl=$-632.40, open_cb=$0.00, open_partial=$+0.00 → cash=$9367.60, divergence=$+0.00. Before: cash=$9367.60, initial=$10000.00, anchor=0. 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:43:19,455 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 29.2 min) 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:43:19,614 INFO __main__: ✅ State flushed (orch idle) 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:43:19,615 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:43:19,615 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13 23:43:19,615 INFO __main__: 👋 ClawdBot shutdown complete (was running 29.2 min) 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Agent Status: GET /api/agents/status ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ Session-Aware Everything ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ OHLCV System Offline ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-13T23:43:19+00:00 BTD-TRADING-DESK btd[328772]: 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 5min 7.833s CPU time. 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,916 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,916 INFO __main__: Massive client started in background (live data mode) 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,934 INFO massive_client: 📡 Massive: Connecting to Polygon WebSocket (attempt 1)... 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,934 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,934 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-13T23:43:20+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:20,935 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,190 INFO massive_client: ✅ Massive: WebSocket CONNECTED 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,201 INFO massive_client: 📡 Auth response: [{"ev":"status","status":"connected","message":"Connected Successfully"}] 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,201 WARNING __main__: 🔄 WS reconnect — flushed 0 api + 0 bars cache entries 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,231 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,232 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,232 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,232 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,233 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,275 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,276 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,276 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,276 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,277 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,277 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,278 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,278 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,279 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,279 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,280 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-13T23:43:19.456337) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,288 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,290 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,295 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,335 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,342 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-13T23:43:21+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:21,812 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-13T23:43:22+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:22,119 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-13T23:43:25+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:25,964 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-13T23:43:46+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:46,674 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-13T23:43:46+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:46,713 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-13T23:43:50+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:43:50,935 INFO monitoring.websocket_health: WebSocket health restored (was disconnected) 2026-06-13T23:44:16+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:44:16,610 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-13T23:57:34+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-13 23:57:34,596 INFO agent_core: PatternStore: backfilled 2499 patterns from trade history 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14 00:06:09,469 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 22.8 min) 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14 00:06:09,636 INFO __main__: ✅ State flushed (orch idle) 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14 00:06:09,638 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14 00:06:09,638 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14 00:06:09,638 INFO __main__: 👋 ClawdBot shutdown complete (was running 22.8 min) 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Agent Status: GET /api/agents/status ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ Session-Aware Everything ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ OHLCV System Offline ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-14T00:06:09+00:00 BTD-TRADING-DESK btd[329598]: 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 3min 56.654s CPU time. 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,963 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,963 INFO __main__: Massive client started in background (live data mode) 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,984 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,984 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,985 INFO massive_client: 📡 REST polling started (degraded mode) 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,985 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-14T00:06:10+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:10,985 INFO massive_client: 🌙 Massive: off-hours quiet mode — REST polling, WS connection deferred until trading hours start 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,253 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,253 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,255 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,255 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,255 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,315 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,316 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,317 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,318 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,319 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T00:06:09.472939) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,328 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,334 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,341 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,347 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,399 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-14T00:06:11+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:11,409 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-14T00:06:12+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:12,155 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-14T00:06:12+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:12,191 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-14T00:06:13+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:13,065 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:06:13+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:13,081 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:06:13+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:06:13,914 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-14T00:08:49+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:08:49,634 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-14T00:08:49+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:08:49,923 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-14T00:08:50+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:08:50,079 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:20:19,444 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 14.1 min) 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:20:19,614 INFO __main__: ✅ State flushed (orch idle) 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:20:19,616 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:20:19,616 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14 00:20:19,616 INFO __main__: 👋 ClawdBot shutdown complete (was running 14.1 min) 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Agent Status: GET /api/agents/status ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ Session-Aware Everything ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ OHLCV System Offline ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-14T00:20:19+00:00 BTD-TRADING-DESK btd[330140]: 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 2min 2.104s CPU time. 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,882 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,883 INFO __main__: Massive client started in background (live data mode) 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,899 INFO massive_client: 📡 REST polling started (degraded mode) 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,901 INFO massive_client: 🌙 Massive: off-hours quiet mode — REST polling, WS connection deferred until trading hours start 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,902 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,902 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-14T00:20:20+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:20,902 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,184 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,184 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,185 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,185 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,185 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,240 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,241 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,242 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,242 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,243 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,244 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,244 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,244 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,245 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,246 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,246 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T00:20:19.448973) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,255 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,259 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,263 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,305 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-14T00:20:21+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:21,313 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-14T00:20:22+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:22,077 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-14T00:20:22+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:22,116 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-14T00:20:23+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:23,055 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:20:23+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:23,056 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:20:23+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:23,815 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-14T00:20:23+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:23,897 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-14T00:20:24+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:24,089 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-14T00:20:53+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:20:53,649 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-14T00:26:35+00:00 BTD-TRADING-DESK systemd[1]: /etc/systemd/system/btd.service:28: Unknown key name 'StartLimitIntervalSec' in section 'Service', ignoring. 2026-06-14T00:26:38+00:00 BTD-TRADING-DESK systemd[1]: /etc/systemd/system/btd.service:28: Unknown key name 'StartLimitIntervalSec' in section 'Service', ignoring. 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:26:40,790 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 6.3 min) 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:26:40,963 INFO __main__: ✅ State flushed (orch idle) 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:26:40,965 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:26:40,965 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14 00:26:40,965 INFO __main__: 👋 ClawdBot shutdown complete (was running 6.3 min) 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Agent Status: GET /api/agents/status ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ Session-Aware Everything ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ OHLCV System Offline ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-14T00:26:40+00:00 BTD-TRADING-DESK btd[330525]: 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 1min 18.454s CPU time, 1022.6M memory peak, 0B memory swap peak. 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,810 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,811 INFO __main__: Massive client started in background (live data mode) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,813 INFO massive_client: 📡 REST polling started (degraded mode) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,813 INFO massive_client: 🌙 Massive: off-hours quiet mode — REST polling, WS connection deferred until trading hours start 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,814 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,814 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,815 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,906 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,906 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,907 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,907 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,907 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,964 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,965 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,965 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,966 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,966 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,967 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,967 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,968 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,968 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,968 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T00:26:40.794225) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,969 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,980 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,980 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-14T00:26:41+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:41,986 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-14T00:26:42+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:42,018 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-14T00:26:42+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:26:42,021 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-14T00:27:01+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:01,393 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-14T00:27:01+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:01,574 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-14T00:27:01+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:01,624 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-14T00:27:06+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:06,333 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-14T00:27:08+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:08,046 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:27:08+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:08,063 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:27:09+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:27:09,867 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-14T00:28:29+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:28:29,441 INFO massive_client: 📡 Queued subscribe: ['CAST', 'UBXG', 'FRD', 'BYAH', 'VSME', 'ASTN', 'DSY'] 2026-06-14T00:29:22+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:29:22,701 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-14T00:29:22+00:00 BTD-TRADING-DESK btd[331968]: /home/btd/BTD_Trading_Desk/clawdbot_server.py:5981: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 2026-06-14T00:29:22+00:00 BTD-TRADING-DESK btd[331968]: cutoff = datetime.utcnow() - timedelta(hours=max_age_hours) 2026-06-14T00:29:39+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:29:39,884 INFO massive_client: 📡 Queued unsubscribe: ['IWM', 'SPY', 'QQQ'] 2026-06-14T00:29:44+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:29:44,806 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-14T00:30:40+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:30:40,208 INFO massive_client: 📡 Queued unsubscribe: ['IWM', 'SPY', 'QQQ'] 2026-06-14T00:36:35+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:36:35,280 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-14T00:36:35+00:00 BTD-TRADING-DESK btd[331968]: /home/btd/BTD_Trading_Desk/clawdbot_server.py:5981: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 2026-06-14T00:36:35+00:00 BTD-TRADING-DESK btd[331968]: cutoff = datetime.utcnow() - timedelta(hours=max_age_hours) 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:45:04,652 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 18.4 min) 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:45:04,826 INFO __main__: ✅ State flushed (orch idle) 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:45:04,834 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:45:04,834 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14 00:45:04,834 INFO __main__: 👋 ClawdBot shutdown complete (was running 18.4 min) 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Agent Status: GET /api/agents/status ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ Session-Aware Everything ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ OHLCV System Offline ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-14T00:45:04+00:00 BTD-TRADING-DESK btd[331968]: 2026-06-14T00:45:05+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-14T00:45:05+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:45:05+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 3min 4.574s CPU time. 2026-06-14T00:45:05+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,212 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,212 INFO __main__: Massive client started in background (live data mode) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,232 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,233 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,233 INFO massive_client: 📡 REST polling started (degraded mode) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,233 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,237 INFO massive_client: 🌙 Massive: off-hours quiet mode — REST polling, WS connection deferred until trading hours start 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,492 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,493 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,493 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,494 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,494 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,540 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,541 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,542 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,542 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,543 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,543 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,544 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,545 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,546 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,547 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,547 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T00:45:04.656707) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,555 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,561 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,566 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,604 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-14T00:45:06+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:06,612 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-14T00:45:07+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:07,394 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-14T00:45:07+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:07,436 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-14T00:45:08+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:08,381 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:45:08+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:08,382 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T00:45:09+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:45:09,322 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-14T00:55:57+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:55:57,029 INFO massive_client: 📡 Queued subscribe: ['FRD', 'DSY', 'CAST', 'ASTN', 'BYAH', 'VSME', 'UBXG'] 2026-06-14T00:56:01+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:56:01,760 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-14T00:56:01+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 00:56:01,762 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-14T01:35:10+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:35:10,930 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-14T01:37:59+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:37:59,743 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-14T01:38:00+00:00 BTD-TRADING-DESK btd[332536]: /home/btd/BTD_Trading_Desk/clawdbot_server.py:5981: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 2026-06-14T01:38:00+00:00 BTD-TRADING-DESK btd[332536]: cutoff = datetime.utcnow() - timedelta(hours=max_age_hours) 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:51:54,423 WARNING __main__: ⚠️ Received SIGTERM — graceful shutdown (uptime: 66.8 min) 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK systemd[1]: Stopping btd.service - BTD Trading Desk — Flask server + agent orchestrator... 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:51:54,586 INFO __main__: ✅ State flushed (orch idle) 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:51:54,593 INFO monitoring.websocket_health: WebSocket health monitor stopped 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:51:54,593 INFO __main__: ✅ Monitoring subsystems stopped 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14 01:51:54,593 INFO __main__: 👋 ClawdBot shutdown complete (was running 66.8 min) 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ╔════════════════════════════════════════════════════════════════╗ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ CLAWDBOT v7.0 — Multi-Agent Market Intelligence ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 🏦 Cash Account Mode (T+1 Settlement) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Dashboard: http://0.0.0.0:5004/dashboard ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Ticker Page: http://0.0.0.0:5004/ticker/AAPL ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Agent Desk: http://0.0.0.0:5004/agents ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Health Check: http://0.0.0.0:5004/health ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Monitoring: http://0.0.0.0:5004/api/monitoring/status ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Agent Status: GET /api/agents/status ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Agent Alerts: GET /api/agents/alerts ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Trade Ideas: GET /api/agents/ideas ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Agent Watchlist: GET /api/agents/watchlist ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Risk Diagnostic: GET /api/agents/risk-diagnostic ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ Force Cycle: POST /api/agents/force-cycle ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ v7.0 MONITORING ENDPOINTS: ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ GET /api/monitoring/status — Full system status ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ GET /api/monitoring/costs — Cost breakdown ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ GET /api/monitoring/trading-hours — Session status ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ GET /api/monitoring/websocket-health — WS health details ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ POST /api/monitoring/trading-hours/override — Manual stop ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ POST /api/monitoring/costs/reset-emergency — Reset stop ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 🔍 SCOUT — Scans gainers for low float momentum (60s) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 📊 ANALYST — Deep dives: BTD, flow, news, SI (90s) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 👁️ SENTINEL — Monitors watchlist + positions (30s) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 🎯 STRATEGIST — Entry/exit levels, R:R (90s) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 🛡️ RISK — Position sizing, portfolio heat (30s) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ 💤 Agents OFF — POST /api/agents/start ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ Server-Side BTD 3-Stage Detector ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ CORS + ngrok Compatibility Headers ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ Session-Aware Everything ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ Cash Account T+1 Settlement ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ Position Sentinel (6-Layer Health Monitor) ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ Adaptive Token Efficiency ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ✅ 24/7 Monitoring Suite ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ OHLCV System Offline ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 🔌 PORT: 5004 | RELOADER: OFF ✅ | DEBUG: OFF ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ║ 💡 ngrok http 5004 ← expose this server to the internet ║ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: ╚════════════════════════════════════════════════════════════════╝ 2026-06-14T01:51:54+00:00 BTD-TRADING-DESK btd[332536]: 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Deactivated successfully. 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK systemd[1]: Stopped btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK systemd[1]: btd.service: Consumed 5min 10.299s CPU time. 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK systemd[1]: Started btd.service - BTD Trading Desk — Flask server + agent orchestrator. 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,900 INFO massive_client: 📡 Massive: WebSocket background thread started 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,900 INFO __main__: Massive client started in background (live data mode) 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,920 INFO massive_client: 📡 REST polling started (degraded mode) 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,922 INFO massive_client: 🌙 Massive: off-hours quiet mode — REST polling, WS connection deferred until trading hours start 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,923 INFO monitoring.websocket_health: WebSocket health monitor loop started 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,923 INFO monitoring.websocket_health: WebSocket health monitor started (interval=30s, stale=120s) 2026-06-14T01:51:55+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:55,923 INFO __main__: v7.0 Monitoring suite initialized (WS health + cost ctrl + trading hours) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,191 INFO __main__: ✅ Backtest desk registered at /backtest 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,191 INFO __main__: ✅ Agent system loaded (LLM-enhanced) — agents OFF by default, POST /api/agents/start to begin 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,192 INFO monitoring.trading_hours_manager: Trading hours manager started (auto_start=True) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,193 INFO __main__: v7.0 Trading hours manager wired to orchestrator 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,193 INFO __main__: v7.0 Cost controller wired to orchestrator 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,238 INFO agent_core: 💾 closed_trades spread-cost sanitized on load: 4 clamped, 0 backfilled (of 200 total) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,239 INFO agent_core: 💵 Restored 2000 cash ledger entries 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,239 INFO agent_core: 📊 Restored equity HWM: $11,854.42 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,240 INFO agent_core: 💾 Restored safety breaker: rapid_loss_breaker_enabled = True (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,241 INFO agent_core: 💾 Restored safety breaker: cooldown_breaker_enabled = True (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,241 INFO agent_core: 💾 Restored safety breaker: kill_switch_enabled = False (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,242 INFO agent_core: 💾 Restored safety breaker: ticker_rate_limit_enabled = True (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,243 INFO agent_core: 💾 Restored safety breaker: ticker_concentration_enabled = False (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,243 INFO __main__: Serving via waitress on 0.0.0.0:5004 (24 threads) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,243 INFO agent_core: 💾 Restored safety breaker: consecutive_loss_enabled = True (mode=aggressive) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,244 INFO agent_core: 💾 Agent state restored: cash=$9367.60, 0 positions, 200 trades, 0 watchlist, mode=aggressive (saved 2026-06-14T01:51:54.427585) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,255 INFO waitress: Serving on http://0.0.0.0:5004 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,256 INFO agent_core: trade_db: opened /home/btd/.btd/trades.db 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,261 INFO agent_core: ✓ CONSERVATION OK [startup_load]: drift=$+0.00 | cash=$9367.60 expected=$9367.60 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,300 INFO agent_core: 💾 trade_db hydrated: 200 closed_trades in memory (2499 total in SQLite, 0 JSON-only trades preserved) 2026-06-14T01:51:56+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:56,307 INFO agent_core: Pool[tier1]: created with 8 workers 2026-06-14T01:51:57+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:57,091 INFO monitoring.cost_controller: Cost controller: new day reset 2026-06-14T01:51:57+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:57,131 INFO llm_client: ✅ LLM: Claude Haiku configured (paid fallback) 2026-06-14T01:51:58+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:58,003 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T01:51:58+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:58,004 INFO agent_core: PatternStore: loaded 2499 patterns 2026-06-14T01:51:58+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:51:58,841 WARNING agent_core: MemPalace init failed: [Errno 30] Read-only file system: '/home/btd/.mempalace' 2026-06-14T01:52:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:52:10,891 INFO agents.shared.alpaca_account_history: alpaca_account_history: opened /home/btd/.btd/alpaca_account_history.db 2026-06-14T01:52:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:52:10,979 INFO agents.shared.alpaca_api_audit: alpaca_api_audit: opened /home/btd/.btd/alpaca_api_audit.db 2026-06-14T01:52:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:52:10,980 INFO agents.shared.trade_snapshots: trade_snapshots: opened /home/btd/.btd/trade_snapshots.db 2026-06-14T01:59:31+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:59:31,987 WARNING waitress.queue: Task queue depth is 1 2026-06-14T01:59:37+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 01:59:37,108 INFO routes.agents: status payload took 5.1s to build — refresh interval now 15s (dashboard serves cached copy in between) 2026-06-14T02:00:57+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:00:57,431 INFO routes.agents: status payload took 5.5s to build — refresh interval now 16s (dashboard serves cached copy in between) 2026-06-14T02:02:17+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:02:17,730 INFO routes.agents: status payload took 5.6s to build — refresh interval now 17s (dashboard serves cached copy in between) 2026-06-14T02:03:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:03:32,117 WARNING waitress.queue: Task queue depth is 1 2026-06-14T02:03:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:03:32,120 WARNING waitress.queue: Task queue depth is 2 2026-06-14T02:03:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:03:32,120 WARNING waitress.queue: Task queue depth is 3 2026-06-14T02:03:37+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:03:37,508 INFO routes.agents: status payload took 5.4s to build — refresh interval now 16s (dashboard serves cached copy in between) 2026-06-14T02:04:17+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:04:17,170 INFO routes.agents: status payload took 5.1s to build — refresh interval now 15s (dashboard serves cached copy in between) 2026-06-14T02:04:58+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:04:58,117 INFO routes.agents: status payload took 6.1s to build — refresh interval now 18s (dashboard serves cached copy in between) 2026-06-14T02:06:17+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:06:17,836 INFO routes.agents: status payload took 5.8s to build — refresh interval now 17s (dashboard serves cached copy in between) 2026-06-14T02:06:52+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:06:52,057 WARNING waitress.queue: Task queue depth is 1 2026-06-14T02:06:52+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:06:52,060 WARNING waitress.queue: Task queue depth is 2 2026-06-14T02:07:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:32,078 WARNING waitress.queue: Task queue depth is 1 2026-06-14T02:07:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:32,091 WARNING waitress.queue: Task queue depth is 1 2026-06-14T02:07:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:32,092 WARNING waitress.queue: Task queue depth is 2 2026-06-14T02:07:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:32,092 WARNING waitress.queue: Task queue depth is 3 2026-06-14T02:07:32+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:32,092 WARNING waitress.queue: Task queue depth is 4 2026-06-14T02:07:37+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:07:37,601 INFO routes.agents: status payload took 5.5s to build — refresh interval now 17s (dashboard serves cached copy in between) 2026-06-14T02:08:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:08:10,134 WARNING waitress.queue: Task queue depth is 1 2026-06-14T02:08:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:08:10,135 WARNING waitress.queue: Task queue depth is 2 2026-06-14T02:08:10+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:08:10,136 WARNING waitress.queue: Task queue depth is 3 2026-06-14T02:08:15+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:08:15,991 INFO routes.agents: status payload took 8.4s to build — refresh interval now 25s (dashboard serves cached copy in between) 2026-06-14T02:09:34+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:09:34,369 INFO waitress: Client disconnected while serving /live-prices 2026-06-14T02:29:34+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:29:34,257 INFO massive_client: 📡 Queued subscribe: ['DSY', 'UBXG', 'ASTN', 'BYAH', 'CAST', 'FRD', 'VSME'] 2026-06-14T02:55:23+00:00 BTD-TRADING-DESK btd[334067]: 2026-06-14 02:55:23,791 INFO massive_client: 📡 Queued subscribe: ['SPY', 'QQQ', 'IWM'] 2026-06-14T02:55:24+00:00 BTD-TRADING-DESK btd[334067]: /home/btd/BTD_Trading_Desk/clawdbot_server.py:5981: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 2026-06-14T02:55:24+00:00 BTD-TRADING-DESK btd[334067]: cutoff = datetime.utcnow() - timedelta(hours=max_age_hours)