Dashboard (SSE)SQLiteGo ServerTicker (30s)Dashboard (SSE)SQLiteGo ServerTicker (30s)loop[each offline router]loop[every 30s]On reconnect: alert auto-clearedtickSELECT routers WHERE last_seen < now - 60sINSERT alerts (kind=router_offline)SSE push {kind: alert, ...}