16 KiB
Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral (2026-04-22)
Corpus Check
- 18 files · ~9,229 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 220 nodes · 293 edges · 38 communities detected
- Extraction: 89% EXTRACTED · 11% INFERRED · 0% AMBIGUOUS · INFERRED: 32 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
Community Hubs (Navigation)
- _COMMUNITY_Community 0
- _COMMUNITY_Community 1
- _COMMUNITY_Community 2
- _COMMUNITY_Community 3
- _COMMUNITY_Community 4
- _COMMUNITY_Community 5
- _COMMUNITY_Community 6
- _COMMUNITY_Community 7
- _COMMUNITY_Community 8
- _COMMUNITY_Community 9
- _COMMUNITY_Community 10
- _COMMUNITY_Community 11
- _COMMUNITY_Community 12
- _COMMUNITY_Community 13
- _COMMUNITY_Community 14
- _COMMUNITY_Community 15
- _COMMUNITY_Community 16
- _COMMUNITY_Community 17
- _COMMUNITY_Community 18
- _COMMUNITY_Community 19
- _COMMUNITY_Community 20
- _COMMUNITY_Community 21
- _COMMUNITY_Community 22
- _COMMUNITY_Community 23
- _COMMUNITY_Community 24
- _COMMUNITY_Community 25
- _COMMUNITY_Community 26
- _COMMUNITY_Community 27
- _COMMUNITY_Community 28
- _COMMUNITY_Community 29
- _COMMUNITY_Community 30
- _COMMUNITY_Community 31
- _COMMUNITY_Community 32
- _COMMUNITY_Community 33
- _COMMUNITY_Community 34
- _COMMUNITY_Community 35
- _COMMUNITY_Community 36
- _COMMUNITY_Community 37
God Nodes (most connected - your core abstractions)
RcConfig- 22 edgesRcVoicemail- 18 edgesRcCallHistory- 12 edges_get_active_config()- 12 edgesRcCallDashboard- 11 edgesFusionFaxRC- 9 edgescreate()- 8 edges_run_backfill_voicemail_media()- 7 edgesRcSystrayItem- 7 edgescreate()- 4 edges
Surprising Connections (you probably didn't know these)
_run_backfill_voicemail_media()--calls-->_get_active_config()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_voicemail.py → /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_config.py_cron_sync_call_history()--calls-->_get_active_config()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_call_history.py → /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_config.py_cron_daily_catchup_sync()--calls-->_get_active_config()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_call_history.py → /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_config.py_cron_fetch_transcripts()--calls-->_get_active_config()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_call_history.py → /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_config.py_run_historical_fax_import()--calls-->_get_active_config()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/fusion_fax.py → /Users/gurpreet/Github/Odoo-Modules/fusion_ringcentral/models/rc_config.py
Communities
Community 0 - "Community 0"
Cohesion: 0.09 Nodes (19): Revoke tokens and disconnect., Exchange authorization code for access/refresh tokens., Refresh the access token using the refresh token. Uses SELECT ... FOR U, Ensure we have a valid access token, refreshing proactively., Return authorization headers for API calls., Make an authenticated GET request with rate-limit handling., Central API request method with automatic rate-limit retry. RingCentral, Fetch the connected user's extension info. (+11 more)
Community 1 - "Community 1"
Cohesion: 0.09 Nodes (15): _build_timeline(), create(), _cron_transcribe_voicemails(), _match_voicemail_partner(), _normalize_phone(), Process one page of voicemail records with bulk dedup., Import a single voicemail message and download its audio., Download voicemail transcription text from RC. (+7 more)
Community 2 - "Community 2"
Cohesion: 0.08 Nodes (17): create(), _cron_daily_catchup_sync(), _cron_sync_call_history(), _match_partner(), _normalize_phone(), Open the linked contact., Open sale orders for the linked contact., Open invoices for the linked contact. (+9 more)
Community 3 - "Community 3"
Cohesion: 0.11 Nodes (13): create(), FusionFaxRC, _match_fax_partner(), _normalize_fax_phone(), Open Send Fax wizard with this fax's documents pre-attached., Open Send Fax wizard pre-filled with this fax's contact info., Extend fusion.fax with contact matching, smart buttons, forward fax, and sen, Fetch faxes (inbound + outbound) from RC message-store via OAuth. (+5 more)
Community 4 - "Community 4"
Cohesion: 0.1 Nodes (4): Open the RingCentral dialer via the Embeddable widget., Open the RingCentral SMS compose via the Embeddable widget., Open the Send Fax wizard., RcCallDashboard
Community 5 - "Community 5"
Cohesion: 0.16 Nodes (11): _cron_refresh_tokens(), _get_active_config(), _run_historical_import(), _cron_daily_voicemail_catchup(), _cron_sync_voicemails(), Fetch voicemails from RC Message Store for a date range., _run_historical_voicemail_import(), RcRecordingController (+3 more)
Community 6 - "Community 6"
Cohesion: 0.25 Nodes (5): _cron_fetch_transcripts(), _cron_renew_webhooks(), Make an authenticated POST request with rate-limit handling., Renew the webhook subscription., Send an SMS via the RingCentral REST API. :param str to_number: Recipie
Community 7 - "Community 7"
Cohesion: 0.25 Nodes (1): RcSystrayItem
Community 8 - "Community 8"
Cohesion: 0.33 Nodes (2): Placeholder for click-to-call -- actual dialing is handled by the JS widget., ResPartner
Community 9 - "Community 9"
Cohesion: 0.67 Nodes (2): loadRcWidget(), start()
Community 10 - "Community 10"
Cohesion: 0.67 Nodes (2): oauth_callback(), RcOAuthController
Community 11 - "Community 11"
Cohesion: 1.0 Nodes (1): ResConfigSettings
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 (0):
Community 17 - "Community 17"
Cohesion: 1.0 Nodes (1): Incremental sync: fetch voicemails since last sync.
Community 18 - "Community 18"
Cohesion: 1.0 Nodes (1): Re-scan past 3 days for any missed voicemails.
Community 19 - "Community 19"
Cohesion: 1.0 Nodes (1): Re-fetch audio and transcription for records missing them. Called via c
Community 20 - "Community 20"
Cohesion: 1.0 Nodes (1): Background job: import up to 12 months of voicemails in monthly chunks.
Community 21 - "Community 21"
Cohesion: 1.0 Nodes (1): Build a timeline string from Whisper segments showing silence gaps. Exa
Community 22 - "Community 22"
Cohesion: 1.0 Nodes (1): Batch-transcribe voicemails that have audio but no transcript.
Community 23 - "Community 23"
Cohesion: 1.0 Nodes (1): Auto-link a call to a partner by matching phone numbers. For outbound c
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (1): Strip a phone number to last 10 digits for comparison.
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (1): Incremental sync: only fetch calls since last successful sync. Uses `fu
Community 26 - "Community 26"
Cohesion: 1.0 Nodes (1): Daily catchup: re-scan the past 3 days to catch anything missed. Covers
Community 27 - "Community 27"
Cohesion: 1.0 Nodes (1): Fetch AI transcripts for calls that have recordings but no transcript.
Community 28 - "Community 28"
Cohesion: 1.0 Nodes (1): Match a fax to a contact by fax number, phone, or mobile.
Community 29 - "Community 29"
Cohesion: 1.0 Nodes (1): Background job: import up to 12 months of faxes in monthly chunks.
Community 30 - "Community 30"
Cohesion: 1.0 Nodes (1): Return the first connected config, or False.
Community 31 - "Community 31"
Cohesion: 1.0 Nodes (1): Background job: import up to 12 months of call history. Tracks which mo
Community 32 - "Community 32"
Cohesion: 1.0 Nodes (1): Refresh tokens for connected configs nearing expiry and recover error configs.
Community 33 - "Community 33"
Cohesion: 1.0 Nodes (1): Renew webhook subscriptions for all connected configs.
Community 34 - "Community 34"
Cohesion: 1.0 Nodes (1): Return RingCentral widget configuration for the JS frontend.
Community 35 - "Community 35"
Cohesion: 1.0 Nodes (1): Receive webhook events from RingCentral.
Community 36 - "Community 36"
Cohesion: 1.0 Nodes (1): Proxy a call recording from RingCentral with authentication.
Community 37 - "Community 37"
Cohesion: 1.0 Nodes (1): Handle the OAuth redirect from RingCentral after user authorizes.
Knowledge Gaps
- 76 isolated node(s):
Incremental sync: fetch voicemails since last sync.,Re-scan past 3 days for any missed voicemails.,Re-fetch audio and transcription for records missing them. Called via c,Background job: import up to 12 months of voicemails in monthly chunks.,Fetch voicemails from RC Message Store for a date range.(+71 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 11(2 nodes):ResConfigSettings,res_config_settings.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 12(2 nodes):onClickCall(),rc_click_to_dial.jsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 13(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 14(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 15(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 16(1 nodes):__manifest__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 17(1 nodes):Incremental sync: fetch voicemails since last sync.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 18(1 nodes):Re-scan past 3 days for any missed voicemails.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 19(1 nodes):Re-fetch audio and transcription for records missing them. Called via cToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 20(1 nodes):Background job: import up to 12 months of voicemails in monthly chunks.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 21(1 nodes):Build a timeline string from Whisper segments showing silence gaps. ExaToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 22(1 nodes):Batch-transcribe voicemails that have audio but no transcript.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 23(1 nodes):Auto-link a call to a partner by matching phone numbers. For outbound cToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 24(1 nodes):Strip a phone number to last 10 digits for comparison.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(1 nodes):Incremental sync: only fetch calls since last successful sync. Usesfu` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 26(1 nodes):Daily catchup: re-scan the past 3 days to catch anything missed. CoversToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 27(1 nodes):Fetch AI transcripts for calls that have recordings but no transcript.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 28(1 nodes):Match a fax to a contact by fax number, phone, or mobile.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 29(1 nodes):Background job: import up to 12 months of faxes in monthly chunks.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 30(1 nodes):Return the first connected config, or False.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 31(1 nodes):Background job: import up to 12 months of call history. Tracks which moToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 32(1 nodes):Refresh tokens for connected configs nearing expiry and recover error configs.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 33(1 nodes):Renew webhook subscriptions for all connected configs.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 34(1 nodes):Return RingCentral widget configuration for the JS frontend.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 35(1 nodes):Receive webhook events from RingCentral.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 36(1 nodes):Proxy a call recording from RingCentral with authentication.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 37(1 nodes):Handle the OAuth redirect from RingCentral after user authorizes.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
RcConfigconnectCommunity 0toCommunity 5,Community 6? High betweenness centrality (0.112) - this node is a cross-community bridge. - Why does
RcVoicemailconnectCommunity 1toCommunity 0,Community 5? High betweenness centrality (0.079) - this node is a cross-community bridge. - Are the 10 inferred relationships involving
_get_active_config()(e.g. with_cron_sync_voicemails()and_cron_daily_voicemail_catchup()) actually correct?_get_active_config()has 10 INFERRED edges - model-reasoned connections that need verification. - What connects
Incremental sync: fetch voicemails since last sync.,Re-scan past 3 days for any missed voicemails.,Re-fetch audio and transcription for records missing them. Called via cto the rest of the system? 76 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Community 0be split into smaller, more focused modules? Cohesion score 0.09 - nodes in this community are weakly interconnected. - Should
Community 1be split into smaller, more focused modules? Cohesion score 0.09 - nodes in this community are weakly interconnected. - Should
Community 2be split into smaller, more focused modules? Cohesion score 0.08 - nodes in this community are weakly interconnected.