GRAPH_REPORT.md 17 KB

Graph Report - src (2026-05-24)

Corpus Check

  • Large corpus: 596 files · ~326,544 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.

Summary

  • 1524 nodes · 1912 edges · 42 communities detected
  • Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 417 edges (avg confidence: 0.8)
  • Token cost: 0 input · 0 output

Community Hubs (Navigation)

  • [[_COMMUNITY_Community 0|Community 0]]
  • [[_COMMUNITY_Community 1|Community 1]]
  • [[_COMMUNITY_Community 2|Community 2]]
  • [[_COMMUNITY_Community 3|Community 3]]
  • [[_COMMUNITY_Community 4|Community 4]]
  • [[_COMMUNITY_Community 5|Community 5]]
  • [[_COMMUNITY_Community 6|Community 6]]
  • [[_COMMUNITY_Community 7|Community 7]]
  • [[_COMMUNITY_Community 8|Community 8]]
  • [[_COMMUNITY_Community 9|Community 9]]
  • [[_COMMUNITY_Community 10|Community 10]]
  • [[_COMMUNITY_Community 11|Community 11]]
  • [[_COMMUNITY_Community 12|Community 12]]
  • [[_COMMUNITY_Community 13|Community 13]]
  • [[_COMMUNITY_Community 14|Community 14]]
  • [[_COMMUNITY_Community 15|Community 15]]
  • [[_COMMUNITY_Community 16|Community 16]]
  • [[_COMMUNITY_Community 17|Community 17]]
  • [[_COMMUNITY_Community 18|Community 18]]
  • [[_COMMUNITY_Community 19|Community 19]]
  • [[_COMMUNITY_Community 20|Community 20]]
  • [[_COMMUNITY_Community 21|Community 21]]
  • [[_COMMUNITY_Community 22|Community 22]]
  • [[_COMMUNITY_Community 23|Community 23]]
  • [[_COMMUNITY_Community 24|Community 24]]
  • [[_COMMUNITY_Community 26|Community 26]]
  • [[_COMMUNITY_Community 28|Community 28]]
  • [[_COMMUNITY_Community 29|Community 29]]
  • [[_COMMUNITY_Community 30|Community 30]]
  • [[_COMMUNITY_Community 31|Community 31]]
  • [[_COMMUNITY_Community 32|Community 32]]
  • [[_COMMUNITY_Community 33|Community 33]]
  • [[_COMMUNITY_Community 34|Community 34]]
  • [[_COMMUNITY_Community 35|Community 35]]
  • [[_COMMUNITY_Community 36|Community 36]]
  • [[_COMMUNITY_Community 38|Community 38]]
  • [[_COMMUNITY_Community 39|Community 39]]
  • [[_COMMUNITY_Community 40|Community 40]]
  • [[_COMMUNITY_Community 41|Community 41]]
  • [[_COMMUNITY_Community 42|Community 42]]
  • [[_COMMUNITY_Community 43|Community 43]]
  • [[_COMMUNITY_Community 45|Community 45]]

God Nodes (most connected - your core abstractions)

  1. get() - 164 edges
  2. WebSocketClient - 26 edges
  3. push() - 20 edges
  4. withFullscreenLoading() - 17 edges
  5. MenuProcessor - 16 edges
  6. VersionManager - 15 edges
  7. handleDynamicRoutes() - 15 edges
  8. TableCache - 14 edges
  9. StorageCompatibilityManager - 12 edges
  10. StorageConfig - 10 edges

