# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_core (2026-04-22) ## Corpus Check - 15 files · ~4,588 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 66 nodes · 62 edges · 17 communities detected - Extraction: 87% EXTRACTED · 13% INFERRED · 0% AMBIGUOUS · INFERRED: 8 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. `TestSharedFieldOwnership` - 8 edges 2. `TestCoexistenceGroup` - 6 edges 3. `_fusion_recompute_coexistence_group()` - 6 edges 4. `TestEnterpriseDetection` - 5 edges 5. `_fusion_is_enterprise_accounting_installed()` - 5 edges 6. `TestSharedFieldBankStatementLine` - 4 edges 7. `IrModuleModule` - 4 edges 8. `post_init_hook()` - 3 edges 9. `Initialize coexistence group membership based on current Enterprise install stat` - 1 edges 10. `Rehome the fusion security xml-ids to fusion_accounting_core BEFORE data-load.` - 1 edges ## Surprising Connections (you probably didn't know these) - `post_init_hook()` --calls--> `_fusion_recompute_coexistence_group()` [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_core/__init__.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_core/models/res_users.py - `_fusion_recompute_coexistence_group()` --calls--> `_fusion_is_enterprise_accounting_installed()` [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_core/models/res_users.py → /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_core/models/ir_module_module.py ## Communities ### Community 0 - "Community 0" Cohesion: 0.18 Nodes (6): The recompute helper must be callable on res.users., The 'show when Enterprise absent' group must exist and have computed membership., TestCoexistenceGroup, Verify fusion_accounting_core declares the Enterprise extension fields on ac, TestSharedFieldBankStatementLine, TransactionCase ### Community 1 - "Community 1" Cohesion: 0.24 Nodes (5): IrModuleModule, Recompute the coexistence group after install state changes., Recompute the coexistence group after uninstall state changes. The MRO, Recompute the coexistence group after the lower-level uninstall., _fusion_recompute_coexistence_group() ### Community 2 - "Community 2" Cohesion: 0.22 Nodes (3): The shared M2M relation table must be named identically to Enterprise's, Verify fusion_accounting_core declares the Enterprise extension fields on ac, TestSharedFieldOwnership ### Community 3 - "Community 3" Cohesion: 0.25 Nodes (5): _fusion_is_enterprise_accounting_installed(), A user is in the group iff Enterprise accounting is NOT installed. We c, Helper should return True iff one of the known Enterprise modules is installed., Verify the helper that detects Odoo Enterprise accounting installs., TestEnterpriseDetection ### Community 4 - "Community 4" Cohesion: 0.67 Nodes (1): Rehome the fusion security xml-ids to fusion_accounting_core BEFORE data-load. ### Community 5 - "Community 5" Cohesion: 0.67 Nodes (1): Safety-net reassignment of security xml-ids to fusion_accounting_core. The actu ### Community 6 - "Community 6" Cohesion: 1.0 Nodes (2): post_init_hook(), Initialize coexistence group membership based on current Enterprise install stat ### Community 7 - "Community 7" Cohesion: 0.67 Nodes (2): AccountMove, Shared-field-ownership declarations for account.move. Per the roadmap (Section ### Community 8 - "Community 8" Cohesion: 0.67 Nodes (2): AccountReconcileModel, Shared-field-ownership for account.reconcile.model. Mirrors the single field En ### Community 9 - "Community 9" Cohesion: 0.67 Nodes (2): Coexistence group membership recomputation., ResUsers ### Community 10 - "Community 10" Cohesion: 0.67 Nodes (2): AccountBankStatementLine, Shared-field-ownership for account.bank.statement.line. Enterprise's account_ac ### 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 (1): True if any Odoo Enterprise accounting module is installed in this DB. ### Community 15 - "Community 15" Cohesion: 1.0 Nodes (1): True if a specific module is installed. ### Community 16 - "Community 16" Cohesion: 1.0 Nodes (1): Maintain the two coexistence groups based on Enterprise presence. - ``g ## Knowledge Gaps - **25 isolated node(s):** `Initialize coexistence group membership based on current Enterprise install stat`, `Rehome the fusion security xml-ids to fusion_accounting_core BEFORE data-load.`, `Safety-net reassignment of security xml-ids to fusion_accounting_core. The actu`, `Verify fusion_accounting_core declares the Enterprise extension fields on ac`, `Verify fusion_accounting_core declares the Enterprise extension fields on ac` (+20 more) These have ≤1 connection - possible missing edges or undocumented components. - **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): `__manifest__.py` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 14`** (1 nodes): `True if any Odoo Enterprise accounting module is installed in this DB.` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 15`** (1 nodes): `True if a specific module is installed.` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 16`** (1 nodes): `Maintain the two coexistence groups based on Enterprise presence. - ``g` 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 `_fusion_is_enterprise_accounting_installed()` connect `Community 3` to `Community 1`?** _High betweenness centrality (0.232) - this node is a cross-community bridge._ - **Why does `_fusion_recompute_coexistence_group()` connect `Community 1` to `Community 9`, `Community 3`, `Community 6`?** _High betweenness centrality (0.200) - this node is a cross-community bridge._ - **Why does `TestSharedFieldOwnership` connect `Community 2` to `Community 0`?** _High betweenness centrality (0.151) - this node is a cross-community bridge._ - **Are the 5 inferred relationships involving `_fusion_recompute_coexistence_group()` (e.g. with `post_init_hook()` and `.button_immediate_install()`) actually correct?** _`_fusion_recompute_coexistence_group()` has 5 INFERRED edges - model-reasoned connections that need verification._ - **Are the 4 inferred relationships involving `_fusion_is_enterprise_accounting_installed()` (e.g. with `.test_membership_matches_enterprise_state()` and `.test_helper_returns_bool()`) actually correct?** _`_fusion_is_enterprise_accounting_installed()` has 4 INFERRED edges - model-reasoned connections that need verification._ - **What connects `Initialize coexistence group membership based on current Enterprise install stat`, `Rehome the fusion security xml-ids to fusion_accounting_core BEFORE data-load.`, `Safety-net reassignment of security xml-ids to fusion_accounting_core. The actu` to the rest of the system?** _25 weakly-connected nodes found - possible documentation gaps or missing edges._