128 lines
6.3 KiB
Markdown
128 lines
6.3 KiB
Markdown
# Graph Report - controlpanel_user (2026-10-13)
|
|||
|
|
|
||
|
|
## Corpus Check
|
||
|
|
- 60 files · ~48,609 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
|
||
|
|
- 181 nodes · 263 edges · 14 communities (12 shown, 2 thin omitted)
|
||
|
|
- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 1 edges (avg confidence: 0.85)
|
||
|
|
- Token cost: 0 input · 0 output
|
||
|
|
|
||
|
|
## Graph Freshness
|
||
|
|
- Built from commit: `f99af903`
|
||
|
|
- 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
|
||
|
|
- applySharedNavSample
|
||
|
|
- syncBottomNavOrder
|
||
|
|
- normalizeMainWalletProductsValue
|
||
|
|
|
||
|
|
## God Nodes (most connected - your core abstractions)
|
||
|
|
1. `touch()` - 7 edges
|
||
|
|
2. `ensureSchemes()` - 7 edges
|
||
|
|
3. `formatValueForSave()` - 7 edges
|
||
|
|
4. `getKhanegiNavSample()` - 6 edges
|
||
|
|
5. `mergeKhanegiLayoutVariants()` - 6 edges
|
||
|
|
6. `syncBottomNavOrder()` - 6 edges
|
||
|
|
7. `persistConfig()` - 6 edges
|
||
|
|
8. `applyKhanegiNavSample()` - 5 edges
|
||
|
|
9. `mergeLayoutThemes()` - 5 edges
|
||
|
|
10. `mergeLayoutElement()` - 5 edges
|
||
|
|
|
||
|
|
## Surprising Connections (you probably didn't know these)
|
||
|
|
- `applySharedNavSample()` --calls--> `syncBottomNavOrder()` [EXTRACTED]
|
||
|
|
src/pages/UiConfigPage.vue → src/pages/UiConfigPage.vue _Bridges community 12 → community 11_
|
||
|
|
- `load()` --calls--> `applySharedNavSample()` [EXTRACTED]
|
||
|
|
src/pages/UiConfigPage.vue → src/pages/UiConfigPage.vue _Bridges community 11 → community 10_
|
||
|
|
- `formatValueForSave()` --calls--> `normalizeMainWalletProductsValue()` [EXTRACTED]
|
||
|
|
src/config/khanegiSettingCatalog.ts → src/config/khanegiSettingCatalog.ts _Bridges community 1 → community 13_
|
||
|
|
- `formatValueForSave()` --calls--> `resolveSwitchChecked()` [EXTRACTED]
|
||
|
|
src/config/khanegiSettingCatalog.ts → src/config/khanegiSettingCatalog.ts _Bridges community 1 → community 2_
|
||
|
|
|
||
|
|
## Import Cycles
|
||
|
|
- None detected.
|
||
|
|
|
||
|
|
## Communities (14 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 (35): ref_ant_design_icons_vue, ref_api, ref_components, ref_stores, ref_theme, ref_vue_router, accentStyle, activePreviewColors (+27 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.39
|
||
|
|
Nodes (8): buildSavePayload(), ensureSchemes(), load(), onColorEdit(), persistConfig(), save(), selectPreset(), syncAdvancedJson()
|
||
|
|
|
||
|
|
### Community 11 - "applySharedNavSample"
|
||
|
|
Cohesion: 0.33
|
||
|
|
Nodes (6): applyAdvancedJson(), applySharedNavSample(), 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()
|
||
|
|
|
||
|
|
## Knowledge Gaps
|
||
|
|
- **75 isolated node(s):** `props`, `OptionKind`, `DraftKind`, `groups`, `kindOptions` (+70 more)
|
||
|
|
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 101 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._
|
||
|
|
- **Why does `ensureSchemes()` connect `ensureSchemes` to `applySharedNavSample`, `UiConfigPage.vue`?**
|
||
|
|
_High betweenness centrality (0.000) - this node is a cross-community bridge._
|
||
|
|
- **What connects `props`, `OptionKind`, `DraftKind` to the rest of the system?**
|
||
|
|
_75 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.046511627906976744 - 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._
|