Surprising Connections (you probably didn't know these)

  • handleBatchDelete() --calls--> withFullscreenLoading() [INFERRED] views/basic-info/customer/index.vue → utils/fullscreen-loading.ts
  • handleUnauthorizedResponse() --calls--> fetchRefreshToken() [INFERRED] utils/http/index.ts → api/auth.ts
  • fetchLeaveList() --calls--> get() [INFERRED] api/leave.ts → views/production/process-route/index.vue
  • fetchLeaveDetail() --calls--> get() [INFERRED] api/leave.ts → views/production/process-route/index.vue
  • fetchSampleReceptionCheckItemList() --calls--> get() [INFERRED] api/sample-reception-check-item.ts → views/production/process-route/index.vue

Communities

Community 0 - "Community 0"

Cohesion: 0.01 Nodes (85): fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchCellSampleTypeList(), fetchChannelAgreementPrices() (+77 more)

Community 1 - "Community 1"

Cohesion: 0.03 Nodes (60): fetchBatchGenerateProtocolNos(), fetchBatchGenerateSampleCodes(), fetchBatchIssueProtocolNos(), fetchBatchIssueSampleCodes(), fetchCollectionProtocolNoList(), fetchCreateCollectionProtocolNo(), fetchCreateSampleCode(), fetchDeleteCollectionProtocolNo() (+52 more)

Community 2 - "Community 2"

Cohesion: 0.04 Nodes (31): fetchGetUserInfo(), clickTab(), handleTouchEnd(), setTransition(), IframeRouteManager, RouteRegistry, useCommon(), setupAfterEachGuard() (+23 more)

Community 3 - "Community 3"

Cohesion: 0.03 Nodes (22): fetchAllConsumablePacks(), fetchAllConsumables(), fetchAllConsumableStockLogs(), fetchAllOutputTypes(), fetchAllProcessCategories(), fetchAllProcesses(), fetchAllReagents(), fetchAllReagentStockLogs() (+14 more)

Community 4 - "Community 4"

Cohesion: 0.04 Nodes (40): fetchDeptTree(), fetchPostBoundUserIds(), FireworkSystem, reload(), formatUserLabel(), loadDeptData(), onPersonSelectChange(), subscribeTokenRefresh() (+32 more)

Community 5 - "Community 5"

Cohesion: 0.04 Nodes (33): fetchCollectionRegionList(), fetchCreateCollectionRegion(), fetchCreateHospital(), fetchDeleteCollectionRegion(), fetchDeleteHospital(), fetchHospitalList(), fetchUpdateCollectionRegion(), fetchUpdateHospital() (+25 more)

Community 6 - "Community 6"

Cohesion: 0.04 Nodes (23): fetchAttachmentDownloadUrl(), fetchOrderAdjusts(), fetchOrderDetail(), fetchOrderItems(), fetchOrderList(), fetchPriceVersionDetail(), fetchSystemConfig(), handleReceptionAttachmentDownload() (+15 more)

Community 7 - "Community 7"

Cohesion: 0.05 Nodes (39): fetchAccessLogList(), fetchCleanRoomList(), fetchCreateAccessLog(), fetchCreateCleanRoom(), fetchCreateSite(), fetchDeleteAccessLog(), fetchDeleteCleanRoom(), fetchDeleteSite() (+31 more)

Community 8 - "Community 8"

Cohesion: 0.06 Nodes (21): auditorDisplay(), dash(), expressName(), formatYm(), formatYmd(), sampleTypeName(), siteName(), unitName() (+13 more)

Community 9 - "Community 9"

Cohesion: 0.06 Nodes (11): collectIds(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), TableCache (+3 more)

Community 10 - "Community 10"

Cohesion: 0.09 Nodes (8): getDefaultLanguage(), checkStorageCompatibility(), StorageConfig, getSystemStorage(), getSysVersion(), StorageKeyManager, StorageCompatibilityManager, validateStorageData()

Community 11 - "Community 11"

Cohesion: 0.09 Nodes (29): base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url(), hexToBytes(), sha256Hex() (+21 more)

Community 12 - "Community 12"

Cohesion: 0.06 Nodes (8): fetchMaterialList(), fetchMaterialOptions(), fetchMaterialStockLogList(), fetchQcThirdPartyCompanyList(), fetchQcThirdPartyCompanyOptions(), fetchResearchDonationAuditList(), fetchResearchDonationDetail(), fetchResearchDonationList()

Community 13 - "Community 13"

Cohesion: 0.11 Nodes (8): disableDevTools(), handleLock(), handleUnlock(), isMobile(), toLogin(), logOut(), systemUpgrade(), VersionManager

Community 14 - "Community 14"

Cohesion: 0.18 Nodes (1): WebSocketClient

Community 15 - "Community 15"

Cohesion: 0.1 Nodes (16): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateMenu(), postorder(), preorder(), applyTreeExpand(), handleAdd() (+8 more)

Community 16 - "Community 16"

Cohesion: 0.1 Nodes (8): fetchGetMenuList(), fetchGetMenuCodes(), fetchLogin(), fetchRefreshToken(), MenuProcessor, useAppMode(), useAuth(), buildWebEncryptedLoginBody()

Community 17 - "Community 17"

Cohesion: 0.1 Nodes (13): fetchEthnicList(), addSample(), applyDonationBundleToForm(), confirmBatchTransportApply(), createEmptyTransport(), ensureDonationProtocolNoInOptions(), ensureEthnicOptionInList(), handleOpenForAdd() (+5 more)

Community 18 - "Community 18"

Cohesion: 0.12 Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more)

