Newer
Older
cortex-hub / ai-hub / native_hub.log
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'browser_automation_agent'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'mesh_file_explorer'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'mesh_inspect_drift'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'mesh_sync_control'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'mesh_terminal_control'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'mesh_wait_tasks'
INFO:app.core.tools.registry:Registered dynamic tool plugin: 'read_skill_artifact'
INFO:     Started server process [6031]
INFO:     Waiting for application startup.
INFO:app.db.migrate:Starting database migrations...
INFO:app.db.migrate:Column 'audio_path' already exists in 'messages'.
INFO:app.db.migrate:Column 'model_response_time' already exists in 'messages'.
INFO:app.db.migrate:Column 'token_count' already exists in 'messages'.
INFO:app.db.migrate:Column 'reasoning_content' already exists in 'messages'.
INFO:app.db.migrate:Column 'stt_provider_name' already exists in 'sessions'.
INFO:app.db.migrate:Column 'tts_provider_name' already exists in 'sessions'.
INFO:app.db.migrate:Column 'sync_workspace_id' already exists in 'sessions'.
INFO:app.db.migrate:Column 'attached_node_ids' already exists in 'sessions'.
INFO:app.db.migrate:Column 'node_sync_status' already exists in 'sessions'.
INFO:app.db.migrate:Column 'sync_config' already exists in 'sessions'.
INFO:app.db.migrate:Column 'is_cancelled' already exists in 'sessions'.
INFO:app.db.migrate:Column 'restrict_skills' already exists in 'sessions'.
INFO:app.db.migrate:Column 'allowed_skill_names' already exists in 'sessions'.
INFO:app.db.migrate:Column 'system_prompt_override' already exists in 'sessions'.
INFO:app.db.migrate:Column 'is_locked' already exists in 'sessions'.
INFO:app.db.migrate:Database migrations complete.
INFO:app.core.services.node_registry:[NodeRegistry] Reset all DB node statuses to 'offline'.
INFO:app.core.grpc.services.grpc_server:๐Ÿš€ CORTEX gRPC Orchestrator starting on [::]:50051
INFO:app.app:[M6] Agent Orchestrator gRPC server started on port 50051.
INFO:app.core.orchestration.scheduler:[Scheduler] Agent background services (Zombie Sweeper & CRON) started.
INFO:app.core.skills.bootstrap:Checking for system skills bootstrapping...
INFO:app.core.skills.bootstrap:System skills bootstrap completed.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
โœ… Loading configuration from app/config.yaml
Application startup...
--- โš™๏ธ  Application Configuration ---
  - ACTIVE_LLM_PROVIDER: gemini
  - ALLOW_OIDC_LOGIN: False
  - ALLOW_PASSWORD_LOGIN: ***
  - DATABASE_URL: sqlite:///./test.db
  - DATA_DIR: ./data
  - DB_MODE: sqlite
  - DEEPSEEK_API_KEY: sk-a...6bf2
  - DEEPSEEK_MODEL_NAME: deepseek-chat
  - EMBEDDING_API_KEY: AIza...sKuI
  - EMBEDDING_DIMENSION: 768
  - EMBEDDING_MODEL_NAME: models/text-embedding-004
  - EMBEDDING_PROVIDER: google_gemini
  - FAISS_INDEX_PATH: data/faiss_index.bin
  - GEMINI_API_KEY: AIza...sKuI
  - GEMINI_MODEL_NAME: gemini/gemini-3-flash-preview
  - GRPC_CERT_PATH: None
  - GRPC_EXTERNAL_ENDPOINT: None
  - GRPC_KEY_PATH: Not Set
  - GRPC_TLS_ENABLED: False
  - LLM_PROVIDERS: {'gemini': {'api_key': 'AIzaSyBn5HYiZ8yKmNL0ambyz4Aspr5lKw1sKuI', 'model': 'gemini/gemini-3-flash-preview'}, 'deepseek': {'api_key': 'sk-a1b3b85a32a942c3b80e06566ef46bf2'}, 'openai': {'api_key': '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'}}
  - LOG_LEVEL: DEBUG
  - OIDC_CLIENT_ID: cortex-server
  - OIDC_CLIENT_SECRET: aYc2...leZI
  - OIDC_ENABLED: False
  - OIDC_REDIRECT_URI: http://localhost:8001/users/login/callback
  - OIDC_SERVER_URL: https://auth.jerxie.com
  - OPENAI_API_KEY: sk-p...h34A
  - PROJECT_NAME: Cortex Hub
  - SECRET_KEY: inte...-123
  - SKILLS_DIR: ./data/skills
  - STT_API_KEY: AIza...sKuI
  - STT_MODEL_NAME: gemini-2.5-flash
  - STT_PROVIDER: google_gemini
  - STT_PROVIDERS: {}
  - SUPER_ADMINS: ['axieyangb@gmail.com']
  - TTS_API_KEY: AIza...sKuI
  - TTS_MODEL_NAME: gemini-2.5-flash-preview-tts
  - TTS_PROVIDER: google_gemini
  - TTS_PROVIDERS: {}
  - TTS_VOICE_NAME: Kore
  - VERSION: 1.0.0
