Files
zkxw/web-admin/graphify-out/GRAPH_REPORT.md
T
2026-07-22 10:43:55 +08:00

24 KiB

Graph Report - src (2026-07-22)

Corpus Check

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

Summary

  • 3051 nodes · 4278 edges · 63 communities detected
  • Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 961 edges (avg confidence: 0.8)
  • Token cost: 0 input · 0 output

Community Hubs (Navigation)

God Nodes (most connected - your core abstractions)

  1. get() - 291 edges
  2. push() - 92 edges
  3. emit() - 28 edges
  4. WebSocketClient - 26 edges
  5. set() - 20 edges
  6. handleDynamicRoutes() - 18 edges
  7. parseProtocolStandardImportText() - 17 edges
  8. scopeQuery() - 16 edges
  9. MenuProcessor - 16 edges
  10. TableCache - 14 edges

Surprising Connections (you probably didn't know these)

  • buildInboundMetaFields() --calls--> push() [INFERRED] utils/production-work-order-card-meta.ts → views/operations/storage-facility/index.vue
  • dash() --calls--> formatDisplayOrDash() [INFERRED] components/business/infusion-schedule-outbound-chain-view/index.vue → utils/datetime-display.ts
  • dash() --calls--> formatDisplayOrDash() [INFERRED] components/business/clinical-schedule-payment-detail/index.vue → utils/datetime-display.ts
  • fmtMoney() --calls--> formatMoneyDisplay() [INFERRED] components/business/clinical-schedule-payment-detail/index.vue → utils/money-format.ts
  • subscribeTokenRefresh() --calls--> push() [INFERRED] utils/http/index.ts → views/operations/storage-facility/index.vue

Communities

Community 0 - "Community 0"

Cohesion: 0.01 Nodes (170): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchChannelAccount() (+162 more)

Community 1 - "Community 1"

Cohesion: 0.03 Nodes (96): fetchUploadAttachment(), handleReportUpload(), handleReportUpload(), walk(), buildTemporaryViewSections(), appendTaskResultSections(), batchTasksForPanelSlot(), buildConfiguredOnlySection() (+88 more)

Community 2 - "Community 2"

Cohesion: 0.03 Nodes (83): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionList(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupDetail(), fetchPilotCheckupList(), markPilotCheckupChecked() (+75 more)

Community 3 - "Community 3"

Cohesion: 0.03 Nodes (63): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+55 more)

Community 4 - "Community 4"

Cohesion: 0.03 Nodes (63): fetchAddTaskStep(), fetchCopyTaskStep(), fetchDeleteTaskStep(), fetchDispatchProductionTaskSteps(), fetchForwardProductionTask(), fetchProductionTaskDetail(), fetchProductionTaskEditorInit(), fetchProductionTaskList() (+55 more)

Community 5 - "Community 5"

Cohesion: 0.03 Nodes (57): buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection(), buildTransportSection(), resolveInboundProtocolStatus(), buildBaseFields(), buildFeeSection() (+49 more)

Community 6 - "Community 6"

Cohesion: 0.03 Nodes (33): fetchGetMenuList(), ComponentLoader, IframeRouteManager, MenuProcessor, RouteRegistry, RouteTransformer, useAppMode(), useAuth() (+25 more)

Community 7 - "Community 7"

Cohesion: 0.04 Nodes (50): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchUpdateCheckupInstitution(), fetchUpdateCheckupInstitutionInvoice(), fetchUpdateCheckupInstitutionProject() (+42 more)

Community 8 - "Community 8"

Cohesion: 0.03 Nodes (46): useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), if(), branchTitle() (+38 more)

Community 9 - "Community 9"

Cohesion: 0.04 Nodes (32): handleBlur(), handleFocus(), handleInput(), fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions(), fetchMaterialList(), fetchMaterialOptions() (+24 more)

Community 10 - "Community 10"

Cohesion: 0.04 Nodes (44): fetchMyProductionTasks(), buildMineTableRows(), buildPresetTasksMap(), buildWorkOrderFromTasks(), fetchAllMineProductionTasks(), fetchMineTasksByScope(), groupMineTasksByWorkOrder(), keywordMatchesWorkOrder() (+36 more)

Community 11 - "Community 11"

Cohesion: 0.04 Nodes (35): fetchCreateOaRole(), fetchDeleteOaRole(), fetchOaAppDraft(), fetchOaAppList(), fetchOaGroupList(), fetchOaRoleList(), fetchOaRoleUsers(), fetchOaTemplateDetail() (+27 more)