Community 19 - "Community 19"

Cohesion: 0.14 Nodes (17): fetchCreateUser(), fetchDeleteUser(), fetchResetPassword(), fetchUpdateUser(), fetchUserDetail(), formatUserDeptDisplay(), handleAdd(), handleDelete() (+9 more)

Community 20 - "Community 20"

Cohesion: 0.12 Nodes (12): fetchApproveTask(), fetchBusinessAllTasks(), fetchCompletedTasks(), fetchDesignerData(), fetchInstanceDetail(), fetchMyInstances(), fetchPendingTasks(), fetchProcessDefList() (+4 more)

Community 21 - "Community 21"

Cohesion: 0.16 Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more)

Community 22 - "Community 22"

Cohesion: 0.2 Nodes (2): ComponentLoader, RouteTransformer

Community 23 - "Community 23"

Cohesion: 0.27 Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more)

Community 24 - "Community 24"

Cohesion: 0.17 Nodes (12): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), handleAdd(), handleBatchDelete(), handleDelete(), handleReset() (+4 more)

Community 26 - "Community 26"

Cohesion: 0.2 Nodes (2): fetchQcMaterialList(), fetchQcMaterialOptions()

Community 28 - "Community 28"

Cohesion: 0.39 Nodes (6): isIgnorableScriptError(), normalizeErrorMessage(), registerPromiseErrorHandler(), registerResourceErrorHandler(), scriptErrorHandler(), setupErrorHandle()

Community 29 - "Community 29"

Cohesion: 0.36 Nodes (1): TableHeightCalculator

Community 30 - "Community 30"

Cohesion: 0.33 Nodes (2): logApiCryptoBootInfo(), maskSecret()

Community 31 - "Community 31"

Cohesion: 0.29 Nodes (2): fetchLeaveDetail(), fetchLeaveList()

Community 32 - "Community 32"

Cohesion: 0.47 Nodes (3): isPaymentDueWithinWarnWindow(), parsePaymentDueYmd(), startOfLocalDay()

Community 33 - "Community 33"

Cohesion: 0.33 Nodes (2): fetchSampleReceptionCheckItemList(), fetchSampleReceptionCheckItemsActive()

Community 34 - "Community 34"

Cohesion: 0.33 Nodes (2): fetchQcThirdPartyItemList(), fetchQcThirdPartyItemsActive()

Community 35 - "Community 35"

Cohesion: 0.33 Nodes (2): fetchQcLabTestItemList(), fetchQcLabTestItemsActive()

Community 36 - "Community 36"

Cohesion: 0.33 Nodes (2): fetchQcTaskDetail(), fetchQcTaskList()

Community 38 - "Community 38"

Cohesion: 0.53 Nodes (4): isEtaTodayOrEarlier(), parseEtaLocalDate(), sampleReceptionRowClassName(), startOfLocalDay()

Community 39 - "Community 39"

Cohesion: 0.5 Nodes (2): focusInput(), handleKeydown()

Community 40 - "Community 40"

Cohesion: 0.67 Nodes (2): if(), logSidebarMenu()

Community 41 - "Community 41"

Cohesion: 0.5 Nodes (1): fetchStorageEntrySmsList()

Community 42 - "Community 42"

Cohesion: 0.5 Nodes (1): fetchSampleSmsNotificationList()

Community 43 - "Community 43"

Cohesion: 1.0 Nodes (2): getSettingDefaults(), resetToDefaults()

Community 45 - "Community 45"

Cohesion: 1.0 Nodes (2): defaultAvatarPathByRole(), resolveUserAvatarUrl()

