# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_loaners_management (2026-04-22) ## Corpus Check - 15 files · ~7,312 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 87 nodes · 121 edges · 17 communities detected - Extraction: 90% EXTRACTED · 10% INFERRED · 0% AMBIGUOUS · INFERRED: 12 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) - [[_COMMUNITY_Community 0|Community 0]] - [[_COMMUNITY_Community 1|Community 1]] - [[_COMMUNITY_Community 2|Community 2]] - [[_COMMUNITY_Community 3|Community 3]] - [[_COMMUNITY_Community 4|Community 4]] - [[_COMMUNITY_Community 5|Community 5]] - [[_COMMUNITY_Community 6|Community 6]] - [[_COMMUNITY_Community 7|Community 7]] - [[_COMMUNITY_Community 8|Community 8]] - [[_COMMUNITY_Community 9|Community 9]] - [[_COMMUNITY_Community 10|Community 10]] - [[_COMMUNITY_Community 11|Community 11]] - [[_COMMUNITY_Community 12|Community 12]] - [[_COMMUNITY_Community 13|Community 13]] - [[_COMMUNITY_Community 14|Community 14]] - [[_COMMUNITY_Community 15|Community 15]] - [[_COMMUNITY_Community 16|Community 16]] ## God Nodes (most connected - your core abstractions) 1. `FusionLoanerCheckout` - 21 edges 2. `create()` - 11 edges 3. `LoanerEmailMixin` - 9 edges 4. `SaleOrder` - 4 edges 5. `_cron_check_overdue_loaners()` - 4 edges 6. `FusionLoanerHistory` - 3 edges 7. `portal_loaner_checkout()` - 3 edges 8. `_pre_init_hook()` - 2 edges 9. `LoanerCheckoutWizard` - 2 edges 10. `LoanerReturnWizard` - 2 edges ## Surprising Connections (you probably didn't know these) - `portal_loaner_create_product()` --calls--> `create()` [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_loaners_management/controllers/loaner_portal.py → /Users/gurpreet/Github/Odoo-Modules/fusion_loaners_management/models/fusion_loaner_checkout.py - `portal_loaner_checkout()` --calls--> `create()` [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_loaners_management/controllers/loaner_portal.py → /Users/gurpreet/Github/Odoo-Modules/fusion_loaners_management/models/fusion_loaner_checkout.py ## Communities ### Community 0 - "Community 0" Cohesion: 0.2 Nodes (3): create(), _cron_check_overdue_loaners(), FusionLoanerCheckout ### Community 1 - "Community 1" Cohesion: 0.31 Nodes (1): LoanerEmailMixin ### Community 2 - "Community 2" Cohesion: 0.25 Nodes (3): LoanerPortalController, portal_loaner_checkout(), portal_loaner_create_product() ### Community 3 - "Community 3" Cohesion: 0.29 Nodes (1): LoanerCheckoutWizard ### Community 4 - "Community 4" Cohesion: 0.29 Nodes (1): SaleOrder ### Community 5 - "Community 5" Cohesion: 0.4 Nodes (1): FusionLoanerHistory ### Community 6 - "Community 6" Cohesion: 0.33 Nodes (2): portal_loaner_return(), LoanerReturnWizard ### Community 7 - "Community 7" Cohesion: 0.33 Nodes (0): ### Community 8 - "Community 8" Cohesion: 0.4 Nodes (1): ProductTemplate ### Community 9 - "Community 9" Cohesion: 1.0 Nodes (2): _pre_init_hook(), Re-assign loaner data record ownership from fusion_claims before install. P ### Community 10 - "Community 10" Cohesion: 1.0 Nodes (1): ResUsers ### Community 11 - "Community 11" Cohesion: 1.0 Nodes (0): ### Community 12 - "Community 12" Cohesion: 1.0 Nodes (0): ### Community 13 - "Community 13" Cohesion: 1.0 Nodes (0): ### Community 14 - "Community 14" Cohesion: 1.0 Nodes (0): ### Community 15 - "Community 15" Cohesion: 1.0 Nodes (0): ### Community 16 - "Community 16" Cohesion: 1.0 Nodes (1): Return current location of all loaner equipment for the portal. ## Knowledge Gaps - **4 isolated node(s):** `Re-assign loaner data record ownership from fusion_claims before install. P`, `ResUsers`, `LoanerPortalController`, `Return current location of all loaner equipment for the portal.` These have ≤1 connection - possible missing edges or undocumented components. - **Thin community `Community 10`** (2 nodes): `ResUsers`, `res_users.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 11`** (1 nodes): `__init__.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 12`** (1 nodes): `__init__.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 13`** (1 nodes): `__init__.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 14`** (1 nodes): `__manifest__.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 15`** (1 nodes): `loaner_portal.js` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 16`** (1 nodes): `Return current location of all loaner equipment for the portal.` Too small to be a meaningful cluster - may be noise or needs more connections extracted. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Why does `FusionLoanerCheckout` connect `Community 0` to `Community 4`, `Community 6`, `Community 7`?** _High betweenness centrality (0.242) - this node is a cross-community bridge._ - **Why does `create()` connect `Community 0` to `Community 2`, `Community 3`, `Community 6`, `Community 7`?** _High betweenness centrality (0.209) - this node is a cross-community bridge._ - **Are the 4 inferred relationships involving `create()` (e.g. with `.action_checkout()` and `.action_return()`) actually correct?** _`create()` has 4 INFERRED edges - model-reasoned connections that need verification._ - **What connects `Re-assign loaner data record ownership from fusion_claims before install. P`, `ResUsers`, `LoanerPortalController` to the rest of the system?** _4 weakly-connected nodes found - possible documentation gaps or missing edges._