{"nodes": [{"id": "root_socialdesk_docs_06_gap_analysis_md", "label": "06-gap-analysis.md", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L1"}, {"id": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "label": "SocialDesk AI \u2014 Project Plan & Gap Analysis", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L1"}, {"id": "docs_06_gap_analysis_1_what_s_been_built_completed", "label": "1. What's Been Built (Completed)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L7"}, {"id": "docs_06_gap_analysis_1_1_stack_architecture", "label": "1.1 Stack & Architecture", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L9"}, {"id": "docs_06_gap_analysis_1_2_phase_1_foundation_largely_complete", "label": "1.2 Phase 1 \u2014 Foundation (\u2705 Largely Complete)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L16"}, {"id": "docs_06_gap_analysis_1_3_phase_2_publishing_core_done_missing_real_integrations", "label": "1.3 Phase 2 \u2014 Publishing (\u2705 Core Done, Missing Real Integrations)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L34"}, {"id": "docs_06_gap_analysis_1_4_phase_3_inbox_live_agents_core_done", "label": "1.4 Phase 3 \u2014 Inbox & Live Agents (\u2705 Core Done)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L47"}, {"id": "docs_06_gap_analysis_1_5_phase_5_ai_knowledge_base_settings_layer_only", "label": "1.5 Phase 5 \u2014 AI & Knowledge Base (\u2705 Settings Layer Only)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L62"}, {"id": "docs_06_gap_analysis_1_6_other_completed_items", "label": "1.6 Other Completed Items", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L72"}, {"id": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "label": "2. What's Missing (Gap Analysis)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L87"}, {"id": "docs_06_gap_analysis_2_1_phase_1_gaps_foundation", "label": "2.1 Phase 1 Gaps \u2014 Foundation", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L89"}, {"id": "docs_06_gap_analysis_2_2_phase_2_gaps_publishing_major", "label": "2.2 Phase 2 Gaps \u2014 Publishing (Major)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L99"}, {"id": "docs_06_gap_analysis_2_3_phase_3_gaps_inbox_live_agents", "label": "2.3 Phase 3 Gaps \u2014 Inbox & Live Agents", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L119"}, {"id": "docs_06_gap_analysis_2_4_phase_4_gaps_workflow_builder_entirely_missing", "label": "2.4 Phase 4 Gaps \u2014 Workflow Builder (\u274c Entirely Missing)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L138"}, {"id": "docs_06_gap_analysis_2_5_phase_5_gaps_ai_knowledge_base", "label": "2.5 Phase 5 Gaps \u2014 AI & Knowledge Base", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L157"}, {"id": "docs_06_gap_analysis_2_6_phase_6_gaps_analytics_billing_enterprise", "label": "2.6 Phase 6 Gaps \u2014 Analytics, Billing, Enterprise", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L177"}, {"id": "docs_06_gap_analysis_2_7_cross_cutting_gaps", "label": "2.7 Cross-Cutting Gaps", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L194"}, {"id": "docs_06_gap_analysis_3_db_tables_implemented_vs_planned", "label": "3. DB Tables: Implemented vs. Planned", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L211"}, {"id": "docs_06_gap_analysis_implemented_tables", "label": "\u2705 Implemented Tables", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L213"}, {"id": "docs_06_gap_analysis_missing_tables_from_plan", "label": "\u274c Missing Tables (from Plan)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L233"}, {"id": "docs_06_gap_analysis_4_api_routes_implemented_vs_planned", "label": "4. API Routes: Implemented vs. Planned", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L249"}, {"id": "docs_06_gap_analysis_implemented", "label": "\u2705 Implemented", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L251"}, {"id": "docs_06_gap_analysis_missing_api_routes_from_plan", "label": "\u274c Missing API Routes (from Plan)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L277"}, {"id": "docs_06_gap_analysis_5_priority_roadmap_what_to_build_next", "label": "5. Priority Roadmap \u2014 What to Build Next", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L300"}, {"id": "docs_06_gap_analysis_critical_path_blocking_mvp", "label": "\ud83d\udd34 Critical Path (Blocking MVP)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L302"}, {"id": "docs_06_gap_analysis_high_priority_core_completeness", "label": "\ud83d\udfe1 High Priority (Core Completeness)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L316"}, {"id": "docs_06_gap_analysis_lower_priority_polish_enterprise", "label": "\ud83d\udfe2 Lower Priority (Polish & Enterprise)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L332"}, {"id": "docs_06_gap_analysis_6_summary_by_phase", "label": "6. Summary by Phase", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L353"}, {"id": "docs_06_gap_analysis_7_docker_deployment_critical_note", "label": "7. \u26a0\ufe0f Docker Deployment \u2014 Critical Note", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L375"}, {"id": "docs_06_gap_analysis_current_state_zero_docker", "label": "Current State: Zero Docker", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L381"}, {"id": "docs_06_gap_analysis_docker_specific_considerations", "label": "Docker-specific considerations", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L395"}, {"id": "docs_06_gap_analysis_recommended_docker_compose_structure", "label": "Recommended Docker Compose Structure", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L405"}, {"id": "docs_06_gap_analysis_codeblock_1", "label": "code:yaml (services:)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L407"}, {"id": "docs_06_gap_analysis_worker_jobs_from_plan_section_23_all_blocked_on_docker_bullmq", "label": "Worker Jobs (from Plan Section 23) \u2014 All Blocked on Docker + BullMQ", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L426"}, {"id": "docs_06_gap_analysis_8_updated_priority_roadmap_docker_first", "label": "8. Updated Priority Roadmap (Docker-First)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L448"}, {"id": "docs_06_gap_analysis_immediate_docker_infrastructure_week_1_2", "label": "\ud83d\udd34 Immediate \u2014 Docker Infrastructure (Week 1-2)", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L450"}, {"id": "docs_06_gap_analysis_then_feature_completion", "label": "\ud83d\udfe1 Then \u2014 Feature Completion", "file_type": "document", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L465"}], "edges": [{"source": "root_socialdesk_docs_06_gap_analysis_md", "target": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L1", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_1_what_s_been_built_completed", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L7", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_1_stack_architecture", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L9", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_2_phase_1_foundation_largely_complete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L16", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_3_phase_2_publishing_core_done_missing_real_integrations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L34", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_4_phase_3_inbox_live_agents_core_done", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L47", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_5_phase_5_ai_knowledge_base_settings_layer_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L62", "weight": 1.0}, {"source": "docs_06_gap_analysis_1_what_s_been_built_completed", "target": "docs_06_gap_analysis_1_6_other_completed_items", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L72", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L87", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_1_phase_1_gaps_foundation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L89", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_2_phase_2_gaps_publishing_major", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L99", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_3_phase_3_gaps_inbox_live_agents", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L119", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_4_phase_4_gaps_workflow_builder_entirely_missing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L138", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_5_phase_5_gaps_ai_knowledge_base", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L157", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_6_phase_6_gaps_analytics_billing_enterprise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L177", "weight": 1.0}, {"source": "docs_06_gap_analysis_2_what_s_missing_gap_analysis", "target": "docs_06_gap_analysis_2_7_cross_cutting_gaps", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L194", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_3_db_tables_implemented_vs_planned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L211", "weight": 1.0}, {"source": "docs_06_gap_analysis_3_db_tables_implemented_vs_planned", "target": "docs_06_gap_analysis_implemented_tables", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L213", "weight": 1.0}, {"source": "docs_06_gap_analysis_3_db_tables_implemented_vs_planned", "target": "docs_06_gap_analysis_missing_tables_from_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L233", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_4_api_routes_implemented_vs_planned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L249", "weight": 1.0}, {"source": "docs_06_gap_analysis_4_api_routes_implemented_vs_planned", "target": "docs_06_gap_analysis_implemented", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L251", "weight": 1.0}, {"source": "docs_06_gap_analysis_4_api_routes_implemented_vs_planned", "target": "docs_06_gap_analysis_missing_api_routes_from_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L277", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_5_priority_roadmap_what_to_build_next", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L300", "weight": 1.0}, {"source": "docs_06_gap_analysis_5_priority_roadmap_what_to_build_next", "target": "docs_06_gap_analysis_critical_path_blocking_mvp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L302", "weight": 1.0}, {"source": "docs_06_gap_analysis_5_priority_roadmap_what_to_build_next", "target": "docs_06_gap_analysis_high_priority_core_completeness", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L316", "weight": 1.0}, {"source": "docs_06_gap_analysis_5_priority_roadmap_what_to_build_next", "target": "docs_06_gap_analysis_lower_priority_polish_enterprise", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L332", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_6_summary_by_phase", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L353", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_7_docker_deployment_critical_note", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L375", "weight": 1.0}, {"source": "docs_06_gap_analysis_7_docker_deployment_critical_note", "target": "docs_06_gap_analysis_current_state_zero_docker", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L381", "weight": 1.0}, {"source": "docs_06_gap_analysis_7_docker_deployment_critical_note", "target": "docs_06_gap_analysis_docker_specific_considerations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L395", "weight": 1.0}, {"source": "docs_06_gap_analysis_7_docker_deployment_critical_note", "target": "docs_06_gap_analysis_recommended_docker_compose_structure", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L405", "weight": 1.0}, {"source": "docs_06_gap_analysis_recommended_docker_compose_structure", "target": "docs_06_gap_analysis_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L407", "weight": 1.0}, {"source": "docs_06_gap_analysis_7_docker_deployment_critical_note", "target": "docs_06_gap_analysis_worker_jobs_from_plan_section_23_all_blocked_on_docker_bullmq", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L426", "weight": 1.0}, {"source": "docs_06_gap_analysis_socialdesk_ai_project_plan_gap_analysis", "target": "docs_06_gap_analysis_8_updated_priority_roadmap_docker_first", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L448", "weight": 1.0}, {"source": "docs_06_gap_analysis_8_updated_priority_roadmap_docker_first", "target": "docs_06_gap_analysis_immediate_docker_infrastructure_week_1_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L450", "weight": 1.0}, {"source": "docs_06_gap_analysis_8_updated_priority_roadmap_docker_first", "target": "docs_06_gap_analysis_then_feature_completion", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/docs/06-gap-analysis.md", "source_location": "L465", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}