Files
zkxw/web-admin/graphify-out/GRAPH_REPORT.md
T
2026-05-24 11:03:15 +08:00

17 KiB

Graph Report - src (2026-05-24)

Corpus Check

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

Summary

  • 1528 nodes · 1917 edges · 41 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)

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)

  • handleBatchDeleteHospital() --calls--> withFullscreenLoading() [INFERRED] views/basic-info/collection-region/index.vue → utils/fullscreen-loading.ts
  • handleUnauthorizedResponse() --calls--> fetchRefreshToken() [INFERRED] utils/http/index.ts → api/auth.ts
  • fetchConsumableList() --calls--> get() [INFERRED] api/production.ts → views/production/process-route/index.vue
  • fetchAllConsumables() --calls--> get() [INFERRED] api/production.ts → views/production/process-route/index.vue
  • fetchReagentList() --calls--> get() [INFERRED] api/production.ts → views/production/process-route/index.vue

Communities

Community 0 - "Community 0"

Cohesion: 0.01 Nodes (82): fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchCellSampleTypeList(), fetchChannelAgreementPrices() (+74 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 (34): fetchCollectionRegionList(), fetchCreateCollectionRegion(), fetchCreateHospital(), fetchDeleteCollectionRegion(), fetchDeleteHospital(), fetchHospitalList(), fetchUpdateCollectionRegion(), fetchUpdateHospital() (+26 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 (12): collectIds(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), ComponentLoader, RoutePermissionValidator, RouteTransformer, useCeremony() (+4 more)

Community 9 - "Community 9"

Cohesion: 0.1 Nodes (2): WebSocketClient, TableCache

Community 10 - "Community 10"

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

Community 11 - "Community 11"

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

Community 12 - "Community 12"

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

Community 13 - "Community 13"

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

Community 14 - "Community 14"

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

Community 15 - "Community 15"

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

Community 16 - "Community 16"

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

Community 17 - "Community 17"

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

Community 18 - "Community 18"

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

Community 19 - "Community 19"

Cohesion: 0.11 Nodes (8): fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchPaymentDetailList(), fetchReceiptConfirmedList(), fetchReceiptConfirmList(), fetchRefundConfirmedList(), fetchRefundConfirmList()

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.27 Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more)

Community 23 - "Community 23"

Cohesion: 0.18 Nodes (11): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), handleAdd(), handleDelete(), handleReset(), handleSearch() (+3 more)

Community 25 - "Community 25"

Cohesion: 0.17 Nodes (3): fetchResearchDonationAuditList(), fetchResearchDonationDetail(), fetchResearchDonationList()

Community 26 - "Community 26"

Cohesion: 0.18 Nodes (3): fetchMaterialList(), fetchMaterialOptions(), fetchMaterialStockLogList()

Community 27 - "Community 27"

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

Community 29 - "Community 29"

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

Community 30 - "Community 30"

Cohesion: 0.36 Nodes (1): TableHeightCalculator

Community 31 - "Community 31"

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

Community 32 - "Community 32"

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

Community 34 - "Community 34"

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

Community 35 - "Community 35"

Cohesion: 0.33 Nodes (2): fetchQcThirdPartyCompanyList(), fetchQcThirdPartyCompanyOptions()

Community 36 - "Community 36"

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

Community 37 - "Community 37"

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

Community 39 - "Community 39"

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

Community 40 - "Community 40"

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

Community 41 - "Community 41"

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

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 9 (42 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(), TableCache, .cleanupExpired(), .clear(), .clearByTags(), .clearCurrentSearch(), .clearPagination(), .constructor(), .evictLRU(), .generateKey(), .generateTags(), .get(), .getStats(), .log(), .set(), index.ts, tableCache.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 27 (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 30 (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 31 (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 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): fetchCreateQcThirdPartyCompany(), fetchDeleteQcThirdPartyCompany(), fetchQcThirdPartyCompanyList(), fetchQcThirdPartyCompanyOptions(), fetchUpdateQcThirdPartyCompany(), qc-third-party-company.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 36 (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 37 (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 40 (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 41 (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 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 14, Community 15, Community 16, Community 18, Community 19, Community 20, Community 23, Community 25, Community 26, Community 27, Community 34, Community 35, Community 36, Community 37, Community 42? High betweenness centrality (0.293) - this node is a cross-community bridge.
  • Why does push() connect Community 4 to Community 0, Community 6, Community 8, Community 9, Community 13, Community 16? High betweenness centrality (0.117) - this node is a cross-community bridge.
  • Why does handleDynamicRoutes() connect Community 2 to Community 8, Community 15? High betweenness centrality (0.049) - 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.