------------------------------------
Creating database tables...
INFO:     127.0.0.1:44394 - "HEAD /api/v1/users/login/local HTTP/1.1" 405 Method Not Allowed
INFO:     127.0.0.1:44406 - "POST /api/v1/users/login/local HTTP/1.1" 200 OK
INFO:app.core.services.preference:Saving updated global preferences via admin 915a44b3-7ab9-4670-bb86-cb5ae31304bc
๐Ÿ  Configuration synchronized to app/config.yaml
INFO:     127.0.0.1:44406 - "PUT /api/v1/users/me/config HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "POST /api/v1/users/admin/groups HTTP/1.1" 409 Conflict
INFO:     127.0.0.1:44406 - "GET /api/v1/users/admin/groups HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "PUT /api/v1/users/admin/groups/75fb001c-25a2-4f40-97e8-6d9ce38f1c2c HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "PUT /api/v1/users/admin/users/915a44b3-7ab9-4670-bb86-cb5ae31304bc/group HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "POST /api/v1/nodes/admin?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 409 Conflict
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Deregistered test-node-1
INFO:     127.0.0.1:44406 - "DELETE /api/v1/nodes/admin/test-node-1?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:app.api.routes.nodes:[admin] Created node 'test-node-1' by admin 915a44b3-7ab9-4670-bb86-cb5ae31304bc
INFO:     127.0.0.1:44406 - "POST /api/v1/nodes/admin?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "POST /api/v1/nodes/admin?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 409 Conflict
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Deregistered test-node-2
INFO:     127.0.0.1:44406 - "DELETE /api/v1/nodes/admin/test-node-2?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:app.api.routes.nodes:[admin] Created node 'test-node-2' by admin 915a44b3-7ab9-4670-bb86-cb5ae31304bc
[NodeRegistry] DB mark-offline failed for test-node-2: UPDATE statement on table 'agent_nodes' expected to update 1 row(s); 0 were matched.
INFO:     127.0.0.1:44406 - "POST /api/v1/nodes/admin?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:44406 - "POST /api/v1/users/admin/groups HTTP/1.1" 409 Conflict
INFO:app.api.routes.agent_update:[AgentUpdate] Version check โ†’ 1.0.77
INFO:     127.0.0.1:44410 - "GET /api/v1/agent/version HTTP/1.1" 200 OK
INFO:app.api.routes.agent_update:[AgentUpdate] Version check โ†’ 1.0.77
INFO:     127.0.0.1:44414 - "GET /api/v1/agent/version HTTP/1.1" 200 OK
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/SyncConfiguration
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/SyncConfiguration
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] SyncConfiguration REQUEST from test-node-1 (token prefix: WHNo...)
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] SyncConfiguration REQUEST from test-node-2 (token prefix: ZMfp...)
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] Token validated for test-node-1 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc)
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] Handshake successful for test-node-1 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc)
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] Token validated for test-node-2 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc)
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Registered test-node-1 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc) | Stats enabled
INFO:app.core.grpc.services.grpc_server:[๐Ÿ”‘] Handshake successful for test-node-2 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc)
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/ReportHealth
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Registered test-node-2 (owner: 915a44b3-7ab9-4670-bb86-cb5ae31304bc) | Stats enabled
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/TaskStream
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/ReportHealth
INFO:app.core.grpc.services.grpc_server:[gRPC] Incoming RPC Call: /agent.AgentOrchestrator/TaskStream
INFO:app.core.grpc.services.grpc_server:[*] Node test-node-1 Attempting to establish TaskStream...
INFO:app.core.grpc.services.grpc_server:[*] Node test-node-2 Attempting to establish TaskStream...
INFO:app.core.grpc.services.grpc_server:[*] Node test-node-1 Online (TaskStream established)
INFO:app.core.grpc.services.grpc_server:[*] Node test-node-2 Online (TaskStream established)
    [๐Ÿ“๐Ÿ”„] Triggering Resync Check for test-node-1...
    [๐Ÿ“๐Ÿ”„] Triggering Resync Check for test-node-2...

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

    [๐Ÿ“๐Ÿงน] Running Mirror Cleanup. Active Sessions: 18
    [๐Ÿ“๐Ÿงน] Running Mirror Cleanup. Active Sessions: 4
    [๐Ÿ“๐Ÿ—‘๏ธ] Purged orphaned ghost mirror: 30
    [๐Ÿ“โš ๏ธ] Failed to purge orphaned mirror 30: [Errno 2] No such file or directory: './data/mirrors/30'

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