Community 12 - "Community 12"

Cohesion: 0.04 Nodes (39): fetchEthnicList(), formatNowDatetime(), applyDonationBundleToForm(), createEmptyTransport(), ensureEthnicOptionInList(), handleOpenForAdd(), if(), loadEthnicOptions() (+31 more)

Community 13 - "Community 13"

Cohesion: 0.05 Nodes (34): fetchClinicalPaymentDetail(), fetchClinicalPayments(), fetchClinicalReceiptConfirmed(), fetchClinicalReceiptPending(), fetchClinicalRefundConfirmed(), fetchClinicalRefundPending(), fetchOrderAdjusts(), fetchOrderDetail() (+26 more)

Community 14 - "Community 14"

Cohesion: 0.05 Nodes (27): fetchUserList(), fetchProductionReceptionBySampleCode(), fetchProductionReceptionSubmit(), fetchProductionReceptionUpdate(), loadUsers(), formatHandoverUserLabel(), formatNowDatetime(), fullFileUrl() (+19 more)

Community 15 - "Community 15"

Cohesion: 0.04 Nodes (21): fetchAvailableMaterialBatches(), fetchMyProductionMaterialConsumptions(), fetchMyProductionMaterialUsageList(), fetchProductionMaterialBatchList(), fetchProductionMaterialBatchOptions(), fetchProductionMaterialConsumptions(), fetchProductionMaterialFormula(), fetchProductionMaterialLinkedStepUsages() (+13 more)

Community 16 - "Community 16"

Cohesion: 0.08 Nodes (37): formatDatetimeToMinute(), handleChineseDatetimePaste(), parseChineseDatetimeText(), parseBirthOrder(), parseChineseNumeral(), addSampleHint(), earliestCollectTime(), isMaternalBloodEmpty() (+29 more)

Community 17 - "Community 17"

Cohesion: 0.06 Nodes (23): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateMenu(), collectIds(), postorder(), preorder(), applyTreeExpand() (+15 more)

Community 18 - "Community 18"

Cohesion: 0.06 Nodes (22): fetchQcMaterialBatchDetail(), fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), financeAttachmentsToUrlString() (+14 more)

Community 19 - "Community 19"

Cohesion: 0.06 Nodes (28): fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), buildInsertedSiblingCard(), fetchMineTasksForWorkOrders(), resolveShowProtocolPaymentAtGroup(), useInboundSiblingNavigation(), shouldApplyTriggerSourceFilter() (+20 more)

Community 20 - "Community 20"

Cohesion: 0.06 Nodes (13): fetchProductionWorkOrderQcInfo(), dash(), fmtMoney(), auditorDisplay(), dash(), ensureUnitsInOptions(), expressName(), formatYm() (+5 more)

Community 21 - "Community 21"

Cohesion: 0.1 Nodes (2): WebSocketClient, TableCache

Community 22 - "Community 22"

Cohesion: 0.07 Nodes (28): fetchOaInstanceDetail(), fetchOaTasks(), currentPrinterName(), load(), openDetail(), printRow(), load(), openDetail() (+20 more)

Community 23 - "Community 23"

Cohesion: 0.08 Nodes (32): toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url(), hexToBytes() (+24 more)

Community 24 - "Community 24"

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

Community 25 - "Community 25"

Cohesion: 0.08 Nodes (20): createEmptySnapshots(), normalizeConfiguredReagents(), normalizeConsumables(), normalizeDataCollections(), normalizeReagents(), normalizeStepOutputs(), serializeAttachments(), serializeEquipmentIds() (+12 more)

Community 26 - "Community 26"

Cohesion: 0.1 Nodes (28): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), handleAdd(), handleDelete(), handleDropdownCommand() (+20 more)

Community 27 - "Community 27"

Cohesion: 0.09 Nodes (28): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), clearTableSelection(), handleBatchComplete(), handleBatchStart() (+20 more)

Community 28 - "Community 28"

Cohesion: 0.09 Nodes (22): fetchMineProductionWorkOrderTabStepCounts(), fetchMineProductionWorkOrderTabStepCountsDeduped(), fetchProductionWorkOrderCellProductOptions(), fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList(), fetchProductionWorkOrderQcDispatchOptions(), fetchProductionWorkOrderTabStepCounts(), fetchProductionWorkOrderTabStepCountsDeduped() (+14 more)

Community 29 - "Community 29"

Cohesion: 0.11 Nodes (21): fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchRefreshToken(), fetchUpdateProfile(), fetchUploadProfileAvatar(), fetchUserInfo(), buildWebEncryptedLoginBody() (+13 more)

