This commit is contained in:
javad committed 2026-10-10 14:21:04 +03:30
1 parent 250cdbab7f
commit 5c6069c3ef
87 files changed
+29209 -3697

No files matched your search

+210 -87
View File
@@ -1,65 +1,68 @@
# Graph Report - khatibi (2026-10-09)
# Graph Report - khatibi (2026-10-10)
## Corpus Check
- 124 files · ~93,934 words
- 160 files · ~127,728 words
- Verdict: corpus is large enough that graph structure adds value.
- Unclassified: 7 file(s) not represented in the graph (top: (none) 4, .env 2, .csv 1)
## Summary
- 821 nodes · 1291 edges · 93 communities (26 shown, 67 thin omitted)
- Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 103 edges (avg confidence: 0.86)
- 1280 nodes · 2237 edges · 140 communities (47 shown, 93 thin omitted)
- Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 131 edges (avg confidence: 0.87)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `6f36db63`
- Built from commit: `250cdbab`
- 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/store.py
- project_tree.py
- sqlite_db_backup.py
- django_db
- Customer ID Backup/New Factor Template
- views/customers.py
- cheque_inquiry.py
- admin_panel/templates/admin_panel/baseHesabdari.html
- django_db_models_deletion
- django_conf
- 0051_auto_20260705_1356.py
- admin_panel/storeBK1.html
- ViewSmokeTests
- admin_panel/templates/admin_panel/customerAction.html
- User
- run_all
- admin_panel/admin.py
- stock_in
- admin_panel/templates/admin_panel/bedehi.html
- django_contrib
- models/__init__.py
- admin_panel/templates/admin_panel/customerBase.html
- hesabdariCheckPassFail.html
- Reference guide
- ProductInStore
- normalize_mobile
- graphify
- hesabdariResidNashode.html
- 0017_factoriteam_garantyesh.py
- django_apps
- scanner.py
- 0002_auto_20220114_1616.py
- 0021_alter_article_type.py
- SMSResult
- Rip'n Fast. Fewer Tokens. Better Code.
- 0027_alter_action_nazar.py
- admin_panel/entezar.html
- models/sms.py
- admin_panel/templates/admin_panel/baseStore.html
- views/finance.py
- Customer Modals UI
- 0029_alter_article_options.py
- views/factors.py
- 0034_alter_article_sarresid.py
- 0005_auto_20220121_2054.py
- views/sms.py
- 0035_alter_article_sarresid.py
- 0009_remove_storeroom_user.py
- django_db_models
- 0010_auto_20220122_1546.py
- 0040_customer_laghv_bazdid.py
- 0043_sarresid_user.py
- test_sms.py
- 0048_alter_productinstore_options.py
- 0032_article_paystatus.py
- 0033_article_nahvepardakht.py
- make_customer
- sms0098.py
- 0044_sarresid_desc.py
- models/__init__.py
- make_user
- GEMINI.md
- Customer Action Include
- New Customer Base Template
@@ -94,21 +97,57 @@
- toCurrency
- Extended Requirements File
- Requirements File
- django_shortcuts
- resolve_recipients
- factories.py
- write_tree
- TemplatesPageUITests
- reconciliation_tool.py
- ModelsPackageContractTests
- django_conf
- Command
- UrlContractTests
- customerIDFactorBackup.html
- system.py
- BehinSMSProvider
- test_customers.py
- Command
- Command
- 0061_sms_timing_and_primary.py
- bale/providers.py
- Command
- 0058_seed_sms_templates.py
- Customer
- customerNewBackup.html
- 0059_sms_flow_control.py
- 0060_sms_permission_label.py
- 0008_storeroom_user.py
- 0013_alter_factor_options.py
- 0018_alter_factoriteam_product.py
- 0020_auto_20220126_1532.py
- 0022_article_typepy.py
- 0025_action_actiontype.py
- 0028_action_grade.py
- 0030_auto_20220414_1047.py
- 0036_sarresid.py
- 0037_sarresid_sarresiddt.py
- 0039_customer_last_bazdid_dt.py
- 0041_auto_20240216_1607.py
- 0047_alter_productinstore_movement_type.py
- 0049_alter_productinstore_options.py
- 0057_sms.py
## God Nodes (most connected - your core abstractions)
1. `Rip'n Fast. Fewer Tokens. Better Code.` - 23 edges
2. `User` - 22 edges
3. `create_transfer_request()` - 22 edges
4. `Reference guide` - 18 edges
5. `current_stock()` - 16 edges
6. `make_user()` - 15 edges
7. `stock_in()` - 15 edges
8. `Customer ID Backup/New Factor Template` - 15 edges
9. `approve_transfer_request()` - 13 edges
10. `make_product()` - 13 edges
1. `make_customer()` - 37 edges
2. `make_user()` - 24 edges
3. `Rip'n Fast. Fewer Tokens. Better Code.` - 23 edges
4. `User` - 22 edges
5. `create_transfer_request()` - 22 edges
6. `enqueue_sms()` - 21 edges
7. `SMSResult` - 20 edges
8. `normalize_mobile()` - 20 edges
9. `SMSProvider` - 19 edges
10. `Reference guide` - 18 edges
## Surprising Connections (you probably didn't know these)
- `check_financial_discrepancy()` --uses--> `Customer` [INFERRED]
@@ -119,7 +158,7 @@
ripwire - README.md → admin/views.py
- `VisitQueue` --uses--> `User` [INFERRED]
admin_panel/models/actions.py → admin/models.py
- `StoreRoom` --uses--> `User` [INFERRED]
- `StoreTransferRequest` --uses--> `User` [INFERRED]
admin_panel/models/store.py → admin/models.py
## Import Cycles
@@ -153,71 +192,67 @@
- **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 (93 total, 67 thin omitted)
## Communities (140 total, 93 thin omitted)
### Community 0 - "views/store.py"
Cohesion: 0.06
Nodes (28): StoreRoom, Meta, StoreRoomOwner, StoreTransferRequest, Meta, Status, approve_transfer_request(), cancel_transfer_request() (+20 more)
Cohesion: 0.07
Nodes (26): StoreTransferRequest, Meta, Status, approve_transfer_request(), cancel_transfer_request(), _check_source_store_permission(), _check_target_store_permission(), create_transfer_request() (+18 more)
### Community 1 - "project_tree.py"
Cohesion: 0.05
Nodes (18): remove_query_param(), check_financial_discrepancy(), entrypoint.sh script, run_360_audit(), main(), Counts, format_header(), generate_snapshot() (+10 more)
### Community 2 - "sqlite_db_backup.py"
Cohesion: 0.06
Nodes (3): Command, Command, Command
Cohesion: 0.21
Nodes (6): is_excluded_file(), main(), non_negative_integer(), parse_args(), sorted_entries(), warn()
### Community 3 - "django_db"
Cohesion: 0.06
Nodes (16): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+8 more)
Cohesion: 0.07
Nodes (14): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+6 more)
### Community 4 - "Customer ID Backup/New Factor Template"
Cohesion: 0.07
Nodes (17): Customer ID Backup/New Factor Template, all_products (JS variable), buildOrderList (JS function), orderList (JS variable), Client-side script in customerIDFactorBackup.html, URL: admin_panel:customerEdit, admin_panel:newFactor URL, Category Data (+9 more)
Cohesion: 0.15
Nodes (4): Customer ID Backup/New Factor Template, all_products (JS variable), buildOrderList (JS function), orderList (JS variable)
### Community 5 - "views/customers.py"
Cohesion: 0.05
Nodes (22): Customer, Meta, PhoneNumber, customer(), customerDel(), customerEdit(), customerFactor(), customerFactors() (+14 more)
Cohesion: 0.13
Nodes (16): customer_toggle_map(), customer(), customerDel(), customerEdit(), customerFactor(), customerFactors(), customerHesabdari(), customerHesabdariAdd() (+8 more)
### Community 6 - "cheque_inquiry.py"
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 7 - "admin_panel/templates/admin_panel/baseHesabdari.html"
Cohesion: 0.08
Nodes (22): admin_panel/base.html, Django Custom Tags: custom_tags, URL: admin_panel:ActionListUserToday, URL: admin_panel:bedehi, URL: admin_panel:customers, URL: admin_panel:entezar, URL: admin_panel:hesabdari, URL: admin_panel:hesabdari_residnashone (+14 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 8 - "django_db_models_deletion"
Cohesion: 0.08
Nodes (12): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+4 more)
### Community 9 - "django_conf"
Cohesion: 0.09
Nodes (9): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+1 more)
Cohesion: 0.06
Nodes (15): Migration, Migration, Migration, Migration, Migration, Migration, Migration, Migration (+7 more)
### Community 10 - "admin_panel/storeBK1.html"
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 12 - "admin_panel/templates/admin_panel/customerAction.html"
Cohesion: 0.16
Nodes (10): admin_panel/templates/admin_panel/customerActionInc.html, admin_panel:customerNewAction URL, Action Data Model, DataTables Library, jQuery, User Data Model, Django 'url' template tag, Bulma CSS (+2 more)
Cohesion: 0.13
Nodes (13): admin_panel/templates/admin_panel/customerActionInc.html, admin_panel:customerNew, admin_panel:customerNewAction URL, Action Data Model, Articl Model, Customer Model, DataTables Library, jQuery (+5 more)
### Community 13 - "User"
Cohesion: 0.15
Nodes (19): User, Action, VisitQueue, Factor, Meta, FactorIteam, UserProfile, ActionList() (+11 more)
Cohesion: 0.07
Nodes (30): User, Action, VisitQueue, Factor, Meta, FactorIteam, Product, Meta (+22 more)
### Community 14 - "admin_panel/templates/admin_panel/bedehi.html"
Cohesion: 0.22
Nodes (8): Articl Model, Customer Model, articls, toJalali, admin_panel:bedehi, admin_panel:bedehiKhadamat, admin_panel:bedehiNasb, admin_panel:customer
### Community 14 - "run_all"
Cohesion: 0.05
Nodes (9): run_all(), activate_sms(), ColdStartTests, ConsoleEncodingTests, HttpProviderRobustnessTests, NormalizeTests, ScannerTests, WorkerTests (+1 more)
### Community 15 - "django_contrib"
Cohesion: 0.22
Nodes (3): StoreRoomAdmin, StoreRoomOwnerInline, StoreTransferRequestAdmin
### Community 15 - "admin_panel/admin.py"
Cohesion: 0.09
Nodes (10): CustomerSMSSettingAdmin, SMSLogAdmin, SMSProviderConfigAdmin, SMSProviderConfigForm, Meta, SMSQueueAdmin, SMSTemplateAdmin, StoreRoomAdmin (+2 more)
### Community 16 - "models/__init__.py"
Cohesion: 0.06
Nodes (22): Customer, Factor, FactorIteam, PhoneNumber, Product, ProductCategory, ProductInStore, StoreRoom (+14 more)
### Community 16 - "stock_in"
Cohesion: 0.11
Nodes (11): Customer, Factor, FactorIteam, Product, ProductInStore, StoreRoom, VisitQueue, Command (+3 more)
### Community 17 - "admin_panel/templates/admin_panel/bedehi.html"
Cohesion: 0.12
Nodes (11): admin_panel:pardakhtNesiye, /panel/passCheck/, all_sarresid, URL: admin_panel:newFactor, mandehesabKP, admin_panel.ViewReportMali, toJalali, admin_panel:bedehi (+3 more)
### Community 18 - "hesabdariCheckPassFail.html"
Cohesion: 0.20
@@ -227,62 +262,150 @@ Nodes (9): Customer Data Object, Factor Data Object, Sarresid Data Object, admin
Cohesion: 0.07
Nodes (27): 10. Quality evaluation, 11. Agent integration, 12. Supported languages and formats, 13. Performance, 14. Known limits, 15. Documentation, 16. Improvement, 17. License (+19 more)
### Community 20 - "ProductInStore"
Cohesion: 0.14
Nodes (8): Product, Meta, ProductCategory, ProductInStore, Meta, MovementType, ProductStockHistory, Meta
### Community 20 - "normalize_mobile"
Cohesion: 0.09
Nodes (12): customer_phone_entries(), _iter_sources(), normalize_primary_values(), PhoneEntry, primary_phones(), resolved_recipients(), save_primary_normalized(), stored_primary_normalized() (+4 more)
### Community 21 - "graphify"
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 22 - "hesabdariResidNashode.html"
Cohesion: 0.21
Nodes (11): admin_panel:customerNew, admin_panel:pardakhtNesiye, /panel/passCheck/, all_sarresid, mandehesabKP, admin_panel.ViewReportMali, jQuery, pDatepicker JS Library (+3 more)
Cohesion: 0.47
Nodes (5): jQuery, pDatepicker JS Library, custom_tags, toCurrency, toJalali
### Community 24 - "scanner.py"
Cohesion: 0.13
Nodes (12): enqueue_sms(), _aware(), _Budget, scan_cheque_due(), scan_cheque_registration(), scan_debt_due(), scan_nesiye_due(), scan_survey() (+4 more)
### Community 25 - "0002_auto_20220114_1616.py"
Cohesion: 0.29
Nodes (3): Migration, Migration, Migration
### Community 26 - "SMSResult"
Cohesion: 0.13
Nodes (8): SMSDeliveryResult, SMSProvider, SMSResult, webotp_message(), console_write(), ConsoleSMSProvider, HTTPSMSProvider, _FailingProvider
### Community 27 - "Rip'n Fast. Fewer Tokens. Better Code."
Cohesion: 0.05
Nodes (42): index(), 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 (+34 more)
### Community 29 - "admin_panel/entezar.html"
Cohesion: 0.40
Nodes (4): Customer Data Structure, kamaDatepicker Library, custom_tags, toJalali filter
### Community 28 - "models/sms.py"
Cohesion: 0.08
Nodes (12): CustomerSMSSetting, Meta, SMSLog, Meta, SMSProviderConfig, Meta, SMSQueue, Meta (+4 more)
### Community 29 - "admin_panel/templates/admin_panel/baseStore.html"
Cohesion: 0.13
Nodes (12): admin_panel/base.html, Customer Data Structure, Django Custom Tags: custom_tags, kamaDatepicker Library, URL: admin_panel:customers, URL: admin_panel:operations, URL: admin_panel:productAdd, URL: admin_panel:store (+4 more)
### Community 30 - "views/finance.py"
Cohesion: 0.14
Nodes (21): Migration, Article, Meta, ArticleType, Sarresid, addSarresid(), bedehi(), bedehiKhadamat() (+13 more)
Cohesion: 0.20
Nodes (18): Article, Meta, addSarresid(), bedehi(), bedehiKhadamat(), bedehiNasb(), financial_dashboard(), hesabdari() (+10 more)
### Community 31 - "Customer Modals UI"
Cohesion: 0.67
Nodes (3): createCS click handler, openRow click handler, Customer Modals UI
### Community 32 - "views/factors.py"
Cohesion: 0.16
Nodes (6): FactorDel(), newFactor2(), InventoryException, _parse_jalali_date(), _parse_timestamp(), _safe_int()
### Community 34 - "views/sms.py"
Cohesion: 0.17
Nodes (12): parse_scan_since(), resolve_recipients_test(), _sample_context(), sms_customer_toggle(), sms_primary_toggle(), sms_queue(), sms_queue_retry(), sms_send_custom() (+4 more)
### Community 36 - "django_db_models"
Cohesion: 0.15
Nodes (3): get_provider_class(), get_sms_provider(), reset_sms_provider()
### Community 39 - "test_sms.py"
Cohesion: 0.14
Nodes (4): apply_timing(), current_timing_value(), timing_for(), TimingsTests
### Community 43 - "make_customer"
Cohesion: 0.15
Nodes (6): PhoneNumber, make_customer(), PanelTestCase, PrimaryNumberPanelTests, RuleTests, WelcomeTriggerTests
### Community 44 - "sms0098.py"
Cohesion: 0.15
Nodes (5): _clean(), to_local(), _configured_codes(), _response_code(), ZeroZeroNinetyEightSMSProvider
### Community 46 - "models/__init__.py"
Cohesion: 0.15
Nodes (5): format_amount(), format_jalali(), render_template(), _SafeDict, is_sms_enabled()
### Community 93 - "django_shortcuts"
Cohesion: 0.13
Nodes (3): Migration, ArticleType, Sarresid
### Community 94 - "resolve_recipients"
Cohesion: 0.20
Nodes (3): resolve_recipients(), mark_primary(), RecipientTests
### Community 95 - "factories.py"
Cohesion: 0.27
Nodes (5): ProductCategory, make_category(), make_product(), make_store(), _next()
### Community 96 - "write_tree"
Cohesion: 0.21
Nodes (6): Counts, format_header(), generate_snapshot(), normalized_path(), write_tree(), visit()
### Community 98 - "reconciliation_tool.py"
Cohesion: 0.19
Nodes (4): remove_query_param(), check_financial_discrepancy(), run_360_audit(), run_audit()
### Community 99 - "ModelsPackageContractTests"
Cohesion: 0.05
Nodes (15): AdminConfig, AdminPanelConfig, make_std_streams_unicode_safe(), configure_sqlite_connection(), entrypoint.sh script, main(), run.sh script, start_service() (+7 more)
### Community 100 - "django_conf"
Cohesion: 0.22
Nodes (4): AnnouncementRejected, place_announcement_call(), place_voip_call(), VoipCallResult
### Community 103 - "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/
### Community 110 - "0061_sms_timing_and_primary.py"
Cohesion: 0.22
Nodes (4): backfill_primary_phones(), Migration, _normalize(), normalize_template_timing()
### Community 111 - "bale/providers.py"
Cohesion: 0.31
Nodes (4): BaleBotProvider, ConsoleBaleProvider, get_bale_provider(), NotificationResult
### Community 116 - "Customer"
Cohesion: 0.29
Nodes (3): Customer, Meta, PhoneNumber
### Community 117 - "customerNewBackup.html"
Cohesion: 0.29
Nodes (6): admin_panel:newFactor URL, Category Data, Client-side Form Logic, CSRF Token, custom_tags, static
## Ambiguous Edges - Review These
- `admin_panel/base.html` → `admin_panel/templates/admin_panel/baseHesabdari.html` [AMBIGUOUS]
admin_panel/templates/admin_panel/baseHesabdari.html · relation: conceptually_related_to
## Knowledge Gaps
- **110 isolated node(s):** `DataTables Library`, `Customer Data Object`, `Factor Data Object`, `admin_panel:pardakhtNesiye URL`, `/panel/passCheck/ URL` (+105 more)
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 398 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **67 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; 575 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **93 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`?**
_High betweenness centrality (0.117) - this node is a cross-community bridge._
- **Are the 21 inferred relationships involving `User` (e.g. with `Action` and `VisitQueue`) actually correct?**
_`User` has 21 INFERRED edges - model-reasoned connections that need verification._
- **Why does `SMSProviderConfig` connect `models/sms.py` to `scanner.py`?**
_High betweenness centrality (0.031) - 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 `DataTables Library`, `Customer Data Object`, `Factor Data Object` to the rest of the system?**
_110 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `views/store.py` be split into smaller, more focused modules?**
_Cohesion score 0.06247086247086247 - nodes in this community are weakly interconnected._
- **Why does `index()` connect `Rip'n Fast. Fewer Tokens. Better Code.` to `views/customers.py`?**
_High betweenness centrality (0.116) - this node is a cross-community bridge._
- **Should `project_tree.py` be split into smaller, more focused modules?**
_Cohesion score 0.052600818234950324 - nodes in this community are weakly interconnected._
_Cohesion score 0.06540825285338016 - nodes in this community are weakly interconnected._
- **Why does `Languages` connect `Rip'n Fast. Fewer Tokens. Better Code.` to `scanner.py`?**
_High betweenness centrality (0.026) - this node is a cross-community bridge._
- **Should `django_db` be split into smaller, more focused modules?**
_Cohesion score 0.06896551724137931 - nodes in this community are weakly interconnected._
### Low-confidence Hints
_AMBIGUOUS edges — the extractor was unsure. Verify before acting on these._