INFO:app.api.routes.nodes:[admin] Created node 'test-agent-node-ec22f68d' by admin 915a44b3-7ab9-4670-bb86-cb5ae31304bc
INFO:     127.0.0.1:41294 - "POST /api/v1/nodes/admin?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:app.core.grpc.services.assistant:[๐Ÿ“๐Ÿ“ค] Workspace session-31-11d0eb16 prepared on server for offline node test-agent-node-ec22f68d
INFO:     127.0.0.1:41294 - "POST /api/v1/agents/deploy HTTP/1.1" 200 OK
INFO:     127.0.0.1:41294 - "GET /api/v1/sessions/31 HTTP/1.1" 200 OK
INFO:     127.0.0.1:41294 - "GET /api/v1/agents/a8bd22bf-9812-4702-95a9-13afaa5ac038/triggers HTTP/1.1" 200 OK

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

INFO:app.core.orchestration.scheduler:[Scheduler] INTERVAL WAKEUP: Triggering Agent a8bd22bf-9812-4702-95a9-13afaa5ac038 (Wait: 5s, Elapsed: 63909884476s)
INFO:app.core.services.rag:[RAG] Mesh Context gathered. Length: 237 chars.
INFO:app.core.services.rag:[RAG] Mesh Context excerpt: Attached Agent Nodes (Infrastructure):
- Node ID: test-agent-node-ec22f68d
  Name: Agent Test Node
  Description: No description provided.
  Status: offline
  Terminal Sandbox Mode: PERMISSIVE
  AI Re...
WARNING:app.core.services.prompt:Prompt with slug 'rag-pipeline' not found.
INFO:root:[Architect] Starting autonomous loop (Turn 1). Prompt Size: 121 chars across 2 messages.
INFO:root:[Architect] Msg 0 (system): You are a cron agent. Run shell tasks periodically....
INFO:root:[Architect] Msg 1 (user): Hello test agent! Just reply the word 'Acknowledged' and nothing else....
17:41:15 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:root:[Architect] First chunk received after 1.12s
[AgentExecutor] Task 4.2: Idempotency check for a8bd22bf-9812-4702-95a9-13afaa5ac038 in /tmp/cortex/agent_77046c0c/
[AgentExecutor] Starting run for a8bd22bf-9812-4702-95a9-13afaa5ac038 with provider 'gemini'. Prompt length: 70
INFO:     127.0.0.1:55284 - "GET /api/v1/sessions/31/messages HTTP/1.1" 200 OK
INFO:     127.0.0.1:55284 - "GET /api/v1/agents HTTP/1.1" 200 OK
INFO:     127.0.0.1:55284 - "GET /api/v1/agents/a8bd22bf-9812-4702-95a9-13afaa5ac038/triggers HTTP/1.1" 200 OK
INFO:     127.0.0.1:55284 - "PATCH /api/v1/agents/a8bd22bf-9812-4702-95a9-13afaa5ac038/status HTTP/1.1" 200 OK
INFO:     127.0.0.1:55284 - "PATCH /api/v1/agents/a8bd22bf-9812-4702-95a9-13afaa5ac038/config HTTP/1.1" 200 OK
INFO:     127.0.0.1:55284 - "DELETE /api/v1/agents/a8bd22bf-9812-4702-95a9-13afaa5ac038 HTTP/1.1" 200 OK
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Deregistered test-agent-node-ec22f68d
INFO:     127.0.0.1:55284 - "DELETE /api/v1/nodes/admin/test-agent-node-ec22f68d?admin_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:55286 - "GET /api/v1/speech/voices HTTP/1.1" 200 OK
INFO:app.api.routes.tts:Using TTS provider: GeminiTTSProvider for user=915a44b3-7ab9-4670-bb86-cb5ae31304bc
INFO:app.core.providers.tts.gemini:TTS request [model=gemini-2.5-flash-preview-tts, vertex=False]: 'Hello from integration test audio pipeline.'
INFO:app.core.services.tts:Successfully gathered audio data for all 1 chunks.
INFO:app.core.services.tts:Concatenated 1 chunks into a single PCM stream.
INFO:     127.0.0.1:55288 - "POST /api/v1/speech?stream=false HTTP/1.1" 200 OK
INFO:app.api.routes.stt:Received transcription request for file: test_audio_pipeline.wav
INFO:app.api.routes.stt:Resolving STT. user_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc, provider=google_gemini
INFO:app.api.routes.stt:Using STT provider: GoogleSTTProvider
INFO:app.core.services.stt:Starting transcription for audio data (175290 bytes).

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

