Update manifest.json and add new AST cache files for clinic contact info and maintenance mode prompts

- Updated mtime and ast_hash for several files in manifest.json
- Added new AST cache files for the clinic contact info fix and maintenance mode client prompts
This commit is contained in:
hamed
2026-07-19 22:06:34 +03:30
parent daf38c8631
commit 9011b230b3
8 changed files with 1587 additions and 361 deletions
+20 -1
View File
@@ -66,6 +66,7 @@
"64": "Community 64", "64": "Community 64",
"65": "Community 65", "65": "Community 65",
"66": "Community 66", "66": "Community 66",
"67": "Community 67",
"68": "Community 68", "68": "Community 68",
"69": "Community 69", "69": "Community 69",
"70": "Community 70", "70": "Community 70",
@@ -126,6 +127,7 @@
"125": "Community 125", "125": "Community 125",
"126": "Community 126", "126": "Community 126",
"127": "Community 127", "127": "Community 127",
"128": "Community 128",
"129": "Community 129", "129": "Community 129",
"130": "Community 130", "130": "Community 130",
"131": "Community 131", "131": "Community 131",
@@ -364,6 +366,10 @@
"364": "Community 364", "364": "Community 364",
"365": "Community 365", "365": "Community 365",
"366": "Community 366", "366": "Community 366",
"367": "Community 367",
"368": "Community 368",
"369": "Community 369",
"370": "Community 370",
"371": "Community 371", "371": "Community 371",
"372": "Community 372", "372": "Community 372",
"373": "Community 373", "373": "Community 373",
@@ -377,8 +383,21 @@
"381": "Community 381", "381": "Community 381",
"382": "Community 382", "382": "Community 382",
"383": "Community 383", "383": "Community 383",
"384": "Community 384",
"385": "Community 385", "385": "Community 385",
"386": "Community 386", "386": "Community 386",
"387": "Community 387", "387": "Community 387",
"388": "Community 388" "388": "Community 388",
"389": "Community 389",
"390": "Community 390",
"391": "Community 391",
"392": "Community 392",
"393": "Community 393",
"394": "Community 394",
"395": "Community 395",
"396": "Community 396",
"397": "Community 397",
"398": "Community 398",
"399": "Community 399",
"400": "Community 400"
} }
+134 -52
View File
@@ -1,16 +1,16 @@
# Graph Report - nobat724_front (2026-07-19) # Graph Report - nobat724_front (2026-07-19)
## Corpus Check ## Corpus Check
- 622 files · ~563,279 words - 628 files · ~566,853 words
- Verdict: corpus is large enough that graph structure adds value. - Verdict: corpus is large enough that graph structure adds value.
## Summary ## Summary
- 2294 nodes · 2334 edges · 382 communities (348 shown, 34 thin omitted) - 2339 nodes · 2396 edges · 401 communities (365 shown, 36 thin omitted)
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 139 edges (avg confidence: 0.8) - Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 158 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output - Token cost: 0 input · 0 output
## Graph Freshness ## Graph Freshness
- Built from commit: `29b88190` - Built from commit: `daf38c86`
- Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost). - Run `graphify update .` after code changes (no API cost).
@@ -82,6 +82,7 @@
- [[_COMMUNITY_Community 64|Community 64]] - [[_COMMUNITY_Community 64|Community 64]]
- [[_COMMUNITY_Community 65|Community 65]] - [[_COMMUNITY_Community 65|Community 65]]
- [[_COMMUNITY_Community 66|Community 66]] - [[_COMMUNITY_Community 66|Community 66]]
- [[_COMMUNITY_Community 67|Community 67]]
- [[_COMMUNITY_Community 68|Community 68]] - [[_COMMUNITY_Community 68|Community 68]]
- [[_COMMUNITY_Community 69|Community 69]] - [[_COMMUNITY_Community 69|Community 69]]
- [[_COMMUNITY_Community 70|Community 70]] - [[_COMMUNITY_Community 70|Community 70]]
@@ -136,13 +137,19 @@
- [[_COMMUNITY_Community 124|Community 124]] - [[_COMMUNITY_Community 124|Community 124]]
- [[_COMMUNITY_Community 125|Community 125]] - [[_COMMUNITY_Community 125|Community 125]]
- [[_COMMUNITY_Community 126|Community 126]] - [[_COMMUNITY_Community 126|Community 126]]
- [[_COMMUNITY_Community 128|Community 128]]
- [[_COMMUNITY_Community 140|Community 140]] - [[_COMMUNITY_Community 140|Community 140]]
- [[_COMMUNITY_Community 195|Community 195]] - [[_COMMUNITY_Community 195|Community 195]]
- [[_COMMUNITY_Community 339|Community 339]] - [[_COMMUNITY_Community 339|Community 339]]
- [[_COMMUNITY_Community 347|Community 347]] - [[_COMMUNITY_Community 347|Community 347]]
- [[_COMMUNITY_Community 348|Community 348]] - [[_COMMUNITY_Community 348|Community 348]]
- [[_COMMUNITY_Community 354|Community 354]]
- [[_COMMUNITY_Community 365|Community 365]] - [[_COMMUNITY_Community 365|Community 365]]
- [[_COMMUNITY_Community 366|Community 366]] - [[_COMMUNITY_Community 366|Community 366]]
- [[_COMMUNITY_Community 367|Community 367]]
- [[_COMMUNITY_Community 368|Community 368]]
- [[_COMMUNITY_Community 369|Community 369]]
- [[_COMMUNITY_Community 370|Community 370]]
- [[_COMMUNITY_Community 371|Community 371]] - [[_COMMUNITY_Community 371|Community 371]]
- [[_COMMUNITY_Community 372|Community 372]] - [[_COMMUNITY_Community 372|Community 372]]
- [[_COMMUNITY_Community 373|Community 373]] - [[_COMMUNITY_Community 373|Community 373]]
@@ -155,47 +162,58 @@
- [[_COMMUNITY_Community 380|Community 380]] - [[_COMMUNITY_Community 380|Community 380]]
- [[_COMMUNITY_Community 381|Community 381]] - [[_COMMUNITY_Community 381|Community 381]]
- [[_COMMUNITY_Community 382|Community 382]] - [[_COMMUNITY_Community 382|Community 382]]
- [[_COMMUNITY_Community 384|Community 384]]
- [[_COMMUNITY_Community 385|Community 385]] - [[_COMMUNITY_Community 385|Community 385]]
- [[_COMMUNITY_Community 386|Community 386]] - [[_COMMUNITY_Community 386|Community 386]]
- [[_COMMUNITY_Community 387|Community 387]] - [[_COMMUNITY_Community 387|Community 387]]
- [[_COMMUNITY_Community 388|Community 388]] - [[_COMMUNITY_Community 388|Community 388]]
- [[_COMMUNITY_Community 389|Community 389]]
- [[_COMMUNITY_Community 390|Community 390]]
- [[_COMMUNITY_Community 391|Community 391]]
- [[_COMMUNITY_Community 392|Community 392]]
- [[_COMMUNITY_Community 393|Community 393]]
- [[_COMMUNITY_Community 394|Community 394]]
- [[_COMMUNITY_Community 395|Community 395]]
- [[_COMMUNITY_Community 396|Community 396]]
- [[_COMMUNITY_Community 397|Community 397]]
- [[_COMMUNITY_Community 398|Community 398]]
## God Nodes (most connected - your core abstractions) ## God Nodes (most connected - your core abstractions)
1. `getStateInfo()` - 27 edges 1. `getStateInfo()` - 27 edges
2. `🏥 نوبت724 (Nobat724) - سیستم نوبت‌دهی آنلاین پزشکی` - 19 edges 2. `🏥 نوبت724 (Nobat724) - سیستم نوبت‌دهی آنلاین پزشکی` - 19 edges
3. `تقسیم ممیزی SEO به پرامپت‌های کوچک اجرایی — nobat724` - 18 edges 3. `تقسیم ممیزی SEO به پرامپت‌های کوچک اجرایی — nobat724` - 18 edges
4. `imageUrl()` - 15 edges 4. `imageUrl()` - 15 edges
5. `Doctor()` - 11 edges 5. `Clinic()` - 13 edges
6. `Blog()` - 10 edges 6. `Doctor()` - 12 edges
7. `Dashboard()` - 10 edges 7. `Blog()` - 10 edges
8. `sitemap()` - 10 edges 8. `Dashboard()` - 10 edges
9. `بهینه‌سازی SEO تک‌تک شهرها در city.json (سطح حرفه‌ای)` - 10 edges 9. `sitemap()` - 10 edges
10. ازطراحی حرفه‌ای پوستر اشتراک‌گذاری پزشک (دانلود)` - 10 edges 10. هینه‌سازی SEO تک‌تک شهرها در city.json (سطح حرفه‌ای)` - 10 edges
## Surprising Connections (you probably didn't know these) ## 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] - `SpecialtyDetail()` --calls--> `buildSpecialtyFaq()` [INFERRED]
app/specialties/[slug]/page.js → lib/specialtyContent.js app/specialties/[slug]/page.js → lib/specialtyContent.js
- `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED] - `AboutUsPage()` --calls--> `getStateInfo()` [INFERRED]
components/aboutUs/index.js → lib/getStateInfo.js components/aboutUs/index.js → lib/getStateInfo.js
- `ContactUsPage()` --calls--> `getStateInfo()` [INFERRED] - `ContactUsPage()` --calls--> `getStateInfo()` [INFERRED]
components/contactUs/index.js → lib/getStateInfo.js components/contactUs/index.js → lib/getStateInfo.js
- `SearchBar()` --calls--> `getStateInfo()` [INFERRED]
components/home/search/index.js → lib/getStateInfo.js
- `StLayout()` --calls--> `getStateInfo()` [INFERRED]
components/layout/StLayout.js → lib/getStateInfo.js
## Import Cycles ## Import Cycles
- None detected. - None detected.
## Communities (382 total, 34 thin omitted) ## Communities (401 total, 36 thin omitted)
### Community 0 - "Community 0" ### Community 0 - "Community 0"
Cohesion: 0.05 Cohesion: 0.05
Nodes (27): BgGray(), ButtonMenu(), Col(), ModalLogout(), Footer(), head, LogoNamad(), Namads (+19 more) Nodes (27): BgGray(), ButtonMenu(), Col(), ModalLogout(), Footer(), head, LogoNamad(), Namads (+19 more)
### Community 1 - "Community 1" ### Community 1 - "Community 1"
Cohesion: 0.26 Cohesion: 0.24
Nodes (7): Head(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm(), Head() Nodes (8): Head(), convertTimestampToJalali(), convertTimestampToTime(), ButtonData(), DetailLg(), DetailSm(), Head(), Card()
### Community 2 - "Community 2" ### Community 2 - "Community 2"
Cohesion: 0.04 Cohesion: 0.04
@@ -207,19 +225,19 @@ Nodes (16): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), g
### Community 4 - "Community 4" ### Community 4 - "Community 4"
Cohesion: 0.06 Cohesion: 0.06
Nodes (22): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+14 more) Nodes (21): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+13 more)
### Community 5 - "Community 5" ### Community 5 - "Community 5"
Cohesion: 0.06 Cohesion: 0.06
Nodes (26): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+18 more) Nodes (29): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+21 more)
### Community 6 - "Community 6" ### Community 6 - "Community 6"
Cohesion: 0.08 Cohesion: 0.22
Nodes (13): Dashboard(), metadata, defineAbilitiesFor(), getUser(), buildPatientUser(), getServerAccessToken(), clearAccessToken(), LogIn() (+5 more) Nodes (5): Dashboard(), metadata, buildPatientUser(), safeJsonParse(), getServerAccessToken()
### Community 8 - "Community 8" ### Community 8 - "Community 8"
Cohesion: 0.07 Cohesion: 0.13
Nodes (28): devDependencies, babel-plugin-react-compiler, cross-env, eslint, eslint-config-next, @eslint/eslintrc, jsdom, prettier (+20 more) Nodes (15): devDependencies, babel-plugin-react-compiler, cross-env, eslint, eslint-config-next, @eslint/eslintrc, jsdom, prettier (+7 more)
### Community 9 - "Community 9" ### Community 9 - "Community 9"
Cohesion: 0.07 Cohesion: 0.07
@@ -302,8 +320,8 @@ Cohesion: 0.12
Nodes (16): دیپلوی nobat724_front روی Liara (پلتفرم Next.js), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+8 more) Nodes (16): دیپلوی nobat724_front روی Liara (پلتفرم Next.js), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+8 more)
### Community 29 - "Community 29" ### Community 29 - "Community 29"
Cohesion: 0.08 Cohesion: 0.13
Nodes (21): generateMetadata(), Blogs(), generateMetadata(), Clinics(), generateMetadata(), Appointment(), metadata, Doctors() (+13 more) Nodes (11): generateMetadata(), Blogs(), generateMetadata(), Appointment(), metadata, fetchSiteContext(), getStateInfo(), siteContextCache (+3 more)
### Community 30 - "Community 30" ### Community 30 - "Community 30"
Cohesion: 0.12 Cohesion: 0.12
@@ -366,12 +384,12 @@ Cohesion: 0.14
Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سخت‌سازی غیرفعال‌بودن اسلات‌های گذشته در صفحه‌ی نوبت, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more) Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سخت‌سازی غیرفعال‌بودن اسلات‌های گذشته در صفحه‌ی نوبت, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more)
### Community 45 - "Community 45" ### Community 45 - "Community 45"
Cohesion: 0.21 Cohesion: 0.27
Nodes (17): generateMetadata(), generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), extractEntityCityId(), findCityById(), getEntityOrigin() (+9 more) Nodes (13): generateMetadata(), generateMetadata(), imageUrl(), normalizeBlog(), extractEntityCityId(), findCityById(), getEntityOrigin(), Blog() (+5 more)
### Community 46 - "Community 46" ### Community 46 - "Community 46"
Cohesion: 0.09 Cohesion: 0.22
Nodes (18): formatToman(), rialToToman(), Messages(), Message(), Paying(), Card(), PAYMENT_STATUS, TYPE_LABELS (+10 more) Nodes (6): Messages(), Message(), Head(), listTab, UserAccountPage(), NotfoundDashboard()
### Community 47 - "Community 47" ### Community 47 - "Community 47"
Cohesion: 0.15 Cohesion: 0.15
@@ -453,6 +471,10 @@ Nodes (5): CustomToastify(), viewport, Providers(), ThemeRegistry(), theme
Cohesion: 0.36 Cohesion: 0.36
Nodes (4): fixedIconData, nextIconData, prevIconData, LoadingDate() Nodes (4): fixedIconData, nextIconData, prevIconData, LoadingDate()
### Community 67 - "Community 67"
Cohesion: 0.27
Nodes (12): generateMetadata(), Detail(), getClinicAddress(), getClinicCity(), getClinicPhone(), getClinicState(), hasClinicContact(), telHref() (+4 more)
### Community 68 - "Community 68" ### Community 68 - "Community 68"
Cohesion: 0.27 Cohesion: 0.27
Nodes (6): clearRefreshCookie(), cookieDomain(), setRefreshCookie(), POST(), POST(), POST() Nodes (6): clearRefreshCookie(), cookieDomain(), setRefreshCookie(), POST(), POST(), POST()
@@ -462,16 +484,16 @@ Cohesion: 0.20
Nodes (9): رفع جهت تبدیل تاریخ تولد هنگام ایجاد پروفایل, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+1 more) Nodes (9): رفع جهت تبدیل تاریخ تولد هنگام ایجاد پروفایل, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+1 more)
### Community 70 - "Community 70" ### Community 70 - "Community 70"
Cohesion: 0.13 Cohesion: 0.11
Nodes (13): ClinicsPage(), AutoComplete(), ButtonFilter(), Content(), ModalSearchCity(), AutoSearch(), FilterButton(), SearchBar() (+5 more) Nodes (15): ClinicsPage(), DoctorsPage(), AutoComplete(), ButtonFilter(), Content(), ModalSearchCity(), AutoSearch(), FilterButton() (+7 more)
### Community 71 - "Community 71" ### Community 71 - "Community 71"
Cohesion: 0.22 Cohesion: 0.22
Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList() Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList()
### Community 72 - "Community 72" ### Community 72 - "Community 72"
Cohesion: 0.26 Cohesion: 0.27
Nodes (13): generateMetadata(), findDomainByCityId(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildMainCanonicalUrl(), buildSpecialtyCanonicalPath(), CANONICAL_QUERY_KEYS (+5 more) Nodes (13): generateMetadata(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildMainCanonicalUrl(), buildSpecialtyCanonicalPath(), CANONICAL_QUERY_KEYS, getCanonicalUrl() (+5 more)
### Community 73 - "Community 73" ### Community 73 - "Community 73"
Cohesion: 0.32 Cohesion: 0.32
@@ -486,8 +508,8 @@ Cohesion: 0.29
Nodes (7): Authentication & Authorization, Development Tools, Frontend Framework, State Management & Data Fetching, UI/UX, 🏗️ معماری و تکنولوژی, کتابخانه‌های تخصصی Nodes (7): Authentication & Authorization, Development Tools, Frontend Framework, State Management & Data Fetching, UI/UX, 🏗️ معماری و تکنولوژی, کتابخانه‌های تخصصی
### Community 76 - "Community 76" ### Community 76 - "Community 76"
Cohesion: 0.07 Cohesion: 0.33
Nodes (20): Allergies(), ItemAllergie(), HeadTab(), setNewData(), DetailUser(), Disease(), FamilyHistory(), ItemHistory() (+12 more) Nodes (5): HeadTab(), setNewData(), DetailUser(), Disease(), IsTurnsDetails()
### Community 79 - "Community 79" ### Community 79 - "Community 79"
Cohesion: 0.17 Cohesion: 0.17
@@ -503,11 +525,11 @@ Nodes (11): رفع خطای `TypeError: fetch failed` در sitemap هنگام د
### Community 83 - "Community 83" ### Community 83 - "Community 83"
Cohesion: 0.24 Cohesion: 0.24
Nodes (7): Card(), STATUS_LABELS, Head(), listTab, Turns(), List(), STATUS_LABELS Nodes (6): STATUS_LABELS, Head(), listTab, Turns(), List(), STATUS_LABELS
### Community 86 - "Community 86" ### Community 86 - "Community 86"
Cohesion: 0.27 Cohesion: 0.36
Nodes (8): generateMetadata(), DoctorsPage(), resolveCityDisplayName(), isRootCity(), ListDoctors(), findSpecialty(), getDoctors, SpecialtyDetail() Nodes (7): generateMetadata(), findDomainByCityId(), resolveCityDisplayName(), isRootCity(), findSpecialty(), getDoctors, SpecialtyDetail()
### Community 87 - "Community 87" ### Community 87 - "Community 87"
Cohesion: 0.33 Cohesion: 0.33
@@ -570,12 +592,20 @@ Cohesion: 0.14
Nodes (13): زمینه, فایل‌های مرتبط, مشکل / هدف, نوار موبایل — `components/doctor/appointmentList/index.js:20-24`, نکات مهم, وضعیت فعلی, وضعیت «نوبت‌دهی فعال/غیرفعال» پروفایل پزشک از booking_locations, وظایف (+5 more) Nodes (13): زمینه, فایل‌های مرتبط, مشکل / هدف, نوار موبایل — `components/doctor/appointmentList/index.js:20-24`, نکات مهم, وضعیت فعلی, وضعیت «نوبت‌دهی فعال/غیرفعال» پروفایل پزشک از booking_locations, وظایف (+5 more)
### Community 126 - "Community 126" ### Community 126 - "Community 126"
Cohesion: 0.33 Cohesion: 0.39
Nodes (7): bodyVariants(), buildDoctorFaq(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants(), pick() Nodes (6): bodyVariants(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants(), pick()
### Community 128 - "Community 128"
Cohesion: 0.15
Nodes (12): اصلاح بخش «اطلاعات تماس» صفحه کلینیک, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 140 - "Community 140" ### Community 140 - "Community 140"
Cohesion: 0.40 Cohesion: 0.50
Nodes (5): RootLayout(), normalize(), Pageguide(), getRequestOrigin(), safeJsonLd() Nodes (4): RootLayout(), normalize(), Pageguide(), safeJsonLd()
### Community 354 - "Community 354"
Cohesion: 0.12
Nodes (13): Clinics(), generateMetadata(), Doctors(), generateMetadata(), buildClinicParams(), buildDoctorParams(), listingRobots(), USER_FILTER_KEYS (+5 more)
### Community 365 - "Community 365" ### Community 365 - "Community 365"
Cohesion: 0.08 Cohesion: 0.08
@@ -585,6 +615,22 @@ Nodes (23): endpoint جدید, انتخاب محل نوبت‌دهی (مطب ش
Cohesion: 0.11 Cohesion: 0.11
Nodes (18): P10 — بلاگ شهر-محور (C4), P11 — FAQPage schema و متن مقدمهٔ یکتا (M1 + M2), P1 — بررسی robots.txt (پیش‌نیاز اعتبارسنجی), P2 — هلپرهای مشترک (زیرساخت), P3 — رفع noindex سیستمیک صفحات لیست (C5 — بدترین باگ), P4 — استراتژی canonical سه‌دسته + تصمیم pagination (C1-a/b/c + M3-B), P5 — بازسازی sitemap (C2), P6 — صفحات موجودیت: Soft-404 و noindex کلینیک خالی (H4 + H7) (+10 more) Nodes (18): P10 — بلاگ شهر-محور (C4), P11 — FAQPage schema و متن مقدمهٔ یکتا (M1 + M2), P1 — بررسی robots.txt (پیش‌نیاز اعتبارسنجی), P2 — هلپرهای مشترک (زیرساخت), P3 — رفع noindex سیستمیک صفحات لیست (C5 — بدترین باگ), P4 — استراتژی canonical سه‌دسته + تصمیم pagination (C1-a/b/c + M3-B), P5 — بازسازی sitemap (C2), P6 — صفحات موجودیت: Soft-404 و noindex کلینیک خالی (H4 + H7) (+10 more)
### Community 367 - "Community 367"
Cohesion: 0.15
Nodes (12): زمینه, فایل‌های مرتبط, نمایش حالت تعمیرات (Maintenance) در سایت عمومی, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. helper مشترک تشخیص (+4 more)
### Community 368 - "Community 368"
Cohesion: 0.19
Nodes (9): Card(), PAYMENT_STATUS, TYPE_LABELS, Head(), listTab, Transactions(), List(), PAYMENT_STATUS (+1 more)
### Community 369 - "Community 369"
Cohesion: 0.25
Nodes (8): scripts, build, dev, lint, start, test, test:cov, test:watch
### Community 370 - "Community 370"
Cohesion: 0.29
Nodes (4): ProvinceContext, ProvinceProvider(), Probe(), useProvince()
### Community 372 - "Community 372" ### Community 372 - "Community 372"
Cohesion: 0.60 Cohesion: 0.60
Nodes (4): hasRealName(), isThinClinic(), isThinDoctor(), PLACEHOLDER_NAMES Nodes (4): hasRealName(), isThinClinic(), isThinDoctor(), PLACEHOLDER_NAMES
@@ -613,6 +659,14 @@ Nodes (4): SearchBar(), ButtonFilter(), Fields(), RedirectLink()
Cohesion: 0.40 Cohesion: 0.40
Nodes (3): KOHGILUYEH, scope, YASUJ Nodes (3): KOHGILUYEH, scope, YASUJ
### Community 379 - "Community 379"
Cohesion: 0.29
Nodes (4): defineAbilitiesFor(), getUser(), LogIn(), metadata
### Community 384 - "Community 384"
Cohesion: 0.29
Nodes (3): clearAccessToken(), handleSessionExpired(), removeToken()
### Community 385 - "Community 385" ### Community 385 - "Community 385"
Cohesion: 0.17 Cohesion: 0.17
Nodes (11): تأیید زندهٔ فیکس‌های SEO بعد از deploy, زمینه, نکات مهم, هدف, وظایف, پروژه, ۱. پیش از deploy, ۲. اجرای معیارهای پذیرش روی production (+3 more) Nodes (11): تأیید زندهٔ فیکس‌های SEO بعد از deploy, زمینه, نکات مهم, هدف, وظایف, پروژه, ۱. پیش از deploy, ۲. اجرای معیارهای پذیرش روی production (+3 more)
@@ -626,28 +680,56 @@ Cohesion: 0.20
Nodes (9): زمینه, ساده‌سازی sitemap با شهرِ موجود در پاسخ + آستانهٔ sitemap-index, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. حذف ۳۵ sweep و یکسان‌سازی با الگوی کلینیک, ۲. آستانهٔ sitemap-index (مستقل از backend) (+1 more) Nodes (9): زمینه, ساده‌سازی sitemap با شهرِ موجود در پاسخ + آستانهٔ sitemap-index, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. حذف ۳۵ sweep و یکسان‌سازی با الگوی کلینیک, ۲. آستانهٔ sitemap-index (مستقل از backend) (+1 more)
### Community 388 - "Community 388" ### Community 388 - "Community 388"
Cohesion: 0.12 Cohesion: 0.36
Nodes (9): ProvinceContext, ProvinceProvider(), Probe(), useProvince(), Content(), Form(), SubmitData(), EditField() (+1 more) Nodes (3): Form(), SubmitData(), ButtonFixed()
### Community 390 - "Community 390"
Cohesion: 0.40
Nodes (3): Allergies(), ItemAllergie(), ModalAddAlergie()
### Community 391 - "Community 391"
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()
### Community 394 - "Community 394"
Cohesion: 0.40
Nodes (3): ModalAddSurgeries(), Surgeries(), ItemSurgeries()
### Community 396 - "Community 396"
Cohesion: 0.33
Nodes (5): engines, node, name, private, version
### Community 397 - "Community 397"
Cohesion: 0.50
Nodes (3): formatToman(), rialToToman(), Paying()
## Knowledge Gaps ## Knowledge Gaps
- **839 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+834 more) - **860 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+855 more)
These have ≤1 connection - possible missing edges or undocumented components. 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. - **36 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions ## Suggested Questions
_Questions this graph is uniquely positioned to answer:_ _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`?** - **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.032) - this node is a cross-community bridge._ _High betweenness centrality (0.034) - this node is a cross-community bridge._
- **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 51`, `Community 86`, `Community 377`?** - **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 354`, `Community 67`, `Community 6`, `Community 72`, `Community 140`, `Community 45`, `Community 14`, `Community 16`, `Community 51`, `Community 86`, `Community 377`?**
_High betweenness centrality (0.027) - this node is a cross-community bridge._ _High betweenness centrality (0.033) - this node is a cross-community bridge._
- **Why does `isRootCity()` connect `Community 86` to `Community 3`, `Community 388`, `Community 70`, `Community 72`, `Community 45`, `Community 29`?** - **Why does `isRootCity()` connect `Community 86` to `Community 3`, `Community 70`, `Community 45`, `Community 370`, `Community 29`?**
_High betweenness centrality (0.021) - this node is a cross-community bridge._ _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?** - **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._ _`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?** - **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._ _`imageUrl()` has 14 INFERRED edges - model-reasoned connections that need verification._
- **What connects `metadata`, `fallbackLabels`, `MaterialUISwitch` to the rest of the system?** - **What connects `metadata`, `fallbackLabels`, `MaterialUISwitch` to the rest of the system?**
_839 weakly-connected nodes found - possible documentation gaps or missing edges._ _860 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?** - **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._ _Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1349 -256
View File
File diff suppressed because it is too large Load Diff
+77 -47
View File
@@ -50,8 +50,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/clinic/[slug]/page.js": { "app/clinic/[slug]/page.js": {
"mtime": 1784454676.459816, "mtime": 1784465628.3849354,
"ast_hash": "a0fa950517333d4dfbd2cf07173297e5", "ast_hash": "c433a81f375e62991a8dac6bd5a20819",
"semantic_hash": "" "semantic_hash": ""
}, },
"app/clinics/loading.js": { "app/clinics/loading.js": {
@@ -60,8 +60,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/clinics/page.js": { "app/clinics/page.js": {
"mtime": 1784454676.460196, "mtime": 1784485551.17231,
"ast_hash": "5bba3feb0c956e665183bcd1ec40c6ac", "ast_hash": "103fc4664c42844d34a76ea9d64a7a13",
"semantic_hash": "" "semantic_hash": ""
}, },
"app/component/AnimationTextHead.js": { "app/component/AnimationTextHead.js": {
@@ -100,8 +100,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/component/ItemDoctor.js": { "app/component/ItemDoctor.js": {
"mtime": 1783776875.6728048, "mtime": 1784477871.5335336,
"ast_hash": "8aa8fe97d8dd40d8f824c92b02737725", "ast_hash": "1009c0cbc8306fe09181c965c9a9c4ab",
"semantic_hash": "" "semantic_hash": ""
}, },
"app/component/LoadingComponent.js": { "app/component/LoadingComponent.js": {
@@ -405,8 +405,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/doctor/[slug]/page.js": { "app/doctor/[slug]/page.js": {
"mtime": 1784454676.4619153, "mtime": 1784478268.6815703,
"ast_hash": "db96a84c61baa865908cdee7d6d4e897", "ast_hash": "20bcce2304d2b509022dbbe332e5bcba",
"semantic_hash": "" "semantic_hash": ""
}, },
"app/doctors/loading.js": { "app/doctors/loading.js": {
@@ -415,8 +415,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/doctors/page.js": { "app/doctors/page.js": {
"mtime": 1784454676.4620674, "mtime": 1784485536.8339767,
"ast_hash": "6540db05ff1cc0de7d0e1c55e5ae3471", "ast_hash": "5f0ff2fd1a2fb283d1785ef657f21ae6",
"semantic_hash": "" "semantic_hash": ""
}, },
"app/error.js": { "app/error.js": {
@@ -705,8 +705,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/clinic/components/about/images/Images.js": { "components/clinic/components/about/images/Images.js": {
"mtime": 1783776875.6928213, "mtime": 1784464720.6048315,
"ast_hash": "4b273bd7c1b2d8caa68dcd83c75e63cf", "ast_hash": "54646f7f4bea0993e77693d325ff9eb4",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/clinic/components/about/images/Img.js": { "components/clinic/components/about/images/Img.js": {
@@ -735,13 +735,13 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/clinic/components/contact/Detail.js": { "components/clinic/components/contact/Detail.js": {
"mtime": 1764813617.2905731, "mtime": 1784465598.4666862,
"ast_hash": "ca0ff41954c0956e995fdf1e1e76ecfe", "ast_hash": "e247ca0b10980cdec8914bb9d5db1f03",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/clinic/components/contact/index.js": { "components/clinic/components/contact/index.js": {
"mtime": 1783776875.693096, "mtime": 1784466408.9955266,
"ast_hash": "c291a8c8574ca6184800e85fda62975c", "ast_hash": "cd46000d2bf4898b5f787e51d1c5361f",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/clinic/components/contact/modal/Content.js": { "components/clinic/components/contact/modal/Content.js": {
@@ -1280,8 +1280,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/List.js": { "components/doctor/detailDoctor/List.js": {
"mtime": 1783776875.704899, "mtime": 1784463414.3231478,
"ast_hash": "06c0cbc43a7733beb007fb746e382223", "ast_hash": "e6595c670bdbfc1aaec1bb31a4e3047d",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/Share.js": { "components/doctor/detailDoctor/Share.js": {
@@ -1290,8 +1290,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/Title.js": { "components/doctor/detailDoctor/Title.js": {
"mtime": 1783837644.4444997, "mtime": 1784463399.0264654,
"ast_hash": "b1bb2922b5bdd2bb0b05d2674a559463", "ast_hash": "7c0add5b45ac48be79694fa07cc369ac",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/cards/AboutDcotor.js": { "components/doctor/detailDoctor/cards/AboutDcotor.js": {
@@ -1340,8 +1340,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/cards/locations/Item.js": { "components/doctor/detailDoctor/cards/locations/Item.js": {
"mtime": 1784454676.4691434, "mtime": 1784466362.1019049,
"ast_hash": "9fd8a43ff7a43aa535c91d8ac0fe4461", "ast_hash": "7a0b0c4e4a1d97b9cbfa9799c0fdc7b7",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/cards/locations/index.js": { "components/doctor/detailDoctor/cards/locations/index.js": {
@@ -1355,13 +1355,13 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/index.js": { "components/doctor/index.js": {
"mtime": 1784454676.4697883, "mtime": 1784463423.1275866,
"ast_hash": "104b3b1ca3276bd1adb0a9b21d0c0cc1", "ast_hash": "f74f47d714f1bd3fe0f8e8a5fa01824e",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/poster/PosterLight.js": { "components/doctor/poster/PosterLight.js": {
"mtime": 1783776875.7085748, "mtime": 1784463446.2595298,
"ast_hash": "5111211e6c9da22380901f75d0fc7ac1", "ast_hash": "3685d1d29a7e24be560cb6f994f55bb9",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/poster/QrImg.js": { "components/doctor/poster/QrImg.js": {
@@ -1375,8 +1375,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/poster/index.js": { "components/doctor/poster/index.js": {
"mtime": 1783776875.7097404, "mtime": 1784463446.2592826,
"ast_hash": "88245288b9c85afbb9d2fb5bb949f226", "ast_hash": "619b989fd7baba15912b62db0da2d78f",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctors/head/FilterLocate.js": { "components/doctors/head/FilterLocate.js": {
@@ -2550,8 +2550,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"helper/index.js": { "helper/index.js": {
"mtime": 1783788127.1147277, "mtime": 1784462920.6154356,
"ast_hash": "d49eabbbf6469d582dd3890bde679805", "ast_hash": "cd615045ab24a33e43859f41a9131f92",
"semantic_hash": "" "semantic_hash": ""
}, },
"helper/index.test.js": { "helper/index.test.js": {
@@ -2595,8 +2595,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/getStateInfo.js": { "lib/getStateInfo.js": {
"mtime": 1783776875.758095, "mtime": 1784485508.3208745,
"ast_hash": "cc7a38cc74db3022578f3fdde5b30ff2", "ast_hash": "dccedb688248f647f0ad347ab8ed8e8f",
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/getStateInfo.test.js": { "lib/getStateInfo.test.js": {
@@ -2635,8 +2635,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/req.js": { "lib/req.js": {
"mtime": 1781597583.970482, "mtime": 1784485501.5826597,
"ast_hash": "0323bfee946e7a4c7635532468d07ce1", "ast_hash": "d1d2f8859f48ff78019d29c1ab29ffae",
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/rootCity.js": { "lib/rootCity.js": {
@@ -2685,13 +2685,13 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"services/api.js": { "services/api.js": {
"mtime": 1783776875.763553, "mtime": 1784485491.6775954,
"ast_hash": "923588baee67dcb4e6a86fbb0f5c150f", "ast_hash": "899d5e2cd9bf92d0391534e41e8bd42a",
"semantic_hash": "" "semantic_hash": ""
}, },
"services/clinicApi.js": { "services/clinicApi.js": {
"mtime": 1783776875.7638247, "mtime": 1784485620.9325016,
"ast_hash": "6ffbdc037830eefd8b2a911285fef9cd", "ast_hash": "c097a1a71f55df2e80c13ea338dbd134",
"semantic_hash": "" "semantic_hash": ""
}, },
"services/response.js": { "services/response.js": {
@@ -3424,11 +3424,6 @@
"ast_hash": "1c59dd3504742f9163a8294b0f7c9491", "ast_hash": "1c59dd3504742f9163a8294b0f7c9491",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/detailDoctor/cards/locations/MapView.js": {
"mtime": 1783788127.1126666,
"ast_hash": "ab79210966915c2ee673fb34469ecd5b",
"semantic_hash": ""
},
".claude/prompt/booking-locations-multi-context.md": { ".claude/prompt/booking-locations-multi-context.md": {
"mtime": 1784454676.4575145, "mtime": 1784454676.4575145,
"ast_hash": "c627e975665bc18c0a56d4eb86ac47a0", "ast_hash": "c627e975665bc18c0a56d4eb86ac47a0",
@@ -3470,8 +3465,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"app/specialties/[slug]/page.js": { "app/specialties/[slug]/page.js": {
"mtime": 1784454676.46291, "mtime": 1784485563.950513,
"ast_hash": "1349171f2f2b743fe4be5994b16dec90", "ast_hash": "8e262dc5b40a251436efbe5a93401015",
"semantic_hash": "" "semantic_hash": ""
}, },
"components/doctor/appointmentList/bookingState.js": { "components/doctor/appointmentList/bookingState.js": {
@@ -3530,8 +3525,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/specialtyContent.js": { "lib/specialtyContent.js": {
"mtime": 1784454676.5078857, "mtime": 1784462934.6980352,
"ast_hash": "c723f71b8073175c55ef1f155c75c3b8", "ast_hash": "3a5c203970e8e022717eb1d868d82a49",
"semantic_hash": "" "semantic_hash": ""
}, },
"lib/specialtyContent.test.js": { "lib/specialtyContent.test.js": {
@@ -3558,5 +3553,40 @@
"mtime": 1784454676.4586098, "mtime": 1784454676.4586098,
"ast_hash": "dbfa8a32e8d0fced03e20dcb50910a17", "ast_hash": "dbfa8a32e8d0fced03e20dcb50910a17",
"semantic_hash": "" "semantic_hash": ""
},
"app/maintenance/page.js": {
"mtime": 1784485594.7317574,
"ast_hash": "d162ac8b4ad2317e4014bf3443709904",
"semantic_hash": ""
},
"components/common/MapView.js": {
"mtime": 1783788127.1126666,
"ast_hash": "ab79210966915c2ee673fb34469ecd5b",
"semantic_hash": ""
},
"components/maintenance/index.js": {
"mtime": 1784485582.610945,
"ast_hash": "cae884c22ddd999eb670d9644909055d",
"semantic_hash": ""
},
"lib/clinicContact.js": {
"mtime": 1784465587.9695706,
"ast_hash": "f8f00194d1f1ea33e1115ce2a3427690",
"semantic_hash": ""
},
"lib/maintenance.js": {
"mtime": 1784485475.2571535,
"ast_hash": "bdf9b606d8d29ab8cd8a7d6e95c40d25",
"semantic_hash": ""
},
".claude/prompt/clinic-contact-info-fix.md": {
"mtime": 1784465348.935298,
"ast_hash": "762a90bb45feb3d7cfd628c500a18ba3",
"semantic_hash": ""
},
".claude/prompt/maintenance-mode-client.md": {
"mtime": 1784484136.3889596,
"ast_hash": "165c6d0db5a2f7117bfa570748201191",
"semantic_hash": ""
} }
} }