Review the current git diff using only the provided pr_impact payload. Summarize the changed areas, top risks, supporting files to inspect, likely tests to run, and structural hotspots to watch. Mode: verbose pr_impact payload: { "base_branch": "origin/main", "changed_files": [ "src/app/admin/pipeline/[ideaId]/page-state.test.ts", "src/app/admin/pipeline/[ideaId]/page-state.ts", "src/app/admin/pipeline/[ideaId]/page.tsx", "src/app/admin/pipeline/page.tsx", "src/components/layout.tsx", "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "src/features/admin/components/PipelineFailuresList.tsx", "src/features/admin/components/PipelineRunsTable.tsx", "src/features/admin/components/PipelineSummaryCards.tsx", "src/features/admin/hooks/usePipelineAdmin.ts", "src/features/admin/hooks/usePipelineRunDetail.ts", "src/features/admin/index.ts", "src/features/admin/services/pipeline-api.ts", "src/features/admin/types/pipeline.types.ts", "src/features/idea-details/components/IdeaHero.tsx", "src/features/idea-details/components/IdeaMetricsReview.tsx", "src/features/idea-details/components/RecommendationBadge.tsx", "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "src/features/idea-details/components/tabs/RunwayTab.tsx", "src/features/idea-details/hooks/pipeline-status-sync.test.ts", "src/features/idea-details/hooks/pipeline-status-sync.ts", "src/features/idea-details/hooks/useIdeaData.ts", "src/features/ideas/components/IdeaCard.tsx", "src/features/ideas/components/IdeaProgressV2.tsx", "src/features/ideas/components/MetricDetailModal.tsx", "src/features/ideas/components/PipelineDAG.tsx", "src/features/ideas/components/PipelineDAGNode.tsx", "src/features/ideas/components/SectionProgressCard.tsx", "src/features/ideas/components/index.ts", "src/features/ideas/hooks/useIdeaProgress.ts", "src/features/ideas/index.ts", "src/features/ideas/types/index.ts", "src/features/ideas/types/progress.types.ts", "src/shared/config/feature-flags.ts", "src/shared/lib/api.ts" ], "changed_ranges": [ { "source_file": "src/app/admin/pipeline/[ideaId]/page-state.test.ts", "line_ranges": [ { "start": 1, "end": 430 } ] }, { "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "line_ranges": [ { "start": 1, "end": 288 } ] }, { "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "line_ranges": [ { "start": 1, "end": 1291 } ] }, { "source_file": "src/app/admin/pipeline/page.tsx", "line_ranges": [ { "start": 1, "end": 158 } ] }, { "source_file": "src/components/layout.tsx", "line_ranges": [ { "start": 28, "end": 28 }, { "start": 103, "end": 108 }, { "start": 505, "end": 506 } ] }, { "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "line_ranges": [ { "start": 1, "end": 81 } ] }, { "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "line_ranges": [ { "start": 1, "end": 61 } ] }, { "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "line_ranges": [ { "start": 1, "end": 122 } ] }, { "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "line_ranges": [ { "start": 1, "end": 73 } ] }, { "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "line_ranges": [ { "start": 1, "end": 133 } ] }, { "source_file": "src/features/admin/hooks/usePipelineRunDetail.ts", "line_ranges": [ { "start": 1, "end": 31 } ] }, { "source_file": "src/features/admin/index.ts", "line_ranges": [ { "start": 7, "end": 7 }, { "start": 19, "end": 25 }, { "start": 34, "end": 36 }, { "start": 40, "end": 43 }, { "start": 47, "end": 47 } ] }, { "source_file": "src/features/admin/services/pipeline-api.ts", "line_ranges": [ { "start": 1, "end": 92 } ] }, { "source_file": "src/features/admin/types/pipeline.types.ts", "line_ranges": [ { "start": 1, "end": 99 } ] }, { "source_file": "src/features/idea-details/components/IdeaHero.tsx", "line_ranges": [ { "start": 5, "end": 5 }, { "start": 75, "end": 81 } ] }, { "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "line_ranges": [ { "start": 65, "end": 80 }, { "start": 84, "end": 87 } ] }, { "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "line_ranges": [ { "start": 1, "end": 178 } ] }, { "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "line_ranges": [ { "start": 211, "end": 213 } ] }, { "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "line_ranges": [ { "start": 39, "end": 39 }, { "start": 43, "end": 72 }, { "start": 224, "end": 253 }, { "start": 255, "end": 264 }, { "start": 266, "end": 286 }, { "start": 288, "end": 289 }, { "start": 294, "end": 294 }, { "start": 296, "end": 296 }, { "start": 301, "end": 301 }, { "start": 305, "end": 306 }, { "start": 310, "end": 312 }, { "start": 314, "end": 315 }, { "start": 318, "end": 318 }, { "start": 321, "end": 326 }, { "start": 329, "end": 339 }, { "start": 341, "end": 357 }, { "start": 359, "end": 360 }, { "start": 365, "end": 396 } ] }, { "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "line_ranges": [ { "start": 18, "end": 18 }, { "start": 364, "end": 369 } ] }, { "source_file": "src/features/idea-details/hooks/pipeline-status-sync.test.ts", "line_ranges": [ { "start": 1, "end": 620 } ] }, { "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "line_ranges": [ { "start": 1, "end": 330 } ] }, { "source_file": "src/features/idea-details/hooks/useIdeaData.ts", "line_ranges": [ { "start": 6, "end": 10 }, { "start": 19, "end": 24 }, { "start": 26, "end": 27 }, { "start": 29, "end": 40 }, { "start": 55, "end": 61 } ] }, { "source_file": "src/features/ideas/components/IdeaCard.tsx", "line_ranges": [ { "start": 8, "end": 9 }, { "start": 24, "end": 24 }, { "start": 122, "end": 171 }, { "start": 318, "end": 344 }, { "start": 346, "end": 395 }, { "start": 436, "end": 437 }, { "start": 463, "end": 470 }, { "start": 472, "end": 482 }, { "start": 486, "end": 564 }, { "start": 567, "end": 567 }, { "start": 579, "end": 580 }, { "start": 586, "end": 588 } ] }, { "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "line_ranges": [ { "start": 1, "end": 300 } ] }, { "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "line_ranges": [ { "start": 312, "end": 328 } ] }, { "source_file": "src/features/ideas/components/PipelineDAG.tsx", "line_ranges": [ { "start": 1, "end": 393 } ] }, { "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "line_ranges": [ { "start": 1, "end": 151 } ] }, { "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "line_ranges": [ { "start": 1, "end": 147 } ] }, { "source_file": "src/features/ideas/components/index.ts", "line_ranges": [ { "start": 7, "end": 10 } ] }, { "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "line_ranges": [ { "start": 1, "end": 188 } ] }, { "source_file": "src/features/ideas/index.ts", "line_ranges": [ { "start": 8, "end": 8 }, { "start": 15, "end": 16 } ] }, { "source_file": "src/features/ideas/types/index.ts", "line_ranges": [ { "start": 3, "end": 3 } ] }, { "source_file": "src/features/ideas/types/progress.types.ts", "line_ranges": [ { "start": 1, "end": 59 } ] }, { "source_file": "src/shared/config/feature-flags.ts", "line_ranges": [ { "start": 23, "end": 25 }, { "start": 28, "end": 28 }, { "start": 30, "end": 30 } ] }, { "source_file": "src/shared/lib/api.ts", "line_ranges": [ { "start": 113, "end": 114 }, { "start": 271, "end": 298 }, { "start": 736, "end": 736 }, { "start": 764, "end": 764 }, { "start": 910, "end": 918 }, { "start": 1540, "end": 1548 } ] } ], "changed_nodes": [ { "node_id": "page_state", "label": "page-state.ts", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 1, "source_location": "L1" }, { "node_id": "page_state_adminpipelinesection", "label": "AdminPipelineSection", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 6, "source_location": "L6-L17" }, { "node_id": "page_state_livecoststate", "label": "LiveCostState", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 19, "source_location": "L19-L23" }, { "node_id": "page_state_runtotalssource", "label": "RunTotalsSource", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 25, "source_location": "L25-L28" }, { "node_id": "page_state_mergerunsectionsoptions", "label": "MergeRunSectionsOptions", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 30, "source_location": "L30-L32" }, { "node_id": "page_state_hydratedrunstatussource", "label": "HydratedRunStatusSource", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 34, "source_location": "L34-L57" }, { "node_id": "page_state_mergerunsections", "label": "mergeRunSections()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 391, "community_label": "App Page State — Merge", "line_number": 59, "source_location": "L59-L116" }, { "node_id": "review_node_7f12cd2cd21a376b", "label": "mergeRunSections()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 478, "community_label": "Merge Run Sections", "line_number": 59, "source_location": "L59" }, { "node_id": "page_state_mergelivecost", "label": "mergeLiveCost()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 118, "source_location": "L118-L126" }, { "node_id": "review_node_f66e03ea2490e8ed", "label": "mergeLiveCost()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 477, "community_label": "Merge Live Cost", "line_number": 118, "source_location": "L118" }, { "node_id": "page_state_resolveoverviewtotals", "label": "resolveOverviewTotals()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 128, "source_location": "L128-L144" }, { "node_id": "review_node_393ef245f029660e", "label": "resolveOverviewTotals()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 481, "community_label": "Resolve Overview Totals", "line_number": 128, "source_location": "L128" }, { "node_id": "page_state_shouldrefetchrundetail", "label": "shouldRefetchRunDetail()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 146, "source_location": "L146-L155" }, { "node_id": "review_node_913c6be0a67ca957", "label": "shouldRefetchRunDetail()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 482, "community_label": "Should Refetch Run Detail", "line_number": 146, "source_location": "L146" }, { "node_id": "page_state_resolvehydratedpipelinestatus", "label": "resolveHydratedPipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 390, "community_label": "App Page State — Hydrated", "line_number": 157, "source_location": "L157-L225" }, { "node_id": "review_node_65bae8ca4af7d272", "label": "resolveHydratedPipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 479, "community_label": "Resolve Hydrated Pipeline Status", "line_number": 157, "source_location": "L157" }, { "node_id": "page_state_isterminalrunsnapshot", "label": "isTerminalRunSnapshot()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 390, "community_label": "App Page State — Hydrated", "line_number": 227, "source_location": "L227-L254" }, { "node_id": "review_node_916951115940e316", "label": "isTerminalRunSnapshot()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 476, "community_label": "Is Terminal Run Snapshot", "line_number": 227, "source_location": "L227" }, { "node_id": "page_state_resolvelivepipelinestatus", "label": "resolveLivePipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 256, "source_location": "L256-L282" }, { "node_id": "review_node_3c54260b99fe43dd", "label": "resolveLivePipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 480, "community_label": "Resolve Live Pipeline Status", "line_number": 256, "source_location": "L256" }, { "node_id": "page_state_isterminalsectionstatus", "label": "isTerminalSectionStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 391, "community_label": "App Page State — Merge", "line_number": 284, "source_location": "L284-L288" }, { "node_id": "review_node_7d079e43c05b7775", "label": "page /admin/pipeline/[ideaId]", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 1, "source_location": "L1" }, { "node_id": "page_dagsection", "label": "DAGSection", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 44, "source_location": "L44-L55" }, { "node_id": "page_nodeposition", "label": "NodePosition", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 57, "source_location": "L57-L62" }, { "node_id": "page_getstatusicon", "label": "getStatusIcon()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 140, "source_location": "L140-L157" }, { "node_id": "page_getnodestatusicon", "label": "getNodeStatusIcon()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 159, "source_location": "L159-L172" }, { "node_id": "page_getedgecolor", "label": "getEdgeColor()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 174, "source_location": "L174-L185" }, { "node_id": "page_formatduration", "label": "formatDuration()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 381, "community_label": "App Page — Format", "line_number": 187, "source_location": "L187-L194" }, { "node_id": "page_formatelapsed", "label": "formatElapsed()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 381, "community_label": "App Page — Format", "line_number": 196, "source_location": "L196-L201" }, { "node_id": "page_estimatecostfromtokens", "label": "estimateCostFromTokens()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 220, "source_location": "L220-L230" }, { "node_id": "page_usetick", "label": "useTick()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 236, "source_location": "L236-L244" }, { "node_id": "page_parseerror", "label": "parseError()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 379, "community_label": "App Page — Error", "line_number": 250, "source_location": "L250-L297" }, { "node_id": "page_errordisplay", "label": "ErrorDisplay()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 379, "community_label": "App Page — Error", "line_number": 299, "source_location": "L299-L381" }, { "node_id": "page_computewaves", "label": "computeWaves()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 376, "community_label": "App Page — Compute", "line_number": 387, "source_location": "L387-L412" }, { "node_id": "page_computewaves_getwave", "label": "getWave()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 376, "community_label": "App Page — Compute", "line_number": 391, "source_location": "L391-L408" }, { "node_id": "page_groupbywave", "label": "groupByWave()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 382, "community_label": "App Page — Dag", "line_number": 414, "source_location": "L414-L425" }, { "node_id": "page_pipelinerundag", "label": "PipelineRunDAG()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 382, "community_label": "App Page — Dag", "line_number": 431, "source_location": "L431-L639" }, { "node_id": "page_sidepanel", "label": "SidePanel()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 76, "community_label": "App Page — Icon", "line_number": 645, "source_location": "L645-L970" }, { "node_id": "page_metarow", "label": "MetaRow()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 76, "community_label": "App Page — Icon", "line_number": 972, "source_location": "L972-L994" }, { "node_id": "page_pipelinerundetailpage", "label": "PipelineRunDetailPage()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 1000, "source_location": "L1000-L1291" }, { "node_id": "review_node_5d86288373fbc59d", "label": "page /admin/pipeline", "source_file": "src/app/admin/pipeline/page.tsx", "node_kind": "component", "community": 252, "community_label": "App Page — Pipeline", "line_number": 1, "source_location": "L1" }, { "node_id": "page_pipelinedashboardpage", "label": "PipelineDashboardPage()", "source_file": "src/app/admin/pipeline/page.tsx", "node_kind": "component", "community": 252, "community_label": "App Page — Pipeline", "line_number": 22, "source_location": "L22-L158" }, { "node_id": "layout", "label": "layout.tsx", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 154, "community_label": "Components Layout — Layout", "line_number": 1, "source_location": "L1" }, { "node_id": "layout_layoutprops", "label": "LayoutProps", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 154, "community_label": "Components Layout — Layout", "line_number": 45, "source_location": "L45-L47" }, { "node_id": "layout_navigationitem", "label": "NavigationItem", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 154, "community_label": "Components Layout — Layout", "line_number": 49, "source_location": "L49-L54" }, { "node_id": "layout_layout", "label": "Layout()", "source_file": "src/components/layout.tsx", "node_kind": "function", "community": 49, "community_label": "Components Layout", "line_number": 117, "source_location": "L117-L398" }, { "node_id": "layout_layout_fetchuserrole", "label": "fetchUserRole()", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 49, "community_label": "Components Layout", "line_number": 132, "source_location": "L132-L140" }, { "node_id": "layout_layout_handlecreateidea", "label": "handleCreateIdea()", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 49, "community_label": "Components Layout", "line_number": 155, "source_location": "L155-L206" }, { "node_id": "layout_layout_handlekeydown", "label": "handleKeyDown()", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 49, "community_label": "Components Layout", "line_number": 215, "source_location": "L215-L219" }, { "node_id": "layout_layout_handlelinkclick", "label": "handleLinkClick()", "source_file": "src/components/layout.tsx", "node_kind": "", "community": 49, "community_label": "Components Layout", "line_number": 231, "source_location": "L231-L233" }, { "node_id": "layout_sidebar", "label": "Sidebar()", "source_file": "src/components/layout.tsx", "node_kind": "component", "community": 49, "community_label": "Components Layout", "line_number": 400, "source_location": "L400-L548" }, { "node_id": "pipelinecostbreakdownpanel", "label": "PipelineCostBreakdownPanel.tsx", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinecostbreakdownpanel_pipelinecostbreakdownpanelprops", "label": "PipelineCostBreakdownPanelProps", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 3, "source_location": "L3-L5" }, { "node_id": "pipelinecostbreakdownpanel_costentry", "label": "CostEntry", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 7, "source_location": "L7-L12" }, { "node_id": "pipelinecostbreakdownpanel_tosortedentries", "label": "toSortedEntries()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 14, "source_location": "L14-L20" }, { "node_id": "pipelinecostbreakdownpanel_costtable", "label": "CostTable()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "component", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 22, "source_location": "L22-L67" }, { "node_id": "pipelinecostbreakdownpanel_pipelinecostbreakdownpanel", "label": "PipelineCostBreakdownPanel()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "component", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 69, "source_location": "L69-L81" }, { "node_id": "pipelinefailureslist", "label": "PipelineFailuresList.tsx", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinefailureslist_pipelinefailureslistprops", "label": "PipelineFailuresListProps", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 3, "source_location": "L3-L5" }, { "node_id": "pipelinefailureslist_formatrelativetime", "label": "formatRelativeTime()", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 7, "source_location": "L7-L20" }, { "node_id": "pipelinefailureslist_pipelinefailureslist", "label": "PipelineFailuresList()", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "component", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 22, "source_location": "L22-L61" }, { "node_id": "pipelinerunstable", "label": "PipelineRunsTable.tsx", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinerunstable_pipelinerunstableprops", "label": "PipelineRunsTableProps", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 5, "source_location": "L5-L9" }, { "node_id": "pipelinerunstable_getstatusstyle", "label": "getStatusStyle()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 21, "source_location": "L21-L25" }, { "node_id": "pipelinerunstable_formatrelativetime", "label": "formatRelativeTime()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 27, "source_location": "L27-L40" }, { "node_id": "pipelinerunstable_truncatetext", "label": "truncateText()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 42, "source_location": "L42-L45" }, { "node_id": "pipelinerunstable_pipelinerunstable", "label": "PipelineRunsTable()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "component", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 47, "source_location": "L47-L122" }, { "node_id": "pipelinesummarycards", "label": "PipelineSummaryCards.tsx", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinesummarycards_pipelinesummarycardsprops", "label": "PipelineSummaryCardsProps", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 3, "source_location": "L3-L5" }, { "node_id": "pipelinesummarycards_pipelinesummarycards", "label": "PipelineSummaryCards()", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "component", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 7, "source_location": "L7-L73" }, { "node_id": "usepipelineadmin", "label": "usePipelineAdmin.ts", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 453, "community_label": "Features Use Pipeline Admin", "line_number": 1, "source_location": "L1" }, { "node_id": "usepipelineadmin_usepipelineadminreturn", "label": "UsePipelineAdminReturn", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 453, "community_label": "Features Use Pipeline Admin", "line_number": 26, "source_location": "L26-L35" }, { "node_id": "usepipelineadmin_usepipelineadmin", "label": "usePipelineAdmin()", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 454, "community_label": "Features Use Pipeline Admin — Admin", "line_number": 37, "source_location": "L37-L133" }, { "node_id": "usepipelineadmin_usepipelineadmin_refresh", "label": "refresh()", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 454, "community_label": "Features Use Pipeline Admin — Admin", "line_number": 119, "source_location": "L119-L121" }, { "node_id": "usepipelinerundetail", "label": "usePipelineRunDetail.ts", "source_file": "src/features/admin/hooks/usePipelineRunDetail.ts", "node_kind": "", "community": 455, "community_label": "Features Use Pipeline Run Detail", "line_number": 1, "source_location": "L1" }, { "node_id": "usepipelinerundetail_usepipelinerundetail", "label": "usePipelineRunDetail()", "source_file": "src/features/admin/hooks/usePipelineRunDetail.ts", "node_kind": "", "community": 455, "community_label": "Features Use Pipeline Run Detail", "line_number": 7, "source_location": "L7-L31" }, { "node_id": "pipeline_api", "label": "pipeline-api.ts", "source_file": "src/features/admin/services/pipeline-api.ts", "node_kind": "", "community": 395, "community_label": "Features Pipeline API", "line_number": 1, "source_location": "L1" }, { "node_id": "pipeline_api_createpipelineapi", "label": "createPipelineApi()", "source_file": "src/features/admin/services/pipeline-api.ts", "node_kind": "", "community": 395, "community_label": "Features Pipeline API", "line_number": 20, "source_location": "L20-L38" }, { "node_id": "pipeline_types", "label": "pipeline.types.ts", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 1, "source_location": "L1" }, { "node_id": "pipeline_types_pipelinerunsummary", "label": "PipelineRunSummary", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 7, "source_location": "L7-L16" }, { "node_id": "pipeline_types_pipelinerundetail", "label": "PipelineRunDetail", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 396, "community_label": "Features Pipeline Types — Detail", "line_number": 18, "source_location": "L18-L35" }, { "node_id": "pipeline_types_pipelinefailure", "label": "PipelineFailure", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 37, "source_location": "L37-L44" }, { "node_id": "pipeline_types_pipelinerunsection", "label": "PipelineRunSection", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 46, "source_location": "L46-L59" }, { "node_id": "pipeline_types_pipelinerundetailfull", "label": "PipelineRunDetailFull", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 396, "community_label": "Features Pipeline Types — Detail", "line_number": 61, "source_location": "L61-L88" }, { "node_id": "pipeline_types_pipelinecostbreakdown", "label": "PipelineCostBreakdown", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 90, "source_location": "L90-L99" }, { "node_id": "ideahero", "label": "IdeaHero.tsx", "source_file": "src/features/idea-details/components/IdeaHero.tsx", "node_kind": "", "community": 69, "community_label": "Features Idea Hero", "line_number": 1, "source_location": "L1" }, { "node_id": "ideahero_ideaheroprops", "label": "IdeaHeroProps", "source_file": "src/features/idea-details/components/IdeaHero.tsx", "node_kind": "", "community": 69, "community_label": "Features Idea Hero", "line_number": 8, "source_location": "L8-L10" }, { "node_id": "ideahero_ideahero", "label": "IdeaHero()", "source_file": "src/features/idea-details/components/IdeaHero.tsx", "node_kind": "component", "community": 69, "community_label": "Features Idea Hero", "line_number": 12, "source_location": "L12-L101" }, { "node_id": "ideametricsreview", "label": "IdeaMetricsReview.tsx", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 346, "community_label": "Features Idea Metrics Review — Idea", "line_number": 1, "source_location": "L1" }, { "node_id": "ideametricsreview_ideametricsreviewprops", "label": "IdeaMetricsReviewProps", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 346, "community_label": "Features Idea Metrics Review — Idea", "line_number": 21, "source_location": "L21-L26" }, { "node_id": "ideametricsreview_ideametricsreview", "label": "IdeaMetricsReview()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "function", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 28, "source_location": "L28-L324" }, { "node_id": "ideametricsreview_ideametricsreview_handleescape", "label": "handleEscape()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 40, "source_location": "L40-L44" }, { "node_id": "ideametricsreview_ideametricsreview_handleproceed", "label": "handleProceed()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 54, "source_location": "L54-L63" }, { "node_id": "ideametricsreview_ideametricsreview_converttomodalmetric", "label": "convertToModalMetric()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 82, "source_location": "L82-L90" }, { "node_id": "ideametricsreview_ideametricsreview_generateoverallexplanation", "label": "generateOverallExplanation()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 93, "source_location": "L93-L141" }, { "node_id": "ideametricsreview_ideametricsreview_getmetriccolor", "label": "getMetricColor()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 144, "source_location": "L144-L158" }, { "node_id": "recommendationbadge", "label": "RecommendationBadge.tsx", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 1, "source_location": "L1" }, { "node_id": "recommendationbadge_recommendationbadgeprops", "label": "RecommendationBadgeProps", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 12, "source_location": "L12-L19" }, { "node_id": "recommendationbadge_recommendationbadge", "label": "RecommendationBadge()", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "function", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 62, "source_location": "L62-L178" }, { "node_id": "redesignedideadetailspage", "label": "RedesignedIdeaDetailsPage.tsx", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "", "community": 96, "community_label": "Features Idea Progress Timeline", "line_number": 1, "source_location": "L1" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage", "label": "RedesignedIdeaDetailsPage()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "function", "community": 171, "community_label": "Features Redesigned Idea Details Page", "line_number": 51, "source_location": "L51-L406" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage_setactivetab", "label": "setActiveTab()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "", "community": 171, "community_label": "Features Redesigned Idea Details Page", "line_number": 85, "source_location": "L85-L91" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage_handleproceedwithanalysis", "label": "handleProceedWithAnalysis()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "", "community": 171, "community_label": "Features Redesigned Idea Details Page", "line_number": 118, "source_location": "L118-L139" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage_handlescroll", "label": "handleScroll()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "", "community": 171, "community_label": "Features Redesigned Idea Details Page", "line_number": 146, "source_location": "L146-L154" }, { "node_id": "letsbuildtab", "label": "LetsBuildTab.tsx", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 1, "source_location": "L1" }, { "node_id": "letsbuildtab_letsbuildtabprops", "label": "LetsBuildTabProps", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 28, "source_location": "L28-L31" }, { "node_id": "letsbuildtab_letsbuildtab", "label": "LetsBuildTab()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "function", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 33, "source_location": "L33-L462" }, { "node_id": "letsbuildtab_letsbuildtab_extractareatag", "label": "extractAreaTag()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 44, "source_location": "L44-L47" }, { "node_id": "letsbuildtab_letsbuildtab_stripareatag", "label": "stripAreaTag()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 50, "source_location": "L50-L52" }, { "node_id": "letsbuildtab_letsbuildtab_handlegenerateplan", "label": "handleGeneratePlan()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 86, "source_location": "L86-L99" }, { "node_id": "letsbuildtab_letsbuildtab_handlecopyprompt", "label": "handleCopyPrompt()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 140, "source_location": "L140-L187" }, { "node_id": "letsbuildtab_letsbuildskeleton", "label": "LetsBuildSkeleton()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "component", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 464, "source_location": "L464-L527" }, { "node_id": "runwaytab", "label": "RunwayTab.tsx", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "", "community": 45, "community_label": "Features Runway Tab", "line_number": 1, "source_location": "L1" }, { "node_id": "runwaytab_runwaytabprops", "label": "RunwayTabProps", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "", "community": 45, "community_label": "Features Runway Tab", "line_number": 21, "source_location": "L21-L23" }, { "node_id": "runwaytab_getprioritybadgeclass", "label": "getPriorityBadgeClass()", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "", "community": 45, "community_label": "Features Runway Tab", "line_number": 26, "source_location": "L26-L33" }, { "node_id": "runwaytab_runwaytab", "label": "RunwayTab()", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "function", "community": 200, "community_label": "Features Build Perspective Tab — Tab", "line_number": 35, "source_location": "L35-L406" }, { "node_id": "runwaytab_glasssection", "label": "GlassSection()", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "component", "community": 45, "community_label": "Features Runway Tab", "line_number": 408, "source_location": "L408-L438" }, { "node_id": "pipeline_status_sync", "label": "pipeline-status-sync.ts", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 1, "source_location": "L1" }, { "node_id": "pipeline_status_sync_resolvebaseideaforpipelinesync", "label": "resolveBaseIdeaForPipelineSync()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 8, "source_location": "L8-L72" }, { "node_id": "pipeline_status_sync_syncideawithpipelinestatus", "label": "syncIdeaWithPipelineStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 74, "source_location": "L74-L160" }, { "node_id": "pipeline_status_sync_resolveideastatus", "label": "resolveIdeaStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 175, "source_location": "L175-L200" }, { "node_id": "pipeline_status_sync_hasanalyzingsection", "label": "hasAnalyzingSection()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 202, "source_location": "L202-L209" }, { "node_id": "pipeline_status_sync_resolveprogressmessage", "label": "resolveProgressMessage()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 211, "source_location": "L211-L235" }, { "node_id": "pipeline_status_sync_haspersistedanalysisdata", "label": "hasPersistedAnalysisData()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 237, "source_location": "L237-L262" }, { "node_id": "pipeline_status_sync_isfreshretryrunstatus", "label": "isFreshRetryRunStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 264, "source_location": "L264-L270" }, { "node_id": "pipeline_status_sync_gettimestampms", "label": "getTimestampMs()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 272, "source_location": "L272-L274" }, { "node_id": "pipeline_status_sync_resolvefallbackliveprogress", "label": "resolveFallbackLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 276, "source_location": "L276-L297" }, { "node_id": "pipeline_status_sync_resolvepreferredliveprogress", "label": "resolvePreferredLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 299, "source_location": "L299-L317" }, { "node_id": "pipeline_status_sync_isterminalliveprogress", "label": "isTerminalLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 319, "source_location": "L319-L330" }, { "node_id": "useideadata", "label": "useIdeaData.ts", "source_file": "src/features/idea-details/hooks/useIdeaData.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 1, "source_location": "L1" }, { "node_id": "useideadata_useideadata", "label": "useIdeaData()", "source_file": "src/features/idea-details/hooks/useIdeaData.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 11, "source_location": "L11-L68" }, { "node_id": "ideacard", "label": "IdeaCard.tsx", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 1, "source_location": "L1" }, { "node_id": "ideacard_ideacardprops", "label": "IdeaCardProps", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 31, "source_location": "L31-L37" }, { "node_id": "ideacard_getrelativetime", "label": "getRelativeTime()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 39, "source_location": "L39-L56" }, { "node_id": "ideacard_competitortooltipprops", "label": "CompetitorTooltipProps", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 58, "source_location": "L58-L64" }, { "node_id": "ideacard_competitortooltip", "label": "CompetitorTooltip()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "component", "community": 17, "community_label": "Features Idea Card", "line_number": 66, "source_location": "L66-L120" }, { "node_id": "ideacard_isideainprogress", "label": "isIdeaInProgress()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 157, "source_location": "L157-L161" }, { "node_id": "ideacard_hasscoredata", "label": "hasScoreData()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 164, "source_location": "L164-L170" }, { "node_id": "ideacard_ideacard", "label": "IdeaCard()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "function", "community": 17, "community_label": "Features Idea Card", "line_number": 172, "source_location": "L172-L594" }, { "node_id": "ideacard_ideacard_handlebookmarkclick", "label": "handleBookmarkClick()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 262, "source_location": "L262-L266" }, { "node_id": "ideacard_ideacard_handlecardclick", "label": "handleCardClick()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 268, "source_location": "L268-L279" }, { "node_id": "ideacard_ideacard_getgooglefaviconurl", "label": "getGoogleFaviconUrl()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 281, "source_location": "L281-L283" }, { "node_id": "ideaprogressv2", "label": "IdeaProgressV2.tsx", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 1, "source_location": "L1" }, { "node_id": "ideaprogressv2_ideaprogressv2props", "label": "IdeaProgressV2Props", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 23, "source_location": "L23-L32" }, { "node_id": "ideaprogressv2_getstatuscolor", "label": "getStatusColor()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 61, "source_location": "L61-L76" }, { "node_id": "ideaprogressv2_getprogressbarcolor", "label": "getProgressBarColor()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 78, "source_location": "L78-L89" }, { "node_id": "ideaprogressv2_ideaprogressv2", "label": "IdeaProgressV2()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 96, "source_location": "L96-L290" }, { "node_id": "ideaprogressv2_isv2pipeline", "label": "isV2Pipeline()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 296, "source_location": "L296-L298" }, { "node_id": "metricdetailmodal", "label": "MetricDetailModal.tsx", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 364, "community_label": "Features Metric Detail Modal — Detail", "line_number": 1, "source_location": "L1" }, { "node_id": "metricdetailmodal_props", "label": "Props", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 364, "community_label": "Features Metric Detail Modal — Detail", "line_number": 16, "source_location": "L16-L20" }, { "node_id": "metricdetailmodal_metricdetailmodal", "label": "MetricDetailModal()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "function", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 22, "source_location": "L22-L336" }, { "node_id": "metricdetailmodal_metricdetailmodal_formatmetricname", "label": "formatMetricName()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 28, "source_location": "L28-L30" }, { "node_id": "metricdetailmodal_metricdetailmodal_getevidencetypelabel", "label": "getEvidenceTypeLabel()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 32, "source_location": "L32-L43" }, { "node_id": "metricdetailmodal_metricdetailmodal_getcredibilitybadge", "label": "getCredibilityBadge()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 45, "source_location": "L45-L80" }, { "node_id": "metricdetailmodal_metricdetailmodal_getscorecolor", "label": "getScoreColor()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 82, "source_location": "L82-L87" }, { "node_id": "metricdetailmodal_componentcard", "label": "ComponentCard()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "component", "community": 365, "community_label": "Features Metric Detail Modal — Card", "line_number": 339, "source_location": "L339-L407" }, { "node_id": "metricdetailmodal_componentcard_getscorecolor", "label": "getScoreColor()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "", "community": 365, "community_label": "Features Metric Detail Modal — Card", "line_number": 351, "source_location": "L351-L359" }, { "node_id": "pipelinedag", "label": "PipelineDAG.tsx", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinedag_dagsection", "label": "DAGSection", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 13, "source_location": "L13-L18" }, { "node_id": "pipelinedag_pipelinedagprops", "label": "PipelineDAGProps", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 20, "source_location": "L20-L23" }, { "node_id": "pipelinedag_edge", "label": "Edge", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 25, "source_location": "L25-L29" }, { "node_id": "pipelinedag_nodeposition", "label": "NodePosition", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 31, "source_location": "L31-L36" }, { "node_id": "pipelinedag_computewaves", "label": "computeWaves()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 397, "community_label": "Features Pipeline Dag — Compute", "line_number": 42, "source_location": "L42-L76" }, { "node_id": "pipelinedag_computewaves_getwave", "label": "getWave()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 397, "community_label": "Features Pipeline Dag — Compute", "line_number": 50, "source_location": "L50-L69" }, { "node_id": "pipelinedag_groupbywave", "label": "groupByWave()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 81, "source_location": "L81-L95" }, { "node_id": "pipelinedag_collectedges", "label": "collectEdges()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 100, "source_location": "L100-L119" }, { "node_id": "pipelinedag_getedgecolor", "label": "getEdgeColor()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 121, "source_location": "L121-L132" }, { "node_id": "pipelinedag_desktopdag", "label": "DesktopDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "component", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 137, "source_location": "L137-L320" }, { "node_id": "pipelinedag_desktopdag_measure", "label": "measure()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 164, "source_location": "L164-L179" }, { "node_id": "pipelinedag_mobiledag", "label": "MobileDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "component", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 325, "source_location": "L325-L366" }, { "node_id": "pipelinedag_pipelinedag", "label": "PipelineDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "function", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 373, "source_location": "L373-L391" }, { "node_id": "pipelinedagnode", "label": "PipelineDAGNode.tsx", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "", "community": 398, "community_label": "Features Pipeline Dag Node", "line_number": 1, "source_location": "L1" }, { "node_id": "pipelinedagnode_pipelinedagnodeprops", "label": "PipelineDAGNodeProps", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "", "community": 398, "community_label": "Features Pipeline Dag Node", "line_number": 19, "source_location": "L19-L23" }, { "node_id": "pipelinedagnode_spinner", "label": "Spinner()", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "component", "community": 399, "community_label": "Features Pipeline Dag Node — Card", "line_number": 87, "source_location": "L87-L110" }, { "node_id": "sectionprogresscard", "label": "SectionProgressCard.tsx", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "", "community": 287, "community_label": "Features Section Progress Card", "line_number": 1, "source_location": "L1" }, { "node_id": "sectionprogresscard_sectionprogresscardprops", "label": "SectionProgressCardProps", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "", "community": 287, "community_label": "Features Section Progress Card", "line_number": 17, "source_location": "L17-L20" }, { "node_id": "sectionprogresscard_spinner", "label": "Spinner()", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "component", "community": 287, "community_label": "Features Section Progress Card", "line_number": 78, "source_location": "L78-L101" }, { "node_id": "sectionprogresscard_sectionprogresscard", "label": "SectionProgressCard()", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "function", "community": 399, "community_label": "Features Pipeline Dag Node — Card", "line_number": 103, "source_location": "L103-L145" }, { "node_id": "useideaprogress", "label": "useIdeaProgress.ts", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 1, "source_location": "L1" }, { "node_id": "useideaprogress_ideaprogressstate", "label": "IdeaProgressState", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 21, "source_location": "L21-L40" }, { "node_id": "useideaprogress_useideaprogress", "label": "useIdeaProgress()", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 58, "source_location": "L58-L188" }, { "node_id": "progress_types", "label": "progress.types.ts", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 1, "source_location": "L1" }, { "node_id": "progress_types_progressbroadcast", "label": "ProgressBroadcast", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 11, "source_location": "L11-L42" }, { "node_id": "progress_types_sectionprogress", "label": "SectionProgress", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 44, "source_location": "L44-L48" }, { "node_id": "feature_flags", "label": "feature-flags.ts", "source_file": "src/shared/config/feature-flags.ts", "node_kind": "", "community": 337, "community_label": "Shared Feature Flags", "line_number": 1, "source_location": "L1" }, { "node_id": "feature_flags_isfeatureenabled", "label": "isFeatureEnabled()", "source_file": "src/shared/config/feature-flags.ts", "node_kind": "", "community": 337, "community_label": "Shared Feature Flags", "line_number": 36, "source_location": "L36-L38" }, { "node_id": "api_getinvitecode", "label": "getInviteCode()", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 7, "source_location": "L7-L10" }, { "node_id": "api_useauthenticatedapi", "label": "useAuthenticatedApi()", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 21, "source_location": "L21-L55" }, { "node_id": "api_createauthenticatedapi", "label": "createAuthenticatedApi()", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 58, "source_location": "L58-L92" }, { "node_id": "api_useauthenticatedapiservice", "label": "useAuthenticatedApiService()", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 95, "source_location": "L95-L177" }, { "node_id": "api_ideapipelinestatusresponse", "label": "IdeaPipelineStatusResponse", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 271, "source_location": "L271-L297" }, { "node_id": "api_validationissue", "label": "ValidationIssue", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 306, "source_location": "L306-L312" }, { "node_id": "api_validationerrorresponse", "label": "ValidationErrorResponse", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 314, "source_location": "L314-L322" }, { "node_id": "api_ideastatusresponse", "label": "IdeaStatusResponse", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 324, "source_location": "L324-L329" }, { "node_id": "api_glossaryentry", "label": "GlossaryEntry", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 331, "source_location": "L331-L335" }, { "node_id": "api_coreconcept", "label": "CoreConcept", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 340, "source_location": "L340-L346" }, { "node_id": "api_enrichmentmetric", "label": "EnrichmentMetric", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 349, "source_location": "L349-L355" }, { "node_id": "api_competitorenrichment", "label": "CompetitorEnrichment", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 364, "source_location": "L364-L398" }, { "node_id": "api_competitor", "label": "Competitor", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 400, "source_location": "L400-L407" }, { "node_id": "api_marketresearch", "label": "MarketResearch", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 409, "source_location": "L409-L415" }, { "node_id": "api_datapoint", "label": "DataPoint", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 417, "source_location": "L417-L422" }, { "node_id": "api_channelmetrics", "label": "ChannelMetrics", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 424, "source_location": "L424-L430" }, { "node_id": "api_marketsizingtopdown", "label": "MarketSizingTopDown", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 432, "source_location": "L432-L444" }, { "node_id": "api_marketsizingbottomup", "label": "MarketSizingBottomUp", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 446, "source_location": "L446-L451" }, { "node_id": "api_marketsizing", "label": "MarketSizing", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 453, "source_location": "L453-L463" }, { "node_id": "api_technicalfeasibility", "label": "TechnicalFeasibility", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 465, "source_location": "L465-L470" }, { "node_id": "api_businessmodel", "label": "BusinessModel", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 472, "source_location": "L472-L477" }, { "node_id": "api_userpersona", "label": "UserPersona", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 479, "source_location": "L479-L484" }, { "node_id": "api_deepdive", "label": "DeepDive", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 486, "source_location": "L486-L491" }, { "node_id": "api_swotanalysis", "label": "SwotAnalysis", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 494, "source_location": "L494-L499" }, { "node_id": "api_risk", "label": "Risk", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 501, "source_location": "L501-L511" }, { "node_id": "api_nextstep", "label": "NextStep", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 513, "source_location": "L513-L518" }, { "node_id": "api_synthesis", "label": "Synthesis", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 520, "source_location": "L520-L528" }, { "node_id": "api_assumption", "label": "Assumption", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 536, "source_location": "L536-L542" }, { "node_id": "api_evidenceref", "label": "EvidenceRef", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 544, "source_location": "L544-L550" }, { "node_id": "api_metriccomponent", "label": "MetricComponent", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 552, "source_location": "L552-L557" }, { "node_id": "api_metric", "label": "Metric", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 559, "source_location": "L559-L571" }, { "node_id": "api_metricweights", "label": "MetricWeights", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 573, "source_location": "L573-L580" }, { "node_id": "api_sensitivityanalysis", "label": "SensitivityAnalysis", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 582, "source_location": "L582-L586" }, { "node_id": "api_metricsanalysis", "label": "MetricsAnalysis", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 588, "source_location": "L588-L603" }, { "node_id": "api_teammember", "label": "TeamMember", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 609, "source_location": "L609-L617" }, { "node_id": "api_teamhierarchy", "label": "TeamHierarchy", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 619, "source_location": "L619-L622" }, { "node_id": "api_developmentcosts", "label": "DevelopmentCosts", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 624, "source_location": "L624-L655" }, { "node_id": "api_runwayestimate", "label": "RunwayEstimate", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 657, "source_location": "L657-L667" }, { "node_id": "api_industryadjustments", "label": "IndustryAdjustments", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 669, "source_location": "L669-L675" }, { "node_id": "api_buildperspective", "label": "BuildPerspective", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 677, "source_location": "L677-L684" }, { "node_id": "api_implementationplan", "label": "ImplementationPlan", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 690, "source_location": "L690-L697" }, { "node_id": "api_ideaanalysis", "label": "IdeaAnalysis", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 708, "source_location": "L708-L715" }, { "node_id": "api_telemetry", "label": "Telemetry", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 718, "source_location": "L718-L727" }, { "node_id": "api_idea", "label": "Idea", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 729, "source_location": "L729-L769" }, { "node_id": "api_post", "label": "Post", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 771, "source_location": "L771-L782" }, { "node_id": "api_scrapejob", "label": "ScrapeJob", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 784, "source_location": "L784-L794" }, { "node_id": "api_paginatedresponse", "label": "PaginatedResponse", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 796, "source_location": "L796-L804" }, { "node_id": "api_stats", "label": "Stats", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 806, "source_location": "L806-L812" }, { "node_id": "api_landingpageversion", "label": "LandingPageVersion", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 815, "source_location": "L815-L830" }, { "node_id": "api_landingpage", "label": "LandingPage", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 832, "source_location": "L832-L860" }, { "node_id": "api_landingpageanalytics", "label": "LandingPageAnalytics", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 862, "source_location": "L862-L872" }, { "node_id": "api_landingpagelead", "label": "LandingPageLead", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 874, "source_location": "L874-L880" } ], "seed_nodes": [ { "node_id": "page_state", "label": "page-state.ts", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "page_state_adminpipelinesection", "label": "AdminPipelineSection", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 6, "source_location": "L6-L17", "match_kind": "line" }, { "node_id": "page_state_livecoststate", "label": "LiveCostState", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 19, "source_location": "L19-L23", "match_kind": "line" }, { "node_id": "page_state_runtotalssource", "label": "RunTotalsSource", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 25, "source_location": "L25-L28", "match_kind": "line" }, { "node_id": "page_state_mergerunsectionsoptions", "label": "MergeRunSectionsOptions", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 30, "source_location": "L30-L32", "match_kind": "line" }, { "node_id": "page_state_hydratedrunstatussource", "label": "HydratedRunStatusSource", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 34, "source_location": "L34-L57", "match_kind": "line" }, { "node_id": "page_state_mergerunsections", "label": "mergeRunSections()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 391, "community_label": "App Page State — Merge", "line_number": 59, "source_location": "L59-L116", "match_kind": "line" }, { "node_id": "review_node_7f12cd2cd21a376b", "label": "mergeRunSections()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 478, "community_label": "Merge Run Sections", "line_number": 59, "source_location": "L59", "match_kind": "line" }, { "node_id": "page_state_mergelivecost", "label": "mergeLiveCost()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 118, "source_location": "L118-L126", "match_kind": "line" }, { "node_id": "review_node_f66e03ea2490e8ed", "label": "mergeLiveCost()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 477, "community_label": "Merge Live Cost", "line_number": 118, "source_location": "L118", "match_kind": "line" }, { "node_id": "page_state_resolveoverviewtotals", "label": "resolveOverviewTotals()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 58, "community_label": "App Page State", "line_number": 128, "source_location": "L128-L144", "match_kind": "line" }, { "node_id": "review_node_393ef245f029660e", "label": "resolveOverviewTotals()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 481, "community_label": "Resolve Overview Totals", "line_number": 128, "source_location": "L128", "match_kind": "line" }, { "node_id": "page_state_shouldrefetchrundetail", "label": "shouldRefetchRunDetail()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 146, "source_location": "L146-L155", "match_kind": "line" }, { "node_id": "review_node_913c6be0a67ca957", "label": "shouldRefetchRunDetail()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 482, "community_label": "Should Refetch Run Detail", "line_number": 146, "source_location": "L146", "match_kind": "line" }, { "node_id": "page_state_resolvehydratedpipelinestatus", "label": "resolveHydratedPipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 390, "community_label": "App Page State — Hydrated", "line_number": 157, "source_location": "L157-L225", "match_kind": "line" }, { "node_id": "review_node_65bae8ca4af7d272", "label": "resolveHydratedPipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 479, "community_label": "Resolve Hydrated Pipeline Status", "line_number": 157, "source_location": "L157", "match_kind": "line" }, { "node_id": "page_state_isterminalrunsnapshot", "label": "isTerminalRunSnapshot()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 390, "community_label": "App Page State — Hydrated", "line_number": 227, "source_location": "L227-L254", "match_kind": "line" }, { "node_id": "review_node_916951115940e316", "label": "isTerminalRunSnapshot()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 476, "community_label": "Is Terminal Run Snapshot", "line_number": 227, "source_location": "L227", "match_kind": "line" }, { "node_id": "page_state_resolvelivepipelinestatus", "label": "resolveLivePipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 256, "source_location": "L256-L282", "match_kind": "line" }, { "node_id": "review_node_3c54260b99fe43dd", "label": "resolveLivePipelineStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "function", "community": 480, "community_label": "Resolve Live Pipeline Status", "line_number": 256, "source_location": "L256", "match_kind": "line" }, { "node_id": "page_state_isterminalsectionstatus", "label": "isTerminalSectionStatus()", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "node_kind": "", "community": 391, "community_label": "App Page State — Merge", "line_number": 284, "source_location": "L284-L288", "match_kind": "line" }, { "node_id": "review_node_7d079e43c05b7775", "label": "page /admin/pipeline/[ideaId]", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "page_dagsection", "label": "DAGSection", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 44, "source_location": "L44-L55", "match_kind": "line" }, { "node_id": "page_nodeposition", "label": "NodePosition", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 57, "source_location": "L57-L62", "match_kind": "line" }, { "node_id": "page_getstatusicon", "label": "getStatusIcon()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 140, "source_location": "L140-L157", "match_kind": "line" }, { "node_id": "page_getnodestatusicon", "label": "getNodeStatusIcon()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 159, "source_location": "L159-L172", "match_kind": "line" }, { "node_id": "page_getedgecolor", "label": "getEdgeColor()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 9, "community_label": "App Page — Props", "line_number": 174, "source_location": "L174-L185", "match_kind": "line" }, { "node_id": "page_formatduration", "label": "formatDuration()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 381, "community_label": "App Page — Format", "line_number": 187, "source_location": "L187-L194", "match_kind": "line" }, { "node_id": "page_formatelapsed", "label": "formatElapsed()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 381, "community_label": "App Page — Format", "line_number": 196, "source_location": "L196-L201", "match_kind": "line" }, { "node_id": "page_estimatecostfromtokens", "label": "estimateCostFromTokens()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 220, "source_location": "L220-L230", "match_kind": "line" }, { "node_id": "page_usetick", "label": "useTick()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 76, "community_label": "App Page — Icon", "line_number": 236, "source_location": "L236-L244", "match_kind": "line" }, { "node_id": "page_parseerror", "label": "parseError()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 379, "community_label": "App Page — Error", "line_number": 250, "source_location": "L250-L297", "match_kind": "line" }, { "node_id": "page_errordisplay", "label": "ErrorDisplay()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 379, "community_label": "App Page — Error", "line_number": 299, "source_location": "L299-L381", "match_kind": "line" }, { "node_id": "page_computewaves", "label": "computeWaves()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 376, "community_label": "App Page — Compute", "line_number": 387, "source_location": "L387-L412", "match_kind": "line" }, { "node_id": "page_computewaves_getwave", "label": "getWave()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 376, "community_label": "App Page — Compute", "line_number": 391, "source_location": "L391-L408", "match_kind": "line" }, { "node_id": "page_groupbywave", "label": "groupByWave()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "", "community": 382, "community_label": "App Page — Dag", "line_number": 414, "source_location": "L414-L425", "match_kind": "line" }, { "node_id": "page_pipelinerundag", "label": "PipelineRunDAG()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 382, "community_label": "App Page — Dag", "line_number": 431, "source_location": "L431-L639", "match_kind": "line" }, { "node_id": "page_sidepanel", "label": "SidePanel()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 76, "community_label": "App Page — Icon", "line_number": 645, "source_location": "L645-L970", "match_kind": "line" }, { "node_id": "page_metarow", "label": "MetaRow()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 76, "community_label": "App Page — Icon", "line_number": 972, "source_location": "L972-L994", "match_kind": "line" }, { "node_id": "page_pipelinerundetailpage", "label": "PipelineRunDetailPage()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "node_kind": "component", "community": 78, "community_label": "App Page State — Pipeline", "line_number": 1000, "source_location": "L1000-L1291", "match_kind": "line" }, { "node_id": "review_node_5d86288373fbc59d", "label": "page /admin/pipeline", "source_file": "src/app/admin/pipeline/page.tsx", "node_kind": "component", "community": 252, "community_label": "App Page — Pipeline", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "page_pipelinedashboardpage", "label": "PipelineDashboardPage()", "source_file": "src/app/admin/pipeline/page.tsx", "node_kind": "component", "community": 252, "community_label": "App Page — Pipeline", "line_number": 22, "source_location": "L22-L158", "match_kind": "line" }, { "node_id": "layout_sidebar", "label": "Sidebar()", "source_file": "src/components/layout.tsx", "node_kind": "component", "community": 49, "community_label": "Components Layout", "line_number": 400, "source_location": "L400-L548", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel", "label": "PipelineCostBreakdownPanel.tsx", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel_pipelinecostbreakdownpanelprops", "label": "PipelineCostBreakdownPanelProps", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 3, "source_location": "L3-L5", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel_costentry", "label": "CostEntry", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 7, "source_location": "L7-L12", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel_tosortedentries", "label": "toSortedEntries()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 14, "source_location": "L14-L20", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel_costtable", "label": "CostTable()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "component", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 22, "source_location": "L22-L67", "match_kind": "line" }, { "node_id": "pipelinecostbreakdownpanel_pipelinecostbreakdownpanel", "label": "PipelineCostBreakdownPanel()", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "node_kind": "component", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel", "line_number": 69, "source_location": "L69-L81", "match_kind": "line" }, { "node_id": "pipelinefailureslist", "label": "PipelineFailuresList.tsx", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinefailureslist_pipelinefailureslistprops", "label": "PipelineFailuresListProps", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 3, "source_location": "L3-L5", "match_kind": "line" }, { "node_id": "pipelinefailureslist_formatrelativetime", "label": "formatRelativeTime()", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 7, "source_location": "L7-L20", "match_kind": "line" }, { "node_id": "pipelinefailureslist_pipelinefailureslist", "label": "PipelineFailuresList()", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "node_kind": "component", "community": 166, "community_label": "Features Pipeline Failures List", "line_number": 22, "source_location": "L22-L61", "match_kind": "line" }, { "node_id": "pipelinerunstable", "label": "PipelineRunsTable.tsx", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinerunstable_pipelinerunstableprops", "label": "PipelineRunsTableProps", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 5, "source_location": "L5-L9", "match_kind": "line" }, { "node_id": "pipelinerunstable_getstatusstyle", "label": "getStatusStyle()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 21, "source_location": "L21-L25", "match_kind": "line" }, { "node_id": "pipelinerunstable_formatrelativetime", "label": "formatRelativeTime()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 27, "source_location": "L27-L40", "match_kind": "line" }, { "node_id": "pipelinerunstable_truncatetext", "label": "truncateText()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 42, "source_location": "L42-L45", "match_kind": "line" }, { "node_id": "pipelinerunstable_pipelinerunstable", "label": "PipelineRunsTable()", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "node_kind": "component", "community": 83, "community_label": "Features Pipeline Runs Table", "line_number": 47, "source_location": "L47-L122", "match_kind": "line" }, { "node_id": "pipelinesummarycards", "label": "PipelineSummaryCards.tsx", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinesummarycards_pipelinesummarycardsprops", "label": "PipelineSummaryCardsProps", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 3, "source_location": "L3-L5", "match_kind": "line" }, { "node_id": "pipelinesummarycards_pipelinesummarycards", "label": "PipelineSummaryCards()", "source_file": "src/features/admin/components/PipelineSummaryCards.tsx", "node_kind": "component", "community": 262, "community_label": "Features Pipeline Summary Cards", "line_number": 7, "source_location": "L7-L73", "match_kind": "line" }, { "node_id": "usepipelineadmin", "label": "usePipelineAdmin.ts", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 453, "community_label": "Features Use Pipeline Admin", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "usepipelineadmin_usepipelineadminreturn", "label": "UsePipelineAdminReturn", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 453, "community_label": "Features Use Pipeline Admin", "line_number": 26, "source_location": "L26-L35", "match_kind": "line" }, { "node_id": "usepipelineadmin_usepipelineadmin", "label": "usePipelineAdmin()", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 454, "community_label": "Features Use Pipeline Admin — Admin", "line_number": 37, "source_location": "L37-L133", "match_kind": "line" }, { "node_id": "usepipelineadmin_usepipelineadmin_refresh", "label": "refresh()", "source_file": "src/features/admin/hooks/usePipelineAdmin.ts", "node_kind": "", "community": 454, "community_label": "Features Use Pipeline Admin — Admin", "line_number": 119, "source_location": "L119-L121", "match_kind": "line" }, { "node_id": "usepipelinerundetail", "label": "usePipelineRunDetail.ts", "source_file": "src/features/admin/hooks/usePipelineRunDetail.ts", "node_kind": "", "community": 455, "community_label": "Features Use Pipeline Run Detail", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "usepipelinerundetail_usepipelinerundetail", "label": "usePipelineRunDetail()", "source_file": "src/features/admin/hooks/usePipelineRunDetail.ts", "node_kind": "", "community": 455, "community_label": "Features Use Pipeline Run Detail", "line_number": 7, "source_location": "L7-L31", "match_kind": "line" }, { "node_id": "pipeline_api", "label": "pipeline-api.ts", "source_file": "src/features/admin/services/pipeline-api.ts", "node_kind": "", "community": 395, "community_label": "Features Pipeline API", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipeline_api_createpipelineapi", "label": "createPipelineApi()", "source_file": "src/features/admin/services/pipeline-api.ts", "node_kind": "", "community": 395, "community_label": "Features Pipeline API", "line_number": 20, "source_location": "L20-L38", "match_kind": "line" }, { "node_id": "pipeline_types", "label": "pipeline.types.ts", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinerunsummary", "label": "PipelineRunSummary", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 7, "source_location": "L7-L16", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinerundetail", "label": "PipelineRunDetail", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 396, "community_label": "Features Pipeline Types — Detail", "line_number": 18, "source_location": "L18-L35", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinefailure", "label": "PipelineFailure", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 37, "source_location": "L37-L44", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinerunsection", "label": "PipelineRunSection", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 46, "source_location": "L46-L59", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinerundetailfull", "label": "PipelineRunDetailFull", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 396, "community_label": "Features Pipeline Types — Detail", "line_number": 61, "source_location": "L61-L88", "match_kind": "line" }, { "node_id": "pipeline_types_pipelinecostbreakdown", "label": "PipelineCostBreakdown", "source_file": "src/features/admin/types/pipeline.types.ts", "node_kind": "", "community": 104, "community_label": "Features Pipeline Types", "line_number": 90, "source_location": "L90-L99", "match_kind": "line" }, { "node_id": "ideahero_ideahero", "label": "IdeaHero()", "source_file": "src/features/idea-details/components/IdeaHero.tsx", "node_kind": "component", "community": 69, "community_label": "Features Idea Hero", "line_number": 12, "source_location": "L12-L101", "match_kind": "line" }, { "node_id": "ideametricsreview_ideametricsreview", "label": "IdeaMetricsReview()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "function", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 28, "source_location": "L28-L324", "match_kind": "line" }, { "node_id": "ideametricsreview_ideametricsreview_converttomodalmetric", "label": "convertToModalMetric()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "node_kind": "", "community": 70, "community_label": "Features Idea Metrics Review", "line_number": 82, "source_location": "L82-L90", "match_kind": "line" }, { "node_id": "recommendationbadge", "label": "RecommendationBadge.tsx", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "recommendationbadge_recommendationbadgeprops", "label": "RecommendationBadgeProps", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 12, "source_location": "L12-L19", "match_kind": "line" }, { "node_id": "recommendationbadge_recommendationbadge", "label": "RecommendationBadge()", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "node_kind": "function", "community": 272, "community_label": "Features Recommendation Badge", "line_number": 62, "source_location": "L62-L178", "match_kind": "line" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage", "label": "RedesignedIdeaDetailsPage()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "node_kind": "function", "community": 171, "community_label": "Features Redesigned Idea Details Page", "line_number": 51, "source_location": "L51-L406", "match_kind": "line" }, { "node_id": "letsbuildtab_letsbuildtab", "label": "LetsBuildTab()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "function", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 33, "source_location": "L33-L462", "match_kind": "line" }, { "node_id": "letsbuildtab_letsbuildtab_extractareatag", "label": "extractAreaTag()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 44, "source_location": "L44-L47", "match_kind": "line" }, { "node_id": "letsbuildtab_letsbuildtab_stripareatag", "label": "stripAreaTag()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "node_kind": "", "community": 39, "community_label": "Features Lets Build Tab", "line_number": 50, "source_location": "L50-L52", "match_kind": "line" }, { "node_id": "runwaytab_runwaytab", "label": "RunwayTab()", "source_file": "src/features/idea-details/components/tabs/RunwayTab.tsx", "node_kind": "function", "community": 200, "community_label": "Features Build Perspective Tab — Tab", "line_number": 35, "source_location": "L35-L406", "match_kind": "line" }, { "node_id": "pipeline_status_sync", "label": "pipeline-status-sync.ts", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipeline_status_sync_resolvebaseideaforpipelinesync", "label": "resolveBaseIdeaForPipelineSync()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 8, "source_location": "L8-L72", "match_kind": "line" }, { "node_id": "pipeline_status_sync_syncideawithpipelinestatus", "label": "syncIdeaWithPipelineStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 74, "source_location": "L74-L160", "match_kind": "line" }, { "node_id": "pipeline_status_sync_resolveideastatus", "label": "resolveIdeaStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 175, "source_location": "L175-L200", "match_kind": "line" }, { "node_id": "pipeline_status_sync_hasanalyzingsection", "label": "hasAnalyzingSection()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 202, "source_location": "L202-L209", "match_kind": "line" }, { "node_id": "pipeline_status_sync_resolveprogressmessage", "label": "resolveProgressMessage()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 211, "source_location": "L211-L235", "match_kind": "line" }, { "node_id": "pipeline_status_sync_haspersistedanalysisdata", "label": "hasPersistedAnalysisData()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 237, "source_location": "L237-L262", "match_kind": "line" }, { "node_id": "pipeline_status_sync_isfreshretryrunstatus", "label": "isFreshRetryRunStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 264, "source_location": "L264-L270", "match_kind": "line" }, { "node_id": "pipeline_status_sync_gettimestampms", "label": "getTimestampMs()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 272, "source_location": "L272-L274", "match_kind": "line" }, { "node_id": "pipeline_status_sync_resolvefallbackliveprogress", "label": "resolveFallbackLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 276, "source_location": "L276-L297", "match_kind": "line" }, { "node_id": "pipeline_status_sync_resolvepreferredliveprogress", "label": "resolvePreferredLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 299, "source_location": "L299-L317", "match_kind": "line" }, { "node_id": "pipeline_status_sync_isterminalliveprogress", "label": "isTerminalLiveProgress()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "node_kind": "", "community": 22, "community_label": "Features Pipeline Status Sync", "line_number": 319, "source_location": "L319-L330", "match_kind": "line" }, { "node_id": "useideadata_useideadata", "label": "useIdeaData()", "source_file": "src/features/idea-details/hooks/useIdeaData.ts", "node_kind": "", "community": 165, "community_label": "Features Pipeline Status Sync — Idea", "line_number": 11, "source_location": "L11-L68", "match_kind": "line" }, { "node_id": "ideacard_isideainprogress", "label": "isIdeaInProgress()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 157, "source_location": "L157-L161", "match_kind": "line" }, { "node_id": "ideacard_hasscoredata", "label": "hasScoreData()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "", "community": 17, "community_label": "Features Idea Card", "line_number": 164, "source_location": "L164-L170", "match_kind": "line" }, { "node_id": "ideacard_ideacard", "label": "IdeaCard()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "node_kind": "function", "community": 17, "community_label": "Features Idea Card", "line_number": 172, "source_location": "L172-L594", "match_kind": "line" }, { "node_id": "ideaprogressv2", "label": "IdeaProgressV2.tsx", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "ideaprogressv2_ideaprogressv2props", "label": "IdeaProgressV2Props", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 23, "source_location": "L23-L32", "match_kind": "line" }, { "node_id": "ideaprogressv2_getstatuscolor", "label": "getStatusColor()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 61, "source_location": "L61-L76", "match_kind": "line" }, { "node_id": "ideaprogressv2_getprogressbarcolor", "label": "getProgressBarColor()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 78, "source_location": "L78-L89", "match_kind": "line" }, { "node_id": "ideaprogressv2_ideaprogressv2", "label": "IdeaProgressV2()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 96, "source_location": "L96-L290", "match_kind": "line" }, { "node_id": "ideaprogressv2_isv2pipeline", "label": "isV2Pipeline()", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 296, "source_location": "L296-L298", "match_kind": "line" }, { "node_id": "metricdetailmodal_metricdetailmodal", "label": "MetricDetailModal()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "node_kind": "function", "community": 102, "community_label": "Features Metric Detail Modal", "line_number": 22, "source_location": "L22-L336", "match_kind": "line" }, { "node_id": "pipelinedag", "label": "PipelineDAG.tsx", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinedag_dagsection", "label": "DAGSection", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 13, "source_location": "L13-L18", "match_kind": "line" }, { "node_id": "pipelinedag_pipelinedagprops", "label": "PipelineDAGProps", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 20, "source_location": "L20-L23", "match_kind": "line" }, { "node_id": "pipelinedag_edge", "label": "Edge", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 25, "source_location": "L25-L29", "match_kind": "line" }, { "node_id": "pipelinedag_nodeposition", "label": "NodePosition", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 31, "source_location": "L31-L36", "match_kind": "line" }, { "node_id": "pipelinedag_computewaves", "label": "computeWaves()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 397, "community_label": "Features Pipeline Dag — Compute", "line_number": 42, "source_location": "L42-L76", "match_kind": "line" }, { "node_id": "pipelinedag_computewaves_getwave", "label": "getWave()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 397, "community_label": "Features Pipeline Dag — Compute", "line_number": 50, "source_location": "L50-L69", "match_kind": "line" }, { "node_id": "pipelinedag_groupbywave", "label": "groupByWave()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 81, "source_location": "L81-L95", "match_kind": "line" }, { "node_id": "pipelinedag_collectedges", "label": "collectEdges()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 100, "source_location": "L100-L119", "match_kind": "line" }, { "node_id": "pipelinedag_getedgecolor", "label": "getEdgeColor()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 82, "community_label": "Features Pipeline Dag", "line_number": 121, "source_location": "L121-L132", "match_kind": "line" }, { "node_id": "pipelinedag_desktopdag", "label": "DesktopDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "component", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 137, "source_location": "L137-L320", "match_kind": "line" }, { "node_id": "pipelinedag_desktopdag_measure", "label": "measure()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "", "community": 260, "community_label": "Features Pipeline Dag — Collect", "line_number": 164, "source_location": "L164-L179", "match_kind": "line" }, { "node_id": "pipelinedag_mobiledag", "label": "MobileDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "component", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 325, "source_location": "L325-L366", "match_kind": "line" }, { "node_id": "pipelinedag_pipelinedag", "label": "PipelineDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "node_kind": "function", "community": 261, "community_label": "Features Pipeline Dag — Dag", "line_number": 373, "source_location": "L373-L391", "match_kind": "line" }, { "node_id": "pipelinedagnode", "label": "PipelineDAGNode.tsx", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "", "community": 398, "community_label": "Features Pipeline Dag Node", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "pipelinedagnode_pipelinedagnodeprops", "label": "PipelineDAGNodeProps", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "", "community": 398, "community_label": "Features Pipeline Dag Node", "line_number": 19, "source_location": "L19-L23", "match_kind": "line" }, { "node_id": "pipelinedagnode_spinner", "label": "Spinner()", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "node_kind": "component", "community": 399, "community_label": "Features Pipeline Dag Node — Card", "line_number": 87, "source_location": "L87-L110", "match_kind": "line" }, { "node_id": "sectionprogresscard", "label": "SectionProgressCard.tsx", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "", "community": 287, "community_label": "Features Section Progress Card", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "sectionprogresscard_sectionprogresscardprops", "label": "SectionProgressCardProps", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "", "community": 287, "community_label": "Features Section Progress Card", "line_number": 17, "source_location": "L17-L20", "match_kind": "line" }, { "node_id": "sectionprogresscard_spinner", "label": "Spinner()", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "component", "community": 287, "community_label": "Features Section Progress Card", "line_number": 78, "source_location": "L78-L101", "match_kind": "line" }, { "node_id": "sectionprogresscard_sectionprogresscard", "label": "SectionProgressCard()", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "node_kind": "function", "community": 399, "community_label": "Features Pipeline Dag Node — Card", "line_number": 103, "source_location": "L103-L145", "match_kind": "line" }, { "node_id": "useideaprogress", "label": "useIdeaProgress.ts", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "useideaprogress_ideaprogressstate", "label": "IdeaProgressState", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 21, "source_location": "L21-L40", "match_kind": "line" }, { "node_id": "useideaprogress_useideaprogress", "label": "useIdeaProgress()", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "node_kind": "function", "community": 29, "community_label": "Features Idea Progress V2", "line_number": 58, "source_location": "L58-L188", "match_kind": "line" }, { "node_id": "progress_types", "label": "progress.types.ts", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 1, "source_location": "L1", "match_kind": "line" }, { "node_id": "progress_types_progressbroadcast", "label": "ProgressBroadcast", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 11, "source_location": "L11-L42", "match_kind": "line" }, { "node_id": "progress_types_sectionprogress", "label": "SectionProgress", "source_file": "src/features/ideas/types/progress.types.ts", "node_kind": "", "community": 268, "community_label": "Features Progress Types", "line_number": 44, "source_location": "L44-L48", "match_kind": "line" }, { "node_id": "feature_flags", "label": "feature-flags.ts", "source_file": "src/shared/config/feature-flags.ts", "node_kind": "", "community": 337, "community_label": "Shared Feature Flags", "line_number": 1, "source_location": "L1", "match_kind": "file" }, { "node_id": "feature_flags_isfeatureenabled", "label": "isFeatureEnabled()", "source_file": "src/shared/config/feature-flags.ts", "node_kind": "", "community": 337, "community_label": "Shared Feature Flags", "line_number": 36, "source_location": "L36-L38", "match_kind": "file" }, { "node_id": "api_useauthenticatedapiservice", "label": "useAuthenticatedApiService()", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 95, "source_location": "L95-L177", "match_kind": "line" }, { "node_id": "api_ideapipelinestatusresponse", "label": "IdeaPipelineStatusResponse", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 271, "source_location": "L271-L297", "match_kind": "line" }, { "node_id": "api_idea", "label": "Idea", "source_file": "src/shared/lib/api.ts", "node_kind": "", "community": 0, "community_label": "Shared API", "line_number": 729, "source_location": "L729-L769", "match_kind": "line" } ], "per_node_impact": [ { "node": "IdeaMetricsReview()", "direct_dependents": 9, "transitive_dependents": 596, "affected_communities": 282 }, { "node": "PipelineRunDetailPage()", "direct_dependents": 12, "transitive_dependents": 589, "affected_communities": 272 }, { "node": "PipelineDashboardPage()", "direct_dependents": 7, "transitive_dependents": 594, "affected_communities": 272 }, { "node": "mergeRunSections()", "direct_dependents": 4, "transitive_dependents": 594, "affected_communities": 271 }, { "node": "mergeLiveCost()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "resolveOverviewTotals()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "shouldRefetchRunDetail()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "resolveHydratedPipelineStatus()", "direct_dependents": 4, "transitive_dependents": 594, "affected_communities": 271 }, { "node": "isTerminalRunSnapshot()", "direct_dependents": 4, "transitive_dependents": 594, "affected_communities": 271 }, { "node": "resolveLivePipelineStatus()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "DAGSection", "direct_dependents": 1, "transitive_dependents": 597, "affected_communities": 271 }, { "node": "NodePosition", "direct_dependents": 1, "transitive_dependents": 597, "affected_communities": 271 }, { "node": "getStatusIcon()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "getNodeStatusIcon()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "getEdgeColor()", "direct_dependents": 1, "transitive_dependents": 597, "affected_communities": 271 }, { "node": "formatDuration()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "formatElapsed()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "estimateCostFromTokens()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "useTick()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "parseError()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "ErrorDisplay()", "direct_dependents": 4, "transitive_dependents": 594, "affected_communities": 271 }, { "node": "computeWaves()", "direct_dependents": 3, "transitive_dependents": 595, "affected_communities": 271 }, { "node": "groupByWave()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "PipelineRunDAG()", "direct_dependents": 4, "transitive_dependents": 594, "affected_communities": 271 }, { "node": "SidePanel()", "direct_dependents": 10, "transitive_dependents": 588, "affected_communities": 271 }, { "node": "MetaRow()", "direct_dependents": 2, "transitive_dependents": 596, "affected_communities": 271 }, { "node": "Sidebar()", "direct_dependents": 2, "transitive_dependents": 587, "affected_communities": 282 }, { "node": "RunwayTab()", "direct_dependents": 4, "transitive_dependents": 556, "affected_communities": 267 }, { "node": "LetsBuildTab()", "direct_dependents": 8, "transitive_dependents": 543, "affected_communities": 267 }, { "node": "useAuthenticatedApiService()", "direct_dependents": 1, "transitive_dependents": 500, "affected_communities": 218 }, { "node": "IdeaPipelineStatusResponse", "direct_dependents": 1, "transitive_dependents": 500, "affected_communities": 218 }, { "node": "Idea", "direct_dependents": 1, "transitive_dependents": 500, "affected_communities": 218 }, { "node": "IdeaCard()", "direct_dependents": 11, "transitive_dependents": 446, "affected_communities": 196 }, { "node": "RedesignedIdeaDetailsPage()", "direct_dependents": 5, "transitive_dependents": 427, "affected_communities": 201 }, { "node": "isIdeaInProgress()", "direct_dependents": 2, "transitive_dependents": 420, "affected_communities": 189 }, { "node": "hasScoreData()", "direct_dependents": 2, "transitive_dependents": 420, "affected_communities": 189 }, { "node": "PipelineRunsTable()", "direct_dependents": 2, "transitive_dependents": 402, "affected_communities": 221 }, { "node": "PipelineCostBreakdownPanel()", "direct_dependents": 4, "transitive_dependents": 398, "affected_communities": 221 }, { "node": "PipelineFailuresList()", "direct_dependents": 2, "transitive_dependents": 400, "affected_communities": 221 }, { "node": "PipelineSummaryCards()", "direct_dependents": 2, "transitive_dependents": 399, "affected_communities": 221 }, { "node": "toSortedEntries()", "direct_dependents": 2, "transitive_dependents": 396, "affected_communities": 219 }, { "node": "CostTable()", "direct_dependents": 2, "transitive_dependents": 396, "affected_communities": 219 }, { "node": "PipelineCostBreakdownPanelProps", "direct_dependents": 1, "transitive_dependents": 393, "affected_communities": 219 }, { "node": "CostEntry", "direct_dependents": 1, "transitive_dependents": 393, "affected_communities": 219 }, { "node": "PipelineRunsTableProps", "direct_dependents": 1, "transitive_dependents": 393, "affected_communities": 219 }, { "node": "getStatusStyle()", "direct_dependents": 1, "transitive_dependents": 393, "affected_communities": 219 }, { "node": "truncateText()", "direct_dependents": 1, "transitive_dependents": 393, "affected_communities": 219 }, { "node": "UsePipelineAdminReturn", "direct_dependents": 1, "transitive_dependents": 392, "affected_communities": 220 }, { "node": "usePipelineAdmin()", "direct_dependents": 2, "transitive_dependents": 391, "affected_communities": 220 }, { "node": "RecommendationBadge()", "direct_dependents": 3, "transitive_dependents": 390, "affected_communities": 180 }, { "node": "PipelineFailuresListProps", "direct_dependents": 1, "transitive_dependents": 391, "affected_communities": 219 }, { "node": "PipelineSummaryCardsProps", "direct_dependents": 1, "transitive_dependents": 390, "affected_communities": 219 }, { "node": "usePipelineRunDetail()", "direct_dependents": 1, "transitive_dependents": 390, "affected_communities": 219 }, { "node": "resolveBaseIdeaForPipelineSync()", "direct_dependents": 5, "transitive_dependents": 354, "affected_communities": 156 }, { "node": "syncIdeaWithPipelineStatus()", "direct_dependents": 8, "transitive_dependents": 351, "affected_communities": 156 }, { "node": "useIdeaData()", "direct_dependents": 3, "transitive_dependents": 350, "affected_communities": 155 }, { "node": "IdeaHero()", "direct_dependents": 1, "transitive_dependents": 351, "affected_communities": 157 }, { "node": "useIdeaProgress()", "direct_dependents": 3, "transitive_dependents": 288, "affected_communities": 164 }, { "node": "PipelineDAG()", "direct_dependents": 4, "transitive_dependents": 285, "affected_communities": 160 }, { "node": "SectionProgressCard()", "direct_dependents": 3, "transitive_dependents": 284, "affected_communities": 160 }, { "node": "IdeaProgressV2Props", "direct_dependents": 1, "transitive_dependents": 285, "affected_communities": 160 }, { "node": "getProgressBarColor()", "direct_dependents": 2, "transitive_dependents": 284, "affected_communities": 160 }, { "node": "IdeaProgressV2()", "direct_dependents": 4, "transitive_dependents": 282, "affected_communities": 160 }, { "node": "isV2Pipeline()", "direct_dependents": 1, "transitive_dependents": 285, "affected_communities": 160 }, { "node": "PipelineDAGProps", "direct_dependents": 1, "transitive_dependents": 284, "affected_communities": 159 }, { "node": "Edge", "direct_dependents": 1, "transitive_dependents": 284, "affected_communities": 159 }, { "node": "collectEdges()", "direct_dependents": 2, "transitive_dependents": 283, "affected_communities": 159 }, { "node": "DesktopDAG()", "direct_dependents": 6, "transitive_dependents": 279, "affected_communities": 159 }, { "node": "MobileDAG()", "direct_dependents": 4, "transitive_dependents": 281, "affected_communities": 159 }, { "node": "Spinner()", "direct_dependents": 2, "transitive_dependents": 283, "affected_communities": 159 }, { "node": "PipelineDAGNodeProps", "direct_dependents": 1, "transitive_dependents": 276, "affected_communities": 159 }, { "node": "SectionProgressCardProps", "direct_dependents": 1, "transitive_dependents": 273, "affected_communities": 157 }, { "node": "MetricDetailModal()", "direct_dependents": 8, "transitive_dependents": 249, "affected_communities": 141 }, { "node": "formatRelativeTime()", "direct_dependents": 1, "transitive_dependents": 251, "affected_communities": 136 }, { "node": "IdeaProgressState", "direct_dependents": 1, "transitive_dependents": 249, "affected_communities": 140 }, { "node": "createPipelineApi()", "direct_dependents": 1, "transitive_dependents": 236, "affected_communities": 133 }, { "node": "page /admin/pipeline", "direct_dependents": 2, "transitive_dependents": 224, "affected_communities": 131 }, { "node": "page /admin/pipeline/[ideaId]", "direct_dependents": 2, "transitive_dependents": 219, "affected_communities": 131 }, { "node": "getStatusColor()", "direct_dependents": 1, "transitive_dependents": 192, "affected_communities": 116 }, { "node": "isTerminalSectionStatus()", "direct_dependents": 2, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "AdminPipelineSection", "direct_dependents": 1, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "LiveCostState", "direct_dependents": 1, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "RunTotalsSource", "direct_dependents": 1, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "MergeRunSectionsOptions", "direct_dependents": 1, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "HydratedRunStatusSource", "direct_dependents": 1, "transitive_dependents": 181, "affected_communities": 111 }, { "node": "getWave()", "direct_dependents": 1, "transitive_dependents": 176, "affected_communities": 111 }, { "node": "resolveIdeaStatus()", "direct_dependents": 3, "transitive_dependents": 161, "affected_communities": 63 }, { "node": "hasAnalyzingSection()", "direct_dependents": 2, "transitive_dependents": 162, "affected_communities": 63 }, { "node": "resolveProgressMessage()", "direct_dependents": 2, "transitive_dependents": 162, "affected_communities": 63 }, { "node": "hasPersistedAnalysisData()", "direct_dependents": 3, "transitive_dependents": 161, "affected_communities": 63 }, { "node": "isFreshRetryRunStatus()", "direct_dependents": 2, "transitive_dependents": 162, "affected_communities": 63 }, { "node": "getTimestampMs()", "direct_dependents": 2, "transitive_dependents": 162, "affected_communities": 63 }, { "node": "resolveFallbackLiveProgress()", "direct_dependents": 3, "transitive_dependents": 161, "affected_communities": 63 }, { "node": "resolvePreferredLiveProgress()", "direct_dependents": 3, "transitive_dependents": 161, "affected_communities": 63 }, { "node": "isTerminalLiveProgress()", "direct_dependents": 4, "transitive_dependents": 160, "affected_communities": 63 }, { "node": "RecommendationBadgeProps", "direct_dependents": 1, "transitive_dependents": 96, "affected_communities": 77 }, { "node": "isFeatureEnabled()", "direct_dependents": 1, "transitive_dependents": 45, "affected_communities": 32 }, { "node": "convertToModalMetric()", "direct_dependents": 1, "transitive_dependents": 40, "affected_communities": 28 }, { "node": "extractAreaTag()", "direct_dependents": 1, "transitive_dependents": 39, "affected_communities": 28 }, { "node": "stripAreaTag()", "direct_dependents": 1, "transitive_dependents": 39, "affected_communities": 28 }, { "node": "measure()", "direct_dependents": 1, "transitive_dependents": 16, "affected_communities": 8 }, { "node": "refresh()", "direct_dependents": 1, "transitive_dependents": 5, "affected_communities": 5 }, { "node": "PipelineRunSummary", "direct_dependents": 1, "transitive_dependents": 5, "affected_communities": 2 }, { "node": "PipelineRunDetail", "direct_dependents": 2, "transitive_dependents": 4, "affected_communities": 2 }, { "node": "PipelineFailure", "direct_dependents": 1, "transitive_dependents": 5, "affected_communities": 2 }, { "node": "PipelineRunSection", "direct_dependents": 1, "transitive_dependents": 5, "affected_communities": 2 }, { "node": "PipelineRunDetailFull", "direct_dependents": 2, "transitive_dependents": 4, "affected_communities": 2 }, { "node": "PipelineCostBreakdown", "direct_dependents": 1, "transitive_dependents": 5, "affected_communities": 2 }, { "node": "ProgressBroadcast", "direct_dependents": 1, "transitive_dependents": 1, "affected_communities": 1 }, { "node": "SectionProgress", "direct_dependents": 1, "transitive_dependents": 1, "affected_communities": 1 } ], "total_blast_radius": 1059, "affected_files": [ "src/app", "src/app/(dashboard)/domains/[domain]/page.tsx", "src/app/(dashboard)/domains/page.tsx", "src/app/(dashboard)/ideas/[id]/page.tsx", "src/app/(dashboard)/ideas/page.tsx", "src/app/admin/pipeline/[ideaId]/page-state.ts", "src/app/admin/pipeline/[ideaId]/page.tsx", "src/app/admin/pipeline/page.tsx", "src/app/analytics/page.tsx", "src/app/audit/page.tsx", "src/app/billing/cancel/page.tsx", "src/app/billing/components/AlertBanner.tsx", "src/app/billing/components/ConfirmChangeModal.tsx", "src/app/billing/components/CreditBalance.tsx", "src/app/billing/components/EmptyState.tsx", "src/app/billing/components/InvoicesTable.tsx", "src/app/billing/components/PlanFeatureList.tsx", "src/app/billing/components/PlanSelector.tsx", "src/app/billing/components/PurchaseCredits.tsx", "src/app/billing/components/Skeletons.tsx", "src/app/billing/components/SubscriptionSummary.tsx", "src/app/billing/components/UsageInsights.tsx", "src/app/billing/components/UsageKpis.tsx", "src/app/billing/components/UsageTrends.tsx", "src/app/billing/hooks/useBilling.ts", "src/app/billing/lib/billing-api-adapter.ts", "src/app/billing/lib/billing-api.ts", "src/app/billing/lib/formatters.ts", "src/app/billing/page.tsx", "src/app/billing/renew/page.tsx", "src/app/billing/success/page.tsx", "src/app/campaigns/[id]/analytics/page.tsx", "src/app/campaigns/[id]/page.tsx", "src/app/campaigns/page.tsx", "src/app/cost-tracking/page.tsx", "src/app/coupon-campaigns/[id]/page.tsx", "src/app/coupon-campaigns/page.tsx", "src/app/coupons/page.tsx", "src/app/email-testing/page.tsx", "src/app/i/[code]/InvitePageContent.tsx", "src/app/i/[code]/page.tsx", "src/app/invites/page.tsx", "src/app/landing-pages/components/CompactCustomDomainManager.tsx", "src/app/landing-pages/components/CreateLandingPageForm.tsx", "src/app/landing-pages/components/EditDomainModal.tsx", "src/app/landing-pages/components/LandingPagesClient.tsx", "src/app/landing-pages/components/LandingPagesSection.tsx", "src/app/landing-pages/components/LoadingSkeletons.tsx", "src/app/landing-pages/components/PageHeader.tsx", "src/app/landing-pages/generation-jobs/page.tsx", "src/app/landing-pages/hooks/useCreateLandingPage.ts", "src/app/landing-pages/hooks/useLandingPagesData.ts", "src/app/landing-pages/lib/utils.ts", "src/app/landing-pages/page.tsx", "src/app/layout.tsx", "src/app/page.tsx", "src/app/providers.tsx", "src/app/redeem/[code]/page.tsx", "src/app/saved/components/SavedBulkActions.tsx", "src/app/saved/components/SavedEmptyState.tsx", "src/app/saved/components/SavedFilters.tsx", "src/app/saved/components/SavedGrid.tsx", "src/app/saved/components/SavedHeader.tsx", "src/app/saved/components/SavedPagination.tsx", "src/app/saved/hooks/useSavedFilters.ts", "src/app/saved/hooks/useSavedIdeas.ts", "src/app/saved/hooks/useSavedSelection.ts", "src/app/saved/page.tsx", "src/app/settings/components/AccountSettingsSection.tsx", "src/app/settings/components/ErrorBoundary.tsx", "src/app/settings/components/Header.tsx", "src/app/settings/components/Section.tsx", "src/app/settings/components/SectionDivider.tsx", "src/app/settings/components/SelectRow.tsx", "src/app/settings/components/SettingsTabNavigation.tsx", "src/app/settings/components/SyncBanner.tsx", "src/app/settings/hooks/useSettings.ts", "src/app/settings/hooks/useSettingsTab.ts", "src/app/settings/page.tsx", "src/app/settings/signature/page.tsx", "src/app/share/ideas/[id]/page.tsx", "src/app/sign-in/[[...sign-in]]/page.tsx", "src/app/sign-up/[[...sign-up]]/page.tsx", "src/app/stuck-ideas/page.tsx", "src/app/user-profile/[[...user-profile]]/page.tsx", "src/app/users/page.tsx", "src/app/verify/[hash]/layout.tsx", "src/app/verify/[hash]/page.tsx", "src/app/waiting-room/page.tsx", "src/app/waitlist/page.tsx", "src/components/AccessGate.tsx", "src/components/Analytics.tsx", "src/components/ChatwootWidget.tsx", "src/components/CookieConsentBanner.tsx", "src/components/EnhancedIdeaDetails.tsx", "src/components/InProgressIdeasWidget.tsx", "src/components/InviteConsumer.tsx", "src/components/NoIdeasBanner.tsx", "src/components/OnboardingTour.tsx", "src/components/ProgressTracker.tsx", "src/components/ServiceWorkerUnregister.tsx", "src/components/charts/AudienceBubbleChart.tsx", "src/components/charts/CompetitionBarChart.tsx", "src/components/charts/IdeaValidationDashboard.tsx", "src/components/charts/RevenueAreaChart.tsx", "src/components/charts/RingProgressChart.tsx", "src/components/charts/RiskGaugeChart.tsx", "src/components/domains/DomainSslStatus.tsx", "src/components/domains/DomainStatus.tsx", "src/components/filter-bar.tsx", "src/components/ideas-overview.tsx", "src/components/layout.tsx", "src/components/layout/Page.tsx", "src/components/modern-scrape-modal.tsx", "src/components/nda/OwnerSignatureModal.tsx", "src/components/quick-actions.tsx", "src/components/recent-ideas.tsx", "src/components/saved-ideas.tsx", "src/components/ui/GlossaryTooltip.tsx", "src/components/ui/accessible-components.tsx", "src/components/ui/mobile-optimized.tsx", "src/components/ui/performance-optimized.tsx", "src/components/ui/standard-cards.tsx", "src/components/ui/standard-layout.tsx", "src/components/ui/standard-typography.tsx", "src/contexts/NewIdeaModalContext.tsx", "src/data/glossary.ts", "src/features/admin/admin-credits.service.ts", "src/features/admin/components/AverageIdeaCostChart.tsx", "src/features/admin/components/BudgetManager.tsx", "src/features/admin/components/CostChart.tsx", "src/features/admin/components/CostOverviewCards.tsx", "src/features/admin/components/CostProcessBreakdown.tsx", "src/features/admin/components/GrantCreditsForm.tsx", "src/features/admin/components/PendingApprovalsPanel.tsx", "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "src/features/admin/components/PipelineFailuresList.tsx", "src/features/admin/components/PipelineRunsTable.tsx", "src/features/admin/components/PipelineSummaryCards.tsx", "src/features/admin/hooks/index.ts", "src/features/admin/hooks/usePipelineAdmin.ts", "src/features/admin/hooks/usePipelineRunDetail.ts", "src/features/admin/services/pipeline-api.ts", "src/features/admin/types.ts", "src/features/admin/types/pipeline.types.ts", "src/features/billing/components/BillingDashboard.tsx", "src/features/billing/components/CouponInput.tsx", "src/features/billing/components/FeatureBlockedModal.tsx", "src/features/billing/components/PlanCard.tsx", "src/features/billing/components/RenewalBanner.tsx", "src/features/billing/components/RenewalModal.tsx", "src/features/billing/components/SubscriptionPlans.tsx", "src/features/billing/hooks/index.ts", "src/features/billing/hooks/useCouponValidation.ts", "src/features/billing/hooks/useRenewalCheckout.ts", "src/features/billing/hooks/useSubscriptionState.ts", "src/features/billing/types/index.ts", "src/features/billing/types/renewal.ts", "src/features/billing/utils/index.ts", "src/features/coupons/coupons.service.ts", "src/features/coupons/hooks.ts", "src/features/coupons/types.ts", "src/features/credits/components/CreditsDisplay.tsx", "src/features/credits/credits.service.ts", "src/features/credits/hooks/index.ts", "src/features/credits/types.ts", "src/features/domains/components/AddDomainModal.tsx", "src/features/domains/components/ConnectedDomainsTable.tsx", "src/features/domains/components/DnsNotesPanel.tsx", "src/features/domains/components/DomainRow.tsx", "src/features/domains/components/DomainRowExpanded.tsx", "src/features/domains/components/DomainsHeader.tsx", "src/features/domains/components/EditDomainDrawer.tsx", "src/features/domains/components/LearnMoreAccordion.tsx", "src/features/domains/components/RecordsTable.tsx", "src/features/domains/components/StatusChip.tsx", "src/features/domains/hooks/useDomainManagement.ts", "src/features/domains/hooks/useDomains.ts", "src/features/domains/services/domains.client.ts", "src/features/domains/strings.ts", "src/features/domains/types.ts", "src/features/idea-details/components/CompetitiveMatrixDisplay.tsx", "src/features/idea-details/components/EvidenceQualityGauge.tsx", "src/features/idea-details/components/IdeaDetailSections.tsx", "src/features/idea-details/components/IdeaHero.tsx", "src/features/idea-details/components/IdeaMetricsReview.tsx", "src/features/idea-details/components/IdeaProgressTimeline.tsx", "src/features/idea-details/components/IdeaSidebar.tsx", "src/features/idea-details/components/IdeaTabNavigation.tsx", "src/features/idea-details/components/MarketSizingBreakdown.tsx", "src/features/idea-details/components/MetricCard.tsx", "src/features/idea-details/components/PreShareModal.tsx", "src/features/idea-details/components/ProblemSolutionCards.tsx", "src/features/idea-details/components/PublicIdeaDetailsPage.tsx", "src/features/idea-details/components/QuickOverview.tsx", "src/features/idea-details/components/RecommendationBadge.tsx", "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "src/features/idea-details/components/RiskBadge.tsx", "src/features/idea-details/components/RiskIndicators.tsx", "src/features/idea-details/components/RiskOverview.tsx", "src/features/idea-details/components/ScoringLedgerDisplay.tsx", "src/features/idea-details/components/SectionCard.tsx", "src/features/idea-details/components/ShareButton.tsx", "src/features/idea-details/components/ShareModal.tsx", "src/features/idea-details/components/SmartContent.tsx", "src/features/idea-details/components/StrengthsChallenges.tsx", "src/features/idea-details/components/StructuredSummary.tsx", "src/features/idea-details/components/tabs/AssumptionsTab.tsx", "src/features/idea-details/components/tabs/AudienceTab.tsx", "src/features/idea-details/components/tabs/BuildPerspectiveTab.tsx", "src/features/idea-details/components/tabs/BusinessModelTab.tsx", "src/features/idea-details/components/tabs/EvidenceTab.tsx", "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "src/features/idea-details/components/tabs/MarketResearchTab.tsx", "src/features/idea-details/components/tabs/OverviewTab.tsx", "src/features/idea-details/components/tabs/RiskAnalysisTab.tsx", "src/features/idea-details/components/tabs/RunwayTab.tsx", "src/features/idea-details/components/tabs/TechnicalFeasibilityTab.tsx", "src/features/idea-details/hooks/pipeline-status-sync.ts", "src/features/idea-details/hooks/useIdeaActions.ts", "src/features/idea-details/hooks/useIdeaData.ts", "src/features/idea-details/hooks/useIdeaStatusUpdates.ts", "src/features/idea-details/hooks/useResearchActions.ts", "src/features/idea-details/lib/theme-utils.ts", "src/features/idea-details/utils/risk-utils.ts", "src/features/ideas/components/DashboardHeader.tsx", "src/features/ideas/components/EmptyIdeasState.tsx", "src/features/ideas/components/IdeaCard.tsx", "src/features/ideas/components/IdeaMetricsCard.tsx", "src/features/ideas/components/IdeaProgressV2.tsx", "src/features/ideas/components/IdeasDashboard.tsx", "src/features/ideas/components/IdeasGrid.tsx", "src/features/ideas/components/IdeasGridSection.tsx", "src/features/ideas/components/LoadingSkeleton.tsx", "src/features/ideas/components/MetricDetailModal.tsx", "src/features/ideas/components/Pagination.tsx", "src/features/ideas/components/PipelineDAG.tsx", "src/features/ideas/components/PipelineDAGNode.tsx", "src/features/ideas/components/SavedIdeas.tsx", "src/features/ideas/components/SearchFilters.tsx", "src/features/ideas/components/SectionProgressCard.tsx", "src/features/ideas/components/UserStatistics.tsx", "src/features/ideas/components/UserStatisticsSection.tsx", "src/features/ideas/hooks/useIdeaProgress.ts", "src/features/ideas/types/ideas.types.ts", "src/features/ideas/types/progress.types.ts", "src/features/ideas/utils/index.ts", "src/features/landing-pages/components/EmptyState.tsx", "src/features/landing-pages/components/LandingPageCard/index.tsx", "src/features/landing-pages/components/LandingPageGrid.tsx", "src/features/landing-pages/components/LeadsModal.tsx", "src/features/landing-pages/hooks/useLandingPageActions.ts", "src/features/landing-pages/hooks/useLandingPages.ts", "src/features/landing-pages/types/index.ts", "src/features/landing-pages/utils/calculations.ts", "src/features/landing-pages/utils/clipboard.ts", "src/hooks/useCookieConsent.ts", "src/hooks/useCustomDomains.ts", "src/hooks/useInProgressIdeas.ts", "src/hooks/useOnboarding.ts", "src/hooks/useSocket.ts", "src/lib/cn.ts", "src/lib/progressValidation.ts", "src/lib/substatus.ts", "src/services/cost-analytics.service.ts", "src/services/custom-domains.service.ts", "src/services/subscription.service.ts", "src/shared/components/UpgradeRequiredModal.tsx", "src/shared/config/feature-flags.ts", "src/shared/hooks/useFeatureAccess.ts", "src/shared/lib/admin-api.ts", "src/shared/lib/api.ts", "src/shared/lib/clipboard.ts", "src/shared/lib/debounce.ts", "src/shared/lib/error-handling.ts", "src/shared/lib/plan-enforcement.ts", "src/shared/lib/socket.ts", "src/shared/lib/utils.ts", "src/shared/ui/Badge.tsx", "src/shared/ui/Card.tsx", "src/shared/ui/Input.tsx", "src/shared/ui/Loading.tsx", "src/shared/ui/Modal.tsx", "src/shared/ui/Tooltip.tsx", "src/shared/ui/Typography.tsx", "src/types/api.ts", "src/types/chatwoot.ts", "src/types/custom-domains.ts", "src/types/problem-suggestions.ts", "src/types/validation-metrics.ts", "src/ui/Breadcrumbs.tsx", "src/ui/Button.tsx", "src/ui/Chip.tsx", "src/ui/GlassCard.tsx", "src/ui/KPITile.tsx", "src/ui/ScoreDisplay.tsx", "src/ui/Skeleton.tsx", "src/ui/Stepper.tsx", "src/ui/variants/focus.ts", "src/ui/variants/glass.ts", "src/ui/variants/index.ts" ], "affected_communities": [ { "id": 0, "label": "Shared API", "node_count": 81 }, { "id": 1, "label": "Features Use", "node_count": 61 }, { "id": 2, "label": "Shared Admin API", "node_count": 46 }, { "id": 4, "label": "Features Ideas Types", "node_count": 30 }, { "id": 6, "label": "App Page", "node_count": 24 }, { "id": 7, "label": "Types Validation Metrics", "node_count": 22 }, { "id": 9, "label": "App Page — Props", "node_count": 16 }, { "id": 10, "label": "Components Card", "node_count": 13 }, { "id": 11, "label": "Shared Utils", "node_count": 13 }, { "id": 14, "label": "Features Idea Detail Sections", "node_count": 12 }, { "id": 13, "label": "Features Use Dashboard Logic", "node_count": 12 }, { "id": 18, "label": "App Page — Handle", "node_count": 11 }, { "id": 15, "label": "Features Connected Domains Table", "node_count": 11 }, { "id": 19, "label": "Features Risk Indicators", "node_count": 11 }, { "id": 17, "label": "Features Idea Card", "node_count": 11 }, { "id": 16, "label": "Services Cost Analytics Service", "node_count": 11 }, { "id": 25, "label": "Features Use Domains", "node_count": 10 }, { "id": 24, "label": "Features Types", "node_count": 10 }, { "id": 20, "label": "Components Loading", "node_count": 10 }, { "id": 21, "label": "Components Mobile Optimized", "node_count": 10 }, { "id": 23, "label": "Components Standard Cards", "node_count": 10 }, { "id": 22, "label": "Features Pipeline Status Sync", "node_count": 10 }, { "id": 30, "label": "App Page — Analytics", "node_count": 9 }, { "id": 32, "label": "Hooks Use Custom Domains", "node_count": 9 }, { "id": 28, "label": "App Error Boundary", "node_count": 9 }, { "id": 26, "label": "Features Calculations", "node_count": 9 }, { "id": 29, "label": "Features Idea Progress V2", "node_count": 9 }, { "id": 31, "label": "Components Standard Layout", "node_count": 9 }, { "id": 27, "label": "Services Custom Domains Service", "node_count": 9 }, { "id": 47, "label": "App Skeletons", "node_count": 8 }, { "id": 35, "label": "Features Domain Row Expanded", "node_count": 8 }, { "id": 38, "label": "App Landing Pages Section", "node_count": 8 }, { "id": 33, "label": "Features Build Perspective Tab", "node_count": 8 }, { "id": 39, "label": "Features Lets Build Tab", "node_count": 8 }, { "id": 43, "label": "Features Renewal", "node_count": 8 }, { "id": 40, "label": "App Use Plans", "node_count": 8 }, { "id": 48, "label": "Components Standard Typography", "node_count": 8 }, { "id": 45, "label": "Features Runway Tab", "node_count": 8 }, { "id": 46, "label": "UI Score Display", "node_count": 8 }, { "id": 36, "label": "App Formatters", "node_count": 8 }, { "id": 44, "label": "Features Use Subscription State", "node_count": 8 }, { "id": 37, "label": "Features Format", "node_count": 8 }, { "id": 34, "label": "App Compact Custom Domain Manager", "node_count": 8 }, { "id": 41, "label": "App Account Settings Section", "node_count": 8 }, { "id": 58, "label": "App Page State", "node_count": 7 }, { "id": 57, "label": "Features User Statistics", "node_count": 7 }, { "id": 49, "label": "Components Layout", "node_count": 7 }, { "id": 53, "label": "App Create Landing Page Form", "node_count": 7 }, { "id": 54, "label": "Types Custom Domains", "node_count": 7 }, { "id": 61, "label": "Hooks Use Socket", "node_count": 7 }, { "id": 55, "label": "Components Domain Status", "node_count": 7 }, { "id": 59, "label": "Shared Plan Enforcement", "node_count": 7 }, { "id": 56, "label": "Components Filter Bar", "node_count": 7 }, { "id": 51, "label": "Features Admin Credits Service", "node_count": 7 }, { "id": 76, "label": "App Page — Icon", "node_count": 6 }, { "id": 78, "label": "App Page State — Pipeline", "node_count": 6 }, { "id": 87, "label": "App Use Billing", "node_count": 6 }, { "id": 77, "label": "App Page — Job", "node_count": 6 }, { "id": 81, "label": "Features Pipeline Cost Breakdown Panel", "node_count": 6 }, { "id": 83, "label": "Features Pipeline Runs Table", "node_count": 6 }, { "id": 75, "label": "App Page — Audit", "node_count": 6 }, { "id": 68, "label": "Shared Error Handling", "node_count": 6 }, { "id": 71, "label": "Features Idea Tab Navigation", "node_count": 6 }, { "id": 79, "label": "App Page — All", "node_count": 6 }, { "id": 85, "label": "App Subscription Summary", "node_count": 6 }, { "id": 65, "label": "Features Types — Credit", "node_count": 6 }, { "id": 73, "label": "Features Metric Card", "node_count": 6 }, { "id": 63, "label": "Types Chatwoot", "node_count": 6 }, { "id": 62, "label": "Components Accessible Components", "node_count": 6 }, { "id": 70, "label": "Features Idea Metrics Review", "node_count": 6 }, { "id": 82, "label": "Features Pipeline Dag", "node_count": 6 }, { "id": 64, "label": "Features Coupon Input", "node_count": 6 }, { "id": 72, "label": "Features Plan Card", "node_count": 6 }, { "id": 88, "label": "Features Use Domain Management", "node_count": 6 }, { "id": 69, "label": "Features Idea Hero", "node_count": 6 }, { "id": 86, "label": "Lib Substatus", "node_count": 6 }, { "id": 80, "label": "Components Performance Optimized", "node_count": 6 }, { "id": 89, "label": "Shared Use Feature Access", "node_count": 6 }, { "id": 84, "label": "Features Share Modal", "node_count": 6 }, { "id": 66, "label": "Features Credits Service", "node_count": 6 }, { "id": 103, "label": "App Page — Coupon", "node_count": 5 }, { "id": 90, "label": "Features Cn", "node_count": 5 }, { "id": 96, "label": "Features Idea Progress Timeline", "node_count": 5 }, { "id": 93, "label": "App Invoices Table", "node_count": 5 }, { "id": 105, "label": "App Plan Feature List", "node_count": 5 }, { "id": 94, "label": "UI Kpi Tile", "node_count": 5 }, { "id": 98, "label": "Components Ring Progress Chart", "node_count": 5 }, { "id": 95, "label": "Features Grant Credits Form", "node_count": 5 }, { "id": 114, "label": "Features Use Landing Page Actions", "node_count": 5 }, { "id": 106, "label": "Features Pre Share Modal", "node_count": 5 }, { "id": 101, "label": "Features Market Research Tab — Handle", "node_count": 5 }, { "id": 97, "label": "Features Ideas Grid", "node_count": 5 }, { "id": 107, "label": "Features Renewal Banner", "node_count": 5 }, { "id": 99, "label": "Features Refresh", "node_count": 5 }, { "id": 100, "label": "Features Market Research Tab", "node_count": 5 }, { "id": 113, "label": "Features Use Idea Actions", "node_count": 5 }, { "id": 116, "label": "Features Use Research Actions", "node_count": 5 }, { "id": 110, "label": "Services Subscription Service — Subscription", "node_count": 5 }, { "id": 104, "label": "Features Pipeline Types", "node_count": 5 }, { "id": 102, "label": "Features Metric Detail Modal", "node_count": 5 }, { "id": 91, "label": "Features Coupons Service", "node_count": 5 }, { "id": 108, "label": "Features Scoring Ledger Display", "node_count": 5 }, { "id": 161, "label": "App Page — Renew", "node_count": 4 }, { "id": 159, "label": "App Page — Billing (2)", "node_count": 4 }, { "id": 153, "label": "App Landing Pages Client", "node_count": 4 }, { "id": 174, "label": "App Settings Tab Navigation", "node_count": 4 }, { "id": 154, "label": "Components Layout — Layout", "node_count": 4 }, { "id": 166, "label": "Features Pipeline Failures List", "node_count": 4 }, { "id": 126, "label": "Shared Badge", "node_count": 4 }, { "id": 158, "label": "App Page — Billing", "node_count": 4 }, { "id": 160, "label": "App Page — Analytics (2)", "node_count": 4 }, { "id": 132, "label": "Features Cost Process Breakdown", "node_count": 4 }, { "id": 163, "label": "App Page — Email", "node_count": 4 }, { "id": 124, "label": "App Assumptions Tab", "node_count": 4 }, { "id": 146, "label": "Features Hooks", "node_count": 4 }, { "id": 162, "label": "App Page — Handle (2)", "node_count": 4 }, { "id": 164, "label": "App Page — Handle (3)", "node_count": 4 }, { "id": 185, "label": "App Usage Kpis", "node_count": 4 }, { "id": 133, "label": "Features Types — Coupon", "node_count": 4 }, { "id": 136, "label": "Features Domains Client", "node_count": 4 }, { "id": 127, "label": "App Billing API", "node_count": 4 }, { "id": 128, "label": "Features Billing Dashboard", "node_count": 4 }, { "id": 149, "label": "Features Subscription Plans", "node_count": 4 }, { "id": 182, "label": "App Subscription Summary — Subscription", "node_count": 4 }, { "id": 141, "label": "App Empty State", "node_count": 4 }, { "id": 143, "label": "Features Evidence Tab", "node_count": 4 }, { "id": 129, "label": "Features Billing Dashboard — Billing", "node_count": 4 }, { "id": 134, "label": "Features Credits Display", "node_count": 4 }, { "id": 122, "label": "Components Analytics", "node_count": 4 }, { "id": 151, "label": "Components In Progress Ideas Widget", "node_count": 4 }, { "id": 157, "label": "Contexts New Idea Modal Context", "node_count": 4 }, { "id": 121, "label": "Features Add Domain Modal — Domain", "node_count": 4 }, { "id": 139, "label": "Features Edit Domain Drawer", "node_count": 4 }, { "id": 171, "label": "Features Redesigned Idea Details Page", "node_count": 4 }, { "id": 175, "label": "Features Share Button", "node_count": 4 }, { "id": 152, "label": "App Invoices Table — Invoices", "node_count": 4 }, { "id": 186, "label": "App Usage Trends — Props", "node_count": 4 }, { "id": 130, "label": "UI Breadcrumbs", "node_count": 4 }, { "id": 181, "label": "UI Stepper", "node_count": 4 }, { "id": 150, "label": "Features Pending Approvals Panel", "node_count": 4 }, { "id": 183, "label": "Features Technical Feasibility Tab", "node_count": 4 }, { "id": 123, "label": "Features Assumptions Tab", "node_count": 4 }, { "id": 165, "label": "Features Pipeline Status Sync — Idea", "node_count": 4 }, { "id": 184, "label": "Shared Tooltip", "node_count": 4 }, { "id": 155, "label": "Features Leads Modal", "node_count": 4 }, { "id": 187, "label": "Hooks Use Cookie Consent", "node_count": 4 }, { "id": 118, "label": "Components Access Gate", "node_count": 4 }, { "id": 168, "label": "Types Problem Suggestions", "node_count": 4 }, { "id": 119, "label": "Components Domain Ssl Status", "node_count": 4 }, { "id": 120, "label": "Components Loading — Loading", "node_count": 4 }, { "id": 170, "label": "Lib Progress Validation", "node_count": 4 }, { "id": 179, "label": "Features Smart Content", "node_count": 4 }, { "id": 145, "label": "Components Glossary Tooltip", "node_count": 4 }, { "id": 144, "label": "Data Glossary", "node_count": 4 }, { "id": 188, "label": "App Use Saved Filters", "node_count": 4 }, { "id": 167, "label": "Shared Plan Enforcement — Error", "node_count": 4 }, { "id": 147, "label": "Features Idea Metrics Card", "node_count": 4 }, { "id": 142, "label": "Features Evidence Quality Gauge", "node_count": 4 }, { "id": 156, "label": "Features Market Sizing Breakdown", "node_count": 4 }, { "id": 247, "label": "App Page — Invite", "node_count": 3 }, { "id": 254, "label": "App Page — Page", "node_count": 3 }, { "id": 242, "label": "App Page — Campaigns", "node_count": 3 }, { "id": 243, "label": "App Page — Campaigns (2)", "node_count": 3 }, { "id": 189, "label": "App Account Settings Section — Account", "node_count": 3 }, { "id": 223, "label": "App Header", "node_count": 3 }, { "id": 302, "label": "App Use Settings", "node_count": 3 }, { "id": 245, "label": "App Page — Domain", "node_count": 3 }, { "id": 249, "label": "App Page — ID", "node_count": 3 }, { "id": 250, "label": "App Page — Ideas", "node_count": 3 }, { "id": 262, "label": "Features Pipeline Summary Cards", "node_count": 3 }, { "id": 252, "label": "App Page — Pipeline", "node_count": 3 }, { "id": 240, "label": "App Page — Billing (3)", "node_count": 3 }, { "id": 241, "label": "App Page — Billing (4)", "node_count": 3 }, { "id": 246, "label": "App Page — Handle (5)", "node_count": 3 }, { "id": 244, "label": "App Page — Handle (4)", "node_count": 3 }, { "id": 196, "label": "Features Average Idea Cost Chart", "node_count": 3 }, { "id": 207, "label": "Features Cost Chart", "node_count": 3 }, { "id": 208, "label": "Features Cost Overview Cards", "node_count": 3 }, { "id": 269, "label": "Components Progress Tracker — Progress", "node_count": 3 }, { "id": 248, "label": "App Page — Generation", "node_count": 3 }, { "id": 214, "label": "Components Domain Ssl Status — Ssl", "node_count": 3 }, { "id": 271, "label": "Components Quick Actions", "node_count": 3 }, { "id": 253, "label": "App Page — Saved", "node_count": 3 }, { "id": 221, "label": "App Error Boundary — Error", "node_count": 3 }, { "id": 255, "label": "App Page — Share", "node_count": 3 }, { "id": 251, "label": "App Page — Sign", "node_count": 3 }, { "id": 256, "label": "App Page — Profile", "node_count": 3 }, { "id": 257, "label": "App Page — Verify", "node_count": 3 }, { "id": 258, "label": "App Page — Room", "node_count": 3 }, { "id": 192, "label": "App Alert Banner — Alert", "node_count": 3 }, { "id": 263, "label": "App Plan Selector", "node_count": 3 }, { "id": 219, "label": "App Empty State — Empty", "node_count": 3 }, { "id": 190, "label": "Features Types — Credits", "node_count": 3 }, { "id": 213, "label": "Features Domains Header", "node_count": 3 }, { "id": 217, "label": "Features Edit Domain Drawer — Domain", "node_count": 3 }, { "id": 273, "label": "Features Records Table", "node_count": 3 }, { "id": 238, "label": "Features Overview Tab", "node_count": 3 }, { "id": 200, "label": "Features Build Perspective Tab — Tab", "node_count": 3 }, { "id": 195, "label": "Features Audience Tab", "node_count": 3 }, { "id": 191, "label": "App Alert Banner", "node_count": 3 }, { "id": 227, "label": "Features Pending Approvals Panel — Pending", "node_count": 3 }, { "id": 226, "label": "Features Error", "node_count": 3 }, { "id": 202, "label": "Components Chatwoot Widget", "node_count": 3 }, { "id": 206, "label": "Components Cookie Consent Banner", "node_count": 3 }, { "id": 231, "label": "App Layout", "node_count": 3 }, { "id": 234, "label": "Components No Ideas Banner", "node_count": 3 }, { "id": 218, "label": "App Edit Domain Modal — Domain", "node_count": 3 }, { "id": 283, "label": "App Use Saved Selection", "node_count": 3 }, { "id": 210, "label": "Features Domain Row", "node_count": 3 }, { "id": 297, "label": "Shared Upgrade Required Modal", "node_count": 3 }, { "id": 205, "label": "App Confirm Change Modal — Change", "node_count": 3 }, { "id": 278, "label": "App Saved Bulk Actions", "node_count": 3 }, { "id": 279, "label": "App Saved Empty State", "node_count": 3 }, { "id": 280, "label": "App Saved Filters", "node_count": 3 }, { "id": 281, "label": "App Saved Grid", "node_count": 3 }, { "id": 282, "label": "App Saved Header", "node_count": 3 }, { "id": 285, "label": "App Saved Pagination", "node_count": 3 }, { "id": 288, "label": "App Select Row", "node_count": 3 }, { "id": 220, "label": "Components Enhanced Idea Details", "node_count": 3 }, { "id": 272, "label": "Features Recommendation Badge", "node_count": 3 }, { "id": 286, "label": "Features Search Filters", "node_count": 3 }, { "id": 287, "label": "Features Section Progress Card", "node_count": 3 }, { "id": 292, "label": "UI Skeleton", "node_count": 3 }, { "id": 197, "label": "App Billing API Adapter", "node_count": 3 }, { "id": 275, "label": "Features Renewal Modal", "node_count": 3 }, { "id": 222, "label": "Features Feature Blocked Modal", "node_count": 3 }, { "id": 274, "label": "Features Renewal — Coupon", "node_count": 3 }, { "id": 267, "label": "Features Problem Solution Cards", "node_count": 3 }, { "id": 294, "label": "Features Strengths Challenges", "node_count": 3 }, { "id": 204, "label": "Features Competitive Matrix Display", "node_count": 3 }, { "id": 277, "label": "Features Risk Overview", "node_count": 3 }, { "id": 201, "label": "Features Business Model Tab", "node_count": 3 }, { "id": 224, "label": "Features Idea Metrics Card — Props", "node_count": 3 }, { "id": 203, "label": "Shared Clipboard", "node_count": 3 }, { "id": 228, "label": "Shared Input", "node_count": 3 }, { "id": 266, "label": "App — Campaigns", "node_count": 3 }, { "id": 264, "label": "App", "node_count": 3 }, { "id": 265, "label": "App — Landing", "node_count": 3 }, { "id": 237, "label": "Components Onboarding Tour", "node_count": 3 }, { "id": 193, "label": "Components Analytics — Analytics", "node_count": 3 }, { "id": 194, "label": "Types API", "node_count": 3 }, { "id": 233, "label": "Components Modern Scrape Modal", "node_count": 3 }, { "id": 301, "label": "App Use Saved Ideas", "node_count": 3 }, { "id": 270, "label": "Lib Progress Validation — Progress", "node_count": 3 }, { "id": 209, "label": "Shared Debounce", "node_count": 3 }, { "id": 225, "label": "Features Ideas Grid Section", "node_count": 3 }, { "id": 284, "label": "Features Saved Ideas", "node_count": 3 }, { "id": 261, "label": "Features Pipeline Dag — Dag", "node_count": 3 }, { "id": 260, "label": "Features Pipeline Dag — Collect", "node_count": 3 }, { "id": 268, "label": "Features Progress Types", "node_count": 3 }, { "id": 391, "label": "App Page State — Merge", "node_count": 2 }, { "id": 390, "label": "App Page State — Hydrated", "node_count": 2 }, { "id": 381, "label": "App Page — Format", "node_count": 2 }, { "id": 379, "label": "App Page — Error", "node_count": 2 }, { "id": 382, "label": "App Page — Dag", "node_count": 2 }, { "id": 387, "label": "App Page — Landing", "node_count": 2 }, { "id": 457, "label": "App Use Settings Tab", "node_count": 2 }, { "id": 450, "label": "Features Use Landing Pages", "node_count": 2 }, { "id": 455, "label": "Features Use Pipeline Run Detail", "node_count": 2 }, { "id": 458, "label": "Hooks Use Socket — Socket", "node_count": 2 }, { "id": 376, "label": "App Page — Compute", "node_count": 2 }, { "id": 453, "label": "Features Use Pipeline Admin", "node_count": 2 }, { "id": 316, "label": "Features Budget Manager — Budget", "node_count": 2 }, { "id": 377, "label": "App Page — Cost", "node_count": 2 }, { "id": 369, "label": "Shared Modal — Modal", "node_count": 2 }, { "id": 375, "label": "App Page — Campaign", "node_count": 2 }, { "id": 378, "label": "App Page — Email (2)", "node_count": 2 }, { "id": 356, "label": "App Invite Page Content", "node_count": 2 }, { "id": 388, "label": "App Page — Progress", "node_count": 2 }, { "id": 347, "label": "Components Ideas Overview", "node_count": 2 }, { "id": 422, "label": "Components Recent Ideas", "node_count": 2 }, { "id": 385, "label": "App Page — Page (2)", "node_count": 2 }, { "id": 380, "label": "App Page — Error (2)", "node_count": 2 }, { "id": 386, "label": "App Page — Already", "node_count": 2 }, { "id": 427, "label": "Components Saved Ideas", "node_count": 2 }, { "id": 439, "label": "App Sync Banner", "node_count": 2 }, { "id": 373, "label": "Components Owner Signature Modal — Modal", "node_count": 2 }, { "id": 389, "label": "App Page — Handle (6)", "node_count": 2 }, { "id": 374, "label": "App Page — Bulk", "node_count": 2 }, { "id": 421, "label": "App Purchase Credits — Purchase", "node_count": 2 }, { "id": 323, "label": "App Credit Balance — Balance", "node_count": 2 }, { "id": 357, "label": "App Invite Page Content — Content", "node_count": 2 }, { "id": 418, "label": "App Providers", "node_count": 2 }, { "id": 441, "label": "Features Types — Domain", "node_count": 2 }, { "id": 351, "label": "Features Landing Page Grid — Grid", "node_count": 2 }, { "id": 445, "label": "App Use Billing — Change", "node_count": 2 }, { "id": 350, "label": "Features Difficulty", "node_count": 2 }, { "id": 431, "label": "Components Service Worker Unregister", "node_count": 2 }, { "id": 370, "label": "Components Modern Scrape Modal — Modal", "node_count": 2 }, { "id": 372, "label": "Components Onboarding Tour — Tour", "node_count": 2 }, { "id": 319, "label": "App Compact Custom Domain Manager — Compact", "node_count": 2 }, { "id": 325, "label": "Features Dns Notes Panel", "node_count": 2 }, { "id": 322, "label": "App Credit Balance", "node_count": 2 }, { "id": 359, "label": "Features Leads Modal — Leads", "node_count": 2 }, { "id": 448, "label": "Features Use Idea Status Updates", "node_count": 2 }, { "id": 337, "label": "Shared Feature Flags", "node_count": 2 }, { "id": 346, "label": "Features Idea Metrics Review — Idea", "node_count": 2 }, { "id": 425, "label": "Features Risk Analysis Tab", "node_count": 2 }, { "id": 395, "label": "Features Pipeline API", "node_count": 2 }, { "id": 449, "label": "Hooks Use In Progress Ideas", "node_count": 2 }, { "id": 437, "label": "Shared Socket", "node_count": 2 }, { "id": 443, "label": "App Usage Insights — Insights", "node_count": 2 }, { "id": 429, "label": "App Section", "node_count": 2 }, { "id": 430, "label": "App Section Divider", "node_count": 2 }, { "id": 398, "label": "Features Pipeline Dag Node", "node_count": 2 }, { "id": 317, "label": "UI Chip", "node_count": 2 }, { "id": 454, "label": "Features Use Pipeline Admin — Admin", "node_count": 2 }, { "id": 420, "label": "App Purchase Credits", "node_count": 2 }, { "id": 309, "label": "Components Audience Bubble Chart — Audience", "node_count": 2 }, { "id": 320, "label": "Components Competition Bar Chart", "node_count": 2 }, { "id": 423, "label": "Components Revenue Area Chart", "node_count": 2 }, { "id": 426, "label": "Components Risk Gauge Chart — Chart", "node_count": 2 }, { "id": 352, "label": "Features Refresh — Refresh", "node_count": 2 }, { "id": 363, "label": "Features Market Sizing Breakdown — Breakdown", "node_count": 2 }, { "id": 336, "label": "Features Evidence Quality Gauge — Evidence", "node_count": 2 }, { "id": 428, "label": "Features Scoring Ledger Display — Display", "node_count": 2 }, { "id": 364, "label": "Features Metric Detail Modal — Detail", "node_count": 2 }, { "id": 442, "label": "Shared Typography — Default", "node_count": 2 }, { "id": 414, "label": "App — Sign", "node_count": 2 }, { "id": 405, "label": "App — Campaigns (2)", "node_count": 2 }, { "id": 406, "label": "App — Cost", "node_count": 2 }, { "id": 408, "label": "App — Campaigns (4)", "node_count": 2 }, { "id": 407, "label": "App — Campaigns (3)", "node_count": 2 }, { "id": 409, "label": "App — Coupons", "node_count": 2 }, { "id": 410, "label": "App — Email", "node_count": 2 }, { "id": 411, "label": "App — Invites", "node_count": 2 }, { "id": 404, "label": "App — Error", "node_count": 2 }, { "id": 412, "label": "App — Code", "node_count": 2 }, { "id": 413, "label": "App — Settings", "node_count": 2 }, { "id": 415, "label": "App — Ideas", "node_count": 2 }, { "id": 416, "label": "App — Users", "node_count": 2 }, { "id": 417, "label": "App — Waitlist", "node_count": 2 }, { "id": 308, "label": "Components Analytics — Track", "node_count": 2 }, { "id": 307, "label": "Components Analytics — Analytics (2)", "node_count": 2 }, { "id": 433, "label": "Features Share Modal — Modal", "node_count": 2 }, { "id": 354, "label": "Components Invite Consumer", "node_count": 2 }, { "id": 353, "label": "Components In Progress Ideas Widget — Card", "node_count": 2 }, { "id": 451, "label": "Hooks Use Onboarding — Onboarding", "node_count": 2 }, { "id": 304, "label": "Components Accessible Components — Button", "node_count": 2 }, { "id": 305, "label": "Components Accessible Components — Input", "node_count": 2 }, { "id": 332, "label": "Features Empty Ideas State", "node_count": 2 }, { "id": 339, "label": "Components Filter Bar — Bar", "node_count": 2 }, { "id": 341, "label": "App Formatters — Format", "node_count": 2 }, { "id": 342, "label": "App Formatters — Format (2)", "node_count": 2 }, { "id": 340, "label": "App Formatters — Usage", "node_count": 2 }, { "id": 396, "label": "Features Pipeline Types — Detail", "node_count": 2 }, { "id": 419, "label": "Features Public Idea Details Page", "node_count": 2 }, { "id": 365, "label": "Features Metric Detail Modal — Card", "node_count": 2 }, { "id": 324, "label": "Shared Debounce — Debounce", "node_count": 2 }, { "id": 318, "label": "UI Chip — Attributes", "node_count": 2 }, { "id": 392, "label": "Features Pagination", "node_count": 2 }, { "id": 361, "label": "Shared Loading — Skeleton", "node_count": 2 }, { "id": 399, "label": "Features Pipeline Dag Node — Card", "node_count": 2 }, { "id": 397, "label": "Features Pipeline Dag — Compute", "node_count": 2 }, { "id": 345, "label": "Features Idea Metrics Card — Button", "node_count": 2 }, { "id": 447, "label": "Features Use Domain Management — Status", "node_count": 2 } ], "review_context": { "supporting_paths": [], "test_paths": [ "src/app/admin/pipeline/[ideaId]/page-state.test.ts", "src/features/idea-details/hooks/pipeline-status-sync.test.ts" ], "hotspots": [ { "label": "SidePanel()", "type": "bridge", "why": "SidePanel() connects multiple communities in the changed review area." }, { "label": "PipelineRunDetailPage()", "type": "bridge", "why": "PipelineRunDetailPage() connects multiple communities in the changed review area and has unusually high graph degree for this workspace." }, { "label": "PipelineDashboardPage()", "type": "bridge", "why": "PipelineDashboardPage() connects multiple communities in the changed review area." } ] }, "review_bundle": { "budget": 2000, "token_count": 1993, "nodes": [ { "node_id": "pipelinedag", "label": "PipelineDAG.tsx", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { cn } from '@/lib/cn'\n\nimport type { SectionProgress } from '../types/progress.types'\n", "match_score": 10, "relevance_band": "direct", "community": 82, "community_label": "Features Pipeline Dag" }, { "node_id": "page_state", "label": "page-state.ts", "source_file": "src/app/admin/pipeline/[ideaId]/page-state.ts", "line_number": 1, "file_type": "code", "snippet": "import type {\n PipelineStatus,\n ProgressBroadcast,\n} from '@/features/ideas/types/progress.types'\n\nexport interface AdminPipelineSection {\n sectionId: string\n title: string", "match_score": 10, "relevance_band": "direct", "community": 58, "community_label": "App Page State" }, { "node_id": "pipeline_status_sync", "label": "pipeline-status-sync.ts", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "line_number": 1, "file_type": "code", "snippet": "import { getStatusOrderIndex } from '@/lib/progressValidation'\nimport {\n IdeaStatus,\n type Idea,\n type IdeaPipelineStatusResponse,\n} from '@/shared/lib/api'\n\nexport function resolveBaseIdeaForPipelineSync(", "match_score": 10, "relevance_band": "direct", "community": 22, "community_label": "Features Pipeline Status Sync" }, { "node_id": "ideaprogressv2", "label": "IdeaProgressV2.tsx", "source_file": "src/features/ideas/components/IdeaProgressV2.tsx", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport { Squares2X2Icon, ShareIcon } from '@heroicons/react/24/outline'\nimport {\n CheckCircleIcon,\n CpuChipIcon,\n ExclamationTriangleIcon,\n SparklesIcon,", "match_score": 10, "relevance_band": "direct", "community": 29, "community_label": "Features Idea Progress V2" }, { "node_id": "page_pipelinerundetailpage", "label": "PipelineRunDetailPage()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "line_number": 1000, "file_type": "code", "snippet": " )\n}\n\n// ---------------------------------------------------------------------------\n// Main Page\n// ---------------------------------------------------------------------------\n\nexport default function PipelineRunDetailPage() {\n const params = useParams<{ ideaId: string }>()\n const ideaId = params.ideaId\n const { run, isLoading, error, refetch } = usePipelineRunDetail(ideaId)\n const { subscribeTo } = useSocket()\n\n const [selectedSectionId, setSelectedSectionId] = useState(\n null", "match_score": 10, "relevance_band": "direct", "community": 78, "community_label": "App Page State — Pipeline", "node_kind": "component" }, { "node_id": "ideacard_ideacard", "label": "IdeaCard()", "source_file": "src/features/ideas/components/IdeaCard.tsx", "line_number": 172, "file_type": "code", "snippet": " return (\n idea.status === IdeaStatus.COMPLETED &&\n (idea.metrics?.compositeScore ?? 0) > 0 &&\n (idea.metrics?.metrics?.length ?? 0) > 0\n )\n}\n\nexport function IdeaCard({\n idea,\n onClick,\n hideBookmark = false,\n onView,\n onLike: _onLike,\n}: IdeaCardProps) {\n const router = useRouter()", "match_score": 10, "relevance_band": "direct", "community": 17, "community_label": "Features Idea Card", "node_kind": "function" }, { "node_id": "page_sidepanel", "label": "SidePanel()", "source_file": "src/app/admin/pipeline/[ideaId]/page.tsx", "line_number": 645, "file_type": "code", "snippet": " )\n}\n\n// ---------------------------------------------------------------------------\n// Side Panel\n// ---------------------------------------------------------------------------\n\nfunction SidePanel({\n run,\n pipelineStatus,\n sections,\n selectedSection,\n cost,\n percent,\n totalSections,", "match_score": 10, "relevance_band": "direct", "community": 76, "community_label": "App Page — Icon", "node_kind": "component" }, { "node_id": "ideametricsreview_ideametricsreview", "label": "IdeaMetricsReview()", "source_file": "src/features/idea-details/components/IdeaMetricsReview.tsx", "line_number": 28, "file_type": "code", "snippet": "interface IdeaMetricsReviewProps {\n idea: Idea\n onProceed: () => void | Promise\n isLoading?: boolean\n showActionButton?: boolean // New prop to control whether to show the \"Proceed\" button\n}\n\nexport function IdeaMetricsReview({\n idea,\n onProceed,\n isLoading = false,\n showActionButton = true, // Default to true for backward compatibility\n}: IdeaMetricsReviewProps) {\n const [selectedMetric, setSelectedMetric] = useState(null)\n const [proceeding, setProceeding] = useState(false)", "match_score": 10, "relevance_band": "direct", "community": 70, "community_label": "Features Idea Metrics Review", "node_kind": "function" }, { "node_id": "letsbuildtab_letsbuildtab", "label": "LetsBuildTab()", "source_file": "src/features/idea-details/components/tabs/LetsBuildTab.tsx", "line_number": 33, "file_type": "code", "snippet": "import { SmartContent } from '../SmartContent'\n\ninterface LetsBuildTabProps {\n idea: Idea\n readOnly?: boolean\n}\n\nexport function LetsBuildTab({ idea, readOnly = false }: LetsBuildTabProps) {\n const letsBuild = idea.letsBuild\n const mergedGlossary = { ...idea.glossary, ...idea.synthesis?.glossary }\n const [copied, setCopied] = useState(false)\n const [isGenerating, setIsGenerating] = useState(false)\n const [isCopying, setIsCopying] = useState(false)\n const [selectedAreaId, setSelectedAreaId] = useState(null)\n const { getToken } = useAuth()", "match_score": 10, "relevance_band": "direct", "community": 39, "community_label": "Features Lets Build Tab", "node_kind": "function" }, { "node_id": "metricdetailmodal_metricdetailmodal", "label": "MetricDetailModal()", "source_file": "src/features/ideas/components/MetricDetailModal.tsx", "line_number": 22, "file_type": "code", "snippet": "\ninterface Props {\n isOpen: boolean\n onClose: () => void\n metric: Metric\n}\n\nexport function MetricDetailModal({ isOpen, onClose, metric }: Props) {\n const [areAllComponentsExpanded, setAreAllComponentsExpanded] =\n useState(false)\n\n if (!isOpen) return null\n\n const formatMetricName = (name: string) => {\n return name.charAt(0).toUpperCase() + name.slice(1)", "match_score": 10, "relevance_band": "direct", "community": 102, "community_label": "Features Metric Detail Modal", "node_kind": "function" }, { "node_id": "pipeline_status_sync_syncideawithpipelinestatus", "label": "syncIdeaWithPipelineStatus()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "line_number": 74, "file_type": "code", "snippet": " }\n }\n }\n\n return freshIdea\n}\n\nexport function syncIdeaWithPipelineStatus(\n idea: Idea,\n pipelineStatus: IdeaPipelineStatusResponse | null,\n liveProgress: Idea['currentProgress'] = idea.currentProgress\n): Idea {\n if (!pipelineStatus || pipelineStatus.pipelineVersion !== 'v2') {\n const fallbackLiveProgress = resolveFallbackLiveProgress(idea, liveProgress)\n const isTerminalIdea =", "match_score": 10, "relevance_band": "direct", "community": 22, "community_label": "Features Pipeline Status Sync" }, { "node_id": "page_pipelinedashboardpage", "label": "PipelineDashboardPage()", "source_file": "src/app/admin/pipeline/page.tsx", "line_number": 22, "file_type": "code", "snippet": "const TABS: { key: PipelineTab; label: string }[] = [\n { key: 'runs', label: 'Recent Runs' },\n { key: 'failures', label: 'Failures' },\n { key: 'stuck', label: 'Stuck' },\n { key: 'costs', label: 'Cost Breakdown' },\n]\n\nexport default function PipelineDashboardPage() {\n const {\n summary,\n recentRuns,\n failures,\n stuckRuns,\n costBreakdown,\n isLoading,", "match_score": 10, "relevance_band": "direct", "community": 252, "community_label": "App Page — Pipeline", "node_kind": "component" }, { "node_id": "pipelinecostbreakdownpanel", "label": "PipelineCostBreakdownPanel.tsx", "source_file": "src/features/admin/components/PipelineCostBreakdownPanel.tsx", "line_number": 1, "file_type": "code", "snippet": "import type { PipelineCostBreakdown } from '../types/pipeline.types'\n\ninterface PipelineCostBreakdownPanelProps {\n costBreakdown: PipelineCostBreakdown\n}\n\ninterface CostEntry {\n key: string", "match_score": 10, "relevance_band": "direct", "community": 81, "community_label": "Features Pipeline Cost Breakdown Panel" }, { "node_id": "pipelinerunstable", "label": "PipelineRunsTable.tsx", "source_file": "src/features/admin/components/PipelineRunsTable.tsx", "line_number": 1, "file_type": "code", "snippet": "import Link from 'next/link'\n\nimport type { PipelineRunDetail } from '../types/pipeline.types'\n\ninterface PipelineRunsTableProps {\n runs: PipelineRunDetail[]\n title?: string\n emptyMessage?: string", "match_score": 10, "relevance_band": "direct", "community": 83, "community_label": "Features Pipeline Runs Table" }, { "node_id": "recommendationbadge", "label": "RecommendationBadge.tsx", "source_file": "src/features/idea-details/components/RecommendationBadge.tsx", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport { XMarkIcon } from '@heroicons/react/24/outline'\nimport { useState } from 'react'\n\nimport { cn } from '@/lib/cn'\n\nimport { SmartContent } from './SmartContent'", "match_score": 10, "relevance_band": "direct", "community": 272, "community_label": "Features Recommendation Badge" }, { "node_id": "pipeline_types", "label": "pipeline.types.ts", "source_file": "src/features/admin/types/pipeline.types.ts", "line_number": 1, "file_type": "code", "snippet": "/**\n * Pipeline Admin Dashboard Types\n *\n * Types for the v2 pipeline run monitoring dashboard.\n */\n\nexport interface PipelineRunSummary {\n total: number", "match_score": 10, "relevance_band": "direct", "community": 104, "community_label": "Features Pipeline Types" }, { "node_id": "pipelinedag_desktopdag", "label": "DesktopDAG()", "source_file": "src/features/ideas/components/PipelineDAG.tsx", "line_number": 137, "file_type": "code", "snippet": " return '#6b7280' // gray-500\n }\n}\n\n/**\n * Desktop DAG with SVG edges overlay.\n */\nconst DesktopDAG: React.FC<{ sections: DAGSection[] }> = ({ sections }) => {\n const containerRef = useRef(null)\n const nodeRefs = useRef>(new Map())\n const [positions, setPositions] = useState>(\n new Map()\n )\n\n const waveMap = computeWaves(sections)", "match_score": 10, "relevance_band": "direct", "community": 260, "community_label": "Features Pipeline Dag — Collect", "node_kind": "component" }, { "node_id": "sectionprogresscard", "label": "SectionProgressCard.tsx", "source_file": "src/features/ideas/components/SectionProgressCard.tsx", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport {\n CheckCircleIcon,\n ClockIcon,\n ExclamationTriangleIcon,\n ForwardIcon,\n LockClosedIcon,", "match_score": 10, "relevance_band": "direct", "community": 287, "community_label": "Features Section Progress Card" }, { "node_id": "pipeline_status_sync_resolvebaseideaforpipelinesync", "label": "resolveBaseIdeaForPipelineSync()", "source_file": "src/features/idea-details/hooks/pipeline-status-sync.ts", "line_number": 8, "file_type": "code", "snippet": "import { getStatusOrderIndex } from '@/lib/progressValidation'\nimport {\n IdeaStatus,\n type Idea,\n type IdeaPipelineStatusResponse,\n} from '@/shared/lib/api'\n\nexport function resolveBaseIdeaForPipelineSync(\n freshIdea: Idea,\n existingIdea: Idea | undefined,\n pipelineStatus: IdeaPipelineStatusResponse | null\n): Idea {\n if (!existingIdea) {\n return freshIdea\n }", "match_score": 10, "relevance_band": "direct", "community": 165, "community_label": "Features Pipeline Status Sync — Idea" }, { "node_id": "pipelinedagnode", "label": "PipelineDAGNode.tsx", "source_file": "src/features/ideas/components/PipelineDAGNode.tsx", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport {\n CheckCircleIcon,\n ClockIcon,\n ExclamationTriangleIcon,\n ForwardIcon,\n LockClosedIcon,", "match_score": 10, "relevance_band": "direct", "community": 398, "community_label": "Features Pipeline Dag Node" }, { "node_id": "pipelinefailureslist", "label": "PipelineFailuresList.tsx", "source_file": "src/features/admin/components/PipelineFailuresList.tsx", "line_number": 1, "file_type": "code", "snippet": "import type { PipelineFailure } from '../types/pipeline.types'\n\ninterface PipelineFailuresListProps {\n failures: PipelineFailure[]\n}\n\nfunction formatRelativeTime(dateStr: string): string {\n const date = new Date(dateStr)", "match_score": 10, "relevance_band": "direct", "community": 166, "community_label": "Features Pipeline Failures List" }, { "node_id": "redesignedideadetailspage_redesignedideadetailspage", "label": "RedesignedIdeaDetailsPage()", "source_file": "src/features/idea-details/components/RedesignedIdeaDetailsPage.tsx", "line_number": 51, "file_type": "code", "snippet": " RiskAnalysisTab,\n EvidenceTab,\n // AssumptionsTab, // Temporarily hidden - See docs/assumptions-section-hiding.md\n RunwayTab,\n LetsBuildTab,\n} from './tabs'\n\nexport default function RedesignedIdeaDetailsPage() {\n const { getToken } = useAuth()\n const params = useParams()\n const router = useRouter()\n const queryClient = useQueryClient()\n const searchParams = useSearchParams()\n const pathname = usePathname()\n", "match_score": 10, "relevance_band": "direct", "community": 171, "community_label": "Features Redesigned Idea Details Page", "node_kind": "function" }, { "node_id": "useideaprogress", "label": "useIdeaProgress.ts", "source_file": "src/features/ideas/hooks/useIdeaProgress.ts", "line_number": 1, "file_type": "code", "snippet": "'use client'\n\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useSocket } from '@/hooks/useSocket'\n\nimport type {\n PipelineStatus,", "match_score": 10, "relevance_band": "direct", "community": 29, "community_label": "Features Idea Progress V2" } ], "relationships": [ { "from_id": "pipelinedag", "from": "PipelineDAG.tsx", "to_id": "ideaprogressv2", "to": "IdeaProgressV2.tsx", "relation": "imports_from" }, { "from_id": "pipelinedag", "from": "PipelineDAG.tsx", "to_id": "pipelinedagnode", "to": "PipelineDAGNode.tsx", "relation": "imports_from" }, { "from_id": "pipelinedag", "from": "PipelineDAG.tsx", "to_id": "pipelinedag_desktopdag", "to": "DesktopDAG()", "relation": "contains" }, { "from_id": "pipeline_status_sync", "from": "pipeline-status-sync.ts", "to_id": "pipeline_status_sync_resolvebaseideaforpipelinesync", "to": "resolveBaseIdeaForPipelineSync()", "relation": "contains" }, { "from_id": "pipeline_status_sync", "from": "pipeline-status-sync.ts", "to_id": "pipeline_status_sync_syncideawithpipelinestatus", "to": "syncIdeaWithPipelineStatus()", "relation": "contains" }, { "from_id": "ideaprogressv2", "from": "IdeaProgressV2.tsx", "to_id": "useideaprogress", "to": "useIdeaProgress.ts", "relation": "imports_from" }, { "from_id": "ideaprogressv2", "from": "IdeaProgressV2.tsx", "to_id": "sectionprogresscard", "to": "SectionProgressCard.tsx", "relation": "imports_from" }, { "from_id": "page_pipelinerundetailpage", "from": "PipelineRunDetailPage()", "to_id": "page_sidepanel", "to": "SidePanel()", "relation": "renders" } ], "community_context": [ { "id": 17, "label": "Features Idea Card", "node_count": 11 }, { "id": 22, "label": "Features Pipeline Status Sync", "node_count": 10 }, { "id": 29, "label": "Features Idea Progress V2", "node_count": 9 }, { "id": 39, "label": "Features Lets Build Tab", "node_count": 8 }, { "id": 58, "label": "App Page State", "node_count": 7 }, { "id": 82, "label": "Features Pipeline Dag", "node_count": 6 }, { "id": 78, "label": "App Page State — Pipeline", "node_count": 6 }, { "id": 76, "label": "App Page — Icon", "node_count": 6 }, { "id": 70, "label": "Features Idea Metrics Review", "node_count": 6 }, { "id": 81, "label": "Features Pipeline Cost Breakdown Panel", "node_count": 6 }, { "id": 83, "label": "Features Pipeline Runs Table", "node_count": 6 }, { "id": 102, "label": "Features Metric Detail Modal", "node_count": 5 }, { "id": 104, "label": "Features Pipeline Types", "node_count": 5 }, { "id": 165, "label": "Features Pipeline Status Sync — Idea", "node_count": 4 }, { "id": 166, "label": "Features Pipeline Failures List", "node_count": 4 }, { "id": 171, "label": "Features Redesigned Idea Details Page", "node_count": 4 }, { "id": 252, "label": "App Page — Pipeline", "node_count": 3 }, { "id": 272, "label": "Features Recommendation Badge", "node_count": 3 }, { "id": 260, "label": "Features Pipeline Dag — Collect", "node_count": 3 }, { "id": 287, "label": "Features Section Progress Card", "node_count": 3 }, { "id": 398, "label": "Features Pipeline Dag Node", "node_count": 2 } ] }, "risk_summary": { "high_impact_nodes": [ "AdminPipelineSection", "LiveCostState", "RunTotalsSource", "MergeRunSectionsOptions", "HydratedRunStatusSource", "mergeRunSections()", "mergeLiveCost()", "resolveOverviewTotals()", "shouldRefetchRunDetail()", "resolveHydratedPipelineStatus()", "isTerminalRunSnapshot()", "resolveLivePipelineStatus()", "isTerminalSectionStatus()", "page /admin/pipeline/[ideaId]", "DAGSection", "NodePosition", "getStatusIcon()", "getNodeStatusIcon()", "getEdgeColor()", "formatDuration()", "formatElapsed()", "estimateCostFromTokens()", "useTick()", "parseError()", "ErrorDisplay()", "computeWaves()", "getWave()", "groupByWave()", "PipelineRunDAG()", "SidePanel()", "MetaRow()", "PipelineRunDetailPage()", "page /admin/pipeline", "PipelineDashboardPage()", "Sidebar()", "PipelineCostBreakdownPanelProps", "CostEntry", "toSortedEntries()", "CostTable()", "PipelineCostBreakdownPanel()", "PipelineFailuresListProps", "formatRelativeTime()", "PipelineFailuresList()", "PipelineRunsTableProps", "getStatusStyle()", "truncateText()", "PipelineRunsTable()", "PipelineSummaryCardsProps", "PipelineSummaryCards()", "UsePipelineAdminReturn", "usePipelineAdmin()", "usePipelineRunDetail()", "createPipelineApi()", "IdeaHero()", "IdeaMetricsReview()", "convertToModalMetric()", "RecommendationBadgeProps", "RecommendationBadge()", "RedesignedIdeaDetailsPage()", "LetsBuildTab()", "extractAreaTag()", "stripAreaTag()", "RunwayTab()", "resolveBaseIdeaForPipelineSync()", "syncIdeaWithPipelineStatus()", "resolveIdeaStatus()", "hasAnalyzingSection()", "resolveProgressMessage()", "hasPersistedAnalysisData()", "isFreshRetryRunStatus()", "getTimestampMs()", "resolveFallbackLiveProgress()", "resolvePreferredLiveProgress()", "isTerminalLiveProgress()", "useIdeaData()", "isIdeaInProgress()", "hasScoreData()", "IdeaCard()", "IdeaProgressV2Props", "getStatusColor()", "getProgressBarColor()", "IdeaProgressV2()", "isV2Pipeline()", "MetricDetailModal()", "PipelineDAGProps", "Edge", "collectEdges()", "DesktopDAG()", "measure()", "MobileDAG()", "PipelineDAG()", "PipelineDAGNodeProps", "Spinner()", "SectionProgressCardProps", "SectionProgressCard()", "IdeaProgressState", "useIdeaProgress()", "isFeatureEnabled()", "useAuthenticatedApiService()", "IdeaPipelineStatusResponse", "Idea" ], "cross_community_changes": 50, "top_risks": [ { "label": "PipelineRunDetailPage()", "severity": "high", "reason": "PipelineRunDetailPage() propagates into 265 files across 272 communities. Includes bridge and god node hotspot exposure." }, { "label": "IdeaMetricsReview()", "severity": "high", "reason": "IdeaMetricsReview() propagates into 277 files across 282 communities." }, { "label": "PipelineDashboardPage()", "severity": "high", "reason": "PipelineDashboardPage() propagates into 265 files across 272 communities. Includes bridge hotspot exposure." } ] } } Answer: