improve bazdid 6

This commit is contained in:
javad committed 2026-10-22 14:01:08 +03:30
1 parent 99c25a8216
commit fa73a734a0
21 files changed
+32760 -7985

No files matched your search

+261 -173
View File
@@ -1,23 +1,23 @@
# Graph Report - khatibi (2026-10-20)
# Graph Report - khatibi (2026-10-22)
## Corpus Check
- 197 files · ~287,853 words
- 204 files · ~314,556 words
- Verdict: corpus is large enough that graph structure adds value.
- Unclassified: 8 file(s) not represented in the graph (top: (none) 5, .env 2, .csv 1)
## Summary
- 1991 nodes · 3632 edges · 207 communities (87 shown, 120 thin omitted)
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 188 edges (avg confidence: 0.89)
- 2509 nodes · 4876 edges · 223 communities (104 shown, 119 thin omitted)
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 234 edges (avg confidence: 0.91)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `1fd27d04`
- Built from commit: `99c25a82`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
## Community Hubs (Navigation)
- views/sms.py
- run_all
- AutoSendTests
- django_db
- views/store.py
- ModelsPackageContractTests
@@ -27,13 +27,14 @@
- views/customers.py
- django_db_models_deletion
- PanelTestCase
- make_customer
- mark_primary
- EventTriggerTests
- views/finance.py
- django_conf
- sms0098ws.py
- Admin Panel Customization
- User
- apply_timing
- views/actions.py
- timing_for
- InactiveCustomerHiddenTests
- normalize_mobile
- Login Template Forms
@@ -41,12 +42,12 @@
- factories.py
- Rip'n Fast. Fewer Tokens. Better Code.
- views/factors.py
- sms0098.py
- SMSResult
- make_user
- QueueReviewTests
- NoticeMechanismTests
- name_fix.py
- enqueue_sms
- scanner.py
- ZeroZeroNinetyEightWebServiceTests
- ScannerTests
- admin_panel/templates/admin_panel/baseHesabdari.html
@@ -59,47 +60,47 @@
- SMS Integration Docs
- enqueue.py
- django_shortcuts
- test_inventory.py
- stock_in
- admin_panel/templates/admin_panel/customerAction.html
- SmsReportTests
- write_tree
- generate_snapshot
- CustomerInfoCardUITests
- TestCase
- enqueue_sms
- Phone Cleanup Guide
- Customer
- .run_command
- project_tree.py
- Agent Operating Guidelines
- Command
- BehinSMSProvider
- activate_sms
- run_all
- Financial Data Objects
- Hybrid Migration Command
- .run_cmd
- PhoneNumber
- Resource Cleanup Handler
- SMS Timing Migration
- admin_panel/templates/admin_panel/bedehi.html
- customerIDFactorBackup.html
- bale/providers.py
- os
- VisitHoldTests
- reconciliation_tool.py
- Graphify Tooling Docs
- Command
- ZeroZeroNinetyEightLinkTests
- SMS Template Seeding
- admin_panel/entezar.html
- customerNewBackup.html
- django_conf
- SMSProvider
- 0070_sms_types_seven.py
- Endpoint Smoke Tests
- ViewSmokeTests
- Timezone Migration History
- Command
- UrlContractTests
- TodayFollowupTests
- Brand Scrubbing Migration
- SMS Dedup Migration
- Installation Guide
- Project Honesty Contract
- Flow Control Migration
- Permission Label Migration
- PhoneNumber
- visit_policy.py
- Output Format Specs
- Performance Benchmarks
- SMS Integration Overview
@@ -109,23 +110,23 @@
- Infrastructure Services
- Agent Setup Guide
- First Use Guide
- ConsoleEncodingTests
- test_factors.py
- console.py
- test_sms.py
- تجمیع شماره‌های پیامک مشتریان
- Command
- Base Template
- test_sms.py
- Command
- test_customer_name_fix.py
- Customer
- WorkerTests
- manage.py
- افزودن پیشوند «آقای/خانم» به نام مشتریان
- Command
- QueueStatsTests
- signals.py
- make_customer
- admin_panel/apps.py
- Customer Communication Partials
- SMS Template Management
- Documentation and Graphing
- recipients.py
- resolve_recipients
- Customer Action Templates
- Customer Feedback Components
- Customer Invoice Details
@@ -155,14 +156,14 @@
- Store Transfer Interface
- Store Directory Template
- Currency Formatting Utility
- HttpProviderRobustnessTests
- HTTPSMSProvider
- Data Cleanup Documentation
- Project Dependencies
- Customer
- factory.py
- EntezarPageControlsTests
- 0075_cheque_funding_before_due.py
- توقف و ادامه (Resume / Checkpoint)
- Command
- RecalcCommandTests
- 0071_sms_settings_permission.py
- 0056_auto_20260731_1824.py
- الگوریتم تصمیم (به همین ترتیب)
@@ -170,59 +171,78 @@
- 0073_alter_action_actiontype_choices.py
- stop.sh
- 0074_alter_action_status_choices.py
- remove_query_param
- at
- اجرای محلی (توسعه)
- .test_deleted_visit_reminder_rearms_next_period_only
- apply_timing
- اجرا روی سرور Production
- اجرای محلی (توسعه)
- ادامهٔ job پس از crash / قطع برق
- اجرا روی سرور Production
- os
- 0005_auto_20220121_2054.py
- 0009_remove_storeroom_user.py
- test_visit_policy.py
- 0014_auto_20220123_1348.py
- 0015_auto_20220124_0858.py
- 0017_factoriteam_garantyesh.py
- 0022_article_typepy.py
- 0026_auto_20220209_1924.py
- ActionSoftDeleteTests
- last_visit_map
- CoordinationDoneConfirmTests
- BaseTemplateStructureTests
- 0028_action_grade.py
- 0032_article_paystatus.py
- 0033_article_nahvepardakht.py
- validate_action_payload
- NextAppointmentTests
- 0034_alter_article_sarresid.py
- 0035_alter_article_sarresid.py
- 0040_customer_laghv_bazdid.py
- django_contrib_auth_models
- entezar
- 0041_auto_20240216_1607.py
- 0048_alter_productinstore_options.py
- 0053_storeroom_owners.py
- 0055_action_nextnazardt.py
- Action
- بخش دوم — امکانات جدید رابط کاربری صفحهٔ انتظار
- بازمحاسبهٔ «آخرین بازدید» مشتریان
- 0062_sms_link_provider.py
- 0063_alter_smsqueue_status.py
- 0068_auto_20261010_1305.py
- TestCase
- newFactor
- 0072_customernamefixjob.py
- 0077_alter_smstemplate_text_balance_help.py
- «قرار بعدی» بازدید و صفحهٔ انتظار — توضیح کامل عملکرد
- SMSDeliveryCommandTests
- ActionModalTemplateTests
- customer_balance
- VisitDecisionTests
- EntezarScannerConsistencyTests
- EntezarLayoutTests
- signals.py
- ۴. فرم ثبت اقدام (UI)
- ۱.۱ نمای «نیازمند پیگیری امروز» (`?view=today`) — **پیش‌فرض صفحه**
- cleanup_visit_dedup.py
- ۶.۱ حذف یک اقدام (soft-delete)
- active_deferral
- index
- 0025_action_actiontype.py
- 0027_alter_action_nazar.py
- 0029_alter_article_options.py
- 0030_auto_20220414_1047.py
## God Nodes (most connected - your core abstractions)
1. `make_customer()` - 89 edges
2. `run_all()` - 28 edges
3. `make_user()` - 28 edges
4. `normalize_mobile()` - 27 edges
5. `Customer` - 24 edges
6. `PhoneNumber` - 24 edges
7. `Command` - 24 edges
8. `enqueue_sms()` - 24 edges
9. `SMSResult` - 23 edges
10. `Rip'n Fast. Fewer Tokens. Better Code.` - 23 edges
1. `make_customer()` - 111 edges
2. `as_aware()` - 50 edges
3. `make_user()` - 42 edges
4. `at()` - 42 edges
5. `VisitHoldTests` - 41 edges
6. `TodayFollowupTests` - 38 edges
7. `Customer` - 37 edges
8. `PhoneNumber` - 30 edges
9. `make_visit()` - 29 edges
10. `EntezarPageControlsTests` - 28 edges
## Surprising Connections (you probably didn't know these)
- `نکته‌های مهم` --references--> `Action` [INFERRED]
recalc_last_bazdid.md → admin_panel/models/actions.py
- `مدل وضعیت job` --references--> `CustomerNameFixJob` [INFERRED]
fix_customer_names.md → admin_panel/models/system.py
- `چرا؟` --references--> `CustomerNameFixJob` [INFERRED]
fix_customer_names.md → admin_panel/models/system.py
- `سریع‌ترین مسیر روی Production (اگر همین یک دستور را می‌خواهی)` --references--> `CustomerNameFixJob` [INFERRED]
normalize_customer_sms_phones.md → admin_panel/models/system.py
- `تست‌ها` --references--> `resolve_recipients()` [INFERRED]
normalize_customer_sms_phones.md → admin_panel/sms/recipients.py
- `۷. سناریوهای تست‌شده` --references--> `next_appointment_map()` [INFERRED]
docs/visit_hold_entezar.md → admin_panel/visit_policy.py
- `ایمنی ویرایش رکوردهای قدیمی` --references--> `manual_holds_map()` [INFERRED]
docs/visit_hold_entezar.md → admin_panel/visit_policy.py
- `هشدار «پیگیری‌های عقب‌افتاده»` --references--> `overdue_followups()` [INFERRED]
docs/visit_hold_entezar.md → admin_panel/visit_policy.py
## Import Cycles
- None detected.
@@ -255,15 +275,15 @@
- **New Factor Creation Flow** — admin_panel_templates_admin_panel_customeridbackup_html, django_url_admin_panel_productsjson, api_endpoint_panel_productmojodi, admin_panel_templates_admin_panel_customeridbackup_html_orderlist, admin_panel_templates_admin_panel_customeridbackup_html_buildorderlist, django_url_admin_panel_newfactor [INFERRED]
- **Store and Inventory Management Flow** — admin_panel_templates_admin_panel_basestore, concept_url_admin_panel_stores, concept_url_admin_panel_productadd, concept_url_admin_panel_operations, concept_url_admin_panel_store_transfers [INFERRED]
## Communities (207 total, 120 thin omitted)
## Communities (223 total, 119 thin omitted)
### Community 0 - "views/sms.py"
Cohesion: 0.12
Nodes (18): _approve(), customer_sms_history(), _customer_url(), _notice(), parse_jalali_date(), parse_scan_since(), resolve_recipients_test(), sms_customer_toggle() (+10 more)
Nodes (19): _approve(), customer_sms_history(), _customer_url(), _notice(), parse_jalali_date(), parse_scan_since(), _remember_keys(), resolve_recipients_test() (+11 more)
### Community 2 - "django_db"
Cohesion: 0.05
Nodes (20): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+12 more)
Cohesion: 0.04
Nodes (28): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+20 more)
### Community 3 - "views/store.py"
Cohesion: 0.05
@@ -273,105 +293,101 @@ Nodes (32): Product, Meta, ProductCategory, ProductInStore, Meta, MovementType,
Cohesion: 0.08
Nodes (9): Command, Migration, scrub_legacy_phones(), _append_note(), clean_all(), clean_customer(), clean_legacy_cell(), _numeric_tokens() (+1 more)
### Community 6 - ".load"
Cohesion: 0.19
Nodes (4): 12. Supported languages and formats, Languages, SettingsPanelTests, TestMessageSettingsTests
### Community 7 - "models/sms.py"
Cohesion: 0.06
Nodes (15): CustomerSMSSetting, Meta, SMSDedup, Meta, SMSLog, Meta, SMSProviderConfig, Meta (+7 more)
### Community 9 - "views/customers.py"
Cohesion: 0.10
Nodes (18): normalize_primary_values(), customer_toggle_map(), notify_welcome(), customer(), customerDel(), customerEdit(), customerFactor(), customerFactors() (+10 more)
Nodes (15): customer_toggle_map(), notify_welcome(), customer(), customerDel(), customerEdit(), customerFactor(), customerFactors(), customerNew() (+7 more)
### Community 10 - "django_db_models_deletion"
Cohesion: 0.05
Nodes (19): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+11 more)
Cohesion: 0.07
Nodes (13): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+5 more)
### Community 11 - "PanelTestCase"
Cohesion: 0.15
Nodes (3): EmptyQueueTests, PanelTestCase, SentQueueProtectionTests
Cohesion: 0.18
Nodes (3): DeletedStaysDeletedTests, PanelTestCase, SentQueueProtectionTests
### Community 12 - "make_customer"
Cohesion: 0.10
Nodes (7): resolve_recipients(), تست‌ها, make_customer(), DeletedStaysDeletedTests, mark_primary(), PrimaryNumberPanelTests, RecipientTests
### Community 12 - "mark_primary"
Cohesion: 0.14
Nodes (3): mark_primary(), RecipientTests, WelcomeTriggerTests
### Community 14 - "views/finance.py"
Cohesion: 0.20
Nodes (18): Article, Meta, addSarresid(), bedehi(), bedehiKhadamat(), bedehiNasb(), financial_dashboard(), hesabdari() (+10 more)
Cohesion: 0.17
Nodes (20): Article, Meta, notify_payment_thanks(), customerHesabdariAdd(), addSarresid(), bedehi(), bedehiKhadamat(), bedehiNasb() (+12 more)
### Community 15 - "django_conf"
Cohesion: 0.08
Nodes (11): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+3 more)
### Community 16 - "sms0098ws.py"
Cohesion: 0.11
Nodes (5): to_local(), classify_delivery(), DeliveryCode, describe_send_code(), _as_text()
Cohesion: 0.13
Nodes (5): classify_delivery(), DeliveryCode, describe_send_code(), _as_text(), ZeroZeroNinetyEightWebServiceProvider
### Community 17 - "Admin Panel Customization"
Cohesion: 0.12
Nodes (10): CustomerSMSSettingAdmin, SMSLogAdmin, SMSProviderConfigAdmin, SMSProviderConfigForm, Meta, SMSQueueAdmin, SMSTemplateAdmin, StoreRoomAdmin (+2 more)
### Community 18 - "User"
Cohesion: 0.07
Nodes (34): User, Action, ActionType, Status, VisitQueue, Factor, Meta, StoreRoom (+26 more)
### Community 18 - "views/actions.py"
Cohesion: 0.10
Nodes (25): User, notify_visit_scheduled(), _action_payload_from_request(), ActionList(), ActionListAll(), ActionListToday(), ActionListUser(), ActionListUserToday() (+17 more)
### Community 19 - "apply_timing"
### Community 19 - "timing_for"
Cohesion: 0.12
Nodes (7): apply_timing(), current_timing_value(), timing_for(), sms_template_edit(), sms_templates(), _templates_redirect(), TimingsTests
Nodes (7): current_timing_value(), timing_for(), _sample_context(), sms_template_edit(), sms_templates(), _templates_redirect(), TimingsTests
### Community 20 - "InactiveCustomerHiddenTests"
Cohesion: 0.12
Nodes (3): CustomerCrudTests, CustomerDeleteGuardTests, InactiveCustomerHiddenTests
### Community 21 - "normalize_mobile"
Cohesion: 0.10
Nodes (13): customer_phone_entries(), _iter_sources(), PhoneEntry, resolved_recipients(), save_primary_normalized(), stored_primary_normalized(), to_display(), usable_entries() (+5 more)
Cohesion: 0.09
Nodes (13): customer_phone_entries(), _iter_sources(), normalize_primary_values(), PhoneEntry, primary_phones(), save_primary_normalized(), stored_primary_normalized(), to_display() (+5 more)
### Community 22 - "Login Template Forms"
Cohesion: 0.11
Nodes (17): Django CSRF Token, Django Custom Tags, Django Static Files, Django URL: admin_panel:newStore, Django URL: admin_panel:operations, Django URL: admin_panel:p_login, Django URL: admin_panel:store, Form Field: password (+9 more)
### Community 23 - "cheque_inquiry.py"
Cohesion: 0.17
Cohesion: 0.19
Nodes (6): api_check_sabt_inquiry(), api_check_status_inquiry(), parse_cheque_result_html(), run_bpi_cheque_inquiry_logic(), run_cbi_sayad_inquiry_logic(), solve_base64_captcha()
### Community 24 - "factories.py"
Cohesion: 0.31
Cohesion: 0.20
Nodes (5): ProductCategory, make_category(), make_product(), make_store(), _next()
### Community 25 - "Rip'n Fast. Fewer Tokens. Better Code."
Cohesion: 0.11
Nodes (18): Against the leading graph-database code-context MCP server, Better Code: It automates the review judgments nobody has time to make — every lens from published research, Documentation, Graph-Ranked Retrieval: It finds the right files more often than the alternatives, If it works on your codebase, tell us what it got wrong, Improve it with your agent, Licence, Quickstart (+10 more)
Nodes (19): Against the leading graph-database code-context MCP server, Better Code: It automates the review judgments nobody has time to make — every lens from published research, Documentation, Graph-Ranked Retrieval: It finds the right files more often than the alternatives, If it works on your codebase, tell us what it got wrong, Improve it with your agent, Languages, Licence (+11 more)
### Community 26 - "views/factors.py"
Cohesion: 0.12
Nodes (10): FactorIteam, notify_factor_survey(), notify_payment_thanks(), FactorDel(), newFactor(), newFactor2(), InventoryException, _parse_jalali_date() (+2 more)
Cohesion: 0.18
Nodes (6): notify_factor_survey(), newFactor2(), InventoryException, _parse_jalali_date(), _parse_timestamp(), _safe_int()
### Community 27 - "sms0098.py"
Cohesion: 0.20
Nodes (3): _configured_codes(), _response_code(), ZeroZeroNinetyEightSMSProvider
### Community 27 - "SMSResult"
Cohesion: 0.18
Nodes (5): SMSResult, _configured_codes(), _response_code(), ZeroZeroNinetyEightSMSProvider, _FailingProvider
### Community 30 - "NoticeMechanismTests"
Cohesion: 0.17
Nodes (3): dashBoxData(), resolve(), NoticeMechanismTests
### Community 31 - "name_fix.py"
Cohesion: 0.13
Nodes (6): build_name_index(), DatasetError, load_name_index(), normalize_name_key(), validate_dataset(), NameIndexTests
### Community 32 - "enqueue_sms"
Cohesion: 0.21
Nodes (7): enqueue_sms(), _aware(), _Budget, scan_cheque_funding(), scan_nesiye_due(), scan_visit(), _template()
### Community 33 - "ZeroZeroNinetyEightWebServiceTests"
Cohesion: 0.12
Nodes (4): SMSDeliveryResult, ZeroZeroNinetyEightWebServiceProvider, SMSDeliveryCommandTests, ZeroZeroNinetyEightWebServiceTests
Nodes (8): build_name_index(), DatasetError, load_name_index(), NameIndex, normalize_name_key(), validate_dataset(), NameIndexTests, sha256_of()
### Community 32 - "scanner.py"
Cohesion: 0.12
Nodes (12): _aware(), _Budget, scan_cheque_funding(), scan_nesiye_due(), scan_visit(), _template(), cycle_anchor_dt(), cycle_anchor_map() (+4 more)
### Community 35 - "admin_panel/templates/admin_panel/baseHesabdari.html"
Cohesion: 0.13
Nodes (14): URL: admin_panel:ActionListUserToday, URL: admin_panel:bedehi, URL: admin_panel:entezar, URL: admin_panel:hesabdari, URL: admin_panel:hesabdari_residnashone, URL: admin_panel:index, URL: admin_panel:p_logout, URL: admin_panel:rezayat (+6 more)
### Community 36 - "Reference guide"
Cohesion: 0.14
Nodes (14): 10. Quality evaluation, 11. Agent integration, 13. Performance, 14. Known limits, 15. Documentation, 16. Improvement, 17. License, 1. Purpose and function (+6 more)
Cohesion: 0.13
Nodes (15): 10. Quality evaluation, 11. Agent integration, 12. Supported languages and formats, 13. Performance, 14. Known limits, 15. Documentation, 16. Improvement, 17. License (+7 more)
### Community 37 - "Factor Creation UI"
Cohesion: 0.15
@@ -382,27 +398,23 @@ Cohesion: 0.19
Nodes (11): admin_panel:customerNew, admin_panel:pardakhtNesiye, /panel/passCheck/, all_sarresid, mandehesabKP, admin_panel.ViewReportMali, jQuery, pDatepicker JS Library (+3 more)
### Community 39 - "requests"
Cohesion: 0.25
Nodes (4): AnnouncementRejected, place_announcement_call(), place_voip_call(), VoipCallResult
Cohesion: 0.13
Nodes (8): AnnouncementRejected, place_announcement_call(), BaleBotProvider, ConsoleBaleProvider, get_bale_provider(), NotificationResult, place_voip_call(), VoipCallResult
### Community 40 - "CustomerSmsHistoryTests"
Cohesion: 0.15
Nodes (3): customer_phones(), toJalaliDT(), CustomerSmsHistoryTests
Cohesion: 0.09
Nodes (5): customer_phones(), row_for(), toJalaliDT(), CustomerSmsHistoryTests, QueueStatsTests
### Community 42 - "SMS Integration Docs"
Cohesion: 0.15
Nodes (12): **جدول کدهای خطای لینک ارتباطی**, **جدول کدهای خطای وب‌سرویس و وضعیت‌های دلیوری**, **راهنمای استفاده از Web Service**, **راهنمای استفاده از لینک ارتباطی (URL GET)**, **راهنمای استفاده از لینک ارتباطی و وب‌سرویس سامانه پیامک (0098vip.com و 0098sms.com)**, **فهرست مطالب**, **مقدمات اتصال**, **نمونه کدهای پیاده‌سازی** (+4 more)
### Community 43 - "enqueue.py"
Cohesion: 0.13
Nodes (6): customer_balance(), format_amount(), format_jalali(), render_template(), _SafeDict, _sample_context()
Cohesion: 0.21
Nodes (4): format_amount(), format_jalali(), render_template(), _SafeDict
### Community 44 - "django_shortcuts"
Cohesion: 0.13
Nodes (5): ArticleType, Sarresid, index(), `nest=` is a max, so it cannot tell a long function from a tangled one, The quality panel
### Community 45 - "test_inventory.py"
Cohesion: 0.11
### Community 45 - "stock_in"
Cohesion: 0.12
Nodes (11): Factor, FactorIteam, Product, ProductInStore, StoreRoom, VisitQueue, current_stock(), stock_in() (+3 more)
### Community 46 - "admin_panel/templates/admin_panel/customerAction.html"
@@ -413,21 +425,21 @@ Nodes (9): admin_panel/templates/admin_panel/customerActionInc.html, admin_panel
Cohesion: 0.10
Nodes (7): describe(), detect_encoding(), encoded_length(), is_gsm7(), parts_count(), SmsPartsTests, SmsReportTests
### Community 48 - "write_tree"
Cohesion: 0.21
Nodes (6): Counts, format_header(), generate_snapshot(), normalized_path(), write_tree(), visit()
### Community 48 - "generate_snapshot"
Cohesion: 0.32
Nodes (3): Counts, format_header(), generate_snapshot()
### Community 50 - "TestCase"
Cohesion: 0.20
Nodes (3): is_sms_enabled(), EnqueueIdempotencyTests, RuleTests
### Community 50 - "enqueue_sms"
Cohesion: 0.21
Nodes (4): enqueue_sms(), is_sms_enabled(), EnqueueIdempotencyTests, RuleTests
### Community 51 - "Phone Cleanup Guide"
Cohesion: 0.17
Nodes (11): اجرا روی سرور اصلی (production), اجرای دستور, اصلاح دستی شماره‌های قدیمی مشتریان, راه جایگزین: مهاجرت (migration), قاعدهٔ پاک‌سازی, مشاهدهٔ نتیجه, نکته‌ها, چرا؟ (+3 more)
### Community 52 - "Customer"
Cohesion: 0.10
Nodes (8): Customer, ApplyTests, CommandTestMixin, DatasetFixtureMixin, DryRunTests, ResilienceTests, flaky(), sha256_of()
### Community 52 - ".run_command"
Cohesion: 0.13
Nodes (5): ApplyTests, CommandTestMixin, DryRunTests, ResilienceTests, flaky()
### Community 53 - "project_tree.py"
Cohesion: 0.23
@@ -437,13 +449,17 @@ Nodes (6): is_excluded_file(), main(), non_negative_integer(), parse_args(), sor
Cohesion: 0.18
Nodes (8): 1. Codebase Navigation & Analysis (Ripwire vs. Graphify), 2. Dynamic Help, Self-Correction & Staleness, 3. Git Operations & Safety, 4. Development Server Lifecycle, 5. Environment, Frontend & PWA Safety, 6. End-to-End Browser Tests (Playwright), Project Operating & Agent Guidelines, Routing Gate & Pipeline
### Community 57 - "run_all"
Cohesion: 0.25
Nodes (3): run_all(), activate_sms(), ColdStartTests
### Community 58 - "Financial Data Objects"
Cohesion: 0.20
Nodes (9): Customer Data Object, Factor Data Object, Sarresid Data Object, admin_panel:customerNew URL, admin_panel:pardakhtNesiye URL, /panel/passCheck/ URL, admin_panel.ViewReportMali Permission, jQuery JS Library (+1 more)
### Community 60 - ".run_cmd"
Cohesion: 0.10
Nodes (6): ApplyTests, BatchAndCheckpointTests, flaky(), CommandTestCase, DryRunTests, make_phone()
### Community 60 - "PhoneNumber"
Cohesion: 0.11
Nodes (8): PhoneNumber, BatchAndCheckpointTests, flaky(), CommandTestCase, DryRunTests, IntegrationAndEfficiencyTests, make_phone(), OverflowTests
### Community 62 - "SMS Timing Migration"
Cohesion: 0.22
@@ -457,13 +473,9 @@ Nodes (8): Articl Model, Customer Model, articls, toJalali, admin_panel:bedehi,
Cohesion: 0.20
Nodes (7): Client-side script in customerIDFactorBackup.html, URL: admin_panel:customerEdit, Factor Data Model, Product Data Model, Product Category Data Model, User Data Model, URL: /panel/productMojodi/
### Community 65 - "bale/providers.py"
Cohesion: 0.36
Nodes (4): BaleBotProvider, ConsoleBaleProvider, get_bale_provider(), NotificationResult
### Community 66 - "os"
Cohesion: 0.20
Nodes (3): check_financial_discrepancy(), run_360_audit(), run_audit()
### Community 66 - "reconciliation_tool.py"
Cohesion: 0.19
Nodes (4): remove_query_param(), check_financial_discrepancy(), run_360_audit(), run_audit()
### Community 67 - "Graphify Tooling Docs"
Cohesion: 0.22
@@ -477,9 +489,9 @@ Nodes (6): Customer Data Structure, kamaDatepicker Library, URL: admin_panel:cus
Cohesion: 0.25
Nodes (7): admin_panel:newFactor URL, Category Data, Client-side Form Logic, Customer Data, CSRF Token, custom_tags, static
### Community 73 - "django_conf"
### Community 73 - "SMSProvider"
Cohesion: 0.13
Nodes (7): SMSProvider, SMSResult, webotp_message(), console_write(), ConsoleSMSProvider, HTTPSMSProvider, _FailingProvider
Nodes (4): SMSProvider, get_provider_class(), get_sms_provider(), reset_sms_provider()
### Community 76 - "Timezone Migration History"
Cohesion: 0.29
@@ -493,9 +505,9 @@ Nodes (5): 3.1 Install a prebuilt binary, 3.2 Build from source, 3.3 Install the
Cohesion: 0.40
Nodes (5): In the numbers, In the output, In the tests, The honesty contract, What it misses, and what to run next
### Community 85 - "PhoneNumber"
Cohesion: 0.20
Nodes (4): PhoneNumber, IntegrationAndEfficiencyTests, OverflowTests, WelcomeTriggerTests
### Community 85 - "visit_policy.py"
Cohesion: 0.08
Nodes (20): _action_appointments(), ActionDeleteError, appointment_sources_map(), cancel_pending_sms_for_action(), coordination_holds_map(), effective_visit_dt(), followups_on_date(), _future_actions() (+12 more)
### Community 86 - "Output Format Specs"
Cohesion: 0.50
@@ -518,8 +530,8 @@ Cohesion: 0.67
Nodes (3): createCS click handler, openRow click handler, Customer Modals UI
### Community 91 - "decide_prefix"
Cohesion: 0.18
Nodes (4): decide_prefix(), Decision, NameIndex, DecidePrefixTests
Cohesion: 0.14
Nodes (4): decide_prefix(), Decision, DatasetFixtureMixin, DecidePrefixTests
### Community 92 - "Infrastructure Services"
Cohesion: 0.67
@@ -533,46 +545,58 @@ Nodes (3): 1. (Optional) Register the MCP server, 2. Install the skills, Set it
Cohesion: 0.67
Nodes (3): 4.1 Make the first map, 4.2 Use the common commands, 4. First use
### Community 95 - "console.py"
Cohesion: 0.15
Nodes (4): webotp_message(), console_write(), ConsoleSMSProvider, ConsoleEncodingTests
### Community 97 - "تجمیع شماره‌های پیامک مشتریان"
Cohesion: 0.14
Nodes (13): الگوریتم (برای هر مشتری), بازگردانی (اگر نتیجه را نخواستی), بررسی صحت داده (SQL), تجمیع شماره‌های پیامک مشتریان, تعریف کلیدهای گزارش, خطاها و اقدام درست, عملکرد و بار روی دیتابیس, نمونه‌ها (+5 more)
Cohesion: 0.12
Nodes (15): الگوریتم (برای هر مشتری), بازگردانی (اگر نتیجه را نخواستی), بررسی صحت داده (SQL), تجمیع شماره‌های پیامک مشتریان, تست‌ها, تعریف کلیدهای گزارش, خطاها و اقدام درست, عملکرد و بار روی دیتابیس (+7 more)
### Community 99 - "Base Template"
Cohesion: 0.15
Nodes (11): Base Template, Customer Base Template, New Customer Base Template, Create Factor View, Customer List View, Django Custom Tags: custom_tags, URL: admin_panel:newFactor, URL: admin_panel:operations (+3 more)
### Community 100 - "test_sms.py"
Cohesion: 0.10
### Community 100 - "test_customer_name_fix.py"
Cohesion: 0.11
Nodes (3): digit_string(), is_landline(), PureHelperTests
### Community 101 - "Customer"
Cohesion: 0.23
Nodes (3): Customer, Command, ActionDeleteUITests
### Community 103 - "manage.py"
Cohesion: 0.22
Cohesion: 0.24
Nodes (5): entrypoint.sh script, main(), run.sh script, start_service(), usage()
### Community 104 - "افزودن پیشوند «آقای/خانم» به نام مشتریان"
Cohesion: 0.15
Nodes (12): SQLite، قفل دیتابیس و بار روی سایت, افزودن پیشوند «آقای/خانم» به نام مشتریان, بررسی صحت داده (SQL، پیش از/پس از اجرا), بکاپ/بازیابی خودکار نیست, بکاپ پیش از اجرای واقعی, تست‌ها, تعریف کلیدهای آماری, خطاهای رایج و اقدام درست (+4 more)
### Community 107 - "signals.py"
Cohesion: 0.12
Nodes (4): AdminConfig, AdminPanelConfig, make_std_streams_unicode_safe(), configure_sqlite_connection()
### Community 106 - "make_customer"
Cohesion: 0.09
Nodes (4): make_customer(), EmptyQueueTests, ApplyTests, PrimaryNumberPanelTests
### Community 113 - "recipients.py"
Cohesion: 0.33
Nodes (3): primary_phones(), primary_phones(), ⚠️ هشدار معنای داده (مهم‌ترین نکتهٔ این سند)
### Community 107 - "admin_panel/apps.py"
Cohesion: 0.18
Nodes (3): AdminConfig, AdminPanelConfig, make_std_streams_unicode_safe()
### Community 113 - "resolve_recipients"
Cohesion: 0.16
Nodes (5): resolved_recipients(), primary_phones(), resolve_recipients(), قالبِ ذخیره‌شده: `+989xxxxxxxxx`, قواعد اعتبارسنجی و قالب شماره
### Community 163 - "Customer"
Cohesion: 0.29
Nodes (3): Customer, Meta, PhoneNumber
### Community 164 - "factory.py"
Cohesion: 0.29
Nodes (3): get_provider_class(), get_sms_provider(), reset_sms_provider()
### Community 166 - "توقف و ادامه (Resume / Checkpoint)"
Cohesion: 0.40
Nodes (5): اتمیک بودن, توقف و ادامه (Resume / Checkpoint), سلسله‌مراتب تصمیم نقطهٔ شروع, فایل وضعیت, گزینه‌های ادامه
### Community 167 - "RecalcCommandTests"
Cohesion: 0.10
Nodes (5): Command, action_snapshot(), plan_command(), RecalcCommandTests, run_command()
### Community 170 - "الگوریتم تصمیم (به همین ترتیب)"
Cohesion: 0.50
Nodes (4): الگوریتم تصمیم (به همین ترتیب), برخورد با نام‌های تکراری و متناقض, نرمال‌سازی (فقط برای کلید جست‌وجو), نمونه‌های رفتاری
@@ -585,6 +609,10 @@ Nodes (4): اگر وسط کار قطع شد, بررسی نتیجه, سریع‌
Cohesion: 0.73
Nodes (5): is_our_process(), say(), stop.sh script, stop_pid(), windows_cleanup()
### Community 175 - "at"
Cohesion: 0.17
Nodes (6): last_visit_dt(), at(), EffectiveVisitDateTests, HamahangiIsolationTests, make_visit(), RefreshLastBazdidTests
### Community 176 - "اجرای محلی (توسعه)"
Cohesion: 0.50
Nodes (4): اجرای محلی (توسعه), ۱) شبیه‌سازی — همیشه قدم اول, ۲) تنظیم سرعت batch, ۳) اجرای واقعی
@@ -605,30 +633,90 @@ Nodes (3): ادامهٔ job پس از crash / قطع برق, دستورهای د
Cohesion: 0.67
Nodes (3): اجرا روی سرور Production, ترتیب دقیق, نکته‌ها برای Production
### Community 182 - "os"
Cohesion: 0.18
Nodes (3): normalized_path(), write_tree(), visit()
### Community 184 - "test_visit_policy.py"
Cohesion: 0.16
Nodes (6): as_aware(), visit_cycle_index(), due_date(), visit_due_date(), NextAppointmentEquivalenceTests, VisitCadenceTests
### Community 187 - "last_visit_map"
Cohesion: 0.13
Nodes (5): _bucket(), last_visit_map(), _last_visit_map_python(), _visit_rows(), LastVisitMapEquivalenceTests
### Community 194 - "django_contrib_auth_models"
Cohesion: 0.15
Nodes (5): VisitQueue, StoreRoom, Meta, StoreRoomOwner, UserProfile
### Community 195 - "entezar"
Cohesion: 0.19
Nodes (9): entezar(), _apply_search(), _followup_ids(), _followup_link(), _qs(), _sort_value(), _source_date(), visit_period_days() (+1 more)
### Community 197 - "Action"
Cohesion: 0.17
Nodes (9): Action, ActionType, Meta, Status, رفتار دادهٔ موجود, قاعدهٔ طلایی: ستون، «مرجع» نیست, ۲. راه‌حل: ستون «قرار بعدی», ۴. مرتب‌سازی (ستون‌ها و دراپ‌داون) (+1 more)
### Community 198 - "بخش دوم — امکانات جدید رابط کاربری صفحهٔ انتظار"
Cohesion: 0.17
Nodes (11): بخش دوم — امکانات جدید رابط کاربری صفحهٔ انتظار, تفکیک نوع قرار — در دراپ‌داون، نه روی کارت, ۱. نوار آمار (بالای صفحه), ۱۰. پارامترهای URL, ۲. فیلترها (نوار زیر کارت‌ها), ۳. تفکیک مدت تأخیر (کلیک‌پذیر), ۵. جست‌وجو, ۵. چیدمان ستون‌ها (بازطراحی) (+3 more)
### Community 199 - "بازمحاسبهٔ «آخرین بازدید» مشتریان"
Cohesion: 0.18
Nodes (10): اجرا روی production, بازمحاسبهٔ «آخرین بازدید» مشتریان, بررسی صحت داده (SQL، پیش از اجرا), دستور, دقیقاً چه می‌کند؟, نمونهٔ خروجی, نکته‌های مهم, گزینه‌ها (+2 more)
### Community 202 - "newFactor"
Cohesion: 0.22
Nodes (5): Factor, Meta, FactorIteam, FactorDel(), newFactor()
### Community 205 - "«قرار بعدی» بازدید و صفحهٔ انتظار — توضیح کامل عملکرد"
Cohesion: 0.20
Nodes (9): ستون‌های جدول, شمارندهٔ داشبورد, فیلترها (قابل بوکمارک و ترکیب با جست‌وجو), «قرار بعدی» بازدید و صفحهٔ انتظار — توضیح کامل عملکرد, ۱. صورت مسئله, ۳. سه منبع «قرار بعدی», ۵. صفحهٔ انتظار: چهار گروه و فیلترها, ۷. سناریوهای تست‌شده (+1 more)
### Community 210 - "EntezarScannerConsistencyTests"
Cohesion: 0.29
Nodes (3): active_deferrals(), EntezarScannerConsistencyTests, is_stale()
### Community 213 - "۴. فرم ثبت اقدام (UI)"
Cohesion: 0.29
Nodes (7): ایمنی ویرایش رکوردهای قدیمی, بارگذاری مقدار ذخیره‌شده در حالت ویرایش, قاعدهٔ «تمدید مجاز، کوتاه‌کردن ممنوع» (max), قواعد اعتبارسنجی (سرور), ۴. فرم ثبت اقدام (UI), ۴.۲ هشدار زمان‌بندی و پیش‌فرض «انجام شده» (فقط هماهنگی), ۴.۳ راهنمای بازشونده (فقط «هماهنگی»)
### Community 214 - "۱.۱ نمای «نیازمند پیگیری امروز» (`?view=today`) — **پیش‌فرض صفحه**"
Cohesion: 0.29
Nodes (7): این فهرست از کجا می‌آید؟, تفاوت با فهرست «عقب‌افتاده», تقویم شمسی (گذشته و آینده), ستون «تأخیر» در این نما نمایش داده نمی‌شود, قاعدهٔ قطعی: «بازدید» اینجا نمی‌آید, هشدار «پیگیری‌های عقب‌افتاده», ۱.۱ نمای «نیازمند پیگیری امروز» (`?view=today`) — **پیش‌فرض صفحه**
### Community 216 - "۶.۱ حذف یک اقدام (soft-delete)"
Cohesion: 0.40
Nodes (5): اثر روی مصرف‌کننده‌ها, امنیت, قاعدهٔ محصولی: اقدام دارای نظرسنجی حذف نمی‌شود, پیامدهای جانبی (در همان تراکنش), ۶.۱ حذف یک اقدام (soft-delete)
### Community 218 - "index"
Cohesion: 0.67
Nodes (3): index(), `nest=` is a max, so it cannot tell a long function from a tangled one, The quality panel
## Ambiguous Edges - Review These
- `admin_panel/templates/admin_panel/baseHesabdari.html` → `Base Template` [AMBIGUOUS]
admin_panel/templates/admin_panel/baseHesabdari.html · relation: conceptually_related_to
## Knowledge Gaps
- **118 isolated node(s):** `base.html`, `toCurrency`, `DataTables Library`, `Customer Data Object`, `Factor Data Object` (+113 more)
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 858 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **120 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 1048 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **119 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 `make_customer()` connect `make_customer` to `run_all`, `PhoneCleanupTests`, `PanelTestCase`, `EventTriggerTests`, `InactiveCustomerHiddenTests`, `factories.py`, `make_user`, `QueueReviewTests`, `NoticeMechanismTests`, `CustomerSmsHistoryTests`, `test_inventory.py`, `CustomerInfoCardUITests`, `TestCase`, `.test_deleted_visit_reminder_rearms_next_period_only`, `Customer`, `activate_sms`, `.run_cmd`, `.test_visit_period_comes_from_template`, `.test_period_start_filters_out_very_old_customers`, `PhoneNumber`, `ConsoleEncodingTests`, `test_factors.py`, `test_sms.py`, `WorkerTests`, `QueueStatsTests`?**
_High betweenness centrality (0.071) - this node is a cross-community bridge._
- **Why does `make_customer()` connect `make_customer` to `AutoSendTests`, `PhoneCleanupTests`, `PanelTestCase`, `mark_primary`, `EventTriggerTests`, `InactiveCustomerHiddenTests`, `factories.py`, `make_user`, `QueueReviewTests`, `NoticeMechanismTests`, `ScannerTests`, `EntezarPageControlsTests`, `CustomerSmsHistoryTests`, `stock_in`, `at`, `CustomerInfoCardUITests`, `enqueue_sms`, `apply_timing`, `test_visit_policy.py`, `run_all`, `ActionSoftDeleteTests`, `last_visit_map`, `PhoneNumber`, `CoordinationDoneConfirmTests`, `NextAppointmentTests`, `VisitHoldTests`, `TestCase`, `TodayFollowupTests`, `ActionModalTemplateTests`, `VisitDecisionTests`, `EntezarScannerConsistencyTests`, `EntezarLayoutTests`, `decide_prefix`, `console.py`, `test_sms.py`, `test_customer_name_fix.py`, `Customer`, `WorkerTests`, `resolve_recipients`?**
_High betweenness centrality (0.105) - this node is a cross-community bridge._
- **Are the 2 inferred relationships involving `make_customer()` (e.g. with `Customer` and `PhoneNumber`) actually correct?**
_`make_customer()` has 2 INFERRED edges - model-reasoned connections that need verification._
- **What connects `base.html`, `toCurrency`, `DataTables Library` to the rest of the system?**
_118 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `views/sms.py` be split into smaller, more focused modules?**
_Cohesion score 0.11746031746031746 - nodes in this community are weakly interconnected._
- **Why does `Rip'n Fast. Fewer Tokens. Better Code.` connect `Rip'n Fast. Fewer Tokens. Better Code.` to `Reference guide`, `.load`, `django_shortcuts`, `Project Honesty Contract`, `Agent Operating Guidelines`, `Performance Benchmarks`, `Agent Setup Guide`?**
_High betweenness centrality (0.053) - this node is a cross-community bridge._
- **Are the 2 inferred relationships involving `normalize_mobile()` (e.g. with `الگوریتم (برای هر مشتری)` and `قالبِ ذخیره‌شده: `+989xxxxxxxxx``) actually correct?**
_`normalize_mobile()` has 2 INFERRED edges - model-reasoned connections that need verification._
_Cohesion score 0.11711711711711711 - nodes in this community are weakly interconnected._
- **Why does `Customer` connect `Customer` to `AutoSendTests`, `PhoneCleanupTests`, `mark_primary`, `InactiveCustomerHiddenTests`, `ScannerTests`, `EntezarPageControlsTests`, `RecalcCommandTests`, `stock_in`, `at`, `.run_command`, `Command`, `test_visit_policy.py`, `ActionSoftDeleteTests`, `PhoneNumber`, `NextAppointmentTests`, `VisitHoldTests`, `reconciliation_tool.py`, `Command`, `TodayFollowupTests`, `VisitDecisionTests`, `EntezarScannerConsistencyTests`, `EntezarLayoutTests`, `make_customer`?**
_High betweenness centrality (0.040) - this node is a cross-community bridge._
- **Should `django_db` be split into smaller, more focused modules?**
_Cohesion score 0.03508771929824561 - nodes in this community are weakly interconnected._
### Low-confidence Hints
_AMBIGUOUS edges — the extractor was unsure. Verify before acting on these._