Community 30 - "Community 30"

Cohesion: 0.09 Nodes (12): fetchMineQcWorkOrderTabUnfinishedCounts(), fetchOutboundQcDetail(), fetchQcWorkOrderDetail(), fetchQcWorkOrderList(), fetchQcWorkOrdersBySample(), fetchQcWorkOrderTabUnfinishedCounts(), reload(), reloadTabCounts() (+4 more)

Community 31 - "Community 31"

Cohesion: 0.18 Nodes (22): buildPaymentFlowSteps(), dash(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit(), receiptSubmitTime() (+14 more)

Community 32 - "Community 32"

Cohesion: 0.09 Nodes (13): fetchQcSmsList(), fetchApproveTask(), fetchBusinessAllTasks(), fetchCompletedTasks(), fetchDesignerData(), fetchInstanceDetail(), fetchMyInstances(), fetchPendingTasks() (+5 more)

Community 33 - "Community 33"

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

Community 34 - "Community 34"

Cohesion: 0.11 Nodes (11): fetchOutboundReleaseMaterial(), fetchOutboundReleaseReviewDetail(), fetchOutboundReleaseReviewList(), fetchReleaseReviewList(), handleReset(), handleSearch(), handleToggleSelect(), loadData() (+3 more)

Community 35 - "Community 35"

Cohesion: 0.13 Nodes (18): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchDeleteCellSampleType(), fetchUpdateCellSampleType(), handleAdd(), handleDelete(), handleDropdownCommand(), handleEdit() (+10 more)

Community 36 - "Community 36"

Cohesion: 0.19 Nodes (15): fetchAttachmentDownloadUrl(), attachmentFullUrl(), ensureUniqueZipEntryName(), fetchAttachmentBlob(), getAttachmentExtension(), resolveAttachmentFileName(), sanitizeZipPathSegment(), applyInboundLabStorageCodePrefix() (+7 more)

Community 37 - "Community 37"

Cohesion: 0.16 Nodes (14): fetchCreateEnvDetectItem(), fetchDeleteEnvDetectItem(), fetchEnvDetectItemDetail(), fetchEnvDetectItemList(), fetchEnvDetectItemsActive(), fetchUpdateEnvDetectItem(), handleAdd(), handleBatchDelete() (+6 more)

Community 38 - "Community 38"

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

Community 39 - "Community 39"

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

Community 40 - "Community 40"

Cohesion: 0.19 Nodes (6): fetchServiceOrderTxnList(), handleReset(), handleSearch(), handleTabChange(), loadData(), switchTab()

Community 41 - "Community 41"

Cohesion: 0.24 Nodes (8): fullFileUrl(), handlePreviewAttachment(), isVideoFile(), normalizeDisplayValue(), resolveReviewCellType(), resolveReviewQuantity(), resolveReviewSpecText(), uniqueJoined()

Community 43 - "Community 43"

Cohesion: 0.2 Nodes (4): personTitle(), signBadge(), signBadgeText(), statusText()

Community 44 - "Community 44"

Cohesion: 0.25 Nodes (2): handleTouchEnd(), setTransition()

Community 45 - "Community 45"

Cohesion: 0.28 Nodes (1): FireworkSystem

Community 47 - "Community 47"

Cohesion: 0.31 Nodes (4): annotateForkEdges(), chainApiToElements(), walkAncestorBranch(), walkAncestorParents()

Community 50 - "Community 50"

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

Community 51 - "Community 51"

Cohesion: 0.36 Nodes (1): TableHeightCalculator

Community 53 - "Community 53"

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

Community 54 - "Community 54"

Cohesion: 0.38 Nodes (4): handleFocus(), handleInput(), parseDecimalToNumber(), sanitizeDecimalInput()

Community 55 - "Community 55"

Cohesion: 0.4 Nodes (2): isUnfinishedQcWorkOrder(), resolveQcWorkOrderUnfinishedBadgeCount()

Community 56 - "Community 56"

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

Community 57 - "Community 57"

Cohesion: 0.5 Nodes (2): formatProtocolDocDeleteConfirm(), formatProtocolDocSubject()

Community 58 - "Community 58"

Cohesion: 0.5 Nodes (2): parseEquipmentIds(), syncEquipmentNamesFromOptions()

Community 60 - "Community 60"

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

Community 64 - "Community 64"

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

Community 66 - "Community 66"

Cohesion: 0.5 Nodes (1): fetchStorageEntrySmsList()

Community 70 - "Community 70"

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

Community 72 - "Community 72"

Cohesion: 1.0 Nodes (2): copyTextToClipboard(), copyTextWithFallback()

Community 73 - "Community 73"

Cohesion: 1.0 Nodes (2): getSourceProtocolAttachment(), normalizeAttachmentFiles()

Community 82 - "Community 82"

Cohesion: 1.0 Nodes (2): emptyTabCounts(), useProductionWorkOrderTabStepCounts()

Community 84 - "Community 84"

Cohesion: 1.0 Nodes (2): initialProgress(), useQcWorkOrderAttachmentExport()

Community 85 - "Community 85"

Cohesion: 1.0 Nodes (2): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts()

Knowledge Gaps

  • Thin community Community 21 (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 44 (9 nodes): cleanupEventListeners(), handleTouchEnd(), handleTouchMove(), handleTouchStart(), handleWheelScroll(), if(), setTransition(), setupEventListeners(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 45 (9 nodes): FireworkSystem, .constructor(), .createFirework(), .createParticle(), .getAvailableParticle(), .initializePool(), .preloadAllImages(), .preloadImage(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 51 (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 53 (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 55 (6 nodes): formatQcWorkOrderUnfinishedBadgeCount(), isUnfinishedQcWorkOrder(), qcWorkOrderUnfinishedBadgeTitle(), resolveQcWorkOrderUnfinishedBadgeCount(), sumQcWorkOrderGroupUnfinishedBadgeCount(), qc-work-order-unfinished-badge.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 57 (5 nodes): formatProtocolDocBatchDeleteConfirm(), formatProtocolDocDeleteConfirm(), formatProtocolDocSubject(), getProtocolDocTypeLabel(), protocol-doc-label.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 58 (5 nodes): equipmentOptionLabel(), joinEquipmentIds(), parseEquipmentIds(), syncEquipmentNamesFromOptions(), equipment-select.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 60 (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 64 (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 66 (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 70 (3 nodes): getSettingDefaults(), resetToDefaults(), setting.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 72 (3 nodes): copyTextToClipboard(), copyTextWithFallback(), copy-text.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 73 (3 nodes): getSourceProtocolAttachment(), normalizeAttachmentFiles(), protocol-source-attachment.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 82 (3 nodes): emptyTabCounts(), useProductionWorkOrderTabStepCounts(), useProductionWorkOrderTabStepCounts.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 84 (3 nodes): initialProgress(), useQcWorkOrderAttachmentExport(), useQcWorkOrderAttachmentExport.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 85 (3 nodes): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts(), useQcWorkOrderTabUnfinishedCounts.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 7, Community 8, Community 9, Community 10, Community 11, Community 12, Community 13, Community 14, Community 15, Community 17, Community 18, Community 19, Community 20, Community 22, Community 26, Community 27, Community 28, Community 29, Community 30, Community 32, Community 34, Community 35, Community 37, Community 40, Community 47, Community 66? High betweenness centrality (0.248) - this node is a cross-community bridge.
  • Why does push() connect Community 1 to Community 0, Community 2, Community 3, Community 4, Community 5, Community 7, Community 8, Community 10, Community 11, Community 12, Community 14, Community 16, Community 17, Community 19, Community 20, Community 21, Community 22, Community 23, Community 25, Community 27, Community 28, Community 30, Community 36, Community 45? High betweenness centrality (0.227) - this node is a cross-community bridge.
  • Why does handleDynamicRoutes() connect Community 6 to Community 8, Community 28, Community 29, Community 30? High betweenness centrality (0.041) - this node is a cross-community bridge.
  • Are the 290 inferred relationships involving get() (e.g. with buildNodeCodePathFromFlat() and collectLeafFacilityNodesInTreeOrder()) actually correct? get() has 290 INFERRED edges - model-reasoned connections that need verification.
  • Are the 91 inferred relationships involving push() (e.g. with refreshQcMenuBadges() and collectLeafFacilityNodesInTreeOrder()) actually correct? push() has 91 INFERRED edges - model-reasoned connections that need verification.
  • Are the 27 inferred relationships involving emit() (e.g. with handleSubmit() and handleDialogClose()) actually correct? emit() has 27 INFERRED edges - model-reasoned connections that need verification.
  • Are the 19 inferred relationships involving set() (e.g. with buildNodeCodePathFromFlat() and collectLeafFacilityNodesInTreeOrder()) actually correct? set() has 19 INFERRED edges - model-reasoned connections that need verification.