INFO:app.core.services.stt:Transcribed audio. Length: 43 characters.
INFO:     127.0.0.1:55288 - "POST /api/v1/stt/transcribe HTTP/1.1" 200 OK
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/status HTTP/1.1" 200 OK
INFO:     127.0.0.1:45688 - "POST /api/v1/sessions/ HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ“ค] Initiating Workspace Push for Session session-32-1511b094 to test-node-1
    [๐Ÿ“] Sync Status from test-node-1: Synchronized
[๐Ÿ“๐Ÿ“ค] Initiating Workspace Push for Session session-32-1511b094 to test-node-2
    [๐Ÿ“] Sync Status from test-node-2: Synchronized
INFO:     127.0.0.1:45688 - "POST /api/v1/sessions/32/nodes HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case1_c501c142.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case1_c501c142.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case1_c501c142.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case2_4e925763.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case2_4e925763.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case2_4e925763.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case3_f2c109da.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case3_f2c109da.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: case3_f2c109da.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/rm HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: Deleted case3_f2c109da.txt
    [๐Ÿ“] Sync Status from test-node-2: Deleted case3_f2c109da.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case3_f2c109da.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case3_f2c109da.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
[๐Ÿ“โœ๏ธ] AI Write: case4_61657f07.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case4_61657f07.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: case4_61657f07.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-2/fs/rm HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-2: Deleted case4_61657f07.txt
    [๐Ÿ“] Sync Status from test-node-1: Deleted case4_61657f07.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case4_61657f07.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case4_61657f07.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
