Program Loops
Every significant loop or lifecycle in the system, with its trigger and source file.
| Loop | Trigger | Source |
|---|---|---|
| FastAPI startup lifecycle | Process start | services/ml-api/app.py |
| Desktop bootstrap | App launch | apps/desktop/src-tauri/src/main.rs (bootstrap_app) |
| Authentication/session lifecycle | Login/idle timeout | src/research_terminal/auth.py |
| Frontend polling loop | 20s interval while a screen is active | apps/desktop/src/hooks/useDesktopRuntime.ts |
| Public-stream reconnect loop | Websocket disconnect | src/market_data/ |
| Live-monitor event loop | Continuous, closed-candle driven | scripts/run_live_paper_monitor.py |
| Heartbeat loop | Every 15s (config/live_paper_monitor.yaml) | config/live_paper_monitor.yaml |
| Recovery loop | Stale lock detected | scripts/run_live_paper_monitor.py (--force-recover-stale-lock) |
| Graceful shutdown sequence | Stop signal | config/live_paper_monitor.yaml (shutdown_poll_seconds) |