Update manifest.json with new mtime and ast_hash values for various files; add breadcrumb and breadcrumb.test.js entries.

This commit is contained in:
hamed
2026-07-26 09:18:34 +03:30
parent d02ae8bff0
commit 2b68ad46b7
5 changed files with 611 additions and 215 deletions
+2 -1
View File
@@ -399,5 +399,6 @@
"397": "Community 397",
"398": "Community 398",
"399": "Community 399",
"400": "Community 400"
"400": "Community 400",
"401": "Community 401"
}
+49 -53
View File
@@ -1,16 +1,16 @@
# Graph Report - nobat724_front (2026-07-23)
# Graph Report - nobat724_front (2026-07-26)
## Corpus Check
- 632 files · ~569,300 words
- 634 files · ~570,772 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 2379 nodes · 2439 edges · 401 communities (367 shown, 34 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 160 edges (avg confidence: 0.8)
- 2389 nodes · 2466 edges · 402 communities (367 shown, 35 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 171 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `7bbfe9a6`
- Built from commit: `d02ae8bf`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -177,20 +177,20 @@
- [[_COMMUNITY_Community 398|Community 398]]
## God Nodes (most connected - your core abstractions)
1. `getStateInfo()` - 27 edges
1. `getStateInfo()` - 29 edges
2. `🏥 نوبت724 (Nobat724) - سیستم نوبت‌دهی آنلاین پزشکی` - 19 edges
3. `تقسیم ممیزی SEO به پرامپت‌های کوچک اجرایی — nobat724` - 18 edges
4. `imageUrl()` - 15 edges
5. `Clinic()` - 13 edges
6. `Doctor()` - 12 edges
7. `Blog()` - 10 edges
5. `Blog()` - 14 edges
6. `Clinic()` - 13 edges
7. `Doctor()` - 12 edges
8. `Dashboard()` - 10 edges
9. `sitemap()` - 10 edges
10. `بهینه‌سازی SEO تک‌تک شهرها در city.json (سطح حرفه‌ای)` - 10 edges
10. `buildCanonicalUrl()` - 10 edges
## Surprising Connections (you probably didn't know these)
- `Clinic()` --calls--> `toE164Ir()` [INFERRED]
app/clinic/[slug]/page.js → lib/clinicContact.js
- `Blog()` --calls--> `normalizeBlog()` [INFERRED]
app/blog/[slug]/page.js → helper/index.js
- `SpecialtyDetail()` --calls--> `buildSpecialtyFaq()` [INFERRED]
app/specialties/[slug]/page.js → lib/specialtyContent.js
- `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED]
@@ -203,15 +203,15 @@
## Import Cycles
- None detected.
## Communities (401 total, 34 thin omitted)
## Communities (402 total, 35 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.05
Nodes (27): BgGray(), ButtonMenu(), Col(), ModalLogout(), Footer(), head, LogoNamad(), Namads (+19 more)
### Community 1 - "Community 1"
Cohesion: 0.07
Nodes (23): Head(), Head(), HeadTab(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm() (+15 more)
Cohesion: 0.26
Nodes (7): Head(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm(), Head()
### Community 2 - "Community 2"
Cohesion: 0.04
@@ -223,11 +223,11 @@ Nodes (16): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), g
### Community 4 - "Community 4"
Cohesion: 0.06
Nodes (29): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+21 more)
Nodes (21): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+13 more)
### Community 5 - "Community 5"
Cohesion: 0.07
Nodes (26): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+18 more)
Cohesion: 0.05
Nodes (35): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+27 more)
### Community 6 - "Community 6"
Cohesion: 0.22
@@ -235,7 +235,7 @@ Nodes (5): Dashboard(), metadata, buildPatientUser(), safeJsonParse(), getServer
### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (3): degreeVal, NAME_HONORIFICS, removeTokenHead
Nodes (4): degreeVal, NAME_HONORIFICS, normalizeBlog(), removeTokenHead
### Community 8 - "Community 8"
Cohesion: 0.07
@@ -386,8 +386,8 @@ Cohesion: 0.14
Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سخت‌سازی غیرفعال‌بودن اسلات‌های گذشته در صفحه‌ی نوبت, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more)
### Community 45 - "Community 45"
Cohesion: 0.30
Nodes (12): generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), extractEntityCityId(), findCityById(), getEntityOrigin(), Blog() (+4 more)
Cohesion: 0.25
Nodes (16): generateMetadata(), generateMetadata(), generateMetadata(), imageUrl(), domainScopeCityId(), extractEntityCityId(), findCityById(), isBlogVisibleOnDomain() (+8 more)
### Community 46 - "Community 46"
Cohesion: 0.22
@@ -486,16 +486,16 @@ Cohesion: 0.20
Nodes (9): رفع جهت تبدیل تاریخ تولد هنگام ایجاد پروفایل, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+1 more)
### Community 70 - "Community 70"
Cohesion: 0.20
Nodes (7): AutoComplete(), ButtonFilter(), Content(), ModalSearchCity(), AutoSearch(), FilterButton(), SearchBar()
Cohesion: 0.13
Nodes (13): ClinicsPage(), AutoComplete(), ButtonFilter(), Content(), ModalSearchCity(), AutoSearch(), FilterButton(), SearchBar() (+5 more)
### Community 71 - "Community 71"
Cohesion: 0.22
Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList()
### Community 72 - "Community 72"
Cohesion: 0.27
Nodes (13): generateMetadata(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildFilteredListingCanonical(), buildMainCanonicalUrl(), CANONICAL_QUERY_KEYS, getCanonicalUrl() (+5 more)
Cohesion: 0.26
Nodes (14): generateMetadata(), findDomainByCityId(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildFilteredListingCanonical(), buildMainCanonicalUrl(), CANONICAL_QUERY_KEYS (+6 more)
### Community 73 - "Community 73"
Cohesion: 0.32
@@ -510,28 +510,28 @@ Cohesion: 0.29
Nodes (7): Authentication & Authorization, Development Tools, Frontend Framework, State Management & Data Fetching, UI/UX, 🏗️ معماری و تکنولوژی, کتابخانه‌های تخصصی
### Community 76 - "Community 76"
Cohesion: 0.53
Nodes (3): setNewData(), DetailUser(), Disease()
Cohesion: 0.19
Nodes (8): HeadTab(), setNewData(), DetailUser(), Disease(), IsTurnsDetails(), Medications(), ItemMedication(), ModalAddMedications()
### Community 79 - "Community 79"
Cohesion: 0.17
Nodes (11): زمینه, سایت دامنه اختصاصی نماینده سراسری — تشخیص دامنه، فیلتر پزشکان/کلینیک‌ها, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
### Community 81 - "Community 81"
Cohesion: 0.18
Nodes (11): ClinicsPage(), DoctorsPage(), findDomainByCityId(), resolveCityDisplayName(), buildClinicsIntro(), buildDoctorsIntro(), CLINIC_INTROS(), DOCTOR_INTROS() (+3 more)
Cohesion: 0.29
Nodes (11): Detail(), getClinicAddress(), getClinicCity(), getClinicPhone(), getClinicState(), hasClinicContact(), telHref(), toE164Ir() (+3 more)
### Community 82 - "Community 82"
Cohesion: 0.17
Nodes (11): رفع خطای `TypeError: fetch failed` در sitemap هنگام دیپلوی (Docker build), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
### Community 83 - "Community 83"
Cohesion: 0.39
Nodes (8): generateMetadata(), DoctorPage(), doctorTitle(), buildDoctorFaq(), Doctor(), getBookingLocations, getDoctor, getDoctorAddresses
Cohesion: 0.24
Nodes (5): Head(), Article(), LatestArticles(), Title(), ItemTitle()
### Community 86 - "Community 86"
Cohesion: 0.36
Nodes (7): generateMetadata(), IDS_WITH_ACTIVE_CHILDREN, isCategorySpecialty(), isIndexableSpecialty(), findSpecialty(), getDoctors, SpecialtyDetail()
Cohesion: 0.19
Nodes (11): generateMetadata(), DoctorsPage(), resolveCityDisplayName(), isRootCity(), IDS_WITH_ACTIVE_CHILDREN, isCategorySpecialty(), isIndexableSpecialty(), ListDoctors() (+3 more)
### Community 87 - "Community 87"
Cohesion: 0.33
@@ -598,20 +598,20 @@ Cohesion: 0.14
Nodes (13): زمینه, فایل‌های مرتبط, مشکل / هدف, نوار موبایل — `components/doctor/appointmentList/index.js:20-24`, نکات مهم, وضعیت فعلی, وضعیت «نوبت‌دهی فعال/غیرفعال» پروفایل پزشک از booking_locations, وظایف (+5 more)
### Community 126 - "Community 126"
Cohesion: 0.39
Nodes (6): bodyVariants(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants(), pick()
Cohesion: 0.24
Nodes (7): Card(), STATUS_LABELS, Head(), listTab, Turns(), List(), STATUS_LABELS
### Community 128 - "Community 128"
Cohesion: 0.15
Nodes (12): اصلاح بخش «اطلاعات تماس» صفحه کلینیک, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 140 - "Community 140"
Cohesion: 0.50
Nodes (4): RootLayout(), normalize(), Pageguide(), safeJsonLd()
Cohesion: 0.36
Nodes (6): RootLayout(), Pageguide(), absoluteUrl(), buildBreadcrumbJsonLd(), normalizeBreadcrumb(), safeJsonLd()
### Community 354 - "Community 354"
Cohesion: 0.17
Nodes (8): Clinics(), generateMetadata(), buildClinicParams(), isMaintenanceError(), isNextRedirectError(), axiosInstance, fetchReq(), getClinicDoctors()
Cohesion: 0.15
Nodes (9): Clinics(), generateMetadata(), buildClinicParams(), getRequestOrigin(), isMaintenanceError(), isNextRedirectError(), axiosInstance, fetchReq() (+1 more)
### Community 365 - "Community 365"
Cohesion: 0.08
@@ -638,8 +638,8 @@ Cohesion: 0.29
Nodes (4): ProvinceContext, ProvinceProvider(), Probe(), useProvince()
### Community 372 - "Community 372"
Cohesion: 0.60
Nodes (4): hasRealName(), isThinClinic(), isThinDoctor(), PLACEHOLDER_NAMES
Cohesion: 0.48
Nodes (6): hasRealName(), isNoindexDoctor(), isThinClinic(), isThinDoctor(), isUnclaimedDoctor(), PLACEHOLDER_NAMES
### Community 373 - "Community 373"
Cohesion: 0.12
@@ -693,10 +693,6 @@ Nodes (3): Allergies(), ItemAllergie(), ModalAddAlergie()
Cohesion: 0.40
Nodes (3): FamilyHistory(), ItemHistory(), ModalAddHistory()
### Community 392 - "Community 392"
Cohesion: 0.40
Nodes (3): Medications(), ItemMedication(), ModalAddMedications()
### Community 393 - "Community 393"
Cohesion: 0.40
Nodes (3): ModalAddRelatives(), Relatives(), ItemRelatives()
@@ -712,19 +708,19 @@ Nodes (3): formatToman(), rialToToman(), Paying()
## Knowledge Gaps
- **883 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+878 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **34 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **35 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 1`, `Community 4`, `Community 7`, `Community 83`, `Community 55`, `Community 56`, `Community 380`?**
_High betweenness centrality (0.035) - this node is a cross-community bridge._
- **Why does `getStateInfo()` connect `Community 29` to `Community 89`, `Community 0`, `Community 354`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 369`, `Community 81`, `Community 83`, `Community 51`, `Community 86`, `Community 377`?**
_High betweenness centrality (0.035) - this node is a cross-community bridge._
- **Why does `isRootCity()` connect `Community 81` to `Community 29`, `Community 370`, `Community 3`, `Community 45`?**
- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 4`, `Community 7`, `Community 392`, `Community 81`, `Community 83`, `Community 55`, `Community 56`, `Community 380`?**
_High betweenness centrality (0.034) - this node is a cross-community bridge._
- **Why does `getStateInfo()` connect `Community 29` to `Community 89`, `Community 0`, `Community 354`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 369`, `Community 51`, `Community 86`, `Community 377`?**
_High betweenness centrality (0.033) - this node is a cross-community bridge._
- **Why does `isRootCity()` connect `Community 86` to `Community 3`, `Community 70`, `Community 72`, `Community 45`, `Community 370`, `Community 29`?**
_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 27 inferred relationships involving `getStateInfo()` (e.g. with `generateMetadata()` and `AboutUsPage()`) actually correct?**
_`getStateInfo()` has 27 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?**
File diff suppressed because one or more lines are too long
+518 -129
View File
File diff suppressed because it is too large Load Diff
+38 -28
View File
@@ -35,8 +35,8 @@
"semantic_hash": ""
},
"app/blog/[slug]/page.js": {
"mtime": 1784832309.728813,
"ast_hash": "56343a31044fb94d5cfdc81b4f1b0ac5",
"mtime": 1784876758.3168705,
"ast_hash": "bc64f595e4a674bfc2f7f5e489776756",
"semantic_hash": ""
},
"app/blogs/loading.js": {
@@ -60,8 +60,8 @@
"semantic_hash": ""
},
"app/clinics/page.js": {
"mtime": 1784530043.0266027,
"ast_hash": "024509f328560e13971e9b655a72b650",
"mtime": 1784876808.0593748,
"ast_hash": "de9c390028b94a180634a5fdb10b9156",
"semantic_hash": ""
},
"app/component/AnimationTextHead.js": {
@@ -120,8 +120,8 @@
"semantic_hash": ""
},
"app/component/Pageguide.js": {
"mtime": 1784454676.4604948,
"ast_hash": "9d7f746731e37d418ca709cbf67dd0fe",
"mtime": 1784876683.0813916,
"ast_hash": "1b0b648b0c9c78b95f9d365edbe7f478",
"semantic_hash": ""
},
"app/component/Pagination.js": {
@@ -405,8 +405,8 @@
"semantic_hash": ""
},
"app/doctor/[slug]/page.js": {
"mtime": 1784822786.285657,
"ast_hash": "ca2f01ced8225e062f862af4b1b31de9",
"mtime": 1785044477.0383642,
"ast_hash": "bf73e97801745d1f7d3c5b5b8d2bc8de",
"semantic_hash": ""
},
"app/doctors/loading.js": {
@@ -470,8 +470,8 @@
"semantic_hash": ""
},
"app/sitemap.js": {
"mtime": 1784535207.0520518,
"ast_hash": "88f456b387f2643d7a818788818de263",
"mtime": 1785044484.0778637,
"ast_hash": "915924eeeba8a0dd46d0e65c636a6177",
"semantic_hash": ""
},
"app/specialties/page.js": {
@@ -850,8 +850,8 @@
"semantic_hash": ""
},
"components/clinic/index.js": {
"mtime": 1784454676.467886,
"ast_hash": "591faaba172c34e9941f65aed342ce42",
"mtime": 1784876740.1728597,
"ast_hash": "5c7944b47e5d8a3ff1d992c3b9227e1c",
"semantic_hash": ""
},
"components/clinics/head/AutoSearch.js": {
@@ -895,8 +895,8 @@
"semantic_hash": ""
},
"components/clinics/index.js": {
"mtime": 1784454676.468106,
"ast_hash": "2603349d756447db2fd5355e18cd1f58",
"mtime": 1784876702.7872293,
"ast_hash": "d5b7a0370ae72ecf4ae0ee623f8b0b0f",
"semantic_hash": ""
},
"components/clinics/list/ItemClinic.js": {
@@ -905,8 +905,8 @@
"semantic_hash": ""
},
"components/clinics/list/index.js": {
"mtime": 1784454676.4682598,
"ast_hash": "d74c2cf770f7a2eb7cc9bf31357bb0b4",
"mtime": 1784876702.7873883,
"ast_hash": "78037ee91f4b8d704147ae47b4d99c52",
"semantic_hash": ""
},
"components/common/InlineJalaliMonth.js": {
@@ -2590,8 +2590,8 @@
"semantic_hash": ""
},
"lib/getCanonicalUrl.js": {
"mtime": 1784530043.0310416,
"ast_hash": "29ab318c6e1e461b642536ea18bb8e71",
"mtime": 1784874533.7205474,
"ast_hash": "0553471cbf3c681808553b6fe13d5eed",
"semantic_hash": ""
},
"lib/getStateInfo.js": {
@@ -3465,8 +3465,8 @@
"semantic_hash": ""
},
"app/specialties/[slug]/page.js": {
"mtime": 1784535170.0003273,
"ast_hash": "8fef9bb3c7b1f655f8bb26b6c3e0b5f4",
"mtime": 1784876740.1727207,
"ast_hash": "b5dfd09100a684b5832de335c5cab741",
"semantic_hash": ""
},
"components/doctor/appointmentList/bookingState.js": {
@@ -3485,8 +3485,8 @@
"semantic_hash": ""
},
"components/specialties/detail/index.js": {
"mtime": 1784454676.4712193,
"ast_hash": "9fa7eef69222ea971d829772150cb141",
"mtime": 1784876740.1719997,
"ast_hash": "d0320943cfa59aa5c0433c2bd135b030",
"semantic_hash": ""
},
"lib/canonicalStrategy.test.js": {
@@ -3495,18 +3495,18 @@
"semantic_hash": ""
},
"lib/domainHelpers.js": {
"mtime": 1784454676.4877234,
"ast_hash": "e0f5948b507f09b0ef84897f90de1f8a",
"mtime": 1784874533.7201355,
"ast_hash": "2d7608611497d998c04d64e23b0df4e2",
"semantic_hash": ""
},
"lib/domainHelpers.test.js": {
"mtime": 1784454676.4880004,
"ast_hash": "826bdecb83969bfce8a74dc07c9e354a",
"mtime": 1784874533.7203312,
"ast_hash": "b11d1bb431daf1e2209c41b5474f5ad5",
"semantic_hash": ""
},
"lib/entityQuality.js": {
"mtime": 1784454676.4883,
"ast_hash": "51fb7d01b553143993b6bb4dab0c2724",
"mtime": 1785044470.782807,
"ast_hash": "52b61e167ea55638fa1936c9f7cab0a3",
"semantic_hash": ""
},
"lib/listingIntro.js": {
@@ -3608,5 +3608,15 @@
"mtime": 1784530043.061454,
"ast_hash": "d7bcbce7214619081f4d313b6cfa40fc",
"semantic_hash": ""
},
"lib/breadcrumb.js": {
"mtime": 1784876660.6024294,
"ast_hash": "1a8b07e4e9290618e192c98e1fc232e7",
"semantic_hash": ""
},
"lib/breadcrumb.test.js": {
"mtime": 1784876781.6633182,
"ast_hash": "8174a437e0324180b295035a571de253",
"semantic_hash": ""
}
}