[๐Ÿ“โœ๏ธ] AI Write: case9_latency_7e626973.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case9_latency_7e626973.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: case9_latency_7e626973.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/rm HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: Deleted case9_latency_7e626973.txt
    [๐Ÿ“] Sync Status from test-node-2: Deleted case9_latency_7e626973.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
    [๐Ÿ“โšก] Fast Sync Complete: case1_c501c142.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case1_c501c142.txt from test-node-1 to: test-node-2
    [๐Ÿ“โšก] Fast Sync Complete: case1_c501c142.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case1_c501c142.txt from test-node-2 to: test-node-1
    [๐Ÿ“] Sync Status from test-node-2: File case1_c501c142.txt synced
    [๐Ÿ“] Sync Status from test-node-1: File case1_c501c142.txt synced
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case9_latency_7e626973.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case9_latency_7e626973.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
[๐Ÿ“โœ๏ธ] AI Write: case11_hub_e51e3d64.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/hub/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/hub/fs/cat?path=case11_hub_e51e3d64.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case10_resync_22602b38.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:45688 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:45688 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case10_resync_22602b38.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“โšก] Fast Sync Complete: case2_4e925763.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case2_4e925763.txt from test-node-2 to: test-node-1
    [๐Ÿ“โšก] Fast Sync Complete: case2_4e925763.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case2_4e925763.txt from test-node-1 to: test-node-2
    [๐Ÿ“] Sync Status from test-node-1: File case2_4e925763.txt synced
    [๐Ÿ“] Sync Status from test-node-2: File case2_4e925763.txt synced
    [๐Ÿ“โšก] Fast Sync Complete: case11_hub_e51e3d64.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case11_hub_e51e3d64.txt from test-node-2 to: test-node-1
    [๐Ÿ“โšก] Fast Sync Complete: case11_hub_e51e3d64.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case11_hub_e51e3d64.txt from test-node-1 to: test-node-2
    [๐Ÿ“] Sync Status from test-node-1: File case11_hub_e51e3d64.txt synced
    [๐Ÿ“] Sync Status from test-node-2: File case11_hub_e51e3d64.txt synced

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

    [๐Ÿ“โšก] Fast Sync Complete: case10_resync_22602b38.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case10_resync_22602b38.txt from test-node-1 to: test-node-2
    [๐Ÿ“โšก] Fast Sync Complete: case10_resync_22602b38.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting case10_resync_22602b38.txt from test-node-2 to: test-node-1
    [๐Ÿ“] Sync Status from test-node-2: File case10_resync_22602b38.txt synced
    [๐Ÿ“] Sync Status from test-node-1: File case10_resync_22602b38.txt synced
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case10_resync_22602b38.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case5_large_dc713ede.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case5_large_dc713ede.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case5_large_dc713ede.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case6_large_a32dad68.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case6_large_a32dad68.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case6_large_a32dad68.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“โœ๏ธ] AI Write: case7_large_de27d02d.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case7_large_de27d02d.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: case7_large_de27d02d.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/rm HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-1: Deleted case7_large_de27d02d.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: Deleted case7_large_de27d02d.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case7_large_de27d02d.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case7_large_de27d02d.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
    [๐Ÿ“๐Ÿ“ฅ] Sync Starting: case5_large_dc713ede.txt (20971520 bytes, 5 chunks)
[๐Ÿ“โœ๏ธ] AI Write: case8_large_4cf00f89.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ฅ] Sync Starting: case5_large_dc713ede.txt (20971520 bytes, 5 chunks)
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=case8_large_4cf00f89.txt&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: case8_large_4cf00f89.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-2/fs/rm HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case8_large_4cf00f89.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/cat?path=case8_large_4cf00f89.txt&session_id=session-32-1511b094 HTTP/1.1" 404 Not Found
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/dispatch?user_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“โœ…] Sync Complete: case5_large_dc713ede.txt (Swapped and verified)
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-2 to: test-node-1
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-2: Deleted case8_large_4cf00f89.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-32-1511b094
[โš ๏ธ] Hash Mismatch for /app/ai-hub/data/mirrors/session-32-1511b094/case5_large_dc713ede.txt.cortex_tmp: expected 6fa6fa165fcf0e31a3bd47070ef118b90c75026a185e2b9f8ca4a1c2876d3c8d, got f267cbcf29a3502174cde6937a0a3e9844a1954823397068eeaed716902871b0
    [๐Ÿ“๐Ÿ“ข] Broadcasting case5_large_dc713ede.txt from test-node-1 to: test-node-2
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-1: Deleted case8_large_4cf00f89.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-1: File case5_large_dc713ede.txt synced
    [๐Ÿ“] Sync Status from test-node-2: File case5_large_dc713ede.txt synced
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ฅ] Sync Starting: case6_large_a32dad68.txt (20971520 bytes, 5 chunks)
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ฅ] Sync Starting: case6_large_a32dad68.txt (20971520 bytes, 5 chunks)
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-2 to: test-node-1
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-2 to: test-node-1
    [๐Ÿ“โœ…] Sync Complete: case6_large_a32dad68.txt (Swapped and verified)
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[โš ๏ธ] Hash Mismatch for /app/ai-hub/data/mirrors/session-32-1511b094/case6_large_a32dad68.txt.cortex_tmp: expected 6fa6fa165fcf0e31a3bd47070ef118b90c75026a185e2b9f8ca4a1c2876d3c8d, got f267cbcf29a3502174cde6937a0a3e9844a1954823397068eeaed716902871b0
    [๐Ÿ“๐Ÿ“ข] Broadcasting case6_large_a32dad68.txt from test-node-2 to: test-node-1
    [๐Ÿ“] Sync Status from test-node-2: File case6_large_a32dad68.txt synced
    [๐Ÿ“] Sync Status from test-node-1: File case6_large_a32dad68.txt synced
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ฅ] Sync Starting: gigabyte_05438911.txt (1048576000 bytes, 250 chunks)
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