Knowledge Gaps

  • Thin community Community 14 (28 nodes): WebSocketClient, .calculateReconnectDelay(), .clearAllTimers(), .clearConnectionTimers(), .clearTimer(), .close(), .closeCurrentSocketForReconnect(), .connect(), .connectionStatusText(), .constructor(), .destroyInstance(), .flushMessageQueue(), .getInstance(), .getReadyStateText(), .handleClose(), .handleConnectionTimeout(), .handleError(), .handleMessage(), .handleOpen(), .init(), .isWebSocketConnected(), .reconnect(), .resetHeartbeat(), .send(), .startHeartbeat(), .startPing(), .log(), index.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 22 (17 nodes): ComponentLoader, .constructor(), .createEmptyComponent(), .createErrorComponent(), .load(), .loadIframe(), .loadLayout(), .load(), RouteTransformer, .extractFirstSegment(), .handleFirstLevelRoute(), .handleIframeRoute(), .handleNormalRoute(), .isFirstLevelRoute(), .transform(), ComponentLoader.ts, RouteTransformer.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 26 (10 nodes): fetchBatchStockInQcMaterial(), fetchBatchStockOutQcMaterial(), fetchCreateQcMaterial(), fetchDeleteQcMaterial(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchStockInQcMaterial(), fetchStockOutQcMaterial(), fetchUpdateQcMaterial(), qc-material.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 29 (8 nodes): TableHeightCalculator, .calculate(), .calculateOffset(), .calculatePaginationOffset(), .constructor(), .getHeaderHeight(), useTableHeight(), useTableHeight.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 30 (7 nodes): App.vue, main.ts, refreshButtonAutoIcons(), refreshPanelTitleIcons(), logApiCryptoBootInfo(), maskSecret(), console.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 31 (7 nodes): fetchCreateLeave(), fetchDeleteLeave(), fetchLeaveDetail(), fetchLeaveList(), fetchSubmitLeave(), fetchUpdateLeave(), leave.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 33 (6 nodes): fetchCreateSampleReceptionCheckItem(), fetchDeleteSampleReceptionCheckItem(), fetchSampleReceptionCheckItemList(), fetchSampleReceptionCheckItemsActive(), fetchUpdateSampleReceptionCheckItem(), sample-reception-check-item.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 34 (6 nodes): fetchCreateQcThirdPartyItem(), fetchDeleteQcThirdPartyItem(), fetchQcThirdPartyItemList(), fetchQcThirdPartyItemsActive(), fetchUpdateQcThirdPartyItem(), qc-third-party-item.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 35 (6 nodes): fetchCreateQcLabTestItem(), fetchDeleteQcLabTestItem(), fetchQcLabTestItemList(), fetchQcLabTestItemsActive(), fetchUpdateQcLabTestItem(), qc-lab-test-item.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 36 (6 nodes): fetchCompleteQcTask(), fetchQcTaskDetail(), fetchQcTaskList(), fetchStartQcTask(), fetchUpdateQcTaskAttachments(), qc-task.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 39 (5 nodes): focusInput(), handleKeydown(), if(), search(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 40 (4 nodes): if(), logSidebarMenu(), index.vue, SidebarSubmenu.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 41 (4 nodes): fetchGenerateStorageEntrySms(), fetchStorageEntrySmsList(), fetchToggleStorageEntrySmsNotified(), storage-entry-sms-notification.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 42 (4 nodes): fetchGenerateSms(), fetchSampleSmsNotificationList(), fetchToggleSmsNotified(), sample-sms-notification.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 43 (3 nodes): getSettingDefaults(), resetToDefaults(), setting.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 45 (3 nodes): defaultAvatarPathByRole(), resolveUserAvatarUrl(), user-avatar.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.

Suggested Questions

Questions this graph is uniquely positioned to answer:

  • Why does get() connect Community 0 to Community 1, Community 2, Community 3, Community 4, Community 5, Community 6, Community 7, Community 8, Community 12, Community 15, Community 16, Community 17, Community 19, Community 20, Community 24, Community 26, Community 31, Community 33, Community 34, Community 35, Community 36, Community 41, Community 42? High betweenness centrality (0.287) - this node is a cross-community bridge.
  • Why does push() connect Community 4 to Community 0, Community 6, Community 9, Community 13, Community 14, Community 17? High betweenness centrality (0.121) - this node is a cross-community bridge.
  • Why does fetchGetLatestUpgradeLog() connect Community 0 to Community 13? High betweenness centrality (0.041) - this node is a cross-community bridge.
  • Are the 163 inferred relationships involving get() (e.g. with collectLeafFacilityNodesInTreeOrder() and buildTreePathLabelFromFlat()) actually correct? get() has 163 INFERRED edges - model-reasoned connections that need verification.
  • Are the 19 inferred relationships involving push() (e.g. with collectLeafFacilityNodesInTreeOrder() and fetchAllPagedRecords()) actually correct? push() has 19 INFERRED edges - model-reasoned connections that need verification.
  • Are the 16 inferred relationships involving withFullscreenLoading() (e.g. with .close() and handleSubmit()) actually correct? withFullscreenLoading() has 16 INFERRED edges - model-reasoned connections that need verification.
  • Should Community 0 be split into smaller, more focused modules? Cohesion score 0.01 - nodes in this community are weakly interconnected.