Files

6.8 KiB

Graph Report - controlpanel_user (2026-10-21)

Corpus Check

  • 60 files · ~48,153 words
  • Verdict: corpus is large enough that graph structure adds value.
  • Unclassified: 38 file(s) not represented in the graph (top: .ttf 16, .eot 6, .woff 6)

Summary

  • 223 nodes · 325 edges · 16 communities (14 shown, 2 thin omitted)
  • Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.85)
  • Token cost: 0 input · 0 output

Graph Freshness

  • Built from commit: 1490adfb
  • Run git rev-parse HEAD and compare to check if the graph is stale.
  • Run graphify update . after code changes (no API cost).

Community Hubs (Navigation)

  • khanegiSettingCatalog.ts
  • formatValueForSave
  • resolveSwitchChecked
  • normalizeSettingRow
  • superAdminSettingKeys.ts
  • isSettingVisible
  • UiConfigPage.vue
  • defaultKhanegiUiConfig.ts
  • LayoutVariantsEditor.vue
  • khanegiLayoutVariants.ts
  • ensureSchemes
  • syncSidebarNavOrder
  • syncBottomNavOrder
  • normalizeMainWalletProductsValue
  • ProgramSettingsPage.vue
  • khanegiSystemSettingGroups.ts

God Nodes (most connected - your core abstractions)

  1. formatValueForSave() - 7 edges
  2. rowKey() - 7 edges
  3. ensureSchemes() - 7 edges
  4. touch() - 7 edges
  5. persistConfig() - 6 edges
  6. syncBottomNavOrder() - 6 edges
  7. getKhanegiNavSample() - 6 edges
  8. mergeKhanegiLayoutVariants() - 6 edges
  9. resolveSwitchChecked() - 5 edges
  10. switchValueFromChecked() - 5 edges