17:41:45 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
17:41:46 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= deepseek-chat; provider = deepseek
INFO:LiteLLM:
LiteLLM completion() model= deepseek-chat; provider = deepseek
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:app.app:[Health Check] System LLM statuses updated.
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
    [๐Ÿ“โœ…] Sync Complete: gigabyte_05438911.txt (Swapped and verified)
    [๐Ÿ“๐Ÿ“ข] Broadcasting gigabyte_05438911.txt from test-node-1 to: test-node-2
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-1/fs/ls?path=.&session_id=session-32-1511b094 HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ—‘๏ธ] AI Remove: gigabyte_05438911.txt (Session: session-32-1511b094) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/rm HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-2: File not found
INFO:     127.0.0.1:60888 - "POST /api/v1/sessions/ HTTP/1.1" 200 OK
[๐Ÿ“๐Ÿ“ค] Initiating Workspace Push for Session session-33-6641a37a to test-node-1
[๐Ÿ“๐Ÿ“ค] Initiating Workspace Push for Session session-33-6641a37a to test-node-2
    [๐Ÿ“] Sync Status from test-node-2: Synchronized
    [๐Ÿ“] Sync Status from test-node-1: Deleted gigabyte_05438911.txt
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-32-1511b094
    [๐Ÿ“] Sync Status from test-node-1: Synchronized
INFO:     127.0.0.1:60888 - "POST /api/v1/sessions/33/nodes HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-2: File gigabyte_05438911.txt synced
[๐Ÿ“โœ๏ธ] AI Write: autopurge_7eee7d91.txt (Session: session-33-6641a37a) -> Dispatching to 2 nodes
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/fs/touch HTTP/1.1" 200 OK
    [๐Ÿ“] Sync Status from test-node-2: File written
    [๐Ÿ“] Sync Status from test-node-1: File written
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-1 for session-33-6641a37a
    [๐Ÿ“๐Ÿ“ฅ] Received Manifest from test-node-2 for session-33-6641a37a
INFO:     127.0.0.1:60888 - "GET /api/v1/nodes/test-node-2/fs/cat?path=autopurge_7eee7d91.txt&session_id=session-33-6641a37a HTTP/1.1" 200 OK
    [๐Ÿ“โšก] Fast Sync Complete: autopurge_7eee7d91.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting autopurge_7eee7d91.txt from test-node-2 to: test-node-1
    [๐Ÿ“โšก] Fast Sync Complete: autopurge_7eee7d91.txt
    [๐Ÿ“๐Ÿ“ข] Broadcasting autopurge_7eee7d91.txt from test-node-1 to: test-node-2
    [๐Ÿ“] Sync Status from test-node-1: File autopurge_7eee7d91.txt synced
    [๐Ÿ“] Sync Status from test-node-2: File autopurge_7eee7d91.txt synced
INFO:     127.0.0.1:60888 - "DELETE /api/v1/sessions/33 HTTP/1.1" 200 OK

==================================================
๐Ÿ“ก CORTEX MESH DASHBOARD | 2 Nodes Online
--------------------------------------------------
  ๐ŸŸข test-node-1          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
  ๐ŸŸข test-node-2          | Workers: 0 | Running: 0 tasks
      Capabilities: {'has_sudo': 'true', 'has_display': 'false', 'os_release': '6.10.11-linuxkit', 'arch': 'aarch64', 'os': 'linux', 'gpu': 'none', 'local_ip': '172.27.0.2', 'is_root': 'false', 'shell': 'v1'}
==================================================

INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-1/dispatch?user_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "POST /api/v1/nodes/test-node-2/dispatch?user_id=915a44b3-7ab9-4670-bb86-cb5ae31304bc HTTP/1.1" 200 OK
INFO:     127.0.0.1:60888 - "DELETE /api/v1/sessions/32 HTTP/1.1" 200 OK
INFO:     127.0.0.1:35984 - "POST /api/v1/sessions/ HTTP/1.1" 200 OK
INFO:     127.0.0.1:35984 - "POST /api/v1/sessions/34/chat HTTP/1.1" 200 OK
INFO:app.core.services.rag:[RAG] Mesh Context gathered. Length: 0 chars.
WARNING:app.core.services.prompt:Prompt with slug 'rag-pipeline' not found.
INFO:root:[Architect] Starting autonomous loop (Turn 1). Prompt Size: 4133 chars across 2 messages.
INFO:root:[Architect] Msg 0 (system): You are the Cortex AI Assistant, the **Master-Architect** of a decentralized agent mesh. 

