diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 5cd9a7b..4e5061a 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - nobat724_front (2026-07-19) ## Corpus Check -- 622 files · ~562,947 words +- 622 files · ~563,044 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 2295 nodes · 2334 edges · 396 communities (360 shown, 36 thin omitted) +- 2293 nodes · 2329 edges · 396 communities (360 shown, 36 thin omitted) - Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 139 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `88782e70` +- Built from commit: `488e5eb0` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -189,14 +189,14 @@ ## Surprising Connections (you probably didn't know these) - `Dashboard()` --calls--> `safeJsonParse()` [INFERRED] app/dashboard/page.js → lib/sanitize.js -- `Doctor()` --calls--> `buildDoctorFaq()` [INFERRED] - app/doctor/[slug]/page.js → lib/specialtyContent.js - `SpecialtyDetail()` --calls--> `buildSpecialtyFaq()` [INFERRED] app/specialties/[slug]/page.js → lib/specialtyContent.js - `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED] components/aboutUs/index.js → lib/getStateInfo.js - `ContactUsPage()` --calls--> `getStateInfo()` [INFERRED] components/contactUs/index.js → lib/getStateInfo.js +- `SearchBar()` --calls--> `getStateInfo()` [INFERRED] + components/home/search/index.js → lib/getStateInfo.js ## Import Cycles - None detected. @@ -216,12 +216,12 @@ Cohesion: 0.04 Nodes (48): dependencies, altcha, aos, axios, @casl/ability, @casl/react, date-fns, dayjs (+40 more) ### Community 3 - "Community 3" -Cohesion: 0.21 -Nodes (17): getCurrentDomain(), robots(), CITY_IDS_WITH_DOMAIN, cityFilterParams(), fetchAllPages(), getBlogUrls(), getCityScope(), getClinicUrls() (+9 more) +Cohesion: 0.23 +Nodes (15): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), getBlogUrls(), getCityScope(), getClinicUrls(), getCurrentDomain() (+7 more) ### Community 4 - "Community 4" -Cohesion: 0.07 -Nodes (21): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+13 more) +Cohesion: 0.06 +Nodes (22): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+14 more) ### Community 5 - "Community 5" Cohesion: 0.06 @@ -264,8 +264,8 @@ Cohesion: 0.14 Nodes (10): Chart(), ProgressAll(), fallbackLabels, ProgressDetail(), Form(), Content(), Rates(), numberToArStyle() (+2 more) ### Community 16 - "Community 16" -Cohesion: 0.25 -Nodes (6): Head(), AboutUsPage(), ourServices, Services(), TickOrangeA(), UnderlineLG() +Cohesion: 0.13 +Nodes (10): Head(), AboutUsPage(), ourServices, Services(), FrequentSearches(), TextHeader(), AText(), BText() (+2 more) ### Community 17 - "Community 17" Cohesion: 0.11 @@ -380,8 +380,8 @@ Cohesion: 0.14 Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سختسازی غیرفعالبودن اسلاتهای گذشته در صفحهی نوبت, زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more) ### Community 45 - "Community 45" -Cohesion: 0.21 -Nodes (17): generateMetadata(), generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), extractEntityCityId(), findCityById(), getEntityOrigin() (+9 more) +Cohesion: 0.31 +Nodes (12): generateMetadata(), generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), extractEntityCityId(), getEntityOrigin(), Blog() (+4 more) ### Community 46 - "Community 46" Cohesion: 0.22 @@ -468,8 +468,8 @@ Cohesion: 0.36 Nodes (4): fixedIconData, nextIconData, prevIconData, LoadingDate() ### Community 67 - "Community 67" -Cohesion: 0.29 -Nodes (4): FrequentSearches(), TextHeader(), AText(), BText() +Cohesion: 0.53 +Nodes (5): buildDoctorFaq(), Doctor(), getBookingLocations, getDoctor, getDoctorAddresses ### Community 68 - "Community 68" Cohesion: 0.27 @@ -488,8 +488,8 @@ Cohesion: 0.22 Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList() ### Community 72 - "Community 72" -Cohesion: 0.26 -Nodes (13): generateMetadata(), findDomainByCityId(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildMainCanonicalUrl(), buildSpecialtyCanonicalPath(), CANONICAL_QUERY_KEYS (+5 more) +Cohesion: 0.27 +Nodes (13): generateMetadata(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildMainCanonicalUrl(), buildSpecialtyCanonicalPath(), CANONICAL_QUERY_KEYS, getCanonicalUrl() (+5 more) ### Community 73 - "Community 73" Cohesion: 0.32 @@ -524,8 +524,8 @@ Cohesion: 0.24 Nodes (6): STATUS_LABELS, Head(), listTab, Turns(), List(), STATUS_LABELS ### Community 86 - "Community 86" -Cohesion: 0.39 -Nodes (6): generateMetadata(), resolveCityDisplayName(), isRootCity(), findSpecialty(), getDoctors(), SpecialtyDetail() +Cohesion: 0.29 +Nodes (8): generateMetadata(), findCityById(), findDomainByCityId(), resolveCityDisplayName(), isRootCity(), findSpecialty(), getDoctors(), SpecialtyDetail() ### Community 87 - "Community 87" Cohesion: 0.33 @@ -588,16 +588,16 @@ Cohesion: 0.14 Nodes (13): زمینه, فایلهای مرتبط, مشکل / هدف, نوار موبایل — `components/doctor/appointmentList/index.js:20-24`, نکات مهم, وضعیت فعلی, وضعیت «نوبتدهی فعال/غیرفعال» پروفایل پزشک از booking_locations, وظایف (+5 more) ### Community 126 - "Community 126" -Cohesion: 0.33 -Nodes (7): bodyVariants(), buildDoctorFaq(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants(), pick() +Cohesion: 0.39 +Nodes (6): bodyVariants(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants(), pick() ### Community 128 - "Community 128" Cohesion: 0.40 Nodes (3): Allergies(), ItemAllergie(), ModalAddAlergie() ### Community 140 - "Community 140" -Cohesion: 0.29 -Nodes (6): RootLayout(), normalize(), Pageguide(), getRequestOrigin(), safeJsonLd(), safeJsonParse() +Cohesion: 0.50 +Nodes (4): RootLayout(), normalize(), Pageguide(), safeJsonLd() ### Community 365 - "Community 365" Cohesion: 0.08 @@ -692,24 +692,24 @@ Cohesion: 0.33 Nodes (5): engines, node, name, private, version ## Knowledge Gaps -- **840 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+835 more) +- **839 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+834 more) These have ≤1 connection - possible missing edges or undocumented components. - **36 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 `imageUrl()` connect `Community 45` to `Community 0`, `Community 4`, `Community 7`, `Community 81`, `Community 55`, `Community 56`, `Community 89`, `Community 380`?** - _High betweenness centrality (0.035) - this node is a cross-community bridge._ -- **Why does `getStateInfo()` connect `Community 29` to `Community 384`, `Community 0`, `Community 67`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 86`, `Community 377`?** - _High betweenness centrality (0.030) - this node is a cross-community bridge._ -- **Why does `isRootCity()` connect `Community 86` to `Community 3`, `Community 390`, `Community 70`, `Community 72`, `Community 45`, `Community 29`?** - _High betweenness centrality (0.022) - this node is a cross-community bridge._ +- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 67`, `Community 4`, `Community 7`, `Community 81`, `Community 55`, `Community 56`, `Community 89`, `Community 380`?** + _High betweenness centrality (0.034) - this node is a cross-community bridge._ +- **Why does `getStateInfo()` connect `Community 29` to `Community 384`, `Community 0`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 86`, `Community 377`?** + _High betweenness centrality (0.025) - this node is a cross-community bridge._ +- **Why does `isRootCity()` connect `Community 86` to `Community 390`, `Community 3`, `Community 29`, `Community 70`?** + _High betweenness centrality (0.021) - this node is a cross-community bridge._ - **Are the 25 inferred relationships involving `getStateInfo()` (e.g. with `generateMetadata()` and `AboutUsPage()`) actually correct?** _`getStateInfo()` has 25 INFERRED edges - model-reasoned connections that need verification._ - **Are the 14 inferred relationships involving `imageUrl()` (e.g. with `generateMetadata()` and `generateMetadata()`) actually correct?** _`imageUrl()` has 14 INFERRED edges - model-reasoned connections that need verification._ - **What connects `metadata`, `fallbackLabels`, `MaterialUISwitch` to the rest of the system?** - _840 weakly-connected nodes found - possible documentation gaps or missing edges._ + _839 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** _Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/graph.html b/graphify-out/graph.html index a73ec54..7297064 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -63,12 +63,12 @@
-