Surprising Connections (you probably didn't know these)

  • formatValueForSave() --calls--> normalizeMainWalletProductsValue() [EXTRACTED] src/config/khanegiSettingCatalog.ts → src/config/khanegiSettingCatalog.ts Bridges community 13 → community 1
  • formatValueForSave() --calls--> resolveSwitchChecked() [EXTRACTED] src/config/khanegiSettingCatalog.ts → src/config/khanegiSettingCatalog.ts Bridges community 2 → community 1
  • applySharedNavSample() --calls--> syncBottomNavOrder() [EXTRACTED] src/pages/UiConfigPage.vue → src/pages/UiConfigPage.vue Bridges community 10 → community 12
  • applySharedNavSample() --calls--> syncSidebarNavOrder() [EXTRACTED] src/pages/UiConfigPage.vue → src/pages/UiConfigPage.vue Bridges community 10 → community 11

Import Cycles

  • None detected.

Communities (16 total, 2 thin omitted)

Community 0 - "khanegiSettingCatalog.ts"

Cohesion: 0.06 Nodes (25): ACTIVATE_DEACTIVATE_SWITCH_KEYS, conditionalOrderEnabledSetting, HIDDEN_LEGACY_SETTING_KEYS, KEY_HELP_FALLBACK, KEY_LABEL_FALLBACK, KEY_TYPE_FALLBACK, MAIN_WALLET_PRODUCTS_DEFAULT, PARTNER_SERVER_URLS_MAX (+17 more)

Community 1 - "formatValueForSave"

Cohesion: 0.47 Nodes (6): formatSupportMessengers(), formatValueForSave(), isSupportMessengerType(), normalizeTimeValue(), parseSupportMessengers(), parseSupportMessengersDraft()

Community 2 - "resolveSwitchChecked"

Cohesion: 0.29 Nodes (7): isActivateDeactivateSwitch(), isReferralRequired(), isSwitchOn(), referralRequiredToString(), resolveSwitchChecked(), switchToString(), switchValueFromChecked()

Community 3 - "normalizeSettingRow"

Cohesion: 0.47 Nodes (6): helpText(), normalizeSettingRow(), resolveSettingCanEdit(), resolveSettingDescription(), resolveSettingFieldType(), resolveSettingTitle()

Community 6 - "UiConfigPage.vue"

Cohesion: 0.05 Nodes (30): ref_theme, accentStyle, activePreviewColors, activeTab, advancedJson, auth, bottomDragFrom, bottomNavChoices (+22 more)

Community 7 - "defaultKhanegiUiConfig.ts"

Cohesion: 0.15 Nodes (18): ref_config, applyKhanegiNavSample(), cloneJson(), createDefaultKhanegiUiConfig(), getKhanegiBottomNavChoices(), getKhanegiNavSample(), KhanegiNavItem, mapLegacyNavItems() (+10 more)

Community 8 - "LayoutVariantsEditor.vue"

Cohesion: 0.15 Nodes (18): ref_ant_design_vue, ref_vue, addOption(), addTheme(), DraftKind, draftOf(), drafts, elementAt() (+10 more)

Community 9 - "khanegiLayoutVariants.ts"

Cohesion: 0.23 Nodes (14): applyKhanegiLayoutVariants(), createDefaultKhanegiLayoutVariants(), defaultThemes(), element(), isLayoutVariantId(), isRecord(), KhanegiLayoutVariants, LAYOUT_OPTION_KEY (+6 more)

Community 10 - "ensureSchemes"

Cohesion: 0.31 Nodes (10): applyAdvancedJson(), applySharedNavSample(), buildSavePayload(), ensureSchemes(), load(), onColorEdit(), persistConfig(), save() (+2 more)

Community 11 - "syncSidebarNavOrder"

Cohesion: 0.50 Nodes (4): onSidebarDragEnd(), onSidebarDragOver(), onSidebarDrop(), syncSidebarNavOrder()

Community 12 - "syncBottomNavOrder"

Cohesion: 0.40 Nodes (5): onBottomDragEnd(), onBottomDragOver(), onBottomDrop(), onBottomSlotMenuChange(), syncBottomNavOrder()

Community 13 - "normalizeMainWalletProductsValue"

Cohesion: 0.67 Nodes (3): formatMainWalletProductIds(), normalizeMainWalletProductsValue(), parseMainWalletProductIds()

Community 14 - "ProgramSettingsPage.vue"

Cohesion: 0.07 Nodes (34): ref_ant_design_icons_vue, ref_api, ref_components, ref_stores, ref_vue_router, applyItems(), asRow(), auth (+26 more)

Community 15 - "khanegiSystemSettingGroups.ts"

Cohesion: 0.22 Nodes (3): KHANEGI_SYSTEM_SETTING_GROUPS, SettingGroupDef, SettingSubsectionDef

Knowledge Gaps

  • 95 isolated node(s): conditionalOrderEnabledSetting, priceChannelAccessSetting, priceProviderSetting, showToUsersChatSetting, SettingFieldType (+90 more) These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 124 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
  • 2 thin communities (<3 nodes) omitted from report — run graphify query to explore isolated nodes.

Suggested Questions

Questions this graph is uniquely positioned to answer:

  • Why does formatValueForSave() connect formatValueForSave to khanegiSettingCatalog.ts, resolveSwitchChecked, normalizeMainWalletProductsValue? High betweenness centrality (0.000) - this node is a cross-community bridge.
  • What connects conditionalOrderEnabledSetting, priceChannelAccessSetting, priceProviderSetting to the rest of the system? 95 weakly-connected nodes found - possible documentation gaps or missing edges.
  • Should khanegiSettingCatalog.ts be split into smaller, more focused modules? Cohesion score 0.058823529411764705 - nodes in this community are weakly interconnected.
  • Should UiConfigPage.vue be split into smaller, more focused modules? Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected.
  • Should LayoutVariantsEditor.vue be split into smaller, more focused modules? Cohesion score 0.14736842105263157 - nodes in this community are weakly interconnected.
  • Should ProgramSettingsPage.vue be split into smaller, more focused modules? Cohesion score 0.07254623044096728 - nodes in this community are weakly interconnected.