## ๐Ÿ—๏ธ Orchestration Strategy (The Master-Worker Pattern):
- **Action-First**: You are an action-oriented agent. If you possess a tool to perform a task, you MUST invoke it in the current turn. Do not wait for a second confirmation.
- **Large Data Rule**: For files larger than 100KB, DO NOT use `mesh_file_explorer`'s `write` action. Instead, use `mesh_terminal_control` with native commands like `dd`, `head`...
INFO:root:[Architect] Msg 1 (user): What is the capital of France? Please respond with just the city name....
17:42:17 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:root:[Architect] First chunk received after 0.75s
INFO:     127.0.0.1:35988 - "POST /api/v1/users/login/local HTTP/1.1" 200 OK
INFO:     127.0.0.1:35992 - "POST /api/v1/users/login/local HTTP/1.1" 401 Unauthorized
INFO:     127.0.0.1:35996 - "POST /api/v1/users/login/local HTTP/1.1" 401 Unauthorized
17:42:18 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:     127.0.0.1:36002 - "POST /api/v1/users/me/config/verify_llm HTTP/1.1" 200 OK
17:42:20 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
ERROR:app.api.routes.user:LLM Verification failed for gemini (None): Authentication failed for gemini/gemini-3-flash-preview. Check your API key.

Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new
LiteLLM.Info: If you need to debug this error, use `litellm._turn_on_debug()'.

INFO:     127.0.0.1:36016 - "POST /api/v1/users/me/config/verify_llm HTTP/1.1" 200 OK
INFO:app.core.services.preference:Saving updated global preferences via admin 915a44b3-7ab9-4670-bb86-cb5ae31304bc
๐Ÿ  Configuration synchronized to app/config.yaml
INFO:     127.0.0.1:36024 - "PUT /api/v1/users/me/config HTTP/1.1" 200 OK
INFO:     127.0.0.1:36024 - "GET /api/v1/users/me/config HTTP/1.1" 200 OK
17:42:20 - LiteLLM:INFO: utils.py:3895 - 
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:LiteLLM:
LiteLLM completion() model= gemini-3-flash-preview; provider = gemini
INFO:     127.0.0.1:36032 - "POST /api/v1/users/me/config/verify_llm HTTP/1.1" 200 OK
ERROR:app.api.routes.user:LLM Verification failed for non_existent_provider_xyz (None): LiteLLM Error (non_existent_provider_xyz/unknown_model): litellm.BadRequestError: LLM Provider NOT provided. Pass in the LLM provider you are trying to call. You passed model=non_existent_provider_xyz/unknown_model
 Pass model as E.g. For 'Huggingface' inference endpoints pass in `completion(model='huggingface/starcoder',..)` Learn more: https://docs.litellm.ai/docs/providers

Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers

INFO:     127.0.0.1:36042 - "POST /api/v1/users/me/config/verify_llm HTTP/1.1" 200 OK

Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers


Provider List: https://docs.litellm.ai/docs/providers

INFO:     127.0.0.1:36048 - "GET /api/v1/users/me/config/models?provider_name=gemini HTTP/1.1" 200 OK
WARNING:app.core.grpc.services.grpc_server:Results listener closed for test-node-1: 
WARNING:app.core.grpc.services.grpc_server:Results listener closed for test-node-2: 
WARNING:app.core.grpc.services.grpc_server:[๐Ÿ“ถ] gRPC Stream TERMINATED for test-node-2. Cleaning up.
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Deregistered test-node-2
WARNING:app.core.grpc.services.grpc_server:[๐Ÿ“ถ] gRPC Stream TERMINATED for test-node-1. Cleaning up.
INFO:app.core.services.node_registry:[๐Ÿ“‹] NodeRegistry: Deregistered test-node-1
INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:app.app:[M6] Stopping gRPC server...
INFO:     Application shutdown complete.
INFO:     Finished server process [6031]