chore: update graphify graph

This commit is contained in:
hamed
2026-07-15 15:33:24 +03:30
parent a6ae6220cb
commit bf9fce4e05
12 changed files with 4828 additions and 1996 deletions
+149 -149
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-15)
## Corpus Check
- 923 files · ~649,556 words
- 939 files · ~657,930 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 10959 nodes · 15982 edges · 843 communities (652 shown, 191 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 351 edges (avg confidence: 0.8)
- 11052 nodes · 16154 edges · 843 communities (652 shown, 191 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 352 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `519bc8d7`
- Built from commit: `a6ae6220`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -845,14 +845,14 @@
## God Nodes (most connected - your core abstractions)
1. `ApiTestCase` - 122 edges
2. `api` - 100 edges
2. `api` - 103 edges
3. `BaseController` - 92 edges
4. `useAuthStore` - 67 edges
4. `useAuthStore` - 72 edges
5. `UserProfile` - 62 edges
6. `Doctor` - 60 edges
7. `ApiResponse` - 59 edges
8. `formatRial()` - 59 edges
9. `formatDate()` - 55 edges
6. `formatRial()` - 61 edges
7. `ApiResponse` - 60 edges
8. `Doctor` - 60 edges
9. `formatDate()` - 57 edges
10. `Appointment` - 50 edges
## Surprising Connections (you probably didn't know these)
@@ -874,7 +874,7 @@
### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (49): Breadcrumb(), PatientCaseBanner(), Tag, PatientFilters, PatientTagsCell(), TenantTag, SessionCardData, ArrowLeftD() (+41 more)
Nodes (53): Breadcrumb(), PatientCaseBanner(), Tag, EMPTY, PatientFilters, PricingInsurance, TenantTag, PatientTagsCell() (+45 more)
### Community 1 - "Community 1"
Cohesion: 0.03
@@ -897,16 +897,16 @@ Cohesion: 0.06
Nodes (3): UserProfile, self, User
### Community 6 - "Community 6"
Cohesion: 0.09
Nodes (13): SettlementController, PatientFinancialsTest, SettlementRepository, WalletTransactionRepository, Settlement, JsonResponse, Request, User (+5 more)
Cohesion: 0.17
Nodes (8): SettlementController, SettlementRepository, Settlement, JsonResponse, Request, User, ManagerRegistry, User
### Community 7 - "Community 7"
Cohesion: 0.05
Nodes (11): DoctorServiceController, DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User (+3 more)
Cohesion: 0.06
Nodes (8): DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User, ManagerRegistry
### Community 8 - "Community 8"
Cohesion: 0.07
Nodes (20): CoverageRow, Draft, KIND, TenantInsurance, EMPTY_ITEMS, EMPTY_SECTIONS, ItemForm, itemSchema (+12 more)
Cohesion: 0.06
Nodes (30): DoctorTab, td, th, CANCELLED_STATUSES, EMPTY_SLOT_CONFIG, STATUS, turnStatusConfig, emptySlot (+22 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -921,12 +921,12 @@ Cohesion: 0.50
Nodes (4): UserActiveContextRepository, ManagerRegistry, User, UserActiveContext
### Community 12 - "Community 12"
Cohesion: 0.04
Nodes (47): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+39 more)
Cohesion: 0.05
Nodes (37): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+29 more)
### Community 13 - "Community 13"
Cohesion: 0.03
Nodes (99): appt, get, openMenu(), patch, get, post, renderDrawer(), get (+91 more)
Nodes (103): appt, get, openMenu(), patch, get, post, renderDrawer(), get (+95 more)
### Community 14 - "Community 14"
Cohesion: 0.10
@@ -961,8 +961,8 @@ Cohesion: 0.06
Nodes (41): grid, PatientFormOptions, patientFormSchema, PatientFormValues, Props, baseValues, options, dateStrToTs() (+33 more)
### Community 22 - "Community 22"
Cohesion: 0.29
Nodes (4): RatingController, JsonResponse, Request, User
Cohesion: 0.11
Nodes (14): RatingController, Like, Rate, LikeRepository, RateRepository, JsonResponse, Request, User (+6 more)
### Community 23 - "Community 23"
Cohesion: 0.05
@@ -977,8 +977,8 @@ Cohesion: 0.05
Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
### Community 26 - "Community 26"
Cohesion: 0.15
Nodes (7): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.13
Nodes (8): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, TenantInsuranceCleanupService, JsonResponse, Request, User, ManagerRegistry
### Community 27 - "Community 27"
Cohesion: 0.05
@@ -1005,8 +1005,8 @@ Cohesion: 0.06
Nodes (32): 10. Modal / Dialog, 11. Toast Notifications, 12. Empty States & Loading, 13. Page Header (هر صفحه), 14. تکنولوژی Stack, 15. Responsive Breakpoints, 16. Dark Mode (اختیاری — فاز دوم), 17. نمونه رنگ‌بندی صفحه داشبورد (+24 more)
### Community 33 - "Community 33"
Cohesion: 0.08
Nodes (17): ClinicAddress, ClinicDetailPage(), ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP (+9 more)
Cohesion: 0.15
Nodes (6): PatientFinancialsTest, WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction
### Community 34 - "Community 34"
Cohesion: 0.06
@@ -1025,8 +1025,8 @@ Cohesion: 0.06
Nodes (31): API endpoint موجود برای آدرس دکتر:, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}` — حذف, `docs/api/appointment-settings.md`:, `docs/api/clinic.md`:, Endpoint موجود (workaround که حذف می‌شود):, Entity `DoctorAddress`:, Frontend موجود (`DoctorDetailPage.tsx`):, `GET /api/v1/clinic/{clinicUuid}/addresses` — لیست آدرس‌ها (+23 more)
### Community 38 - "Community 38"
Cohesion: 0.22
Nodes (9): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Errors, Notification Mobile (OTP), POST `/oauth/token`, Request Body, Response `200` (+1 more)
Cohesion: 0.25
Nodes (8): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Notification Mobile (OTP), POST `/oauth/logout`, Request Body, Response `200`, Response `200`
### Community 39 - "Community 39"
Cohesion: 0.12
@@ -1070,7 +1070,7 @@ Nodes (4): Payment, Appointment, self, User
### Community 49 - "Community 49"
Cohesion: 0.03
Nodes (46): AppointmentInfoModal(), ModalKind, PickedPatient, PickerOption, TransferReserveModal(), WalletChargeLink(), applyAppointmentFilters(), AppointmentFilters (+38 more)
Nodes (49): AppointmentInfoModal(), ModalKind, PickedPatient, PickerOption, TransferReserveModal(), WalletChargeLink(), addMinutes(), NewAppointmentDrawer() (+41 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -1086,7 +1086,7 @@ Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, با
### Community 53 - "Community 53"
Cohesion: 0.07
Nodes (18): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, DoctorInsuranceRepository, PreRegistrationRepository, SmsTemplateRepository, TaxRateHistoryRepository, ServiceEntityRepository (+10 more)
Nodes (18): AppLogRepository, ClaimItemRepository, ClinicStaffRepository, DoctorClaimRequestRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository (+10 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -1121,12 +1121,12 @@ Cohesion: 0.22
Nodes (9): Create Patient Record, Create Session, Endpoints, Get Patient Record, List Patient Appointments, List Patient Sessions, List Patients, Update Patient Basic Info (+1 more)
### Community 62 - "Community 62"
Cohesion: 0.04
Nodes (37): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, CityForm, citySchema (+29 more)
Cohesion: 0.06
Nodes (28): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, DoctorProfilePage(), InsurancePricingPage() (+20 more)
### Community 63 - "Community 63"
Cohesion: 0.03
Nodes (91): SessionServiceCard(), PaginatedResponse, formatDate(), formatDateTime(), ALL_STATUSES, AppointmentDetailPage(), timeOf(), STATUS_FILTERS (+83 more)
Cohesion: 0.02
Nodes (111): PaginatedResponse, formatDate(), formatDateTime(), ALL_STATUSES, AppointmentDetailPage(), timeOf(), STATUS_FILTERS, CityForm (+103 more)
### Community 64 - "Community 64"
Cohesion: 0.29
@@ -1173,8 +1173,8 @@ Cohesion: 0.14
Nodes (5): DoctorSecretary, Clinic, Doctor, self, User
### Community 77 - "Community 77"
Cohesion: 0.24
Nodes (5): RepresentationActionController, JsonResponse, Representation, Request, User
Cohesion: 0.15
Nodes (6): RepresentationActionController, InputValidator, JsonResponse, Representation, Request, User
### Community 78 - "Community 78"
Cohesion: 0.12
@@ -1202,7 +1202,7 @@ Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
### Community 86 - "Community 86"
Cohesion: 0.04
Nodes (19): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemMultiStaffTest, ServiceItemStaffOwnershipTest, UniqueConstraintsTest (+11 more)
Nodes (21): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemDeleteCleanupTest, ServiceItemMultiStaffTest, ServiceItemStaffOwnershipTest (+13 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1265,16 +1265,16 @@ Cohesion: 0.10
Nodes (19): Backend — endpoint اشتراک, Frontend — App.tsx, Frontend — authStore, Frontend — Sidebar, اعمال محدودیت‌های اشتراک در پنل ادمین (Frontend Gate), ترتیب اجرا, زمینه, فایل‌های مرتبط (+11 more)
### Community 102 - "Community 102"
Cohesion: 0.06
Nodes (25): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope, Bulk import / export, DELETE `/api/v1/admin/tag/{id}`, Errors (+17 more)
Cohesion: 0.07
Nodes (26): Bulk import / export, DELETE `/api/v1/admin/tag/{id}`, DELETE `/api/v1/tenant-tag/{uuid}`, Errors, Errors, Errors, Errors, Errors (+18 more)
### Community 103 - "Community 103"
Cohesion: 0.11
Nodes (18): `AdminApiController::paymentDetail` — الان فقط GET, `MellatGateway.php` — الگوی موجود REST/SOAP (پس از کار sandbox), `PaymentGatewayInterface.php`, `PaymentManager.php` — الگوی log و transaction, برگشت/استرداد وجه ملت از پنل ادمین (bpReversalRequest / bpRefundRequest), زمینه, فایل‌های مرتبط, نکات مهم (+10 more)
### Community 104 - "Community 104"
Cohesion: 0.35
Nodes (3): TagController, JsonResponse, Request
Cohesion: 0.18
Nodes (6): TagController, TagRepository, JsonResponse, Request, ManagerRegistry, Tag
### Community 105 - "Community 105"
Cohesion: 0.11
@@ -1489,8 +1489,8 @@ Cohesion: 0.13
Nodes (15): Date Overrides, DELETE `/api/v1/appointment-settings/date-override/{uuid}`, Errors, Errors, GET `/api/v1/appointment-settings/date-override/list/{doctorUuid}`, GET `/api/v1/appointment-settings/date-override/{uuid}`, PATCH `/api/v1/appointment-settings/date-override/{uuid}`, POST `/api/v1/appointment-settings/date-override` (+7 more)
### Community 161 - "Community 161"
Cohesion: 0.24
Nodes (7): ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim, Invoice, Claim, ClaimSubmissionResult
Cohesion: 0.16
Nodes (9): ClaimsListNPlusOneTest, ClaimItem, ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim, Invoice, Claim (+1 more)
### Community 162 - "Community 162"
Cohesion: 0.10
@@ -1517,8 +1517,8 @@ Cohesion: 0.10
Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more)
### Community 169 - "Community 169"
Cohesion: 0.27
Nodes (7): AbstractAuthenticator, AuthenticationException, Passport, PasswordAuthenticator, Request, Response, TokenInterface
Cohesion: 0.13
Nodes (12): AbstractAuthenticator, AuthenticationException, ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, Passport, ResponseEvent (+4 more)
### Community 170 - "Community 170"
Cohesion: 0.13
@@ -1650,15 +1650,15 @@ Nodes (12): Clinic Services API, DELETE /api/v1/service-item/{uuid}, DELETE /api
### Community 204 - "Community 204"
Cohesion: 0.04
Nodes (43): AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section, SectionItem (+35 more)
Nodes (45): AdminLayout(), APPOINTMENTS_CHILDREN, avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+37 more)
### Community 205 - "Community 205"
Cohesion: 0.21
Nodes (4): SeedDemoDataCommand, InputInterface, OutputInterface, SymfonyStyle
### Community 206 - "Community 206"
Cohesion: 0.06
Nodes (17): GatewayFactory, MellatGateway, MockGateway, SepGateway, MellatGateway, SepGateway, SoapClient, PaymentGatewayInterface (+9 more)
Cohesion: 0.08
Nodes (14): MellatGateway, MockGateway, SepGateway, SoapClient, PaymentGatewayInterface, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult (+6 more)
### Community 207 - "Community 207"
Cohesion: 0.15
@@ -1725,8 +1725,8 @@ Cohesion: 0.17
Nodes (11): تشخیص عمیق down شدن سرور بعد از ~۱۰ سیکل + وریفای و تکمیل فیکس‌های پایداری, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, ۱. وریفای فیکس‌های repo (idempotent) (+3 more)
### Community 228 - "Community 228"
Cohesion: 0.20
Nodes (10): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, GET `/api/v1/insurance/{id}`, Insurance API, Response `200`, Response `200` (+2 more)
Cohesion: 0.04
Nodes (46): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, Errors, Errors, Errors, Errors (+38 more)
### Community 229 - "Community 229"
Cohesion: 0.14
@@ -1977,8 +1977,8 @@ Cohesion: 0.20
Nodes (9): AdminApiController — dashboardCharts با بازه زمانی, DashboardController — اضافه کردن from/to, date range selector component:, تغییر Backend, تغییر Frontend — DashboardPage.tsx, فایل‌هایی که تغییر می‌کنند, معماری — تسک ۱۶: داشبورد هوشمند, نصب dependency: (+1 more)
### Community 294 - "Community 294"
Cohesion: 0.33
Nodes (4): PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
Cohesion: 0.21
Nodes (5): PatientAttachmentTest, PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
### Community 295 - "Community 295"
Cohesion: 0.20
@@ -2017,8 +2017,8 @@ Cohesion: 0.12
Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی روی Coolify با Docker Compose, زمینه, فایل‌های مرتبط, نکات مهم (محدودیت‌ها و edge caseها), هدف, وظایف, ۱. ساخت `Dockerfile` چندمرحله‌ای, ۱۰. ساخت راهنمای `docs/deploy/coolify.md` (+8 more)
### Community 304 - "Community 304"
Cohesion: 0.04
Nodes (56): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 31. 🟡 `PATCH` patch, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 39. 🟡 `PATCH` Comment confirmation (+48 more)
Cohesion: 0.22
Nodes (9): 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 36. 🟢 `GET` get my rate, 6. کلینیک (Clinic), هدرهای اضافی, هدرهای اضافی, پاسخ‌ها, پاسخ‌ها (+1 more)
### Community 306 - "Community 306"
Cohesion: 0.07
@@ -2058,7 +2058,7 @@ Nodes (3): ServiceSectionRepository, ManagerRegistry, ServiceSection
### Community 315 - "Community 315"
Cohesion: 0.08
Nodes (29): EMPTY_CATS, EMPTY_ITEMS, EMPTY_PACKAGES, EMPTY_STATS, InventoryItem, InventoryPackage, InventoryStats, InventoryStatus (+21 more)
Nodes (31): EMPTY_CATS, EMPTY_ITEMS, EMPTY_META, EMPTY_PACKAGES, EMPTY_STATS, InventoryItem, InventoryMeta, InventoryPackage (+23 more)
### Community 316 - "Community 316"
Cohesion: 0.12
@@ -2361,8 +2361,8 @@ Cohesion: 0.33
Nodes (6): Refactoring Plan, فاز ۰ — مستندسازی (۳ تا ۵ روز، قبل از هر کدنویسی), فاز ۱ — زیرساخت پایه (task-01), فاز ۲ — پیاده‌سازی ماژول‌ها (به ترتیب dependency), فاز ۳ — بهینه‌سازی (بعد از پیاده‌سازی), فاز ۴ — آماده‌سازی تولید
### Community 397 - "Community 397"
Cohesion: 0.21
Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doctor, User
Cohesion: 0.36
Nodes (4): ClaimAmountBoundsTest, Claim, Doctor, User
### Community 398 - "Community 398"
Cohesion: 0.22
@@ -2377,12 +2377,12 @@ Cohesion: 0.11
Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more)
### Community 407 - "Community 407"
Cohesion: 0.24
Nodes (7): MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsTextResolver, KavehNegarProvider
Cohesion: 0.27
Nodes (8): MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver, KavehNegarProvider
### Community 410 - "Community 410"
Cohesion: 0.06
Nodes (40): FreeVisitPrice(), Pricing, buildInsurancePayload(), Contract, contractToForm(), EMPTY_FORM, InsuranceFormValues, InsuranceModal() (+32 more)
Cohesion: 0.03
Nodes (64): FreeVisitPrice(), Pricing, buildInsurancePayload(), Contract, contractToForm(), EMPTY_FORM, InsuranceFormValues, InsuranceModal() (+56 more)
### Community 414 - "Community 414"
Cohesion: 0.10
@@ -2402,7 +2402,7 @@ Nodes (15): راه‌حل, راه‌حل, راه‌حل, رفع زوم نقشه
### Community 424 - "Community 424"
Cohesion: 0.03
Nodes (70): ServiceTariffModal(), TariffResponse, TariffRow, TauriStatCards(), usePaymentConfig(), formatNumber(), formatRial(), AdminCharts (+62 more)
Nodes (73): Invoice, InvoiceItem, InvoiceSummaryModal(), STATUS_LABEL, TauriStatCards(), PaymentConfig, PaymentGatewayInfo, usePaymentConfig() (+65 more)
### Community 428 - "Community 428"
Cohesion: 0.31
@@ -2421,17 +2421,13 @@ Cohesion: 0.21
Nodes (7): ErrorCodes, PatientController, JsonResponse, PatientRecord, PatientSession, Request, User
### Community 435 - "Community 435"
Cohesion: 0.26
Nodes (7): Command, CancelExpiredAppointmentsCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface, OutputInterface
Cohesion: 0.18
Nodes (10): Command, CancelExpiredAppointmentsCommand, PruneLogsCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface, OutputInterface (+2 more)
### Community 436 - "Community 436"
Cohesion: 0.12
Cohesion: 0.15
Nodes (20): BANK_KEY, BankAccount, BankAccountInput, Pos, POS_KEY, PosInput, useBankAccounts(), useCreateBankAccount() (+12 more)
### Community 438 - "Community 438"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260614182950, Schema, Version20260715100324
### Community 439 - "Community 439"
Cohesion: 0.17
Nodes (11): زمینه, صفحه Twig دعوت پزشک + کوتاه‌کردن URL پیامک, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, ۱. کوتاه‌کردن توکن دعوت (+3 more)
@@ -2541,8 +2537,8 @@ Cohesion: 0.36
Nodes (3): CityRepository, City, ManagerRegistry
### Community 479 - "Community 479"
Cohesion: 0.13
Nodes (13): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+5 more)
Cohesion: 0.17
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 480 - "Community 480"
Cohesion: 0.36
@@ -2572,21 +2568,25 @@ Nodes (3): PatientMedicalRecord, PatientRecord, self
Cohesion: 0.12
Nodes (15): `Modal.tsx` (بدون Portal), `PersianCalendar.tsx` (buttonها بدون `type`) — نمونه‌ها, باگ ۱ — علت, باگ ۲ — علت, رفع دو باگ Modal و تقویم شمسی در پنل ادمین, زمینه, فایل‌های مرتبط, مشکل / هدف (+7 more)
### Community 492 - "Community 492"
Cohesion: 0.18
Nodes (4): KavehNegarProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 493 - "Community 493"
Cohesion: 0.20
Nodes (9): Backend Audit Backlog — ClinicPro, ☐ CRITICAL, ✅ DONE (committed on backend-audit), ☐ EPICS (design debt — cross-repo, defer; do NOT quick-fix), ☐ HIGH, ☐ LOW, ☐ MEDIUM, Progress (this audit session) (+1 more)
### Community 494 - "Community 494"
Cohesion: 0.04
Nodes (46): Invoice, InvoiceItem, InvoiceSummaryModal(), STATUS_LABEL, EMPTY, PricingInsurance, TenantTag, PaymentConfig (+38 more)
Cohesion: 0.13
Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more)
### Community 495 - "Community 495"
Cohesion: 0.12
Nodes (15): CORS — `config/packages/nelmio_cors.yaml`, MellatGateway — تشخیص فعال‌بودن, payment/config — `PaymentController::config()` (خط ۵۴۶), resolveGateway + callback (کد واقعی), رفع باگ‌های پروداکشن: CORS + payment/config 500 + درگاه‌های فعال و callback ملت, زمینه, فایل‌های مرتبط, فرانت — `SubscriptionPage.tsx` (+7 more)
### Community 496 - "Community 496"
Cohesion: 0.18
Nodes (9): AdminUser, ASSIGNABLE_ROLES, ChangeRoleModal(), getPrimaryRole(), HUES_LIST, ROLE_META, ROLE_TABS, RoleBadge() (+1 more)
Cohesion: 0.08
Nodes (21): Props, AddForm, addSchema, ClinicsPage(), HUES_LIST, EMPTY, PreRegistration, STATUS_META (+13 more)
### Community 497 - "Community 497"
Cohesion: 0.53
@@ -2597,8 +2597,8 @@ Cohesion: 0.18
Nodes (10): license, private, scripts, build, dev, dev-server, test, test:cov (+2 more)
### Community 499 - "Community 499"
Cohesion: 0.39
Nodes (4): FinancialBreakdown, FinancialBreakdownRepository, ManagerRegistry, Payment
Cohesion: 0.12
Nodes (16): `AppointmentSettingsPage.tsx` (بخش render), backend — نیازی به تغییر نیست (اول گشتم), `InsuranceModal.tsx` — انتخاب دستی نوع (حذف شود), `InsurancePricingPage.tsx`, `TenantInsuranceContracts.tsx` — یک جدول مسطح، خلاصه فقط در زیرنویس نام, بازطراحی صفحه بیمه و قیمت‌گذاری — تفکیک نوع بیمه با Tab + ردیف Expandable + انتقال ویزیت آزاد, زمینه, فایل‌های مرتبط (+8 more)
### Community 500 - "Community 500"
Cohesion: 0.40
@@ -2693,8 +2693,8 @@ Cohesion: 0.13
Nodes (14): Doctor Profile Claim API (تصاحب پروفایل پزشک ایمپورت‌شده), env های مرتبط, Errors, GET `/api/v1/admin/doctor-claims`, GET `/api/v1/doctor/{uuid}/claim-info`, POST `/api/v1/admin/doctors/{uuid}/transfer`, POST `/api/v1/doctor/{uuid}/claim`, Request (+6 more)
### Community 527 - "Community 527"
Cohesion: 0.47
Nodes (3): CommissionService, Payment, Representation
Cohesion: 0.14
Nodes (8): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, CommissionService, ManagerRegistry, Payment, Payment, Representation
### Community 528 - "Community 528"
Cohesion: 0.33
@@ -2805,8 +2805,8 @@ Cohesion: 0.50
Nodes (4): GET /api/v1/sms/wallet/balance, GET /api/v1/sms/wallet/logs, POST /api/v1/sms/wallet/charge, SMS Wallet
### Community 561 - "Community 561"
Cohesion: 0.10
Nodes (20): Body, Body, DELETE `/api/v1/inventory-item/{uuid}`, DELETE `/api/v1/inventory-package/{uuid}`, Errors, GET `/api/v1/inventory-categories`, GET `/api/v1/inventory-items`, GET `/api/v1/inventory-packages` (+12 more)
Cohesion: 0.09
Nodes (22): Body, Body, DELETE `/api/v1/inventory-item/{uuid}`, DELETE `/api/v1/inventory-package/{uuid}`, Errors, GET `/api/v1/inventory-categories`, GET `/api/v1/inventory-items`, GET `/api/v1/inventory-meta` (+14 more)
### Community 563 - "Community 563"
Cohesion: 0.67
@@ -2849,8 +2849,8 @@ Cohesion: 0.25
Nodes (8): ۲.۲ انواع دسته‌بندی (Category Types), ۲.۲.۱ تگ (Tag), ۲.۲.۲ استان (State), ۲.۲.۳ شهر (City), ۲.۲.۴ بیمه پایه (Basic Insurance), ۲.۲.۵ بیمه مکمل (Supplementary Insurance), ۲.۲.۶ تخصص دکتر (Doctor Specialty), ۲.۲.۷ خدمات دکتر (Doctor Services)
### Community 579 - "Community 579"
Cohesion: 0.39
Nodes (3): TagRepository, ManagerRegistry, Tag
Cohesion: 0.12
Nodes (15): زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, واحد کالا به‌صورت Select + سیستم دسته‌بندی اصولی کالا (انبارداری), وضعیت فعلی (کد واقعی), وظایف, پروژه (+7 more)
### Community 581 - "Community 581"
Cohesion: 0.50
@@ -2905,8 +2905,8 @@ Cohesion: 0.67
Nodes (3): Errors, POST `/api/v1/sms/template/{uuid}/submit`, Response `200`
### Community 602 - "Community 602"
Cohesion: 0.10
Nodes (20): InvoiceRowStatus, MY_PAYMENTS_LIMIT, PatientInvoiceRow, PatientInvoicesPayload, PaymentFilters, PaymentRow, PaymentRowStatus, get (+12 more)
Cohesion: 0.06
Nodes (33): InvoiceRowStatus, MY_PAYMENTS_LIMIT, PatientInvoiceRow, PatientInvoicesPayload, PaymentFilters, PaymentRow, PaymentRowStatus, get (+25 more)
### Community 603 - "Community 603"
Cohesion: 0.67
@@ -2937,8 +2937,8 @@ Cohesion: 0.42
Nodes (4): DoctorClaimRequest, DoctorClaimService, Doctor, User
### Community 626 - "Community 626"
Cohesion: 0.23
Nodes (5): ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent
Cohesion: 0.36
Nodes (3): DoctorServiceController, JsonResponse, Request
### Community 633 - "Community 633"
Cohesion: 0.32
@@ -2956,17 +2956,13 @@ Nodes (16): Runbook — تشخیص «ری‌استارت» سرور: recycle ع
Cohesion: 0.38
Nodes (3): FixIrimcNamesCommand, InputInterface, OutputInterface
### Community 641 - "Community 641"
Cohesion: 0.53
Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
### Community 647 - "Community 647"
Cohesion: 0.14
Nodes (13): اصلاح فیلتر شهر/استان در لیست عمومی پزشکان (`GET /api/v1/doctors`), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+5 more)
### Community 648 - "Community 648"
Cohesion: 0.10
Nodes (7): BillingCalculatorTest, BillingCalculator, MellatGatewayTest, ErrorCodesTest, KavehNegarProviderTest, TestCase, KavehNegarProvider
Cohesion: 0.12
Nodes (6): BillingCalculatorTest, BillingCalculator, MellatGateway, MellatGatewayTest, ErrorCodesTest, TestCase
### Community 649 - "Community 649"
Cohesion: 0.14
@@ -3021,7 +3017,7 @@ Cohesion: 0.17
Nodes (11): تشخیص «ری‌استارت» سرور روی Coolify + رفع نویز لاگ + بررسی خطای ACME, زمینه, فایل‌های مرتبط, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. کاهش نویز لاگ workerها (بدون تغییر رفتار) (+3 more)
### Community 676 - "Community 676"
Cohesion: 0.30
Cohesion: 0.28
Nodes (6): InventoryController, InventoryItem, InventoryPackage, JsonResponse, Request, User
### Community 677 - "Community 677"
@@ -3057,7 +3053,7 @@ Cohesion: 0.26
Nodes (4): PaymentMethodService, BankAccount, Pos, User
### Community 697 - "Community 697"
Cohesion: 0.53
Cohesion: 0.43
Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry
### Community 698 - "Community 698"
@@ -3093,8 +3089,8 @@ Cohesion: 0.50
Nodes (4): Errors, GET `/oauth/userinfo`, Headers, Response `200`
### Community 717 - "Community 717"
Cohesion: 0.10
Nodes (7): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
Cohesion: 0.36
Nodes (3): TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage
### Community 718 - "Community 718"
Cohesion: 0.50
@@ -3105,8 +3101,8 @@ Cohesion: 0.53
Nodes (3): PaymentLog, PaymentLogRepository, ManagerRegistry
### Community 725 - "Community 725"
Cohesion: 0.33
Nodes (5): Like, LikeRepository, Comment, ManagerRegistry, User
Cohesion: 0.43
Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry
### Community 726 - "Community 726"
Cohesion: 0.29
@@ -3120,14 +3116,14 @@ Nodes (4): Errors, POST `/api/v1/user/login`, Request Body, Response `200`
Cohesion: 0.38
Nodes (3): SystemOwnerCommand, InputInterface, OutputInterface
### Community 732 - "Community 732"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
### Community 734 - "Community 734"
Cohesion: 0.29
Nodes (3): CorsRegexEnvProcessor, EnvVarProcessorInterface, CorsRegexEnvProcessorTest
### Community 736 - "Community 736"
Cohesion: 0.13
Nodes (5): LoggerInterface, RanginehProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 737 - "Community 737"
Cohesion: 0.50
Nodes (4): Errors, POST `/oauth/token/refresh`, Request Body, Response `200`
@@ -3180,10 +3176,6 @@ Nodes (5): DoctorImportResult, DoctorImportService, Collection, Doctor, User
Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 762 - "Community 762"
Cohesion: 0.38
Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
### Community 763 - "Community 763"
Cohesion: 0.33
Nodes (6): GET /api/v1/sms/balance — موجودی حساب پیامک, POST /api/v1/sms/queue — افزودن به صف, ۴. سیستم حساب و صف پیامک, ۴.۱ حساب پیامک (SMS Account), ۴.۲ صف پیامک (SMS Queue), ۴.۳ API پیامک
@@ -3221,8 +3213,8 @@ Cohesion: 0.40
Nodes (5): addMinutes(), calcSlotCount(), hasOverlap(), parseMinutes(), SessionEditor()
### Community 773 - "Community 773"
Cohesion: 0.17
Nodes (4): InventoryPackage, InventoryPackageItem, Collection, self
Cohesion: 0.12
Nodes (6): InventoryPackage, InventoryPackageItem, InventoryService, Collection, self, InventoryPackage
### Community 774 - "Community 774"
Cohesion: 0.67
@@ -3268,10 +3260,6 @@ Nodes (4): SiteConfigController, JsonResponse, Request, User
Cohesion: 0.36
Nodes (3): InventoryPackageRepository, InventoryPackage, ManagerRegistry
### Community 789 - "Community 789"
Cohesion: 0.39
Nodes (3): ClinicStaffRepository, ClinicStaff, ManagerRegistry
### Community 791 - "Community 791"
Cohesion: 0.39
Nodes (3): ProvinceRepository, ManagerRegistry, Province
@@ -3280,25 +3268,29 @@ Nodes (3): ProvinceRepository, ManagerRegistry, Province
Cohesion: 0.40
Nodes (5): DELETE `/api/v1/billing/tenant-insurances/{uuid}`, GET `/api/v1/billing/tenant-insurances`, PATCH `/api/v1/billing/tenant-insurances/{uuid}`, POST `/api/v1/billing/tenant-insurances`, TenantInsurance — قراردادهای بیمه‌ی tenant (فاز ۱ سیستم صورتحساب)
### Community 794 - "Community 794"
Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 795 - "Community 795"
Cohesion: 0.38
Nodes (3): BackfillSurrogateRoleCommand, InputInterface, OutputInterface
### Community 796 - "Community 796"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/insurance`, Request Body (`application/json`), Response `201`
### Community 797 - "Community 797"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260614181657, Schema, Version20260615203529
### Community 798 - "Community 798"
Cohesion: 0.50
Nodes (4): Errors, PATCH `/api/v1/admin/insurance/{id}`, Path Parameters, Response `200`
Cohesion: 0.40
Nodes (5): Errors, Path Parameters, POST `/api/v1/admin/clinic/{uuid}/invite-doctor`, Request Body (`application/json`), Response `201`
### Community 799 - "Community 799"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/insurance/`, Request Body (`application/json`), Response `201`
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/admin/clinic/invitation/{invUuid}/status`, Path Parameters, Request Body, Response `200`
### Community 801 - "Community 801"
Cohesion: 0.50
Nodes (4): Errors, PATCH `/api/v1/insurance/{id}`, Request Body, Response `200`
Cohesion: 0.40
Nodes (5): 31. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 804 - "Community 804"
Cohesion: 0.43
@@ -3317,12 +3309,12 @@ Cohesion: 0.33
Nodes (6): Errors, GET `/api/v1/patient/{uuid}/payments`, GET `/api/v1/patient/{uuid}/wallet`, GET `/api/v1/patient/{uuid}/wallet/transactions`, POST `/api/v1/patient/{uuid}/wallet/charge`, مالی بیمار (Financials: پرداخت / تراکنش / کیف‌پول)
### Community 809 - "Community 809"
Cohesion: 0.50
Nodes (4): PUT `/api/v1/insurance-pricing`, Request Body, Response `200`, خطاها
Cohesion: 0.40
Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 810 - "Community 810"
Cohesion: 0.48
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
Cohesion: 0.40
Nodes (5): 41. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 813 - "Community 813"
Cohesion: 0.50
@@ -3332,53 +3324,61 @@ Nodes (3): Altcha(), AltchaProps, IntrinsicElements
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/clinic/my-doctor/{doctorUuid}`, Path Parameters, Response `200`, Schedule Fields Notes
### Community 816 - "Community 816"
Cohesion: 0.67
Nodes (3): GET `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, PUT `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, TenantServiceCoverage — پوشش خدمت تحت یک قرارداد بیمه (فاز ۲)
### Community 817 - "Community 817"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/doctor/{uuid}`, Path Parameters, Request Body (`application/json`), Response `200`
### Community 818 - "Community 818"
Cohesion: 0.67
Nodes (3): GET `/api/v1/insurance-pricing`, Response `200`, خطاها
Cohesion: 0.50
Nodes (4): Errors, POST `/oauth/token`, Request Body, Response `200`
### Community 819 - "Community 819"
Cohesion: 0.50
Nodes (4): 39. 🟡 `PATCH` Comment confirmation, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 820 - "Community 820"
Cohesion: 0.67
Nodes (3): GET `/api/v1/insurances`, Query Parameters, Response `200`
Cohesion: 0.50
Nodes (4): 40. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 821 - "Community 821"
Cohesion: 0.67
Nodes (3): POST `/api/v1/admin/insurance/{id}/upload-logo`, Request, Response `200`
Cohesion: 0.50
Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامترهای Query, پاسخ‌ها
### Community 822 - "Community 822"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/admin/insurances`, Query Parameters, Response `200`
Nodes (4): 45. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 823 - "Community 823"
Cohesion: 0.33
Nodes (6): DELETE `/api/v1/tenant-tag/{uuid}`, Errors, GET `/api/v1/tenant-tags`, PATCH `/api/v1/tenant-tag/{uuid}`, POST `/api/v1/tenant-tag`, برچسب‌های Tenant (doctor/clinic)
Cohesion: 0.50
Nodes (4): 46. 🟡 `PATCH` patch, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 824 - "Community 824"
Cohesion: 0.67
Nodes (3): 29. 🟢 `GET` clinic list 🆕, پارامترهای Query, پاسخ‌ها
### Community 825 - "Community 825"
Cohesion: 0.50
Nodes (4): 38. 🟢 `GET` Unapproved comments, هدرهای اضافی, پارامترهای Query, پاسخ‌ها
### Community 826 - "Community 826"
Cohesion: 0.47
Nodes (3): PruneLogsCommand, InputInterface, OutputInterface
Cohesion: 0.67
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
### Community 827 - "Community 827"
Cohesion: 0.47
Nodes (3): SeedCategoriesCommand, InputInterface, OutputInterface
### Community 828 - "Community 828"
Cohesion: 0.67
Nodes (3): 42. 🔴 `DELETE` delete, هدرهای اضافی, پاسخ‌ها
### Community 829 - "Community 829"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200`
### Community 831 - "Community 831"
Cohesion: 0.67
Nodes (3): POST `/oauth/logout`, Request Body, Response `200`
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 832 - "Community 832"
Cohesion: 0.67
@@ -3417,7 +3417,7 @@ Cohesion: 0.67
Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200`
## Knowledge Gaps
- **4434 isolated node(s):** `ALLOWED_ROLES`, `get`, `patch`, `appt`, `ModalKind` (+4429 more)
- **4478 isolated node(s):** `ALLOWED_ROLES`, `get`, `patch`, `appt`, `ModalKind` (+4473 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **191 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
@@ -3425,15 +3425,15 @@ Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters
_Questions this graph is uniquely positioned to answer:_
- **Why does `Altcha` connect `Community 367` to `Community 813`, `Community 485`?**
_High betweenness centrality (0.098) - this node is a cross-community bridge._
- **Why does `MellatGateway` connect `Community 206` to `Community 736`, `Community 16`, `Community 20`?**
_High betweenness centrality (0.037) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 7`, `Community 265`, `Community 138`, `Community 779`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 529`, `Community 15`, `Community 786`, `Community 20`, `Community 275`, `Community 22`, `Community 26`, `Community 542`, `Community 676`, `Community 295`, `Community 300`, `Community 433`, `Community 442`, `Community 59`, `Community 699`, `Community 317`, `Community 64`, `Community 75`, `Community 77`, `Community 593`, `Community 607`, `Community 480`, `Community 739`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 121`, `Community 122`, `Community 252`?**
_High betweenness centrality (0.101) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 265`, `Community 138`, `Community 779`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 529`, `Community 15`, `Community 786`, `Community 20`, `Community 275`, `Community 22`, `Community 26`, `Community 542`, `Community 676`, `Community 295`, `Community 300`, `Community 433`, `Community 442`, `Community 59`, `Community 699`, `Community 317`, `Community 64`, `Community 75`, `Community 77`, `Community 593`, `Community 607`, `Community 480`, `Community 739`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 626`, `Community 245`, `Community 121`, `Community 122`, `Community 252`?**
_High betweenness centrality (0.054) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 775`, `Community 397`, `Community 527`, `Community 16`, `Community 531`, `Community 534`, `Community 535`, `Community 792`, `Community 539`, `Community 541`, `Community 161`, `Community 674`, `Community 33`, `Community 294`, `Community 685`, `Community 815`, `Community 816`, `Community 431`, `Community 562`, `Community 565`, `Community 574`, `Community 575`, `Community 318`, `Community 834`, `Community 710`, `Community 715`, `Community 720`, `Community 594`, `Community 82`, `Community 609`, `Community 482`, `Community 484`, `Community 486`, `Community 743`, `Community 744`, `Community 497`, `Community 625`, `Community 753`, `Community 633`, `Community 765`?**
_High betweenness centrality (0.037) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `get`, `patch` to the rest of the system?**
_4434 weakly-connected nodes found - possible documentation gaps or missing edges._
_4478 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.04104627766599597 - nodes in this community are weakly interconnected._
_Cohesion score 0.03663003663003663 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
_Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715105351_php", "label": "Version20260715105351.php", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L1"}, {"id": "migrations_version20260715105351_version20260715105351", "label": "Version20260715105351", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L13"}, {"id": "abstractmigration", "label": "AbstractMigration", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "migrations_version20260715105351_version20260715105351_getdescription", "label": ".getDescription()", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L15"}, {"id": "migrations_version20260715105351_version20260715105351_up", "label": ".up()", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L20"}, {"id": "schema", "label": "Schema", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L20"}, {"id": "migrations_version20260715105351_version20260715105351_down", "label": ".down()", "file_type": "code", "source_file": "migrations/Version20260715105351.php", "source_location": "L26"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715105351_php", "target": "schema", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715105351_php", "target": "abstractmigration", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715105351_php", "target": "migrations_version20260715105351_version20260715105351", "relation": "contains", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260715105351_version20260715105351", "target": "abstractmigration", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260715105351_version20260715105351", "target": "migrations_version20260715105351_version20260715105351_getdescription", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L15", "weight": 1.0}, {"source": "migrations_version20260715105351_version20260715105351", "target": "migrations_version20260715105351_version20260715105351_up", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L20", "weight": 1.0}, {"source": "migrations_version20260715105351_version20260715105351_up", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L20", "weight": 1.0, "context": "parameter_type"}, {"source": "migrations_version20260715105351_version20260715105351", "target": "migrations_version20260715105351_version20260715105351_down", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L26", "weight": 1.0}, {"source": "migrations_version20260715105351_version20260715105351_down", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715105351.php", "source_location": "L26", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "migrations_version20260715105351_version20260715105351_up", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260715105351.php", "source_location": "L23", "receiver": null}, {"caller_nid": "migrations_version20260715105351_version20260715105351_down", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260715105351.php", "source_location": "L29", "receiver": null}]}
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
+4548 -1804
View File
File diff suppressed because it is too large Load Diff
+122 -42
View File
@@ -1,7 +1,7 @@
{
"assets/admin/App.tsx": {
"mtime": 1784110681.7757514,
"ast_hash": "c21cf22d9c52776f4a9db5df005fa615",
"mtime": 1784116885.653039,
"ast_hash": "1e6ace94d49d9d0bf8e07dbe486515f8",
"semantic_hash": ""
},
"assets/admin/components/FreeVisitPrice.tsx": {
@@ -15,8 +15,8 @@
"semantic_hash": ""
},
"assets/admin/components/TenantInsuranceContracts.tsx": {
"mtime": 1784108604.2347696,
"ast_hash": "042428e6ce13aa6d343dee6ca7d8bd2b",
"mtime": 1784114616.8930357,
"ast_hash": "e608c43f5ca24bf6d4d1142c7dca8199",
"semantic_hash": ""
},
"assets/admin/components/layout/AdminLayout.tsx": {
@@ -25,8 +25,8 @@
"semantic_hash": ""
},
"assets/admin/components/layout/Sidebar.tsx": {
"mtime": 1784110681.7759123,
"ast_hash": "59070ae17dff6e3c57243fb7fd0357e9",
"mtime": 1784116885.6531978,
"ast_hash": "b8d5d33aac61afea11332975ebaa2dae",
"semantic_hash": ""
},
"assets/admin/components/layout/Topbar.tsx": {
@@ -170,8 +170,8 @@
"semantic_hash": ""
},
"assets/admin/pages/AppointmentsPage.tsx": {
"mtime": 1784020073.1607256,
"ast_hash": "2b5d825db2f9eaaaec3988d7978324b0",
"mtime": 1784116885.6533735,
"ast_hash": "a96b3e4230d240445043c71c017f79a4",
"semantic_hash": ""
},
"assets/admin/pages/BlogFormPage.tsx": {
@@ -250,8 +250,8 @@
"semantic_hash": ""
},
"assets/admin/pages/InsurancePricingPage.tsx": {
"mtime": 1784020073.1662471,
"ast_hash": "37d8276d8b17b0171fb8865d39c3423b",
"mtime": 1784113855.1142693,
"ast_hash": "1bae75bc48cf0e9bec4fb967cb1fff22",
"semantic_hash": ""
},
"assets/admin/pages/LoginPage.tsx": {
@@ -4150,13 +4150,13 @@
"semantic_hash": ""
},
"assets/admin/pages/AppointmentSettingsPage.test.tsx": {
"mtime": 1784020073.159491,
"ast_hash": "63d23dc7af0a70451bdcea5ec0d5b620",
"mtime": 1784114161.6113424,
"ast_hash": "a4a6b2db1e9efedb06f47e51be2dd99a",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentSettingsPage.tsx": {
"mtime": 1784020073.1597216,
"ast_hash": "2c0030335283d5b9879412a00cb72b68",
"mtime": 1784113869.5589273,
"ast_hash": "e79e66e79af6d9bb942062457b2c9867",
"semantic_hash": ""
},
"assets/admin/pages/TagsSettingsPage.test.tsx": {
@@ -4650,18 +4650,18 @@
"semantic_hash": ""
},
"assets/admin/components/InsuranceModal.test.tsx": {
"mtime": 1784108637.6470013,
"ast_hash": "6fe04b55fbcc3882e8ceae82fd85f88b",
"mtime": 1784114034.8535917,
"ast_hash": "6722dfa2d7b422b136695333f993b2e2",
"semantic_hash": ""
},
"assets/admin/components/InsuranceModal.tsx": {
"mtime": 1784108540.3270326,
"ast_hash": "286b613a22a34abac0a09331f1bbc6a6",
"mtime": 1784113916.2401674,
"ast_hash": "6cb020b2d2bf43ed3fc405eb86447eb9",
"semantic_hash": ""
},
"assets/admin/components/TenantInsuranceContracts.test.tsx": {
"mtime": 1784108700.5086567,
"ast_hash": "86c271f9fcc939a638fb07bc1169a839",
"mtime": 1784114627.1763446,
"ast_hash": "414f0784e3c1d290bebb5b4696ffc9c7",
"semantic_hash": ""
},
"migrations/Version20260715093358.php": {
@@ -4675,8 +4675,8 @@
"semantic_hash": ""
},
"assets/admin/components/inventory/AddItemModal.tsx": {
"mtime": 1784110681.7903998,
"ast_hash": "d8bea84e58c802873ba3d81d5d2c0758",
"mtime": 1784113007.585846,
"ast_hash": "4a1505ec48eecd4dc8ab91a16f53efd3",
"semantic_hash": ""
},
"assets/admin/components/inventory/AddPackageModal.tsx": {
@@ -4685,13 +4685,13 @@
"semantic_hash": ""
},
"assets/admin/components/inventory/InventoryActionsMenu.tsx": {
"mtime": 1784110681.7906592,
"ast_hash": "bbabd07276fc2ac07b786b121a963195",
"mtime": 1784111817.9963775,
"ast_hash": "52a3c76aec94d3e6bb88450c9c97d339",
"semantic_hash": ""
},
"assets/admin/components/inventory/InventoryItemsTable.tsx": {
"mtime": 1784110681.7907662,
"ast_hash": "397bf1e2e47bc09e8a569f26cc9e9da0",
"mtime": 1784113062.0062308,
"ast_hash": "44cbe0164c52ffb579ff94a77343226b",
"semantic_hash": ""
},
"assets/admin/components/inventory/InventoryStatCards.tsx": {
@@ -4710,18 +4710,18 @@
"semantic_hash": ""
},
"assets/admin/hooks/useInventory.ts": {
"mtime": 1784110681.7913206,
"ast_hash": "04e0f9dc62315b19cd3832804327cba0",
"mtime": 1784112973.48693,
"ast_hash": "99ff2a8ec0f1f00e5a95d83721aa6da7",
"semantic_hash": ""
},
"assets/admin/pages/InventoryPage.test.tsx": {
"mtime": 1784110681.7915182,
"ast_hash": "c5b1d337afcc9c8910835accea585743",
"mtime": 1784113147.3851721,
"ast_hash": "643b1466486a222d4596bcf8a8a02936",
"semantic_hash": ""
},
"assets/admin/pages/InventoryPage.tsx": {
"mtime": 1784110681.7916672,
"ast_hash": "71c2c4b18f8dd4d4ef4159bf3954327c",
"mtime": 1784113028.651921,
"ast_hash": "d1d9274a0139082b7384a81aa13a536c",
"semantic_hash": ""
},
"migrations/Version20260715100324.php": {
@@ -4730,13 +4730,13 @@
"semantic_hash": ""
},
"src/Inventory/Controller/InventoryController.php": {
"mtime": 1784110681.7921233,
"ast_hash": "b74b77c309416305cb6dfb872dc29785",
"mtime": 1784112902.6635036,
"ast_hash": "276e09cf6cfc0b80990ba6e414f1f60a",
"semantic_hash": ""
},
"src/Inventory/Entity/InventoryItem.php": {
"mtime": 1784110681.7922895,
"ast_hash": "211307be817419c67f9b68cc5b14455b",
"mtime": 1784112783.463729,
"ast_hash": "27fbcb45bfe10ca4d9f6704847971549",
"semantic_hash": ""
},
"src/Inventory/Entity/InventoryPackage.php": {
@@ -4750,8 +4750,8 @@
"semantic_hash": ""
},
"src/Inventory/Repository/InventoryItemRepository.php": {
"mtime": 1784110681.79265,
"ast_hash": "850ae49e0303cfc6a4c82b91b84124df",
"mtime": 1784112872.7197318,
"ast_hash": "3145be4155d9162eebd780d118a50030",
"semantic_hash": ""
},
"src/Inventory/Repository/InventoryPackageRepository.php": {
@@ -4765,13 +4765,93 @@
"semantic_hash": ""
},
"tests/Inventory/InventoryApiTest.php": {
"mtime": 1784110681.7930393,
"ast_hash": "107651cec0236831b4553dae2c209208",
"mtime": 1784113198.0125272,
"ast_hash": "5b555d348303b32dad04d41d064b9fdf",
"semantic_hash": ""
},
"docs/api/inventory.md": {
"mtime": 1784110681.7917752,
"ast_hash": "eec38fb5a25613ae594054f4c82631cb",
"mtime": 1784113307.6908617,
"ast_hash": "0d551301f32fc2ec3eb28c5df2b90a83",
"semantic_hash": ""
},
"assets/admin/components/appointments/DoctorTabs.tsx": {
"mtime": 1784116329.7845862,
"ast_hash": "2d24ff280ab8b8602c56b304f3ed205b",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsStatInfo.test.tsx": {
"mtime": 1784116721.8672147,
"ast_hash": "6bf1b14a4a0e9cc1afd9c7667e9585dd",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsStatInfo.tsx": {
"mtime": 1784116298.8076522,
"ast_hash": "3770ae5032efe35d8dddc04a0a8dfa6c",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsTable.tsx": {
"mtime": 1784116406.0853283,
"ast_hash": "7169b7f7c3d222c6dba4f4b1d018c658",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsTimeline.test.tsx": {
"mtime": 1784116738.2429783,
"ast_hash": "e751b808888e07314be7952ec3988732",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsTimeline.tsx": {
"mtime": 1784116384.5656297,
"ast_hash": "704ce45b10c9fb8474d9d8f05d347117",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsViewToggle.tsx": {
"mtime": 1784116316.7610219,
"ast_hash": "136d16bec314e5e9ebb4e71ad312b780",
"semantic_hash": ""
},
"assets/admin/components/appointments/turnStatus.ts": {
"mtime": 1784116266.174207,
"ast_hash": "954da04d33003bdd1780fc8ad55ffc58",
"semantic_hash": ""
},
"assets/admin/components/appointments/types.ts": {
"mtime": 1784116343.443082,
"ast_hash": "ad05e89b1396799ed27665592b6898ff",
"semantic_hash": ""
},
"assets/admin/components/layout/Sidebar.test.tsx": {
"mtime": 1784116761.5402176,
"ast_hash": "e3928f129e7cfdc970ec85c7137e8dde",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentCreatePage.test.tsx": {
"mtime": 1784116783.6194932,
"ast_hash": "472cce63c92272bfce182c8faab86aba",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentCreatePage.tsx": {
"mtime": 1784116584.5218346,
"ast_hash": "817a74ad0dd390ae04106679062c44e0",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentsPage.test.tsx": {
"mtime": 1784116805.412919,
"ast_hash": "18a723e070c0c96639ec130ed468c532",
"semantic_hash": ""
},
"migrations/Version20260715105351.php": {
"mtime": 1784112836.8808544,
"ast_hash": "6821edd323aad205fadd129327a294cd",
"semantic_hash": ""
},
".claude/prompt/insurance-pricing-tabs-redesign.md": {
"mtime": 1784113788.4971735,
"ast_hash": "d5d49dd0e21edb25a4bbf57828b1e796",
"semantic_hash": ""
},
".claude/prompt/inventory-unit-select-and-category.md": {
"mtime": 1784112505.8200867,
"ast_hash": "5ec13245fdd8078a67334a32ffacd3a7",
"semantic_hash": ""
}
}