110 lines
5.4 KiB
Markdown
110 lines
5.4 KiB
Markdown
# Graph Report - ghatreh_user (2026-09-29)
|
|
|
|
## Corpus Check
|
|
- 598 files · ~506,875 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
- Unclassified: 51 file(s) not represented in the graph (top: .less 25, .eot 6, .ttf 6)
|
|
|
|
## Summary
|
|
- 208 nodes · 426 edges · 10 communities (9 shown, 1 thin omitted)
|
|
- Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 33 edges (avg confidence: 0.85)
|
|
- Token cost: 0 input · 0 output
|
|
|
|
## Graph Freshness
|
|
- Built from commit: `da68f0a5`
|
|
- 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)
|
|
- useTvMonitorPage
|
|
- ref_utils
|
|
- index.vue
|
|
- productPrice.ts
|
|
- useNewPhysicalRequestPage.ts
|
|
- api/products.ts
|
|
- priceSocket.ts
|
|
- priceSocketState.ts
|
|
- useProductsPageData.ts
|
|
- AuthPriceStream
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `useTvMonitorPage()` - 25 edges
|
|
2. `connect()` - 15 edges
|
|
3. `getProductBaseBuyPrice()` - 10 edges
|
|
4. `bindStreamEvents()` - 9 edges
|
|
5. `touchStreamActivity()` - 9 edges
|
|
6. `forceReconnect()` - 9 edges
|
|
7. `useNewPhysicalRequestPage()` - 8 edges
|
|
8. `applyProductsList()` - 8 edges
|
|
9. `applySocketProductList()` - 8 edges
|
|
10. `disconnect()` - 8 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- `connect()` --calls--> `AuthPriceStream` [EXTRACTED]
|
|
src/utils/priceSocket.ts → src/utils/priceSocket.ts _Bridges community 9 → community 6_
|
|
- `connect()` --calls--> `bindStreamEvents()` [EXTRACTED]
|
|
src/utils/priceSocket.ts → src/utils/priceSocket.ts _Bridges community 1 → community 6_
|
|
|
|
## Import Cycles
|
|
- None detected.
|
|
|
|
## Communities (10 total, 1 thin omitted)
|
|
|
|
### Community 0 - "useTvMonitorPage"
|
|
Cohesion: 0.10
|
|
Nodes (29): ref_assets, ref_moment, ref_moment_jalaali, ref_vueuse_core, bankCoinRank(), floorTvToman(), formatTvPrice(), isBankCoin() (+21 more)
|
|
|
|
### Community 1 - "ref_utils"
|
|
Cohesion: 0.23
|
|
Nodes (15): ref_composables, ref_store, ref_utils, applyAppNotificationFromStream(), applyLastFromStream(), applySettingsFromStream(), applyUnreadCountFromStreamPayload(), bindStreamEvents() (+7 more)
|
|
|
|
### Community 2 - "index.vue"
|
|
Cohesion: 0.19
|
|
Nodes (15): ref_components, ref_views, coinColumns, extraTickerLoop, loopNews(), loopTicker(), marqueeCopies(), newsDuration() (+7 more)
|
|
|
|
### Community 3 - "productPrice.ts"
|
|
Cohesion: 0.20
|
|
Nodes (24): applyPriceOffsetPercent(), buyCashFee(), cashFeeOptions(), getColleagueSourcedUnitPrice(), getProductBaseBuyPrice(), getProductBaseSellPrice(), getProductBuyPrice(), getProductSellPrice() (+16 more)
|
|
|
|
### Community 4 - "useNewPhysicalRequestPage.ts"
|
|
Cohesion: 0.12
|
|
Nodes (13): ref_ant_design_vue, ref_api, ref_lodash, ref_router, NEW_PHYSICAL_REQUEST_KEY, NewPhysicalRequestContext, useNewPhysicalRequestPage(), getAddress() (+5 more)
|
|
|
|
### Community 5 - "api/products.ts"
|
|
Cohesion: 0.15
|
|
Nodes (5): ref_models, TvServerTime, CountPInventory, PInventory, Product
|
|
|
|
### Community 6 - "priceSocket.ts"
|
|
Cohesion: 0.14
|
|
Nodes (40): bindBrowserNetworkListeners(), clearConnectingLifecycle(), clearFallbackPollTimer(), clearPriceNetworkAlert(), clearReconnectTimer(), connect(), disconnect(), disconnectSourceOnly() (+32 more)
|
|
|
|
### Community 7 - "priceSocketState.ts"
|
|
Cohesion: 0.20
|
|
Nodes (8): ref_vue, priceSocketConnected, priceStreamConnectingSince, priceStreamLifecycle, priceStreamList, priceStreamProducts, priceStreamServerUnix, priceWssEnabled
|
|
|
|
### Community 8 - "useProductsPageData.ts"
|
|
Cohesion: 0.12
|
|
Nodes (31): applyProductsList(), applyProductsListFromSocket(), applySocketProductList(), changeProductsTab(), flagOff(), flagOn(), initialized, initProductsPageData() (+23 more)
|
|
|
|
## Knowledge Gaps
|
|
- **22 isolated node(s):** `NewPhysicalRequestContext`, `NEW_PHYSICAL_REQUEST_KEY`, `initialized`, `productsActiveKey`, `productsTypeItems` (+17 more)
|
|
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 45 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
|
|
- **1 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 `AuthPriceStream` connect `AuthPriceStream` to `priceSocket.ts`?**
|
|
_High betweenness centrality (0.033) - this node is a cross-community bridge._
|
|
- **Are the 14 inferred relationships involving `useTvMonitorPage()` (e.g. with `isBankCoin()` and `isGoldBar()`) actually correct?**
|
|
_`useTvMonitorPage()` has 14 INFERRED edges - model-reasoned connections that need verification._
|
|
- **What connects `NewPhysicalRequestContext`, `NEW_PHYSICAL_REQUEST_KEY`, `initialized` to the rest of the system?**
|
|
_22 weakly-connected nodes found - possible documentation gaps or missing edges._
|
|
- **Should `useTvMonitorPage` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.10416666666666667 - nodes in this community are weakly interconnected._
|
|
- **Should `useNewPhysicalRequestPage.ts` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.12418300653594772 - nodes in this community are weakly interconnected._
|
|
- **Should `priceSocket.ts` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.1378048780487805 - nodes in this community are weakly interconnected._
|
|
- **Should `useProductsPageData.ts` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.125 - nodes in this community are weakly interconnected._ |