Update manifest and add new AST cache for blog frontend sync and default cover
- Updated modification times and AST hashes for several files in the manifest.json. - Added new entries for `app/api/revalidate/route.js`, `components/blog/detail/Faq.js`, `components/blog/detail/Sources.js`, and other files related to blog functionality. - Introduced a new AST cache file for the blog frontend sync and default cover prompt, including detailed node and edge relationships.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Graph Report - nobat724_front (2026-07-26)
|
||||
# Graph Report - nobat724_front (2026-07-27)
|
||||
|
||||
## Corpus Check
|
||||
- 634 files · ~570,772 words
|
||||
- 639 files · ~576,045 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 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)
|
||||
- 2422 nodes · 2500 edges · 407 communities (372 shown, 35 thin omitted)
|
||||
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 176 edges (avg confidence: 0.8)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `d02ae8bf`
|
||||
- Built from commit: `19ae08c0`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
@@ -175,35 +175,37 @@
|
||||
- [[_COMMUNITY_Community 395|Community 395]]
|
||||
- [[_COMMUNITY_Community 397|Community 397]]
|
||||
- [[_COMMUNITY_Community 398|Community 398]]
|
||||
- [[_COMMUNITY_Community 402|Community 402]]
|
||||
- [[_COMMUNITY_Community 403|Community 403]]
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `getStateInfo()` - 29 edges
|
||||
2. `🏥 نوبت724 (Nobat724) - سیستم نوبتدهی آنلاین پزشکی` - 19 edges
|
||||
3. `تقسیم ممیزی SEO به پرامپتهای کوچک اجرایی — nobat724` - 18 edges
|
||||
4. `imageUrl()` - 15 edges
|
||||
5. `Blog()` - 14 edges
|
||||
4. `imageUrl()` - 16 edges
|
||||
5. `Blog()` - 15 edges
|
||||
6. `Clinic()` - 13 edges
|
||||
7. `Doctor()` - 12 edges
|
||||
8. `Dashboard()` - 10 edges
|
||||
9. `sitemap()` - 10 edges
|
||||
10. `buildCanonicalUrl()` - 10 edges
|
||||
8. `generateMetadata()` - 10 edges
|
||||
9. `Dashboard()` - 10 edges
|
||||
10. `sitemap()` - 10 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `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]
|
||||
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
|
||||
- `StLayout()` --calls--> `getStateInfo()` [INFERRED]
|
||||
components/layout/StLayout.js → lib/getStateInfo.js
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (402 total, 35 thin omitted)
|
||||
## Communities (407 total, 35 thin omitted)
|
||||
|
||||
### Community 0 - "Community 0"
|
||||
Cohesion: 0.05
|
||||
@@ -223,11 +225,11 @@ Nodes (16): getCurrentDomain(), robots(), cityFilterParams(), fetchAllPages(), g
|
||||
|
||||
### Community 4 - "Community 4"
|
||||
Cohesion: 0.06
|
||||
Nodes (21): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+13 more)
|
||||
Nodes (22): ContentDetail(), About(), ListBime(), Services(), Specialties(), TextDetail(), listTab, AddComment() (+14 more)
|
||||
|
||||
### Community 5 - "Community 5"
|
||||
Cohesion: 0.05
|
||||
Nodes (35): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+27 more)
|
||||
Cohesion: 0.07
|
||||
Nodes (26): bookingState(), DAY_NAMES, formatJalali(), AppointmentList(), ItemAppointment(), AboutDcotor(), ClaimProfileSection(), currentUserMobile() (+18 more)
|
||||
|
||||
### Community 6 - "Community 6"
|
||||
Cohesion: 0.22
|
||||
@@ -322,8 +324,8 @@ Cohesion: 0.12
|
||||
Nodes (16): دیپلوی nobat724_front روی Liara (پلتفرم Next.js), زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+8 more)
|
||||
|
||||
### Community 29 - "Community 29"
|
||||
Cohesion: 0.13
|
||||
Nodes (11): generateMetadata(), Blogs(), generateMetadata(), Appointment(), metadata, fetchSiteContext(), getStateInfo(), siteContextCache (+3 more)
|
||||
Cohesion: 0.08
|
||||
Nodes (20): generateMetadata(), Blogs(), generateMetadata(), Clinics(), Appointment(), metadata, Doctors(), generateMetadata() (+12 more)
|
||||
|
||||
### Community 30 - "Community 30"
|
||||
Cohesion: 0.12
|
||||
@@ -386,8 +388,8 @@ Cohesion: 0.14
|
||||
Nodes (13): `hours/List.js`, آبجکت اسلات (از `adaptSlots` / API), تأیید و سختسازی غیرفعالبودن اسلاتهای گذشته در صفحهی نوبت, زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more)
|
||||
|
||||
### Community 45 - "Community 45"
|
||||
Cohesion: 0.25
|
||||
Nodes (16): generateMetadata(), generateMetadata(), generateMetadata(), imageUrl(), domainScopeCityId(), extractEntityCityId(), findCityById(), isBlogVisibleOnDomain() (+8 more)
|
||||
Cohesion: 0.40
|
||||
Nodes (9): generateMetadata(), blogCover(), imageUrl(), domainScopeCityId(), findCityById(), isBlogVisibleOnDomain(), Blog(), getBlog (+1 more)
|
||||
|
||||
### Community 46 - "Community 46"
|
||||
Cohesion: 0.22
|
||||
@@ -494,8 +496,8 @@ Cohesion: 0.22
|
||||
Nodes (7): degree, Form(), gender, degree, Form(), gender, filterList()
|
||||
|
||||
### Community 72 - "Community 72"
|
||||
Cohesion: 0.26
|
||||
Nodes (14): generateMetadata(), findDomainByCityId(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildFilteredListingCanonical(), buildMainCanonicalUrl(), CANONICAL_QUERY_KEYS (+6 more)
|
||||
Cohesion: 0.24
|
||||
Nodes (15): generateMetadata(), findDomainByCityId(), buildCanonicalPath(), buildCanonicalQuery(), buildCanonicalUrl(), buildFilteredListingCanonical(), buildMainCanonicalUrl(), CANONICAL_QUERY_KEYS (+7 more)
|
||||
|
||||
### Community 73 - "Community 73"
|
||||
Cohesion: 0.32
|
||||
@@ -518,8 +520,8 @@ Cohesion: 0.17
|
||||
Nodes (11): زمینه, سایت دامنه اختصاصی نماینده سراسری — تشخیص دامنه، فیلتر پزشکان/کلینیکها, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
|
||||
|
||||
### Community 81 - "Community 81"
|
||||
Cohesion: 0.29
|
||||
Nodes (11): Detail(), getClinicAddress(), getClinicCity(), getClinicPhone(), getClinicState(), hasClinicContact(), telHref(), toE164Ir() (+3 more)
|
||||
Cohesion: 0.24
|
||||
Nodes (14): generateMetadata(), Detail(), getClinicAddress(), getClinicCity(), getClinicPhone(), getClinicState(), hasClinicContact(), telHref() (+6 more)
|
||||
|
||||
### Community 82 - "Community 82"
|
||||
Cohesion: 0.17
|
||||
@@ -530,8 +532,8 @@ Cohesion: 0.24
|
||||
Nodes (5): Head(), Article(), LatestArticles(), Title(), ItemTitle()
|
||||
|
||||
### Community 86 - "Community 86"
|
||||
Cohesion: 0.19
|
||||
Nodes (11): generateMetadata(), DoctorsPage(), resolveCityDisplayName(), isRootCity(), IDS_WITH_ACTIVE_CHILDREN, isCategorySpecialty(), isIndexableSpecialty(), ListDoctors() (+3 more)
|
||||
Cohesion: 0.16
|
||||
Nodes (15): RootLayout(), generateMetadata(), safeJsonLd(), bodyVariants(), buildSpecialtyFaq(), buildSpecialtyIntro(), closingVariants(), openingVariants() (+7 more)
|
||||
|
||||
### Community 87 - "Community 87"
|
||||
Cohesion: 0.33
|
||||
@@ -606,12 +608,12 @@ Cohesion: 0.15
|
||||
Nodes (12): اصلاح بخش «اطلاعات تماس» صفحه کلینیک, زمینه, فایلهای مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
|
||||
|
||||
### Community 140 - "Community 140"
|
||||
Cohesion: 0.36
|
||||
Nodes (6): RootLayout(), Pageguide(), absoluteUrl(), buildBreadcrumbJsonLd(), normalizeBreadcrumb(), safeJsonLd()
|
||||
Cohesion: 0.53
|
||||
Nodes (4): Pageguide(), absoluteUrl(), buildBreadcrumbJsonLd(), normalizeBreadcrumb()
|
||||
|
||||
### Community 354 - "Community 354"
|
||||
Cohesion: 0.15
|
||||
Nodes (9): Clinics(), generateMetadata(), buildClinicParams(), getRequestOrigin(), isMaintenanceError(), isNextRedirectError(), axiosInstance, fetchReq() (+1 more)
|
||||
Cohesion: 0.11
|
||||
Nodes (18): زمینه, سینک کامل صفحهٔ بلاگ با بکاند + تصویر پیشفرض برند + باطلسازی کش, فایلهای مرتبط, مشکل / هدف, مشکل ۱ — فیلدهایی که رندر نمیشوند, مشکل ۲ — تصویر پیشفرض, مشکل ۳ — تأخیر تا یک ساعت در نمایش تغییرات ادمین, مشکل ۴ — استایل محتوای CKEditor حذف میشود (+10 more)
|
||||
|
||||
### Community 365 - "Community 365"
|
||||
Cohesion: 0.08
|
||||
@@ -630,16 +632,16 @@ Cohesion: 0.19
|
||||
Nodes (9): Card(), PAYMENT_STATUS, TYPE_LABELS, Head(), listTab, Transactions(), List(), PAYMENT_STATUS (+1 more)
|
||||
|
||||
### Community 369 - "Community 369"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): Doctors(), buildDoctorParams(), normalizeDoctorNameQuery(), QueryForDoctorsClinicReq(), QueryForDoctorsReq(), buildSearchUrl()
|
||||
Cohesion: 0.33
|
||||
Nodes (5): buildDoctorParams(), normalizeDoctorNameQuery(), QueryForDoctorsClinicReq(), QueryForDoctorsReq(), buildSearchUrl()
|
||||
|
||||
### Community 370 - "Community 370"
|
||||
Cohesion: 0.29
|
||||
Nodes (4): ProvinceContext, ProvinceProvider(), Probe(), useProvince()
|
||||
|
||||
### Community 372 - "Community 372"
|
||||
Cohesion: 0.48
|
||||
Nodes (6): hasRealName(), isNoindexDoctor(), isThinClinic(), isThinDoctor(), isUnclaimedDoctor(), PLACEHOLDER_NAMES
|
||||
Cohesion: 0.22
|
||||
Nodes (14): generateMetadata(), DoctorPage(), doctorTitle(), hasRealName(), isNoindexDoctor(), isThinClinic(), isThinDoctor(), isUnclaimedDoctor() (+6 more)
|
||||
|
||||
### Community 373 - "Community 373"
|
||||
Cohesion: 0.12
|
||||
@@ -705,25 +707,33 @@ Nodes (3): ModalAddSurgeries(), Surgeries(), ItemSurgeries()
|
||||
Cohesion: 0.50
|
||||
Nodes (3): formatToman(), rialToToman(), Paying()
|
||||
|
||||
### Community 402 - "Community 402"
|
||||
Cohesion: 0.38
|
||||
Nodes (4): DoctorsPage(), resolveCityDisplayName(), isRootCity(), ListDoctors()
|
||||
|
||||
### Community 403 - "Community 403"
|
||||
Cohesion: 0.29
|
||||
Nodes (6): CARD, lines, mark, OUT, PARAGRAPH, ROOT
|
||||
|
||||
## Knowledge Gaps
|
||||
- **883 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+878 more)
|
||||
- **904 isolated node(s):** `metadata`, `fallbackLabels`, `MaterialUISwitch`, `fixedIconData`, `metadata` (+899 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **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 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._
|
||||
- **Why does `imageUrl()` connect `Community 45` to `Community 0`, `Community 4`, `Community 7`, `Community 392`, `Community 81`, `Community 83`, `Community 372`, `Community 55`, `Community 56`, `Community 380`?**
|
||||
_High betweenness centrality (0.028) - this node is a cross-community bridge._
|
||||
- **Why does `getStateInfo()` connect `Community 29` to `Community 0`, `Community 6`, `Community 72`, `Community 377`, `Community 45`, `Community 14`, `Community 16`, `Community 81`, `Community 402`, `Community 51`, `Community 372`, `Community 86`, `Community 89`?**
|
||||
_High betweenness centrality (0.023) - this node is a cross-community bridge._
|
||||
- **Why does `doctorTitle()` connect `Community 372` to `Community 5`, `Community 7`?**
|
||||
_High betweenness centrality (0.012) - this node is a cross-community bridge._
|
||||
- **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?**
|
||||
_883 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
_904 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._
|
||||
Reference in New Issue
Block a user