Files
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

7.7 KiB

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)

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.