169 lines
7.7 KiB
Markdown
169 lines
7.7 KiB
Markdown
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_faxes (2026-04-22)
|
|
|
|
## Corpus Check
|
|
- 13 files · ~4,507 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
|
|
## Summary
|
|
- 98 nodes · 116 edges · 21 communities detected
|
|
- Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 3 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]]
|
|
- [[_COMMUNITY_Community 17|Community 17]]
|
|
- [[_COMMUNITY_Community 18|Community 18]]
|
|
- [[_COMMUNITY_Community 19|Community 19]]
|
|
- [[_COMMUNITY_Community 20|Community 20]]
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `FusionFax` - 18 edges
|
|
2. `FusionFaxDashboard` - 10 edges
|
|
3. `create()` - 4 edges
|
|
4. `_fetch_faxes_from_rc()` - 4 edges
|
|
5. `SendFaxWizard` - 3 edges
|
|
6. `AccountMove` - 3 edges
|
|
7. `SaleOrder` - 3 edges
|
|
8. `ResConfigSettings` - 3 edges
|
|
9. `_onchange_file_upload()` - 2 edges
|
|
10. `FusionFaxDocument` - 2 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- `_onchange_file_upload()` --calls--> `create()` [INFERRED]
|
|
/Users/gurpreet/Github/Odoo-Modules/fusion_faxes/wizard/send_fax_wizard_line.py → /Users/gurpreet/Github/Odoo-Modules/fusion_faxes/models/fusion_fax.py
|
|
|
|
## Communities
|
|
|
|
### Community 0 - "Community 0"
|
|
Cohesion: 0.21
|
|
Nodes (7): create(), _cron_fetch_incoming_faxes(), _fetch_faxes_from_rc(), Import a single inbound fax message dict from RingCentral., _run_historical_fax_import(), _onchange_file_upload(), SendFaxWizardLine
|
|
|
|
### Community 1 - "Community 1"
|
|
Cohesion: 0.27
|
|
Nodes (1): FusionFaxDashboard
|
|
|
|
### Community 2 - "Community 2"
|
|
Cohesion: 0.22
|
|
Nodes (4): Return attachments in the correct order: document_ids by sequence, or legacy att, Send this fax record via RingCentral API. Tries JWT/SDK first (if confi, Button action to send this fax., Resend a previously sent fax with all the same attachments.
|
|
|
|
### Community 3 - "Community 3"
|
|
Cohesion: 0.36
|
|
Nodes (4): FusionFax, Initialize and authenticate the RingCentral SDK. Returns (sdk, platform) tuple., Send fax using the RingCentral Python SDK (JWT auth)., Post a chatter message on the linked sale order or invoice.
|
|
|
|
### Community 4 - "Community 4"
|
|
Cohesion: 0.29
|
|
Nodes (3): Create a fusion.fax record and send it., Generate a PDF of the linked sale order or invoice., SendFaxWizard
|
|
|
|
### Community 5 - "Community 5"
|
|
Cohesion: 0.29
|
|
Nodes (3): AccountMove, Open the Send Fax wizard pre-filled with this invoice., Open fax history for this invoice.
|
|
|
|
### Community 6 - "Community 6"
|
|
Cohesion: 0.29
|
|
Nodes (3): Open the Send Fax wizard pre-filled with this sale order., Open fax history for this sale order., SaleOrder
|
|
|
|
### Community 7 - "Community 7"
|
|
Cohesion: 0.33
|
|
Nodes (3): Post chatter message when a sale order or invoice is linked., Post a message on the sale order when a fax is linked to it., Reset a failed fax back to draft.
|
|
|
|
### Community 8 - "Community 8"
|
|
Cohesion: 0.33
|
|
Nodes (3): Protect credential fields from being blanked accidentally., Test connection to RingCentral using stored credentials., ResConfigSettings
|
|
|
|
### Community 9 - "Community 9"
|
|
Cohesion: 0.4
|
|
Nodes (2): Open fax history for this contact., ResPartner
|
|
|
|
### Community 10 - "Community 10"
|
|
Cohesion: 0.5
|
|
Nodes (2): FusionFaxDocument, Open the attachment in Odoo's built-in PDF viewer dialog.
|
|
|
|
### Community 11 - "Community 11"
|
|
Cohesion: 0.5
|
|
Nodes (2): Return the active rc.config record or raise., Send fax using rc.config OAuth with multipart POST.
|
|
|
|
### Community 12 - "Community 12"
|
|
Cohesion: 1.0
|
|
Nodes (1): Open the linked sale order.
|
|
|
|
### 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 (0):
|
|
|
|
### Community 17 - "Community 17"
|
|
Cohesion: 1.0
|
|
Nodes (1): Create an ir.attachment when a file is uploaded.
|
|
|
|
### Community 18 - "Community 18"
|
|
Cohesion: 1.0
|
|
Nodes (1): Poll RingCentral for inbound faxes via rc.config OAuth.
|
|
|
|
### Community 19 - "Community 19"
|
|
Cohesion: 1.0
|
|
Nodes (1): Background job: import up to 12 months of inbound faxes in monthly chunks.
|
|
|
|
### Community 20 - "Community 20"
|
|
Cohesion: 1.0
|
|
Nodes (1): Fetch inbound faxes from RingCentral and create records. Returns import count.
|
|
|
|
## Knowledge Gaps
|
|
- **29 isolated node(s):** `Generate a PDF of the linked sale order or invoice.`, `Create a fusion.fax record and send it.`, `SendFaxWizardLine`, `Create an ir.attachment when a file is uploaded.`, `Open the attachment in Odoo's built-in PDF viewer dialog.` (+24 more)
|
|
These have ≤1 connection - possible missing edges or undocumented components.
|
|
- **Thin community `Community 12`** (2 nodes): `.action_open_sale_order()`, `Open the linked sale order.`
|
|
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): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 15`** (1 nodes): `__init__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 16`** (1 nodes): `__manifest__.py`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 17`** (1 nodes): `Create an ir.attachment when a file is uploaded.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 18`** (1 nodes): `Poll RingCentral for inbound faxes via rc.config OAuth.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 19`** (1 nodes): `Background job: import up to 12 months of inbound faxes in monthly chunks.`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Community 20`** (1 nodes): `Fetch inbound faxes from RingCentral and create records. Returns import count.`
|
|
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 `FusionFax` connect `Community 3` to `Community 0`, `Community 2`, `Community 7`, `Community 11`, `Community 12`?**
|
|
_High betweenness centrality (0.142) - this node is a cross-community bridge._
|
|
- **Why does `create()` connect `Community 0` to `Community 4`?**
|
|
_High betweenness centrality (0.044) - this node is a cross-community bridge._
|
|
- **Are the 2 inferred relationships involving `create()` (e.g. with `.action_send()` and `_onchange_file_upload()`) actually correct?**
|
|
_`create()` has 2 INFERRED edges - model-reasoned connections that need verification._
|
|
- **What connects `Generate a PDF of the linked sale order or invoice.`, `Create a fusion.fax record and send it.`, `SendFaxWizardLine` to the rest of the system?**
|
|
_29 weakly-connected nodes found - possible documentation gaps or missing edges._ |