fix mandehesab, bazdid, sms

This commit is contained in:
javad committed 2026-10-16 17:54:07 +03:30
1 parent 7e5c83bea2
commit 1fd27d0445
22 files changed
+16462 -5918

No files matched your search

+298 -201
View File
@@ -1,17 +1,17 @@
# Graph Report - khatibi (2026-10-11)
# Graph Report - khatibi (2026-10-16)
## Corpus Check
- 182 files · ~145,325 words
- 193 files · ~286,477 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
- 1684 nodes · 3008 edges · 171 communities (74 shown, 97 thin omitted)
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 151 edges (avg confidence: 0.89)
- 1960 nodes · 3584 edges · 184 communities (95 shown, 89 thin omitted)
- Extraction: 95% EXTRACTED · 5% INFERRED · 0% AMBIGUOUS · INFERRED: 188 edges (avg confidence: 0.89)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `1dea3509`
- Built from commit: `7e5c83be`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -19,113 +19,114 @@
- views/sms.py
- run_all
- django_db
- views/store.py
- create_transfer_request
- ModelsPackageContractTests
- PhoneCleanupTests
- .load
- models/sms.py
- logging
- models/__init__.py
- views/customers.py
- django_db_models_deletion
- django_conf
- make_customer
- customer_phone_entries
- resolve_recipients
- EventTriggerTests
- views/finance.py
- SMSResult
- views/store.py
- sms0098ws.py
- Admin Panel Customization
- User
- django_conf
- test_customers.py
- timing_for
- Customer
- phones.py
- Login Template Forms
- cheque_inquiry.py
- factories.py
- Rip'n Fast. Fewer Tokens. Better Code.
- views/factors.py
- to_local
- sms0098.py
- make_user
- QueueReviewTests
- NoticeMechanismTests
- enqueue.py
- enqueue_sms
- PanelTestCase
- SmsReportTests
- scanner.py
- ZeroZeroNinetyEightWebServiceTests
- ProductInStore
- admin_panel/templates/admin_panel/baseHesabdari.html
- Reference guide
- Factor Creation UI
- admin_panel/templates/admin_panel/bedehi.html
- project_tree.py
- hesabdariResidNashode.html
- requests
- CustomerSmsHistoryTests
- TemplatesPageUITests
- SMS Integration Docs
- timing_for
- enqueue.py
- django_shortcuts
- stock_in
- admin_panel/templates/admin_panel/customerAction.html
- parts_count
- write_tree
- CustomerInfoCardUITests
- Customer
- Phone Cleanup Guide
- SmsReportTests
- manage.py
- Agent Operating Guidelines
- SMSDeliveryCommandTests
- BehinSMSProvider
- test_sms.py
- Phone Cleanup Guide
- .run_command
- project_tree.py
- Agent Operating Guidelines
- Command
- BehinSMSProvider
- normalize_mobile
- Financial Data Objects
- Hybrid Migration Command
- بازمحاسبهٔ «آخرین بازدید» مشتریان
- .run_cmd
- Resource Cleanup Handler
- SMS Timing Migration
- Articl Model
- admin_panel/templates/admin_panel/bedehi.html
- customerIDFactorBackup.html
- test_factors.py
- os
- bale/providers.py
- Graphify Tooling Docs
- 0063_alter_smsqueue_status.py
- Command
- ZeroZeroNinetyEightLinkTests
- SMS Template Seeding
- admin_panel/entezar.html
- customerNewBackup.html
- hesabdariResidNashode.html
- SMSResult
- 0070_sms_types_seven.py
- Endpoint Smoke Tests
- Timezone Migration History
- models/__init__.py
- UrlContractTests
- Command
- django_urls
- Brand Scrubbing Migration
- SMS Dedup Migration
- Installation Guide
- Project Honesty Contract
- Flow Control Migration
- Permission Label Migration
- stop.sh
- IntegrationAndEfficiencyTests
- Output Format Specs
- Performance Benchmarks
- SMS Integration Overview
- System Cache Table
- CustomerNameFixJob
- Customer Modal UI
- SentQueueProtectionTests
- PanelTestCase
- Infrastructure Services
- Agent Setup Guide
- First Use Guide
- 0056_auto_20260731_1824.py
- 0009_remove_storeroom_user.py
- PhoneEntry
- reconciliation_tool.py
- announcements.py
- ConsoleSMSProvider
- PhoneNumber
- تجمیع شماره‌های پیامک مشتریان
- Command
- 0064_sms_webservice_delivery.py
- 0040_customer_laghv_bazdid.py
- 0068_auto_20261010_1305.py
- 0069_smstemplate_auto_send.py
- 0047_alter_productinstore_movement_type.py
- Base Template
- test_customer_name_fix.py
- Command
- customer_phone_entries
- manage.py
- افزودن پیشوند «آقای/خانم» به نام مشتریان
- بازمحاسبهٔ «آخرین بازدید» مشتریان
- QueueStatsTests
- admin_panel/apps.py
- Customer Communication Partials
- SMS Template Management
- Documentation and Graphing
- bale/providers.py
- primary_phones
- Customer Action Templates
- Customer Feedback Components
- Customer Invoice Details
@@ -155,41 +156,53 @@
- Store Transfer Interface
- Store Directory Template
- Currency Formatting Utility
- HttpProviderRobustnessTests
- Data Cleanup Documentation
- Project Dependencies
- QueueStatsTests
- sms_settings
- Customer
- SMSQueue
- signals.py
- توقف و ادامه (Resume / Checkpoint)
- Command
- 0071_sms_settings_permission.py
- index
- 0017_factoriteam_garantyesh.py
- 0028_action_grade.py
- 0034_alter_article_sarresid.py
- 0039_customer_last_bazdid_dt.py
- الگوریتم تصمیم (به همین ترتیب)
- سریع‌ترین مسیر روی Production (خلاصهٔ اجرایی)
- models/customers.py
- stop.sh
- SMSDedup
- rules.py
- اجرای محلی (توسعه)
- Factor
- اجرا روی سرور Production
- اجرای محلی (توسعه)
- ادامهٔ job پس از crash / قطع برق
- اجرا روی سرور Production
- django_contrib_auth_models
## God Nodes (most connected - your core abstractions)
1. `make_customer()` - 70 edges
1. `make_customer()` - 89 edges
2. `make_user()` - 28 edges
3. `run_all()` - 24 edges
4. `enqueue_sms()` - 23 edges
5. `SMSResult` - 23 edges
6. `Rip'n Fast. Fewer Tokens. Better Code.` - 23 edges
7. `User` - 22 edges
8. `create_transfer_request()` - 22 edges
9. `normalize_mobile()` - 22 edges
10. `SMSProvider` - 21 edges
3. `normalize_mobile()` - 27 edges
4. `Customer` - 24 edges
5. `PhoneNumber` - 24 edges
6. `Command` - 24 edges
7. `run_all()` - 24 edges
8. `enqueue_sms()` - 23 edges
9. `SMSResult` - 23 edges
10. `Rip'n Fast. Fewer Tokens. Better Code.` - 23 edges
## Surprising Connections (you probably didn't know these)
- `نکته‌های مهم` --references--> `Action` [INFERRED]
recalc_last_bazdid.md → admin_panel/models/actions.py
- `SMS Templates UI` --semantically_similar_to--> `SMS Templates UI Screenshot` [EXTRACTED] [semantically similar]
admin_panel/templates/admin_panel/sms_templates.html → screencapture-localhost-8000-panel-sms-templates-2026-10-09-23_01_18.png
- `check_financial_discrepancy()` --uses--> `Customer` [INFERRED]
check_finance.py → admin/models.py
- `run_360_audit()` --uses--> `Customer` [INFERRED]
ghost_hunter.py → admin/models.py
- ``nest=` is a max, so it cannot tell a long function from a tangled one` --references--> `index()` [INFERRED]
ripwire - README.md → admin/views.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
## Import Cycles
- None detected.
@@ -222,102 +235,98 @@
- **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 (171 total, 97 thin omitted)
## Communities (184 total, 89 thin omitted)
### Community 0 - "views/sms.py"
Cohesion: 0.14
Nodes (14): _approve(), customer_sms_history(), _customer_url(), _notice(), sms_customer_toggle(), sms_primary_toggle(), sms_queue(), sms_queue_approve() (+6 more)
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)
### Community 1 - "run_all"
Cohesion: 0.06
Nodes (9): Command, run_all(), apply_timing(), activate_sms(), AutoSendTests, ColdStartTests, ConsoleEncodingTests, ScannerTests (+1 more)
Cohesion: 0.05
Nodes (9): Command, run_all(), apply_timing(), activate_sms(), AutoSendTests, ColdStartTests, ScannerTests, keys() (+1 more)
### Community 2 - "django_db"
Cohesion: 0.04
Nodes (24): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+16 more)
Cohesion: 0.03
Nodes (38): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+30 more)
### Community 3 - "views/store.py"
Cohesion: 0.07
Nodes (26): Product, Meta, StoreTransferRequest, Meta, Status, approve_transfer_request(), cancel_transfer_request(), _check_source_store_permission() (+18 more)
### Community 4 - "ModelsPackageContractTests"
Cohesion: 0.07
Nodes (5): AdminConfig, AdminPanelConfig, make_std_streams_unicode_safe(), configure_sqlite_connection(), ModelsPackageContractTests
### Community 3 - "create_transfer_request"
Cohesion: 0.10
Nodes (12): StoreTransferRequest, Meta, Status, approve_transfer_request(), cancel_transfer_request(), _check_source_store_permission(), _check_target_store_permission(), create_transfer_request() (+4 more)
### Community 5 - "PhoneCleanupTests"
Cohesion: 0.09
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.06
Nodes (9): 12. Supported languages and formats, Languages, HttpProviderRobustnessTests, RuleTests, SettingsPanelTests, TestMessageSettingsTests, WorkerTests, ZeroZeroNinetyEightLinkTests (+1 more)
Cohesion: 0.12
Nodes (6): SMSProviderConfig, Meta, 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)
Cohesion: 0.12
Nodes (7): CustomerSMSSetting, Meta, SMSLog, Meta, SMSTemplate, Meta, SMSType
### Community 8 - "logging"
Cohesion: 0.09
Nodes (3): get_provider_class(), get_sms_provider(), reset_sms_provider()
### Community 8 - "models/__init__.py"
Cohesion: 0.10
Nodes (4): remove_query_param(), check_financial_discrepancy(), run_360_audit(), run_audit()
### Community 9 - "views/customers.py"
Cohesion: 0.09
Nodes (18): normalize_primary_values(), customer_toggle_map(), notify_welcome(), customer(), customerDel(), customerEdit(), customerFactor(), customerFactors() (+10 more)
Cohesion: 0.16
Nodes (11): customer(), customerDel(), customerFactor(), customerFactors(), customerHesabdari(), customerNew(), customerNew2(), customers() (+3 more)
### Community 10 - "django_db_models_deletion"
Cohesion: 0.08
Nodes (12): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+4 more)
### Community 10 - "django_conf"
Cohesion: 0.05
Nodes (23): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+15 more)
### Community 11 - "make_customer"
Cohesion: 0.14
Cohesion: 0.15
Nodes (3): make_customer(), EmptyQueueTests, PrimaryNumberPanelTests
### Community 12 - "customer_phone_entries"
Cohesion: 0.13
Nodes (5): customer_phone_entries(), _iter_sources(), resolve_recipients(), mark_primary(), RecipientTests
### Community 12 - "resolve_recipients"
Cohesion: 0.15
Nodes (4): resolve_recipients(), تست‌ها, mark_primary(), RecipientTests
### Community 14 - "views/finance.py"
Cohesion: 0.18
Nodes (19): Article, Meta, notify_payment_thanks(), addSarresid(), bedehi(), bedehiKhadamat(), bedehiNasb(), financial_dashboard() (+11 more)
Cohesion: 0.17
Nodes (20): Article, Meta, notify_payment_thanks(), customerHesabdariAdd(), addSarresid(), bedehi(), bedehiKhadamat(), bedehiNasb() (+12 more)
### Community 15 - "SMSResult"
Cohesion: 0.13
Nodes (7): SMSProvider, SMSResult, webotp_message(), console_write(), ConsoleSMSProvider, HTTPSMSProvider, _FailingProvider
### Community 15 - "views/store.py"
Cohesion: 0.14
Nodes (16): Product, Meta, StoreRoom, Meta, newOperation(), newStore(), operation(), operationProduct() (+8 more)
### Community 16 - "sms0098ws.py"
Cohesion: 0.10
Nodes (7): classify_delivery(), DeliveryCode, describe_send_code(), _as_text(), ZeroZeroNinetyEightWebServiceProvider, place_voip_call(), VoipCallResult
Cohesion: 0.27
Nodes (3): classify_delivery(), DeliveryCode, describe_send_code()
### 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.16
Nodes (17): User, Action, VisitQueue, UserProfile, notify_visit_scheduled(), ActionList(), ActionListAll(), ActionListToday() (+9 more)
Cohesion: 0.17
Nodes (18): User, Action, ActionType, Status, notify_visit_scheduled(), ActionList(), ActionListAll(), ActionListToday() (+10 more)
### Community 19 - "django_conf"
Cohesion: 0.09
Nodes (11): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+3 more)
### Community 19 - "timing_for"
Cohesion: 0.12
Nodes (6): current_timing_value(), timing_for(), sms_template_edit(), sms_templates(), _templates_redirect(), TimingsTests
### Community 20 - "test_customers.py"
Cohesion: 0.11
Nodes (4): login_superuser(), CustomerCrudTests, CustomerDeleteGuardTests, InactiveCustomerHiddenTests
### Community 20 - "Customer"
Cohesion: 0.12
Nodes (5): Customer, login_superuser(), CustomerCrudTests, CustomerDeleteGuardTests, InactiveCustomerHiddenTests
### Community 21 - "phones.py"
Cohesion: 0.18
Nodes (6): primary_phones(), resolved_recipients(), save_primary_normalized(), stored_primary_normalized(), usable_entries(), primary_phones()
Cohesion: 0.19
Nodes (7): normalize_primary_values(), resolved_recipients(), save_primary_normalized(), stored_primary_normalized(), usable_entries(), قالبِ ذخیره‌شده: `+989xxxxxxxxx`, قواعد اعتبارسنجی و قالب شماره
### 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.19
Cohesion: 0.17
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.27
Cohesion: 0.18
Nodes (5): ProductCategory, make_category(), make_product(), make_store(), _next()
### Community 25 - "Rip'n Fast. Fewer Tokens. Better Code."
@@ -325,36 +334,32 @@ 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)
### Community 26 - "views/factors.py"
Cohesion: 0.19
Nodes (6): notify_factor_survey(), newFactor2(), InventoryException, _parse_jalali_date(), _parse_timestamp(), _safe_int()
Cohesion: 0.14
Nodes (9): FactorIteam, notify_factor_survey(), FactorDel(), newFactor(), newFactor2(), InventoryException, _parse_jalali_date(), _parse_timestamp() (+1 more)
### Community 27 - "to_local"
Cohesion: 0.17
Nodes (4): to_local(), _configured_codes(), _response_code(), ZeroZeroNinetyEightSMSProvider
### Community 27 - "sms0098.py"
Cohesion: 0.20
Nodes (3): _configured_codes(), _response_code(), ZeroZeroNinetyEightSMSProvider
### Community 30 - "NoticeMechanismTests"
Cohesion: 0.17
Nodes (3): dashBoxData(), resolve(), NoticeMechanismTests
### Community 31 - "enqueue.py"
Cohesion: 0.15
Nodes (6): format_amount(), format_jalali(), render_template(), _SafeDict, is_sms_enabled(), _sample_context()
### Community 32 - "scanner.py"
Cohesion: 0.23
Nodes (6): _aware(), _Budget, scan_cheque_funding(), scan_nesiye_due(), scan_visit(), _template()
### Community 32 - "enqueue_sms"
Cohesion: 0.21
Nodes (7): enqueue_sms(), _aware(), _Budget, scan_cheque_funding(), scan_nesiye_due(), scan_visit(), _template()
### Community 33 - "PanelTestCase"
Cohesion: 0.17
Nodes (5): PhoneNumber, DeletedStaysDeletedTests, EnqueueIdempotencyTests, PanelTestCase, WelcomeTriggerTests
### Community 33 - "ZeroZeroNinetyEightWebServiceTests"
Cohesion: 0.11
Nodes (5): SMSDeliveryResult, _as_text(), ZeroZeroNinetyEightWebServiceProvider, SMSDeliveryCommandTests, ZeroZeroNinetyEightWebServiceTests
### Community 34 - "ProductInStore"
Cohesion: 0.14
Nodes (8): Factor, Meta, FactorIteam, ProductInStore, Meta, MovementType, FactorDel(), newFactor()
Cohesion: 0.33
Nodes (3): ProductInStore, Meta, MovementType
### Community 35 - "admin_panel/templates/admin_panel/baseHesabdari.html"
Cohesion: 0.07
Nodes (27): Base Template, Customer Base Template, New Customer Base Template, Create Factor View, Customer List View, Django Custom Tags: custom_tags, URL: admin_panel:ActionListUserToday, URL: admin_panel:bedehi (+19 more)
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
@@ -364,13 +369,13 @@ Nodes (14): 10. Quality evaluation, 11. Agent integration, 13. Performance, 14.
Cohesion: 0.15
Nodes (4): Customer ID Backup/New Factor Template, all_products (JS variable), buildOrderList (JS function), orderList (JS variable)
### Community 38 - "admin_panel/templates/admin_panel/bedehi.html"
Cohesion: 0.16
Nodes (10): admin_panel:pardakhtNesiye, /panel/passCheck/, all_sarresid, mandehesabKP, admin_panel.ViewReportMali, toJalali, admin_panel:bedehi, admin_panel:bedehiKhadamat (+2 more)
### Community 38 - "hesabdariResidNashode.html"
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 - "project_tree.py"
### Community 39 - "requests"
Cohesion: 0.21
Nodes (6): is_excluded_file(), main(), non_negative_integer(), parse_args(), sorted_entries(), warn()
Nodes (4): AnnouncementRejected, place_announcement_call(), place_voip_call(), VoipCallResult
### Community 40 - "CustomerSmsHistoryTests"
Cohesion: 0.15
@@ -380,17 +385,21 @@ Nodes (3): customer_phones(), toJalaliDT(), CustomerSmsHistoryTests
Cohesion: 0.15
Nodes (12): **جدول کدهای خطای لینک ارتباطی**, **جدول کدهای خطای وب‌سرویس و وضعیت‌های دلیوری**, **راهنمای استفاده از Web Service**, **راهنمای استفاده از لینک ارتباطی (URL GET)**, **راهنمای استفاده از لینک ارتباطی و وب‌سرویس سامانه پیامک (0098vip.com و 0098sms.com)**, **فهرست مطالب**, **مقدمات اتصال**, **نمونه کدهای پیاده‌سازی** (+4 more)
### Community 43 - "timing_for"
Cohesion: 0.12
Nodes (6): current_timing_value(), timing_for(), sms_template_edit(), sms_templates(), _templates_redirect(), TimingsTests
### Community 43 - "enqueue.py"
Cohesion: 0.19
Nodes (5): format_amount(), format_jalali(), render_template(), _SafeDict, _sample_context()
### Community 44 - "django_shortcuts"
Cohesion: 0.13
Nodes (3): Migration, ArticleType, Sarresid
### Community 45 - "stock_in"
Cohesion: 0.25
Nodes (6): Product, ProductInStore, StoreRoom, current_stock(), stock_in(), ProductInStoreMathTests
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"
Cohesion: 0.16
Nodes (10): admin_panel/templates/admin_panel/customerActionInc.html, admin_panel:customerNew, admin_panel:customerNewAction URL, Action Data Model, DataTables Library, jQuery, Django 'url' template tag, Bulma CSS (+2 more)
Cohesion: 0.18
Nodes (9): admin_panel/templates/admin_panel/customerActionInc.html, admin_panel:customerNewAction URL, Action Data Model, DataTables Library, jQuery, Django 'url' template tag, Bulma CSS, DataTables.js (+1 more)
### Community 47 - "parts_count"
Cohesion: 0.16
@@ -400,70 +409,78 @@ Nodes (6): describe(), detect_encoding(), encoded_length(), is_gsm7(), parts_cou
Cohesion: 0.21
Nodes (6): Counts, format_header(), generate_snapshot(), normalized_path(), write_tree(), visit()
### Community 50 - "Customer"
Cohesion: 0.16
Nodes (6): Customer, Factor, FactorIteam, VisitQueue, Command, NewFactor2ViewTests
### Community 50 - "test_sms.py"
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 53 - "manage.py"
Cohesion: 0.22
Nodes (5): entrypoint.sh script, main(), run.sh script, start_service(), usage()
### Community 52 - ".run_command"
Cohesion: 0.13
Nodes (6): ApplyTests, CommandTestMixin, DryRunTests, ResilienceTests, flaky(), sha256_of()
### Community 53 - "project_tree.py"
Cohesion: 0.23
Nodes (6): is_excluded_file(), main(), non_negative_integer(), parse_args(), sorted_entries(), warn()
### Community 54 - "Agent Operating Guidelines"
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 - "test_sms.py"
Cohesion: 0.17
Nodes (4): to_display(), _clean(), normalize_mobile(), NormalizeTests
### Community 55 - "Command"
Cohesion: 0.05
Nodes (12): Command, build_name_index(), DatasetError, decide_prefix(), Decision, load_name_index(), NameIndex, normalize_name_key() (+4 more)
### Community 57 - "normalize_mobile"
Cohesion: 0.18
Nodes (5): to_display(), _clean(), normalize_mobile(), to_local(), NormalizeTests
### 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 - "بازمحاسبهٔ «آخرین بازدید» مشتریان"
Cohesion: 0.18
Nodes (10): اجرا روی production, بازمحاسبهٔ «آخرین بازدید» مشتریان, بررسی صحت داده (SQL، پیش از اجرا), دستور, دقیقاً چه می‌کند؟, نمونهٔ خروجی, نکته‌های مهم, گزینه‌ها (+2 more)
### Community 60 - ".run_cmd"
Cohesion: 0.11
Nodes (5): ApplyTests, BatchAndCheckpointTests, flaky(), CommandTestCase, OverflowTests
### Community 62 - "SMS Timing Migration"
Cohesion: 0.22
Nodes (4): backfill_primary_phones(), Migration, _normalize(), normalize_template_timing()
### Community 63 - "Articl Model"
Cohesion: 0.67
Nodes (3): Articl Model, Customer Model, articls
### Community 63 - "admin_panel/templates/admin_panel/bedehi.html"
Cohesion: 0.20
Nodes (8): Articl Model, Customer Model, articls, toJalali, admin_panel:bedehi, admin_panel:bedehiKhadamat, admin_panel:bedehiNasb, admin_panel:customer
### Community 64 - "customerIDFactorBackup.html"
Cohesion: 0.18
Nodes (8): Client-side script in customerIDFactorBackup.html, URL: admin_panel:customerEdit, Customer Data, Factor Data Model, Product Data Model, Product Category Data Model, User Data Model, URL: /panel/productMojodi/
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 67 - "Graphify Tooling Docs"
Cohesion: 0.22
Nodes (8): Copilot Chat, graphify, graphify-out/graph.json, graphify-out/GRAPH_REPORT.md, graphify-out/wiki/index.md, graphify explain, graphify path, graphify query
### Community 71 - "admin_panel/entezar.html"
Cohesion: 0.40
Nodes (4): Customer Data Structure, kamaDatepicker Library, custom_tags, toJalali filter
Cohesion: 0.25
Nodes (6): Customer Data Structure, kamaDatepicker Library, URL: admin_panel:customers, URL: /panel/customer/{id}/factor/{id}/del, custom_tags, toJalali filter
### Community 72 - "customerNewBackup.html"
Cohesion: 0.29
Nodes (6): admin_panel:newFactor URL, Category Data, Client-side Form Logic, CSRF Token, custom_tags, static
Cohesion: 0.25
Nodes (7): admin_panel:newFactor URL, Category Data, Client-side Form Logic, Customer Data, CSRF Token, custom_tags, static
### Community 73 - "hesabdariResidNashode.html"
Cohesion: 0.47
Nodes (5): jQuery, pDatepicker JS Library, custom_tags, toCurrency, toJalali
### Community 73 - "SMSResult"
Cohesion: 0.11
Nodes (8): SMSProvider, SMSResult, webotp_message(), get_provider_class(), get_sms_provider(), reset_sms_provider(), HTTPSMSProvider, _FailingProvider
### Community 76 - "Timezone Migration History"
Cohesion: 0.29
Nodes (3): Migration, Migration, Migration
### Community 77 - "models/__init__.py"
Cohesion: 0.08
Nodes (9): Customer, Meta, PhoneNumber, ProductCategory, ProductStockHistory, Meta, StoreRoom, Meta (+1 more)
### Community 81 - "Installation Guide"
Cohesion: 0.40
Nodes (5): 3.1 Install a prebuilt binary, 3.2 Build from source, 3.3 Install the agent skills, 3.4 Register the MCP server (optional), 3. Installation
@@ -472,10 +489,6 @@ 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 - "stop.sh"
Cohesion: 0.73
Nodes (5): is_our_process(), say(), stop.sh script, stop_pid(), windows_cleanup()
### Community 86 - "Output Format Specs"
Cohesion: 0.50
Nodes (4): 6.1 Output example, 6.2 Exit codes, 6.3 JSON output, 6. Output format
@@ -488,10 +501,18 @@ Nodes (4): Against other tools, Measured, What it saves you, in tokens, Where it
Cohesion: 0.67
Nodes (3): SMS Gateway Integration Guide, SMS Settings UI, Python Dependencies
### Community 89 - "CustomerNameFixJob"
Cohesion: 0.25
Nodes (6): CustomerNameFixJob, Meta, Status, مدل وضعیت job, چرا؟, سریع‌ترین مسیر روی Production (اگر همین یک دستور را می‌خواهی)
### Community 90 - "Customer Modal UI"
Cohesion: 0.67
Nodes (3): createCS click handler, openRow click handler, Customer Modals UI
### Community 91 - "PanelTestCase"
Cohesion: 0.24
Nodes (3): DeletedStaysDeletedTests, PanelTestCase, SentQueueProtectionTests
### Community 92 - "Infrastructure Services"
Cohesion: 0.67
Nodes (3): Docker Infrastructure, SMS Delivery Tracker, SMS Worker Service
@@ -504,46 +525,122 @@ 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 98 - "reconciliation_tool.py"
### Community 95 - "ConsoleSMSProvider"
Cohesion: 0.21
Nodes (3): console_write(), ConsoleSMSProvider, ConsoleEncodingTests
### Community 96 - "PhoneNumber"
Cohesion: 0.22
Nodes (4): PhoneNumber, DryRunTests, make_phone(), WelcomeTriggerTests
### Community 97 - "تجمیع شماره‌های پیامک مشتریان"
Cohesion: 0.14
Nodes (13): الگوریتم (برای هر مشتری), بازگردانی (اگر نتیجه را نخواستی), بررسی صحت داده (SQL), تجمیع شماره‌های پیامک مشتریان, تعریف کلیدهای گزارش, خطاها و اقدام درست, عملکرد و بار روی دیتابیس, نمونه‌ها (+5 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_customer_name_fix.py"
Cohesion: 0.09
Nodes (3): digit_string(), is_landline(), PureHelperTests
### Community 102 - "customer_phone_entries"
Cohesion: 0.20
Nodes (3): customer_phone_entries(), _iter_sources(), PhoneEntry
### Community 103 - "manage.py"
Cohesion: 0.24
Nodes (3): remove_query_param(), run_360_audit(), run_audit()
Nodes (5): entrypoint.sh script, main(), run.sh script, start_service(), usage()
### Community 113 - "bale/providers.py"
Cohesion: 0.36
Nodes (4): BaleBotProvider, ConsoleBaleProvider, get_bale_provider(), NotificationResult
### Community 104 - "افزودن پیشوند «آقای/خانم» به نام مشتریان"
Cohesion: 0.15
Nodes (12): SQLite، قفل دیتابیس و بار روی سایت, افزودن پیشوند «آقای/خانم» به نام مشتریان, بررسی صحت داده (SQL، پیش از/پس از اجرا), بکاپ/بازیابی خودکار نیست, بکاپ پیش از اجرای واقعی, تست‌ها, تعریف کلیدهای آماری, خطاهای رایج و اقدام درست (+4 more)
### Community 166 - "sms_settings"
Cohesion: 0.33
Nodes (4): parse_jalali_date(), parse_scan_since(), resolve_recipients_test(), sms_settings()
### Community 105 - "بازمحاسبهٔ «آخرین بازدید» مشتریان"
Cohesion: 0.20
Nodes (9): اجرا روی production, بازمحاسبهٔ «آخرین بازدید» مشتریان, بررسی صحت داده (SQL، پیش از اجرا), دستور, دقیقاً چه می‌کند؟, نمونهٔ خروجی, گزینه‌ها, ۱) اول «شبیه‌سازی» — بدون هیچ تغییری (+1 more)
### Community 113 - "primary_phones"
Cohesion: 0.25
Nodes (5): primary_phones(), primary_phones(), customerEdit(), _parse_phone_rows(), ⚠️ هشدار معنای داده (مهم‌ترین نکتهٔ این سند)
### Community 163 - "Customer"
Cohesion: 0.29
Nodes (4): Customer, Meta, notify_welcome(), customersAdd()
### Community 164 - "SMSQueue"
Cohesion: 0.29
Nodes (4): SMSQueue, DeliveryStatus, Meta, Status
### Community 166 - "توقف و ادامه (Resume / Checkpoint)"
Cohesion: 0.40
Nodes (5): اتمیک بودن, توقف و ادامه (Resume / Checkpoint), سلسله‌مراتب تصمیم نقطهٔ شروع, فایل وضعیت, گزینه‌های ادامه
### Community 169 - "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
### Community 170 - "الگوریتم تصمیم (به همین ترتیب)"
Cohesion: 0.50
Nodes (4): الگوریتم تصمیم (به همین ترتیب), برخورد با نام‌های تکراری و متناقض, نرمال‌سازی (فقط برای کلید جست‌وجو), نمونه‌های رفتاری
### Community 171 - "سریع‌ترین مسیر روی Production (خلاصهٔ اجرایی)"
Cohesion: 0.50
Nodes (4): اگر وسط کار قطع شد, بررسی نتیجه, سریع‌ترین مسیر روی Production (خلاصهٔ اجرایی), ✅ فایل JSON داخل ایمیج کپی می‌شود (تضمین‌شده)
### Community 173 - "stop.sh"
Cohesion: 0.73
Nodes (5): is_our_process(), say(), stop.sh script, stop_pid(), windows_cleanup()
### Community 176 - "اجرای محلی (توسعه)"
Cohesion: 0.50
Nodes (4): اجرای محلی (توسعه), ۱) شبیه‌سازی — همیشه قدم اول, ۲) تنظیم سرعت batch, ۳) اجرای واقعی
### Community 178 - "اجرا روی سرور Production"
Cohesion: 0.67
Nodes (3): اجرا روی سرور Production, اطمینان از انتخاب دیتابیس درست, ترتیب دقیق اجرا
### Community 179 - "اجرای محلی (توسعه)"
Cohesion: 0.67
Nodes (3): اجرای محلی (توسعه), ۱) اول همیشه شبیه‌سازی, ۲) اجرای واقعی (فقط روی مقصد دلخواه)
### Community 180 - "ادامهٔ job پس از crash / قطع برق"
Cohesion: 0.67
Nodes (3): ادامهٔ job پس از crash / قطع برق, دستورهای دقیق ادامه / شروع مجدد, گزینه‌های ادامه
### Community 181 - "اجرا روی سرور Production"
Cohesion: 0.67
Nodes (3): اجرا روی سرور Production, ترتیب دقیق, نکته‌ها برای Production
### Community 189 - "django_contrib_auth_models"
Cohesion: 0.12
Nodes (6): VisitQueue, ProductCategory, ProductStockHistory, Meta, StoreRoomOwner, UserProfile
## 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; 738 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **97 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; 841 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **89 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 `Rip'n Fast. Fewer Tokens. Better Code.` connect `Rip'n Fast. Fewer Tokens. Better Code.` to `Reference guide`, `.load`, `index`, `Project Honesty Contract`, `Agent Operating Guidelines`, `Performance Benchmarks`, `Agent Setup Guide`?**
_High betweenness centrality (0.046) - this node is a cross-community bridge._
- **Why does `make_customer()` connect `make_customer` to `run_all`, `PhoneCleanupTests`, `resolve_recipients`, `EventTriggerTests`, `Customer`, `factories.py`, `make_user`, `QueueReviewTests`, `NoticeMechanismTests`, `CustomerSmsHistoryTests`, `stock_in`, `CustomerInfoCardUITests`, `test_sms.py`, `Command`, `.run_cmd`, `IntegrationAndEfficiencyTests`, `PanelTestCase`, `ConsoleSMSProvider`, `PhoneNumber`, `test_customer_name_fix.py`, `customer_phone_entries`, `QueueStatsTests`?**
_High betweenness centrality (0.075) - 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.1425287356321839 - nodes in this community are weakly interconnected._
- **Why does `Languages` connect `.load` to `Rip'n Fast. Fewer Tokens. Better Code.`?**
_High betweenness centrality (0.044) - this node is a cross-community bridge._
- **Should `run_all` be split into smaller, more focused modules?**
_Cohesion score 0.05552617662612375 - nodes in this community are weakly interconnected._
_Cohesion score 0.1226890756302521 - nodes in this community are weakly interconnected._
- **Why does `Reference guide` connect `Reference guide` to `.load`, `Installation Guide`, `Output Format Specs`, `Rip'n Fast. Fewer Tokens. Better Code.`, `First Use Guide`?**
_High betweenness centrality (0.038) - 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._
### Low-confidence Hints
_AMBIGUOUS edges — the extractor was unsure. Verify before acting on these._