{"ok":true,"timestamp":"2026-11-10T19:03:25.716699+00:00","version":"1.0.0","backend_status":{"ok":true,"host":"0.0.0.0","port":8001,"version":"1.0.0"},"modules":{"ok":true,"available":true,"operational":{"ok":true,"source":"fast_filesystem_count","summary_line":"221 lightweight components counted for fast overview"},"registry":{"root":"/app","summary":{"agents":51,"adapters":0,"commands":31,"prompts":17,"hooks":5,"rules":14,"skills":91,"automations":5,"tools":7},"filesystem_summary":{"agents":51,"adapters":0,"commands":31,"prompts":17,"hooks":5,"rules":14,"skills":91,"automations":5,"tools":7},"operational_summary":{"issue_count":0,"source":"fast_filesystem_count"},"summary_line":"221 lightweight components counted for fast overview","load_errors":{},"load_error_count":0,"validation_issues":[],"validation_issue_count":0,"healthy":true,"source":"fast_filesystem_count"},"status":"ok","summary":"module registry fast overview ok"},"pipeline_status":{"ok":true,"available":true,"sections":{"runtime_control":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/frank_supervisor.py","core/agent_orchestrator_v2.py"],"compat_layers":["core/maestro.py","core/pipeline_engine.py"]},"agents":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/agent_registry.py","core/agent_mesh.py","apps/backend/services/agent_service.py"],"compat_layers":["core/agent_factory.py","core/frank_team_orchestrator.py","core/frank_agent_dispatcher.py"]},"llm":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/llm_router.py","core/free_llm_discovery.py","core/ollama_manager.py"],"compat_layers":["core/claude.py","core/hermes_bridge.py","core/brain/llm.py"]},"toolchain":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/toolchain_audit.py"],"compat_layers":["apps/backend/services/tool_registry_service.py","apps/backend/services/pipeline_status_service.py"]},"voice":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/voice_pipeline.py","core/voice.py"],"compat_layers":["core/voice_daemon.py","core/frank_voice_chat.py"]},"content":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["pipeline/runner.py","pipeline/platforms/dispatcher.py","pipeline/queue/store.py"],"compat_layers":["core/content_pipeline.py","core/content_publisher.py","core/content_generation_bridge.py"]},"content_pipeline":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["apps/backend/services/content_pipeline_service.py","core/content_machine.py","pipeline/runner.py"],"compat_layers":["core/content_publisher.py","core/content_creator_pipeline.py"]},"offgrid_ai":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/offgrid_ai_catalog.py","research/2026-08-22-offgrid-ai-frank-integration.md"],"compat_layers":["apps/backend/services/pipeline_status_service.py","apps/backend/api/command_center.py"]},"hyperautomation_labs":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/hyperautomation_labs.py","scripts/unified_cron_runner.py"],"compat_layers":["apps/backend/api/hyperautomation_labs.py","core/tool_registry.py"]},"social":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/social_registry.py","core/social_poster.py"],"compat_layers":["apps/backend/services/social_service.py"]},"news":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py"],"compat_layers":["core/news_pipeline.py","core/news_brain.py"]},"nyc_news":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py","core/viral_news_engine.py"],"compat_layers":["core/news_pipeline.py","core/content_reasoner.py"]},"youtube":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"youtube_engine":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"trading":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/crypto_service.py","core/unified_crypto_bridge.py"],"compat_layers":["core/crypto_bot_bridge.py","core/pipelines/trading_pipeline.py"]},"finance":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/coinbase_bridge.py","core/gemini_brain.py","core/trading_learning_loop.py","core/claude_finance_bridge.py"],"compat_layers":["core/freqtrade_frank_strategy.py","core/freqtrade_bridge.py","core/medallion_engine.py","core/financial_manager.py"]},"coinbase":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/coinbase_bridge.py","core/unified_crypto_bridge.py"],"compat_layers":["core/coinbase_strategies.py","core/crypto_integration.py"]},"gemini":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/gemini_brain.py","core/llm_router.py"],"compat_layers":["core/agentic_brain.py","core/brain_reasoner.py"]},"stocks":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/financial_manager.py","core/analytics_api.py","core/medallion_engine.py"],"compat_layers":["core/trading_learning_loop.py","core/coinbase_strategies.py","bridges/medallion_strategies.py"]},"wallets":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/phantom_automation.py","core/phantom_wallet_bridge.py","core/solana_trader.py","external/automaton/src/identity/wallet.ts"],"compat_layers":["core/unified_memory.py","core/unified_crypto_bridge.py"]},"adapters":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py"],"compat_layers":["core/everything_connector.py","core/bridge_loader.py"]},"memory":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/mem0_bridge.py","core/unified_memory.py"],"compat_layers":["core/memory_longterm.py","core/memory_vault.py","apps/backend/services/memory_service.py"]},"connectors":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/github_awareness.py","apps/backend/services/connector_center_service.py"],"compat_layers":["core/repo_catalog_bridge.py","core/repo_capabilities_bridge.py"]},"modules":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py"],"compat_layers":["core/full_feature_wiring.py","apps/backend/services/doctor_service.py","core/automation_v2.py"]},"platforms":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/runtime_topology.py","core/agent_mesh.py","core/coinbase_bridge.py"],"compat_layers":["core/frank_server_stack.py","apps/backend/api/command_center.py"]},"clients":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["apps/desktop_web/app_window.py","apps/desktop_web/odysseus_webview_launcher.py","ui/ui_server.py"],"compat_layers":["core/runtime_topology.py","control_center/server.py"]},"topology":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/runtime_topology.py"],"compat_layers":["core/system_inventory.py","core/frank_system_map.py"]}},"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"inventory":{"runtime_control":{"source_of_truth":["core/frank_supervisor.py","core/agent_orchestrator_v2.py"],"compat_layers":["core/maestro.py","core/pipeline_engine.py"]},"agents":{"source_of_truth":["core/agent_registry.py","core/agent_mesh.py","apps/backend/services/agent_service.py"],"compat_layers":["core/agent_factory.py","core/frank_team_orchestrator.py","core/frank_agent_dispatcher.py"]},"llm":{"source_of_truth":["core/llm_router.py","core/free_llm_discovery.py","core/ollama_manager.py"],"compat_layers":["core/claude.py","core/hermes_bridge.py","core/brain/llm.py"]},"toolchain":{"source_of_truth":["core/toolchain_audit.py"],"compat_layers":["apps/backend/services/tool_registry_service.py","apps/backend/services/pipeline_status_service.py"]},"voice":{"source_of_truth":["core/voice_pipeline.py","core/voice.py"],"compat_layers":["core/voice_daemon.py","core/frank_voice_chat.py"]},"content":{"source_of_truth":["pipeline/runner.py","pipeline/platforms/dispatcher.py","pipeline/queue/store.py"],"compat_layers":["core/content_pipeline.py","core/content_publisher.py","core/content_generation_bridge.py"]},"content_pipeline":{"source_of_truth":["apps/backend/services/content_pipeline_service.py","core/content_machine.py","pipeline/runner.py"],"compat_layers":["core/content_publisher.py","core/content_creator_pipeline.py"]},"offgrid_ai":{"source_of_truth":["core/offgrid_ai_catalog.py","research/2026-08-22-offgrid-ai-frank-integration.md"],"compat_layers":["apps/backend/services/pipeline_status_service.py","apps/backend/api/command_center.py"]},"hyperautomation_labs":{"source_of_truth":["core/hyperautomation_labs.py","scripts/unified_cron_runner.py"],"compat_layers":["apps/backend/api/hyperautomation_labs.py","core/tool_registry.py"]},"social":{"source_of_truth":["core/social_registry.py","core/social_poster.py"],"compat_layers":["apps/backend/services/social_service.py"]},"news":{"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py"],"compat_layers":["core/news_pipeline.py","core/news_brain.py"]},"nyc_news":{"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py","core/viral_news_engine.py"],"compat_layers":["core/news_pipeline.py","core/content_reasoner.py"]},"youtube":{"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"youtube_engine":{"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"trading":{"source_of_truth":["core/crypto_service.py","core/unified_crypto_bridge.py"],"compat_layers":["core/crypto_bot_bridge.py","core/pipelines/trading_pipeline.py"]},"finance":{"source_of_truth":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/coinbase_bridge.py","core/gemini_brain.py","core/trading_learning_loop.py","core/claude_finance_bridge.py"],"compat_layers":["core/freqtrade_frank_strategy.py","core/freqtrade_bridge.py","core/medallion_engine.py","core/financial_manager.py"]},"coinbase":{"source_of_truth":["core/coinbase_bridge.py","core/unified_crypto_bridge.py"],"compat_layers":["core/coinbase_strategies.py","core/crypto_integration.py"]},"gemini":{"source_of_truth":["core/gemini_brain.py","core/llm_router.py"],"compat_layers":["core/agentic_brain.py","core/brain_reasoner.py"]},"stocks":{"source_of_truth":["core/financial_manager.py","core/analytics_api.py","core/medallion_engine.py"],"compat_layers":["core/trading_learning_loop.py","core/coinbase_strategies.py","bridges/medallion_strategies.py"]},"wallets":{"source_of_truth":["core/phantom_automation.py","core/phantom_wallet_bridge.py","core/solana_trader.py","external/automaton/src/identity/wallet.ts"],"compat_layers":["core/unified_memory.py","core/unified_crypto_bridge.py"]},"adapters":{"source_of_truth":["core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py"],"compat_layers":["core/everything_connector.py","core/bridge_loader.py"]},"memory":{"source_of_truth":["core/mem0_bridge.py","core/unified_memory.py"],"compat_layers":["core/memory_longterm.py","core/memory_vault.py","apps/backend/services/memory_service.py"]},"connectors":{"source_of_truth":["core/github_awareness.py","apps/backend/services/connector_center_service.py"],"compat_layers":["core/repo_catalog_bridge.py","core/repo_capabilities_bridge.py"]},"modules":{"source_of_truth":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py"],"compat_layers":["core/full_feature_wiring.py","apps/backend/services/doctor_service.py","core/automation_v2.py"]},"platforms":{"source_of_truth":["core/runtime_topology.py","core/agent_mesh.py","core/coinbase_bridge.py"],"compat_layers":["core/frank_server_stack.py","apps/backend/api/command_center.py"]},"clients":{"source_of_truth":["apps/desktop_web/app_window.py","apps/desktop_web/odysseus_webview_launcher.py","ui/ui_server.py"],"compat_layers":["core/runtime_topology.py","control_center/server.py"]},"topology":{"source_of_truth":["core/runtime_topology.py"],"compat_layers":["core/system_inventory.py","core/frank_system_map.py"],"current":{"hosts":["external_drive","github","laptop","server"],"services":["atomic_hermes_runtime","automaton_runtime","frank_backend","grafana","ollama","omniroute_computer","omniroute_server","open_webui","portainer","prometheus"],"domains":["adapters","content","finance","modules","wallets","youtube"],"pipelines":["adapters","coinbase","content_pipeline","finance","gemini","modules","nyc_news","stocks","wallets","youtube","youtube_engine"],"platforms":["agent_mesh","cloudflare","coinbase_agent","vercel"],"agents":["agent_mesh","automation","coinbase_agent","core_roles","memory_agent"],"clients":["desktop","phone"]},"family_index":{"runtime_control":{"authority":"server","purpose":"supervision, orchestration, and control loop ownership","canonical_state":"server-backed supervisor and orchestrator state","representatives":["core/frank_supervisor.py","core/agent_orchestrator_v2.py","core/maestro.py","core/pipeline_engine.py"]},"agents":{"authority":"server","purpose":"agent registry, dispatch, and coordination","canonical_state":"server-backed agent registry and mesh state","representatives":["core/agent_registry.py","core/agent_mesh.py","apps/backend/services/agent_service.py","core/agent_factory.py"]},"llm":{"authority":"server","purpose":"provider routing, model policy, and LLM operations","canonical_state":"server-backed model router and provider policy","representatives":["core/llm_router.py","core/free_llm_discovery.py","core/ollama_manager.py","core/brain/llm.py"]},"voice":{"authority":"server","purpose":"speech synthesis, voice playback, and TTS control","canonical_state":"server-backed voice pipeline and engine state","representatives":["core/voice_pipeline.py","core/voice.py","core/voice/tts.py"]},"content":{"authority":"server","purpose":"news discovery, content generation, queueing, and publish flows","canonical_state":"server-backed content queue and media artifacts","representatives":["pipeline/runner.py","pipeline/platforms/dispatcher.py","pipeline/queue/store.py","core/content_machine.py","core/trending_news_bridge.py"]},"content_pipeline":{"authority":"server","purpose":"content queueing, drafting, and publish orchestration","canonical_state":"server-backed content pipeline service and queue state","representatives":["apps/backend/services/content_pipeline_service.py","apps/backend/api/content_pipeline.py","core/content_machine.py","pipeline/runner.py"]},"social":{"authority":"server","purpose":"social publishing and credential-gated posting","canonical_state":"server-backed social auth and publish state","representatives":["core/social_registry.py","core/social_poster.py","apps/backend/services/social_service.py"]},"news":{"authority":"server","purpose":"news discovery, trend tracking, and story sourcing","canonical_state":"server-backed trending news bridge and sources","representatives":["core/trending_news_bridge.py","pipeline/sources/news.py","core/news_pipeline.py"]},"nyc_news":{"authority":"server","purpose":"NYC and Manhattan news discovery and packaging","canonical_state":"server-backed NYC editorial topics and artifacts","representatives":["pipeline/sources/news.py","core/viral_news_engine.py","core/qnews_content_builder.py","core/ten_m_content_factory.py"]},"youtube":{"authority":"server","purpose":"YouTube research, generation, upload, and trend routing","canonical_state":"server-backed YouTube pipelines and guards","representatives":["core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_pipeline_guard.py","scripts/youtube_uploader.py"]},"youtube_engine":{"authority":"server","purpose":"YouTube SEO, scraper, and engine orchestration","canonical_state":"server-backed YouTube engine state and status","representatives":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py"]},"trading":{"authority":"server","purpose":"crypto routing, trading helpers, and execution pipelines","canonical_state":"server-backed crypto bridge and trade state","representatives":["core/crypto_service.py","core/unified_crypto_bridge.py","core/crypto_bot_bridge.py","core/pipelines/trading_pipeline.py"]},"finance":{"authority":"server","purpose":"trading, treasury, market signals, and crypto routing","canonical_state":"server-backed balances, strategies, and portfolio state","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/coinbase_bridge.py","core/gemini_brain.py","core/trading_learning_loop.py","core/claude_finance_bridge.py"]},"coinbase":{"authority":"server","purpose":"Coinbase balances, treasury, and execution automation","canonical_state":"server-backed Coinbase portfolio and execution state","representatives":["core/coinbase_bridge.py","core/coinbase_strategies.py","core/unified_crypto_bridge.py"]},"gemini":{"authority":"server","purpose":"Gemini brain, routing, and model-backed coordination","canonical_state":"server-backed Gemini brain and LLM routing state","representatives":["core/gemini_brain.py","core/llm_router.py","core/agentic_brain.py"]},"stocks":{"authority":"server","purpose":"equities, trading plans, and prediction market execution","canonical_state":"server-backed trading plans and market positions","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/coinbase_bridge.py"]},"wallets":{"authority":"server","purpose":"wallet discovery, signing, and balance visibility","canonical_state":"server-backed wallet metadata and automaton identity","representatives":["core/phantom_wallet_bridge.py","core/phantom_automation.py","core/solana_trader.py","core/unified_memory.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"adapter repos and integration packs","canonical_state":"server-backed adapter registry with laptop mirrors only","representatives":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py","core/everything_connector.py"]},"memory":{"authority":"server","purpose":"vectors, recall, long-term memory, and brain state","canonical_state":"server-backed vector store and memory vault","representatives":["core/live_brain.py","core/unified_memory.py","core/memory_vault.py","apps/backend/services/vector_memory_service.py"]},"connectors":{"authority":"server","purpose":"GitHub, repo, and external connector surfaces","canonical_state":"server-backed connector registry and discovery","representatives":["core/github_awareness.py","apps/backend/services/connector_center_service.py","core/repo_catalog_bridge.py"]},"modules":{"authority":"server","purpose":"module graph, wiring, and operational inventory","canonical_state":"repo-defined module graph and runtime wiring","representatives":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py","core/full_feature_wiring.py","apps/backend/services/doctor_service.py"]}},"summary":{"families":["content","nyc_news","youtube","finance","coinbase","gemini","stocks","wallets","adapters","modules","offgrid_ai"],"family_count":11,"host_count":4,"service_count":10,"pipeline_count":11,"alias_count":9,"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"surface_family_count":21,"surface_families":["adapters","agents","coinbase","connectors","content","content_pipeline","finance","gemini","llm","memory","modules","news","nyc_news","runtime_control","social","stocks","trading","voice","wallets","youtube","youtube_engine"]}}},"inventory_summary":{"families":["content","nyc_news","youtube","finance","coinbase","gemini","stocks","wallets","adapters","modules","offgrid_ai"],"family_count":11,"host_count":4,"service_count":10,"pipeline_count":11,"alias_count":9,"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"surface_family_count":21,"surface_families":["adapters","agents","coinbase","connectors","content","content_pipeline","finance","gemini","llm","memory","modules","news","nyc_news","runtime_control","social","stocks","trading","voice","wallets","youtube","youtube_engine"]},"summary":{"available_sections":27,"total_sections":27,"unavailable_sections":[],"warnings":[]}},"bridges":{"ok":true,"total":219,"healthy":219,"gated":15,"sample":["a2a_bridge","ab_engine","action_engine_bridge","action_opportunity_engine","affiliate_engine","agent_reach_bridge","airllm_bridge","airtable_bridge"]},"obsidian_vault":{"ok":true,"configured":true,"vault":"/root/Documents/Obsidian Vault","note_count":0,"total_size_bytes":0,"directory_count":0,"last_log_entries":[]},"hermes":{"ok":false,"available":false,"cli":"hermes","model":"qwen2.5:0.5b","error":"Hermes CLI not found"},"model_runtime":{"ok":false,"timeout":true,"error":"probe timeout"},"llm":{"ok":true,"provider_order":["ollama","nvidia","groq","cerebras","deepseek_free","huggingface","github_models","cloudflare_ai","inference"],"available_provider_order":["ollama","nvidia","huggingface","github_models","cloudflare_ai"],"heavy_task_provider_order":["ollama","omniroute","gemini","openrouter","nvidia","huggingface","github_models","cloudflare_ai"],"active_provider":"ollama","ollama_cpu_bound":false,"local_only":false,"heavy_task_ollama_first":true,"heavy_task_ollama_last":false,"heavy_task_pinned_to_ollama":false,"heavy_task_provider_count":8,"policy_blocker":"","source":"llm_policy_fallback"},"llm_policy":{"ok":true,"provider_order":["ollama","nvidia","groq","cerebras","deepseek_free","huggingface","github_models","cloudflare_ai","inference"],"available_provider_order":["ollama","nvidia","huggingface","github_models","cloudflare_ai"],"heavy_task_provider_order":["ollama","omniroute","gemini","openrouter","nvidia","huggingface","github_models","cloudflare_ai"],"active_provider":"ollama","ollama_cpu_bound":false,"local_only":false,"heavy_task_ollama_first":true,"heavy_task_ollama_last":false,"heavy_task_pinned_to_ollama":false,"heavy_task_provider_count":8,"policy_blocker":"","source":"fast_llm_policy"},"providers":{"internet":true,"provider_order":["ollama","nvidia","groq","cerebras","deepseek_free","huggingface","github_models","cloudflare_ai","inference"],"effective_provider_order":["ollama","nvidia","groq","cerebras","deepseek_free","huggingface","github_models","cloudflare_ai","inference"],"heavy_task_provider_order":["ollama","nvidia","huggingface","github_models","cloudflare_ai"],"ollama_cpu_bound":false,"local_only":false,"ollama":{"running":false,"models":[],"live_models":[],"model":"qwen2.5:0.5b","available":false,"configured":true,"source":"configured_snapshot"},"airllm":{"configured":false,"model":"Qwen/Qwen2.5-7B-Instruct","compression":null,"layer_shards_saving_path":null,"available":false,"loaded":false,"error":null,"note":"text-only local model backend"},"nvidia":{"available":true,"models":["nvidia/nemotron-3-ultra-550b-a55b","nvidia/nemotron-3.5-lightning-30b-a3b","nvidia/nemotron-3-super-120b-a12b","nvidia/nemotron-3-nano-30b-a3b","nvidia/nemotron-3-ultra-550b-a55b","nvidia/nemotron-3-ultra-550b-a55b","deepseek-ai/deepseek-v4-flash-0731","deepseek-ai/deepseek-v4-flash-0731","deepseek-ai/deepseek-v4-pro-0813","deepseek-ai/deepseek-coder-6.7b-instruct","nvidia/nemotron-3-ultra-550b-a55b","nvidia/nemotron-3-super-120b-a12b"]},"opencode":{"available":false,"models":["opencode-go/kimi-k2.7-code","opencode-go/glm-5.1","opencode-go/deepseek-v4-pro","opencode/gpt-5.5","opencode/claude-sonnet-4-6"]},"openrouter":{"available":true,"models":["nvidia/nemotron-3.5-lightning:free","nvidia/nemotron-3-ultra-550b-a55b:free","nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free","nvidia/nemotron-3-super-120b-a12b:free","nvidia/nemotron-3-nano-30b-a3b:free","nvidia/nemotron-nano-12b-v2-vl:free","nvidia/nemotron-nano-9b-v2:free","nvidia/nemotron-3.5-content-safety:free","poolside/laguna-s-2.1:free","poolside/laguna-xs-2.1:free","cohere/north-mini-code:free","dots-studio/dots-3-note-preview:free","google/gemma-4-26b-a4b-it:free","google/gemma-4-31b-it:free","liquid/lfm-2.5-2.6b:free","openai/gpt-oss-20b:free"]},"xai":{"available":true,"models":["grok-4.3","grok-build-0.1"]},"gemini":{"available":true,"models":["gemini-2.5-flash","gemini-2.5-pro"]},"inference":{"available":false,"models":[]},"groq":{"available":false,"models":["llama-3.3-70b-versatile","mixtral-8x7b-32768"]},"mistral":{"available":false,"models":["mistral-small-latest","open-mistral-nemo"]},"github_models":{"available":true,"models":["github/gpt-4o-mini","github/Phi-4"]},"hyperbolic":{"available":false,"models":[]},"sambanova":{"available":false,"models":[]},"cloudflare_ai":{"available":true,"models":[]},"huggingface":{"available":true,"models":["meta-llama/Llama-3.2-3B-Instruct"]},"cerebras":{"available":false,"models":["llama-3.1-8b","llama-3.1-70b"]},"active_provider":"ollama","pruned_at":"2026-06-15","reason":"registry-driven provider routing with local-first fallback and OmniRoute support","ok":true,"available":true,"source":"provider_router.health","catalog":{"ok":true,"path":"/app/config/llm_provider_catalog.json","provider_count":6,"model_count":0,"providers":[{"id":"","name":"Ollama Cloud","category":"","free_tier":{},"model_count":0},{"id":"","name":"GitHub Models","category":"","free_tier":{},"model_count":0},{"id":"","name":"NVIDIA NIM","category":"","free_tier":{},"model_count":0},{"id":"","name":"Hugging Face","category":"","free_tier":{},"model_count":0},{"id":"","name":"DeepSeek","category":"","free_tier":{},"model_count":0},{"id":"","name":"OpenRouter","category":"","free_tier":{},"model_count":0}]},"focus":["cloudflare","cloudflare_ai","openrouter"]},"github":{"ok":false,"summary":{"connected":false,"account":"","remote":"","cached":false,"fast":{"cached_summary":false,"workflow_runs":0,"latest_workflow_ok":false,"latest_workflow_conclusion":"","workflow_issue_reason":"no_workflow_runs","jules_ok":false,"jules_configured":false,"jules_cli_available":false,"jules_issue_reason":"jules_api_key_not_configured","pending_candidates":0,"local_dirty_count":0,"local_tracked_dirty_count":0,"local_untracked_count":0,"local_head_matches_upstream":false,"local_branch":"","local_upstream_ref":"","local_ahead_count":0,"local_behind_count":0}},"line":"github_awareness connected=False cached=False","source":"github_fast_status","auth_error":"FileNotFoundError","cached_summary":false,"workflow_runs":0,"latest_workflow_ok":false,"latest_workflow_conclusion":"","latest_workflow_url":"","workflow_issue_reason":"no_workflow_runs","jules_ok":false,"jules_configured":false,"jules_cli_available":false,"jules_issue_reason":"jules_api_key_not_configured","pending_candidates":0,"local_dirty_count":0,"local_tracked_dirty_count":0,"local_untracked_count":0,"local_head_matches_upstream":false,"local_branch":"","local_upstream_ref":"","local_ahead_count":0,"local_behind_count":0},"open_notebook":{"ok":true,"service":"open_notebook","available":false,"running":false,"repo_root":"/Users/og/ai-stack/open-notebook","api_base":"http://127.0.0.1:5055","health":{"error":"<urlopen error [Errno 111] Connection refused>"},"notebooks":0,"notes":0,"recent_notebooks":[],"recent_notes":[],"recently_viewed":[],"auth":{"ok":false,"status":null,"auth_enabled":false,"password_configured":false,"api_unprotected":true,"reason":"open_notebook_auth_disabled","message":""},"auth_enabled":false,"password_configured":false,"api_unprotected":true,"source":"fast_status"},"credential_hygiene":{"ok":false,"generated_at":"2026-11-10T19:01:40.523195+00:00","duration_ms":1208.87,"checked_files":44,"protected_files":1,"insecure_files":1,"private_files":0,"repo_candidate_files":44,"home_candidate_files":0,"external_candidate_files":0,"external_roots":[],"redacted_secret_key_names":["ANTHROPIC_API_KEY","APIFY_API_TOKEN","CLAUDE_API_KEY","COINBASE_API_KEY","COINBASE_API_SECRET","DEEPSEEK_API_KEY","DISCORD_CLIENT_ID","DISCORD_PUBLIC_KEY","DISCORD_WEBHOOK_URL","FACEBOOK_APP_SECRET","FACEBOOK_PAGE_ACCESS_TOKEN","GEMINI_API_KEY","GOOGLE_API_KEY","GOOGLE_CLIENT_ID","GOOGLE_CLIENT_SECRET","GRAPHIFY_TOKEN_BUDGET","INFERENCE_NET_API_KEY","INSTAGRAM_ACCESS_TOKEN","LINKEDIN_ACCESS_TOKEN","LINKEDIN_CLIENT_ID","LINKEDIN_CLIENT_SECRET","MCP_URL_TOKEN_1","MCP_URL_TOKEN_2","MCP_USE_TOKEN","META_ACCESS_TOKEN","META_PAGE_ACCESS_TOKEN","NVIDIA_API_KEY","NVIDIA_NIM_API_KEY","OLLAMA_API_KEY","OPENAI_API_KEY","OPENROUTER_API_KEY","SERPAPI_KEY","SHOPIFY_ACCESS_TOKEN","SHOPIFY_API_KEY","SHOPIFY_API_SECRET","SHOPIFY_API_TOKEN","STRIPE_PUBLISHABLE_KEY","STRIPE_SECRET_KEY","SUPABASE_ANON_KEY","TELEGRAM_BOT_TOKEN","THREADS_ACCESS_TOKEN","TWITTER_ACCESS_SECRET","TWITTER_ACCESS_TOKEN","TWITTER_API_KEY","TWITTER_API_SECRET","XAI_API_KEY","YOUTUBE_CLIENT_ID","YOUTUBE_CLIENT_SECRET","installed.client_id","installed.client_secret","installed.token_uri"],"redacted_secret_key_count":51,"provider_file_counts":{"anthropic":1,"discord":1,"github":1,"google":1,"meta":1,"ollama":1,"openai":1,"openrouter":1,"shopify":2,"stripe":1,"supabase":1,"telegram":1},"capped_roots":[],"secret_store":{"path":"/app/.secrets","exists":false,"files":0},"summary":"credential hygiene: 44 candidate files checked, 1 permission risks"},"external_credentials":{"ok":false,"live_services":0,"dead_services":0,"services":[],"recommended_action":""},"frank_studios":{"ok":true,"ready":false,"draft_dir":"/Users/og/frank-work/content/frank_studio","draft_count":0,"recent":[],"enabled":false,"cloud_provider":"modal","cost_cap_usd":50.0,"max_concurrent":2,"queue_depth":0,"active_jobs":0,"health":{"enabled":false,"cloud_provider":"modal","cost_cap_usd":50.0,"max_concurrent":2,"third_party":"/app/third_party","queue_depth":0,"active_jobs":0,"adapters":{"longlive":{"available":false,"local":false,"cloud":false,"root":"/app/third_party/LongLive-main"},"moneyprinterturbo":{"ok":true,"mpt_dir":"/app/apps/moneyprinterturbo","output_dir":"/app/memory/video_output","services":["script","material","subtitle","voice","video"]},"open_generative_ai":{"ok":false,"installed":false,"configured":true,"base_url":"https://api.muapi.ai","api_key_source":"MUAPI_API_KEY","models_dump":false,"models_dump_fresh":false,"model_root":"/app/adapters/open-generative-ai"},"openmontage":{"ok":false,"error":"cannot import name 'openmontage_bridge' from 'core' (/app/core/__init__.py)"},"direct_openmontage":{"adapter":"direct_openmontage","available":false,"root":"/app/third_party/OpenMontage-main","python":"/usr/local/bin/python3","stock_key":false},"pixelle":{"available":false,"root":"/app/third_party/Pixelle-Video-main","probe":{"ok":false,"error":"[Errno 2] No such file or directory: PosixPath('/app/third_party/Pixelle-Video-main')","elapsed":0.0}}}},"adapters":{"longlive":{"available":false,"local":false,"cloud":false,"root":"/app/third_party/LongLive-main"},"moneyprinterturbo":{"ok":true,"mpt_dir":"/app/apps/moneyprinterturbo","output_dir":"/app/memory/video_output","services":["script","material","subtitle","voice","video"]},"open_generative_ai":{"ok":false,"installed":false,"configured":true,"base_url":"https://api.muapi.ai","api_key_source":"MUAPI_API_KEY","models_dump":false,"models_dump_fresh":false,"model_root":"/app/adapters/open-generative-ai"},"openmontage":{"ok":false,"error":"cannot import name 'openmontage_bridge' from 'core' (/app/core/__init__.py)"},"direct_openmontage":{"adapter":"direct_openmontage","available":false,"root":"/app/third_party/OpenMontage-main","python":"/usr/local/bin/python3","stock_key":false},"pixelle":{"available":false,"root":"/app/third_party/Pixelle-Video-main","probe":{"ok":false,"error":"[Errno 2] No such file or directory: PosixPath('/app/third_party/Pixelle-Video-main')","elapsed":0.0}}}},"body":{"ok":false,"configured":true,"available":false,"error":"body request failed: RemoteDisconnected","bridge":"frank_body_bridge"},"finance":{"available":true,"ok":true,"live_ready":true,"degraded":["strategy"],"coinbase":{"available":true,"ok":true,"has_credentials":false,"client_created":false,"connected":false,"key_source":"<from-keychain>","detail":""},"trading":{"available":true,"ok":true,"discipline_score":0,"trade_count":0,"journal_entries":0,"current_regime":"unknown","hard_limits":{"max_risk_per_trade_pct":1.0,"max_daily_loss_pct":2.0,"max_weekly_loss_pct":5.0,"leverage_requires_approval":true,"illiquid_requires_approval":true,"wallet_approval_required":true,"no_live_changes_during_open":true}},"strategy":{"available":false,"plugins_dir":"/app/adapters/claude-code-plugins-plus-skills/plugins/crypto","available_plugins":{},"memory_dir":"/app/memory/claude_finance","ok":false,"error":"plugins_dir_missing"},"gemini":{"available":true,"configured":true}},"wallets":{"available":true,"ok":true,"live_ready":true,"degraded":[],"phantom":{"available":true,"ok":false,"wallet_dir_exists":false,"config_path":"/app/memory/wallets/phantom_wallets.json","discovered_chains":[],"total_addresses":0},"solana":{"available":true,"live_enabled":false,"max_trade_usd":5.0,"slippage_bps":50,"jupiter_base":"https://lite-api.jup.ag/swap/v1","rpcs":["https://api.mainnet-beta.solana.com","https://solana.publicnode.com"],"key_loaded":false,"wallet":null}},"social":{"ok":true,"buffer":{"ok":true,"configured":true,"user":"manhattanviral@gmail.com","plan":"v2","channels":4,"channel_names":["googlebusiness","facebook","threads","instagram"]},"instagram":{"ok":true,"username":"manhattanviral","followers":131},"auth":{"ok":false,"publish_ready":false,"credentials_ready":true,"publish_gate_open":false,"posting_frozen":true,"gate_flags":{"FRANK_SOCIAL_POSTING_FROZEN":true,"FRANK_ALLOW_LIVE_SOCIAL_PUBLISH":false,"SOCIAL_PIPELINE_LIVE":true,"FRANK_SOCIAL_LIVE":false,"SOCIAL_ENABLED":true},"generated_at":"2026-11-10T19:03:26.624701+00:00","providers":{"buffer":{"ok":true,"provider":"buffer","configured":true,"env":{"BUFFER_ACCESS_TOKEN":true,"BUFFER_TOKEN":false,"BUFFER_API_KEY":false},"reason":"","error":"","channels":4,"channel_names":["googlebusiness","facebook","threads","instagram"],"setup":["Create or refresh a Buffer API key in Buffer Publish settings.","Set BUFFER_ACCESS_TOKEN in Frank's secret env, not in frontend code.","Verify connected Buffer channels with /buffer/health before publishing."]},"instagram":{"ok":true,"provider":"instagram","configured":true,"env":{"META_ACCESS_TOKEN":true,"INSTAGRAM_ACCOUNT_ID":false,"INSTAGRAM_BUSINESS_ACCOUNT_ID":true,"META_INSTAGRAM_ACCOUNT_ID":false},"reason":"","error":"","username":"manhattanviral","followers":131,"setup":["Use a Meta long-lived access token with Instagram Graph permissions.","Set META_ACCESS_TOKEN plus INSTAGRAM_ACCOUNT_ID or INSTAGRAM_BUSINESS_ACCOUNT_ID.","Verify the media URL is public before attempting image or Reel upload."]}},"blockers":["FRANK_SOCIAL_POSTING_FROZEN is enabled.","Live social publish gate is disabled."],"next_actions":["Unset FRANK_SOCIAL_POSTING_FROZEN before any live social publishing.","Set one live social gate flag only when credentials are valid and publishing is intended."],"repair_plan":["Unset FRANK_SOCIAL_POSTING_FROZEN before any live social publishing.","Set one live social gate flag only when credentials are valid and publishing is intended."],"summary":"social auth blocked: FRANK_SOCIAL_POSTING_FROZEN is enabled., Live social publish gate is disabled."},"credentials_ready":true,"publish_gate_open":false,"preferred":"buffer"},"offgrid_ai":{"available":true,"ok":true,"live_ready":true,"degraded":[],"source_of_truth":["core/offgrid_ai_catalog.py","research/2026-08-22-offgrid-ai-frank-integration.md"],"compat_layers":["apps/backend/services/pipeline_status_service.py","apps/backend/api/command_center.py"]},"pipeline_inventory":{"ok":true,"available":true,"family_count":27,"families":["adapters","agents","clients","coinbase","connectors","content","content_pipeline","finance","gemini","hyperautomation_labs","llm","memory","modules","news","nyc_news","offgrid_ai","platforms","runtime_control","social","stocks","toolchain","topology","trading","voice","wallets","youtube","youtube_engine"],"inventory_summary":{"families":["content","nyc_news","youtube","finance","coinbase","gemini","stocks","wallets","adapters","modules","offgrid_ai"],"family_count":11,"host_count":4,"service_count":10,"pipeline_count":11,"alias_count":9,"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"surface_family_count":21,"surface_families":["adapters","agents","coinbase","connectors","content","content_pipeline","finance","gemini","llm","memory","modules","news","nyc_news","runtime_control","social","stocks","trading","voice","wallets","youtube","youtube_engine"]},"inventory":{"runtime_control":{"source_of_truth":["core/frank_supervisor.py","core/agent_orchestrator_v2.py"],"compat_layers":["core/maestro.py","core/pipeline_engine.py"]},"agents":{"source_of_truth":["core/agent_registry.py","core/agent_mesh.py","apps/backend/services/agent_service.py"],"compat_layers":["core/agent_factory.py","core/frank_team_orchestrator.py","core/frank_agent_dispatcher.py"]},"llm":{"source_of_truth":["core/llm_router.py","core/free_llm_discovery.py","core/ollama_manager.py"],"compat_layers":["core/claude.py","core/hermes_bridge.py","core/brain/llm.py"]},"toolchain":{"source_of_truth":["core/toolchain_audit.py"],"compat_layers":["apps/backend/services/tool_registry_service.py","apps/backend/services/pipeline_status_service.py"]},"voice":{"source_of_truth":["core/voice_pipeline.py","core/voice.py"],"compat_layers":["core/voice_daemon.py","core/frank_voice_chat.py"]},"content":{"source_of_truth":["pipeline/runner.py","pipeline/platforms/dispatcher.py","pipeline/queue/store.py"],"compat_layers":["core/content_pipeline.py","core/content_publisher.py","core/content_generation_bridge.py"]},"content_pipeline":{"source_of_truth":["apps/backend/services/content_pipeline_service.py","core/content_machine.py","pipeline/runner.py"],"compat_layers":["core/content_publisher.py","core/content_creator_pipeline.py"]},"offgrid_ai":{"source_of_truth":["core/offgrid_ai_catalog.py","research/2026-08-22-offgrid-ai-frank-integration.md"],"compat_layers":["apps/backend/services/pipeline_status_service.py","apps/backend/api/command_center.py"]},"hyperautomation_labs":{"source_of_truth":["core/hyperautomation_labs.py","scripts/unified_cron_runner.py"],"compat_layers":["apps/backend/api/hyperautomation_labs.py","core/tool_registry.py"]},"social":{"source_of_truth":["core/social_registry.py","core/social_poster.py"],"compat_layers":["apps/backend/services/social_service.py"]},"news":{"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py"],"compat_layers":["core/news_pipeline.py","core/news_brain.py"]},"nyc_news":{"source_of_truth":["core/trending_news_bridge.py","pipeline/sources/news.py","core/viral_news_engine.py"],"compat_layers":["core/news_pipeline.py","core/content_reasoner.py"]},"youtube":{"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"youtube_engine":{"source_of_truth":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py"],"compat_layers":["control_center/server.py","apps/backend/api/status.py"]},"trading":{"source_of_truth":["core/crypto_service.py","core/unified_crypto_bridge.py"],"compat_layers":["core/crypto_bot_bridge.py","core/pipelines/trading_pipeline.py"]},"finance":{"source_of_truth":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/coinbase_bridge.py","core/gemini_brain.py","core/trading_learning_loop.py","core/claude_finance_bridge.py"],"compat_layers":["core/freqtrade_frank_strategy.py","core/freqtrade_bridge.py","core/medallion_engine.py","core/financial_manager.py"]},"coinbase":{"source_of_truth":["core/coinbase_bridge.py","core/unified_crypto_bridge.py"],"compat_layers":["core/coinbase_strategies.py","core/crypto_integration.py"]},"gemini":{"source_of_truth":["core/gemini_brain.py","core/llm_router.py"],"compat_layers":["core/agentic_brain.py","core/brain_reasoner.py"]},"stocks":{"source_of_truth":["core/financial_manager.py","core/analytics_api.py","core/medallion_engine.py"],"compat_layers":["core/trading_learning_loop.py","core/coinbase_strategies.py","bridges/medallion_strategies.py"]},"wallets":{"source_of_truth":["core/phantom_automation.py","core/phantom_wallet_bridge.py","core/solana_trader.py","external/automaton/src/identity/wallet.ts"],"compat_layers":["core/unified_memory.py","core/unified_crypto_bridge.py"]},"adapters":{"source_of_truth":["core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py"],"compat_layers":["core/everything_connector.py","core/bridge_loader.py"]},"memory":{"source_of_truth":["core/mem0_bridge.py","core/unified_memory.py"],"compat_layers":["core/memory_longterm.py","core/memory_vault.py","apps/backend/services/memory_service.py"]},"connectors":{"source_of_truth":["core/github_awareness.py","apps/backend/services/connector_center_service.py"],"compat_layers":["core/repo_catalog_bridge.py","core/repo_capabilities_bridge.py"]},"modules":{"source_of_truth":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py"],"compat_layers":["core/full_feature_wiring.py","apps/backend/services/doctor_service.py","core/automation_v2.py"]},"platforms":{"source_of_truth":["core/runtime_topology.py","core/agent_mesh.py","core/coinbase_bridge.py"],"compat_layers":["core/frank_server_stack.py","apps/backend/api/command_center.py"]},"clients":{"source_of_truth":["apps/desktop_web/app_window.py","apps/desktop_web/odysseus_webview_launcher.py","ui/ui_server.py"],"compat_layers":["core/runtime_topology.py","control_center/server.py"]},"topology":{"source_of_truth":["core/runtime_topology.py"],"compat_layers":["core/system_inventory.py","core/frank_system_map.py"],"current":{"hosts":["external_drive","github","laptop","server"],"services":["atomic_hermes_runtime","automaton_runtime","frank_backend","grafana","ollama","omniroute_computer","omniroute_server","open_webui","portainer","prometheus"],"domains":["adapters","content","finance","modules","wallets","youtube"],"pipelines":["adapters","coinbase","content_pipeline","finance","gemini","modules","nyc_news","stocks","wallets","youtube","youtube_engine"],"platforms":["agent_mesh","cloudflare","coinbase_agent","vercel"],"agents":["agent_mesh","automation","coinbase_agent","core_roles","memory_agent"],"clients":["desktop","phone"]},"family_index":{"runtime_control":{"authority":"server","purpose":"supervision, orchestration, and control loop ownership","canonical_state":"server-backed supervisor and orchestrator state","representatives":["core/frank_supervisor.py","core/agent_orchestrator_v2.py","core/maestro.py","core/pipeline_engine.py"]},"agents":{"authority":"server","purpose":"agent registry, dispatch, and coordination","canonical_state":"server-backed agent registry and mesh state","representatives":["core/agent_registry.py","core/agent_mesh.py","apps/backend/services/agent_service.py","core/agent_factory.py"]},"llm":{"authority":"server","purpose":"provider routing, model policy, and LLM operations","canonical_state":"server-backed model router and provider policy","representatives":["core/llm_router.py","core/free_llm_discovery.py","core/ollama_manager.py","core/brain/llm.py"]},"voice":{"authority":"server","purpose":"speech synthesis, voice playback, and TTS control","canonical_state":"server-backed voice pipeline and engine state","representatives":["core/voice_pipeline.py","core/voice.py","core/voice/tts.py"]},"content":{"authority":"server","purpose":"news discovery, content generation, queueing, and publish flows","canonical_state":"server-backed content queue and media artifacts","representatives":["pipeline/runner.py","pipeline/platforms/dispatcher.py","pipeline/queue/store.py","core/content_machine.py","core/trending_news_bridge.py"]},"content_pipeline":{"authority":"server","purpose":"content queueing, drafting, and publish orchestration","canonical_state":"server-backed content pipeline service and queue state","representatives":["apps/backend/services/content_pipeline_service.py","apps/backend/api/content_pipeline.py","core/content_machine.py","pipeline/runner.py"]},"social":{"authority":"server","purpose":"social publishing and credential-gated posting","canonical_state":"server-backed social auth and publish state","representatives":["core/social_registry.py","core/social_poster.py","apps/backend/services/social_service.py"]},"news":{"authority":"server","purpose":"news discovery, trend tracking, and story sourcing","canonical_state":"server-backed trending news bridge and sources","representatives":["core/trending_news_bridge.py","pipeline/sources/news.py","core/news_pipeline.py"]},"nyc_news":{"authority":"server","purpose":"NYC and Manhattan news discovery and packaging","canonical_state":"server-backed NYC editorial topics and artifacts","representatives":["pipeline/sources/news.py","core/viral_news_engine.py","core/qnews_content_builder.py","core/ten_m_content_factory.py"]},"youtube":{"authority":"server","purpose":"YouTube research, generation, upload, and trend routing","canonical_state":"server-backed YouTube pipelines and guards","representatives":["core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_pipeline_guard.py","scripts/youtube_uploader.py"]},"youtube_engine":{"authority":"server","purpose":"YouTube SEO, scraper, and engine orchestration","canonical_state":"server-backed YouTube engine state and status","representatives":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py"]},"trading":{"authority":"server","purpose":"crypto routing, trading helpers, and execution pipelines","canonical_state":"server-backed crypto bridge and trade state","representatives":["core/crypto_service.py","core/unified_crypto_bridge.py","core/crypto_bot_bridge.py","core/pipelines/trading_pipeline.py"]},"finance":{"authority":"server","purpose":"trading, treasury, market signals, and crypto routing","canonical_state":"server-backed balances, strategies, and portfolio state","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/coinbase_bridge.py","core/gemini_brain.py","core/trading_learning_loop.py","core/claude_finance_bridge.py"]},"coinbase":{"authority":"server","purpose":"Coinbase balances, treasury, and execution automation","canonical_state":"server-backed Coinbase portfolio and execution state","representatives":["core/coinbase_bridge.py","core/coinbase_strategies.py","core/unified_crypto_bridge.py"]},"gemini":{"authority":"server","purpose":"Gemini brain, routing, and model-backed coordination","canonical_state":"server-backed Gemini brain and LLM routing state","representatives":["core/gemini_brain.py","core/llm_router.py","core/agentic_brain.py"]},"stocks":{"authority":"server","purpose":"equities, trading plans, and prediction market execution","canonical_state":"server-backed trading plans and market positions","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/coinbase_bridge.py"]},"wallets":{"authority":"server","purpose":"wallet discovery, signing, and balance visibility","canonical_state":"server-backed wallet metadata and automaton identity","representatives":["core/phantom_wallet_bridge.py","core/phantom_automation.py","core/solana_trader.py","core/unified_memory.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"adapter repos and integration packs","canonical_state":"server-backed adapter registry with laptop mirrors only","representatives":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py","core/everything_connector.py"]},"memory":{"authority":"server","purpose":"vectors, recall, long-term memory, and brain state","canonical_state":"server-backed vector store and memory vault","representatives":["core/live_brain.py","core/unified_memory.py","core/memory_vault.py","apps/backend/services/vector_memory_service.py"]},"connectors":{"authority":"server","purpose":"GitHub, repo, and external connector surfaces","canonical_state":"server-backed connector registry and discovery","representatives":["core/github_awareness.py","apps/backend/services/connector_center_service.py","core/repo_catalog_bridge.py"]},"modules":{"authority":"server","purpose":"module graph, wiring, and operational inventory","canonical_state":"repo-defined module graph and runtime wiring","representatives":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py","core/full_feature_wiring.py","apps/backend/services/doctor_service.py"]}},"summary":{"families":["content","nyc_news","youtube","finance","coinbase","gemini","stocks","wallets","adapters","modules","offgrid_ai"],"family_count":11,"host_count":4,"service_count":10,"pipeline_count":11,"alias_count":9,"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"surface_family_count":21,"surface_families":["adapters","agents","coinbase","connectors","content","content_pipeline","finance","gemini","llm","memory","modules","news","nyc_news","runtime_control","social","stocks","trading","voice","wallets","youtube","youtube_engine"]}}}},"systems":{"ok":true,"pipeline_families":["adapters","agents","clients","coinbase","connectors","content","content_pipeline","finance","gemini","hyperautomation_labs","llm","memory","modules","news","nyc_news","offgrid_ai","platforms","runtime_control","social","stocks","toolchain","topology","trading","voice","wallets","youtube","youtube_engine"],"pipeline_aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"pipeline_inventory_summary":{"families":["content","nyc_news","youtube","finance","coinbase","gemini","stocks","wallets","adapters","modules","offgrid_ai"],"family_count":11,"host_count":4,"service_count":10,"pipeline_count":11,"alias_count":9,"aliases":["content_pipeline","nyc_news","youtube_engine","coinbase","gemini","stocks","wallets","adapters","modules"],"surface_family_count":21,"surface_families":["adapters","agents","coinbase","connectors","content","content_pipeline","finance","gemini","llm","memory","modules","news","nyc_news","runtime_control","social","stocks","trading","voice","wallets","youtube","youtube_engine"]},"domain_families":[],"topology_hosts":["external_drive","github","laptop","server"],"topology_clients":["desktop","phone"],"module_registry":{"root":"/app","summary":{"agents":51,"adapters":0,"commands":31,"prompts":17,"hooks":5,"rules":14,"skills":91,"automations":5,"tools":7},"filesystem_summary":{"agents":51,"adapters":0,"commands":31,"prompts":17,"hooks":5,"rules":14,"skills":91,"automations":5,"tools":7},"operational_summary":{"issue_count":0,"source":"fast_filesystem_count"},"summary_line":"221 lightweight components counted for fast overview","load_errors":{},"load_error_count":0,"validation_issues":[],"validation_issue_count":0,"healthy":true,"source":"fast_filesystem_count"},"summary_line":"221 lightweight components counted for fast overview"},"pipelines":{"content_pipeline":{"authority":"server","purpose":"content queueing, drafting, and publish orchestration","canonical_state":"server-backed content pipeline service and queue state","representatives":["apps/backend/services/content_pipeline_service.py","apps/backend/api/content_pipeline.py","core/content_machine.py","pipeline/runner.py","pipeline/queue/store.py"]},"nyc_news":{"authority":"server","purpose":"NYC and Manhattan news discovery, editorial drafting, and social-ready packaging","canonical_state":"server-backed news topics, prompts, and queue artifacts","representatives":["pipeline/sources/news.py","pipeline/generators/content.py","core/topics.py","core/trend_watcher.py","core/viral_news_engine.py","core/qnews_content_builder.py","core/ten_m_content_factory.py","scripts/unified_content_engine.py","scripts/viral_content_engine.py"]},"youtube":{"authority":"server","purpose":"YouTube shorts, longform, SEO, uploads, and channel management","canonical_state":"server-backed video queues, auth, and upload state","representatives":["core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_pipeline_guard.py","core/youtube_seo_scanner.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py"]},"youtube_engine":{"authority":"server","purpose":"YouTube SEO, scraper, and engine orchestration","canonical_state":"server-backed YouTube engine state and status","representatives":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py"]},"finance":{"authority":"server","purpose":"paper/live trading, market signals, and treasury logic","canonical_state":"server-backed trading plans, signals, and portfolio state","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/freqtrade_bridge.py","core/automation_v2.py","core/medallion_engine.py","core/crypto_integration.py","core/coinbase_bridge.py","core/coinbase_strategies.py","core/gemini_brain.py","core/live_brain.py"]},"coinbase":{"authority":"server","purpose":"Coinbase balances, treasury, and execution automation","canonical_state":"server-backed Coinbase portfolio and execution state","representatives":["core/coinbase_bridge.py","core/coinbase_strategies.py","core/money_engine_v2.py","core/crypto_integration.py","core/unified_crypto_bridge.py"]},"gemini":{"authority":"server","purpose":"Gemini brain, routing, and model-backed coordination","canonical_state":"server-backed Gemini brain and LLM routing state","representatives":["core/gemini_brain.py","core/llm_router.py","core/agentic_brain.py","core/brain_reasoner.py"]},"stocks":{"authority":"server","purpose":"equities, trading plans, and prediction market execution","canonical_state":"server-backed trading plans and market positions","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/coinbase_bridge.py","core/gemini_brain.py"]},"wallets":{"authority":"server","purpose":"on-chain wallet discovery, signing, and balance visibility","canonical_state":"server-backed wallet metadata and automaton identity","representatives":["core/coinbase_bridge.py","core/phantom_wallet_bridge.py","core/phantom_automation.py","core/solana_trader.py","core/unified_memory.py","scripts/automaton_daily_trigger.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"adapter repos and integration packs","canonical_state":"server-backed adapter registry with laptop mirrors only","representatives":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py","core/everything_connector.py","core/agent_spawner.py"]},"modules":{"authority":"server","purpose":"module graph, wiring, and operational inventory","canonical_state":"repo-defined module graph and runtime wiring","representatives":["core/frank_system_map.py","core/master_wiring.py","core/automation_v2.py","core/frank_legacy_orchestrator.py","core/full_feature_wiring.py","apps/backend/services/doctor_service.py"]}},"drive_topology":{"ok":false,"generated_at":"2026-11-10T19:03:33.744287+00:00","duration_ms":4.16,"roots":[{"id":"repo","label":"Frank repo","role":"local_repo","path":"/app","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/app","volume_mount":"","available":true,"error":"","usage_path":"/app","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"work","label":"Frank hot workdir","role":"hot_internal","path":"/Users/og/frank-work","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"memory","label":"Frank memory","role":"hot_internal","path":"/Users/og/frank-work/memory","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/memory","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/memory","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"logs","label":"Frank logs","role":"hot_internal","path":"/Users/og/frank-work/logs","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/logs","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/logs","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"content","label":"Frank content","role":"content","path":"/Users/og/frank-work/content","required":false,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/content","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/content","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"external_base","label":"External Frank base","role":"external_cold","path":"/home/ubuntu/frank-external","required":false,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/home/ubuntu/frank-external","volume_mount":"","available":true,"error":"","usage_path":"/home/ubuntu/frank-external","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"external_models","label":"External models","role":"external_cold","path":"/home/ubuntu/frank-external/models","required":false,"exists":false,"is_dir":false,"is_symlink":false,"resolved":"/home/ubuntu/frank-external/models","volume_mount":"","available":false,"error":"","usage_path":"/home/ubuntu/frank-external","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"external_backups","label":"External backups","role":"external_cold","path":"/home/ubuntu/frank-external/backups","required":false,"exists":false,"is_dir":false,"is_symlink":false,"resolved":"/home/ubuntu/frank-external/backups","volume_mount":"","available":false,"error":"","usage_path":"/home/ubuntu/frank-external","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false}],"root_count":8,"required_missing":[],"low_space":[{"id":"repo","label":"Frank repo","role":"local_repo","path":"/app","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/app","volume_mount":"","available":true,"error":"","usage_path":"/app","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"work","label":"Frank hot workdir","role":"hot_internal","path":"/Users/og/frank-work","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"memory","label":"Frank memory","role":"hot_internal","path":"/Users/og/frank-work/memory","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/memory","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/memory","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"logs","label":"Frank logs","role":"hot_internal","path":"/Users/og/frank-work/logs","required":true,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/logs","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/logs","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"content","label":"Frank content","role":"content","path":"/Users/og/frank-work/content","required":false,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/Users/og/frank-work/content","volume_mount":"","available":true,"error":"","usage_path":"/Users/og/frank-work/content","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false},{"id":"external_base","label":"External Frank base","role":"external_cold","path":"/home/ubuntu/frank-external","required":false,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/home/ubuntu/frank-external","volume_mount":"","available":true,"error":"","usage_path":"/home/ubuntu/frank-external","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false}],"low_space_volumes":[{"id":"2097283","usage_path":"/app","volume_mount":"","total_gb":95.8,"free_gb":20.7,"free_percent":21.6,"used_percent":78.3,"root_ids":["repo","work","memory","logs","content","external_base"],"root_count":6}],"external_mounted":true,"external_roots":[{"id":"external_base","label":"External Frank base","role":"external_cold","path":"/home/ubuntu/frank-external","required":false,"exists":true,"is_dir":true,"is_symlink":false,"resolved":"/home/ubuntu/frank-external","volume_mount":"","available":true,"error":"","usage_path":"/home/ubuntu/frank-external","filesystem_device":2097283,"total_gb":95.8,"used_gb":75.1,"free_gb":20.7,"used_percent":78.3,"free_percent":21.6,"space_ok":false}],"hot_paths_internal":true,"hot_cold_ok":true,"min_free_gb":30.0,"min_free_percent":10.0,"server":{"available":true,"free_gb":20.7,"used_percent":78.3,"heavy_starts_allowed":false},"summary":"drive topology: 8 roots, 0 required missing, 1 low-space volumes affecting 6 roots"},"disk_pressure":{"ok":false,"generated_at":"2026-11-10T19:03:33.865881+00:00","duration_ms":102.15,"target_free_percent":10.0,"low_space_root_count":6,"low_space_volume_count":1,"low_space_volumes":[{"id":"2097283","usage_path":"/app","volume_mount":"","total_gb":95.8,"free_gb":20.7,"free_percent":21.6,"used_percent":78.3,"root_ids":["repo","work","memory","logs","content","external_base"],"root_count":6}],"external_mounted":true,"server_heavy_starts_allowed":false,"candidates":[],"candidate_count":0,"capped_candidates":[],"actions":[{"id":"free_local_disk","priority":"high","summary":"Mac local disk has 1 low-space volume affecting 6 Frank roots.","command":"review_only","requires_approval":true},{"id":"offload_to_external","priority":"high","summary":"External Frank storage is mounted; move cold media/backups/models there instead of keeping them on Mac.","command":"rsync -a --progress <approved-source> '/Volumes/Devin On the Beat/frank-archive/<approved-destination>/'","requires_approval":true}],"summary":"disk pressure plan: 0 candidates, 1 low-space volumes affecting 6 roots"},"server_stack":{"ok":true,"ready":0,"total":13,"disk":{"path":"/root","free_gb":20.7,"used_gb":75.1,"total_gb":95.8,"used_percent":78.3,"min_heavy_start_free_gb":30.0,"heavy_starts_allowed":false,"source":"local_fallback","remote_error":"FileNotFoundError"},"blocked":["Open Notebook compose file was not found."],"start_recommendations":{"open_webui":{"allowed":false,"reason":"needs at least 30GB free before pulling Open WebUI","command":"docker compose -f docker-compose.server-stack.yml --profile ai-ui up -d open-webui"},"portainer":{"allowed":false,"reason":"needs at least 30GB free before pulling Portainer","command":"docker compose -f docker-compose.server-stack.yml --profile ops up -d portainer"},"observability":{"allowed":true,"reason":"","command":"docker compose -f docker-compose.observability.yml up -d"},"open_notebook":{"allowed":false,"reason":"Open Notebook compose file was not found.","command":"cd /Users/og/ai-stack/open-notebook && docker compose up -d"},"server_powerhouse":{"allowed":true,"reason":"server has the disk/GPU lane; use it for heavy AI services","command":"ssh frank@192.168.1.171 'cd /home/frank/frank && docker compose -f docker-compose.gpu-server.yml up -d'"}},"domains":{"content":{"authority":"server","purpose":"news discovery, content generation, queueing, and publish flows","canonical_state":"server-backed content queue and media artifacts","routes":["/api/content","/api/content/full","/api/content/pipeline","/api/content/posts","/api/content/queue","/api/content/run","/content/draft","/content/publish","/content/queue","/content/score"],"state_paths":["apps/backend/api/content_pipeline.py","core/content_machine.py","core/content_creator_pipeline.py","core/content_dashboard.py","core/qnews_content_builder.py","core/ten_m_content_factory.py","core/trend_watcher.py","core/trending_news_bridge.py","core/viral_news_engine.py","core/viral_engine.py","pipeline/generators/content.py","pipeline/sources/news.py","core/searxng_client.py","apps/backend/services/live_data_service.py","scripts/unified_content_engine.py","scripts/viral_content_engine.py","scripts/auto_post.py","scripts/seed_content_queue.py"]},"youtube":{"authority":"server","purpose":"YouTube research, generation, upload, and trend routing","canonical_state":"server-backed YouTube pipelines and guards","routes":["/api/youtube-seo/auto-config","/api/youtube-seo/auto-optimize","/api/youtube-seo/log","/api/youtube-seo/optimize","/api/youtube-seo/pause","/api/youtube-seo/queue","/api/youtube-seo/scan","/api/youtube-seo/status","/api/youtube-seo/update","/api/youtube-seo/resume"],"state_paths":["core/google_bridge.py","core/ytdlp_bridge.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_trending_optimizer.py","core/youtube_pipeline_guard.py","core/youtube_seo_scanner.py","core/youtube_analytics.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py","scripts/unified_cron_runner.py"]},"finance":{"authority":"server","purpose":"trading, treasury, market signals, and crypto routing","canonical_state":"server-backed balances, strategies, and portfolio state","routes":["/api/finance"],"state_paths":["core/claude_finance_bridge.py","core/financial_manager.py","core/money_engine_v2.py","core/unified_crypto_bridge.py","core/coinbase_bridge.py","core/coinbase_strategies.py","core/crypto_integration.py","core/automation_v2.py","core/medallion_engine.py","core/gemini_brain.py","core/agentic_brain.py","core/live_brain.py","core/solana_trader.py","core/trading/","core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_bridge.py","core/freqtrade_frank_strategy.py","health_check.py"]},"wallets":{"authority":"server","purpose":"wallet discovery, chain identities, and funding state","canonical_state":"server-backed wallet metadata and external automaton identity","routes":["/home/user/.automaton/wallet.json"],"state_paths":["core/phantom_wallet_bridge.py","core/phantom_automation.py","core/coinbase_bridge.py","core/solana_trader.py","core/unified_memory.py","core/frank_core.py","scripts/automaton_daily_trigger.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"cloned external integrations and adapter packs","canonical_state":"server-backed adapter registry with laptop mirrors only","routes":["/api/adapters/list","/api/adapters/{name}","/api/action/adapter"],"state_paths":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/plugin_registry.py","core/tool_registry.py","core/system_registry.py","core/bridge_registry.py","core/everything_connector.py","core/agent_spawner.py","core/bridge_loader.py"]},"modules":{"authority":"server","purpose":"Frank module registry, wiring, and status surfaces","canonical_state":"repo-defined module graph and runtime wiring","routes":["/modules","/api/modules/list","/api/action/content/create"],"state_paths":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py","core/full_feature_wiring.py","core/agent_squad.py","core/bridge_router.py","core/bridge_loader.py","core/universal_bridge_activator.py","apps/backend/services/doctor_service.py","core/automation_v2.py","core/frank_legacy_orchestrator.py","core/everything_connector.py"]}},"pipelines":{"content_pipeline":{"authority":"server","purpose":"content queueing, drafting, and publish orchestration","canonical_state":"server-backed content pipeline service and queue state","representatives":["apps/backend/services/content_pipeline_service.py","apps/backend/api/content_pipeline.py","core/content_machine.py","pipeline/runner.py","pipeline/queue/store.py"]},"nyc_news":{"authority":"server","purpose":"NYC and Manhattan news discovery, editorial drafting, and social-ready packaging","canonical_state":"server-backed news topics, prompts, and queue artifacts","representatives":["pipeline/sources/news.py","pipeline/generators/content.py","core/topics.py","core/trend_watcher.py","core/viral_news_engine.py","core/qnews_content_builder.py","core/ten_m_content_factory.py","scripts/unified_content_engine.py","scripts/viral_content_engine.py"]},"youtube":{"authority":"server","purpose":"YouTube shorts, longform, SEO, uploads, and channel management","canonical_state":"server-backed video queues, auth, and upload state","representatives":["core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_pipeline_guard.py","core/youtube_seo_scanner.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py"]},"youtube_engine":{"authority":"server","purpose":"YouTube SEO, scraper, and engine orchestration","canonical_state":"server-backed YouTube engine state and status","representatives":["core/service_launcher.py","core/youtube_seo_scanner.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py"]},"finance":{"authority":"server","purpose":"paper/live trading, market signals, and treasury logic","canonical_state":"server-backed trading plans, signals, and portfolio state","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/freqtrade_bridge.py","core/automation_v2.py","core/medallion_engine.py","core/crypto_integration.py","core/coinbase_bridge.py","core/coinbase_strategies.py","core/gemini_brain.py","core/live_brain.py"]},"coinbase":{"authority":"server","purpose":"Coinbase balances, treasury, and execution automation","canonical_state":"server-backed Coinbase portfolio and execution state","representatives":["core/coinbase_bridge.py","core/coinbase_strategies.py","core/money_engine_v2.py","core/crypto_integration.py","core/unified_crypto_bridge.py"]},"gemini":{"authority":"server","purpose":"Gemini brain, routing, and model-backed coordination","canonical_state":"server-backed Gemini brain and LLM routing state","representatives":["core/gemini_brain.py","core/llm_router.py","core/agentic_brain.py","core/brain_reasoner.py"]},"stocks":{"authority":"server","purpose":"equities, trading plans, and prediction market execution","canonical_state":"server-backed trading plans and market positions","representatives":["core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_frank_strategy.py","core/coinbase_bridge.py","core/gemini_brain.py"]},"wallets":{"authority":"server","purpose":"on-chain wallet discovery, signing, and balance visibility","canonical_state":"server-backed wallet metadata and automaton identity","representatives":["core/coinbase_bridge.py","core/phantom_wallet_bridge.py","core/phantom_automation.py","core/solana_trader.py","core/unified_memory.py","scripts/automaton_daily_trigger.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"adapter repos and integration packs","canonical_state":"server-backed adapter registry with laptop mirrors only","representatives":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/bridge_registry.py","core/everything_connector.py","core/agent_spawner.py"]},"modules":{"authority":"server","purpose":"module graph, wiring, and operational inventory","canonical_state":"repo-defined module graph and runtime wiring","representatives":["core/frank_system_map.py","core/master_wiring.py","core/automation_v2.py","core/frank_legacy_orchestrator.py","core/full_feature_wiring.py","apps/backend/services/doctor_service.py"]}},"services":[{"id":"frank_server","name":"Frank GPU Server","category":"server","ready":false,"url":"","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"open_webui","name":"Open WebUI","category":"ai_ui","ready":false,"url":"http://192.168.1.171:3000","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"ollama","name":"Ollama local/cloud","category":"model_runtime","ready":false,"url":"http://192.168.1.171:11434","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"portainer","name":"Portainer CE","category":"server_ops","ready":false,"url":"https://192.168.1.171:9443","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"grafana","name":"Grafana","category":"observability","ready":false,"url":"http://192.168.1.171:3001","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"prometheus","name":"Prometheus","category":"observability","ready":false,"url":"http://192.168.1.171:9090","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"omniroute","name":"OmniRoute Server","category":"routing","ready":false,"url":"http://192.168.1.171:20128","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"omniroute_computer","name":"OmniRoute Computer","category":"routing","ready":false,"url":"http://127.0.0.1:20128","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"atomic_hermes","name":"Atomic Hermes","category":"agent_runtime","ready":false,"url":"","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"odysseus","name":"Odysseus","category":"workspace","ready":false,"url":"http://192.168.1.171:7000","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"open_notebook","name":"Open Notebook","category":"knowledge","ready":false,"url":"http://127.0.0.1:8502","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":"Open Notebook compose file was not found."},{"id":"frank_studios","name":"Frank Studios","category":"content","ready":false,"url":"http://192.168.1.171:8750","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""},{"id":"torlink","name":"Torlink","category":"network","ready":false,"url":"http://192.168.1.171:9117","route_ready":false,"api_auth_ready":false,"auth_required":false,"reason":"","blocked_reason":""}]},"domains":{"content":{"authority":"server","purpose":"news discovery, content generation, queueing, and publish flows","canonical_state":"server-backed content queue and media artifacts","routes":["/api/content","/api/content/full","/api/content/pipeline","/api/content/posts","/api/content/queue","/api/content/run","/content/draft","/content/publish","/content/queue","/content/score"],"state_paths":["apps/backend/api/content_pipeline.py","core/content_machine.py","core/content_creator_pipeline.py","core/content_dashboard.py","core/qnews_content_builder.py","core/ten_m_content_factory.py","core/trend_watcher.py","core/trending_news_bridge.py","core/viral_news_engine.py","core/viral_engine.py","pipeline/generators/content.py","pipeline/sources/news.py","core/searxng_client.py","apps/backend/services/live_data_service.py","scripts/unified_content_engine.py","scripts/viral_content_engine.py","scripts/auto_post.py","scripts/seed_content_queue.py"]},"youtube":{"authority":"server","purpose":"YouTube research, generation, upload, and trend routing","canonical_state":"server-backed YouTube pipelines and guards","routes":["/api/youtube-seo/auto-config","/api/youtube-seo/auto-optimize","/api/youtube-seo/log","/api/youtube-seo/optimize","/api/youtube-seo/pause","/api/youtube-seo/queue","/api/youtube-seo/scan","/api/youtube-seo/status","/api/youtube-seo/update","/api/youtube-seo/resume"],"state_paths":["core/google_bridge.py","core/ytdlp_bridge.py","core/youtube_dashcam_pipeline.py","core/youtube_police_pipeline.py","core/youtube_dr_police_pipeline.py","core/youtube_trending_optimizer.py","core/youtube_pipeline_guard.py","core/youtube_seo_scanner.py","core/youtube_analytics.py","scripts/youtube_shorts_pipeline.py","scripts/youtube_uploader.py","scripts/youtube_channel_manager.py","scripts/youtube_studio_actions.py","scripts/unified_cron_runner.py"]},"finance":{"authority":"server","purpose":"trading, treasury, market signals, and crypto routing","canonical_state":"server-backed balances, strategies, and portfolio state","routes":["/api/finance"],"state_paths":["core/claude_finance_bridge.py","core/financial_manager.py","core/money_engine_v2.py","core/unified_crypto_bridge.py","core/coinbase_bridge.py","core/coinbase_strategies.py","core/crypto_integration.py","core/automation_v2.py","core/medallion_engine.py","core/gemini_brain.py","core/agentic_brain.py","core/live_brain.py","core/solana_trader.py","core/trading/","core/trading/trading_plan.py","core/trading/prediction_market.py","core/freqtrade_bridge.py","core/freqtrade_frank_strategy.py","health_check.py"]},"wallets":{"authority":"server","purpose":"wallet discovery, chain identities, and funding state","canonical_state":"server-backed wallet metadata and external automaton identity","routes":["/home/user/.automaton/wallet.json"],"state_paths":["core/phantom_wallet_bridge.py","core/phantom_automation.py","core/coinbase_bridge.py","core/solana_trader.py","core/unified_memory.py","core/frank_core.py","scripts/automaton_daily_trigger.py","external/automaton/src/identity/wallet.ts"]},"adapters":{"authority":"server","purpose":"cloned external integrations and adapter packs","canonical_state":"server-backed adapter registry with laptop mirrors only","routes":["/api/adapters/list","/api/adapters/{name}","/api/action/adapter"],"state_paths":["adapters/","core/adapter_registry.py","core/adapter_router.py","core/plugin_registry.py","core/tool_registry.py","core/system_registry.py","core/bridge_registry.py","core/everything_connector.py","core/agent_spawner.py","core/bridge_loader.py"]},"modules":{"authority":"server","purpose":"Frank module registry, wiring, and status surfaces","canonical_state":"repo-defined module graph and runtime wiring","routes":["/modules","/api/modules/list","/api/action/content/create"],"state_paths":["core/frank_system_map.py","core/master_wiring.py","core/manifest.py","core/full_feature_wiring.py","core/agent_squad.py","core/bridge_router.py","core/bridge_loader.py","core/universal_bridge_activator.py","apps/backend/services/doctor_service.py","core/automation_v2.py","core/frank_legacy_orchestrator.py","core/everything_connector.py"]}},"commands":{"status":"/center/overview","briefing":"/center/briefing","mission":"/center/mission-plan","server":"/server-stack","credentials":"/credentials/health","metrics":"/metrics/prometheus","github":"/github/status","llm":"/llm/status"},"system":{"backend":"0.0.0.0:8001","python":"3.13.15","platform":"linux"},"status":"ok","summary":"Command Center — 14/21 systems healthy","next_actions":["Tighten credential-like file permissions to 600 before expanding automation.","Enable Open Notebook API auth before exposing notebook tools beyond localhost.","Investigate GitHub workflow issue: no_workflow_runs.","Configure JULES_API_KEY or connect Jules before using Jules automation.","Open Notebook compose file was not found.","GPU server Ollama primary is unavailable; check server model runtime.","Free disk space on 1 low-space volume(s) affecting Frank hot roots before heavy jobs.","Mac local disk has 1 low-space volume affecting 6 Frank roots."],"artifacts":[]}