12 KiB
Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_shipping (2026-04-22)
Corpus Check
- 32 files · ~104,292 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 352 nodes · 832 edges · 33 communities detected
- Extraction: 61% EXTRACTED · 39% INFERRED · 0% AMBIGUOUS · INFERRED: 326 edges (avg confidence: 0.73)
- 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
God Nodes (most connected - your core abstractions)
DeliveryCarrier- 78 edgesFedexRequest- 67 edgesDHLProvider- 56 edgesUPSRequest- 43 edgesResponse- 43 edgesFusionShipment- 22 edgesLogPlugin- 12 edges_convert_curr_iso_fdx()- 12 edgesResponseDataObject- 9 edgescreate()- 8 edges
Surprising Connections (you probably didn't know these)
Open an attachment PDF in the browser viewer (new tab).--uses-->Response[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/models/fusion_shipment.py → /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/api/canada_post/response.pyFetch latest tracking events from Canada Post VIS API.--uses-->Response[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/models/fusion_shipment.py → /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/api/canada_post/response.pyParse CP tracking detail response and store events.--uses-->Response[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/models/fusion_shipment.py → /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/api/canada_post/response.pyAuto-update shipment status based on tracking data.--uses-->Response[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/models/fusion_shipment.py → /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/api/canada_post/response.pyCheck if any tracking events indicate a return/RTS.--uses-->Response[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/models/fusion_shipment.py → /Users/gurpreet/Github/Odoo-Modules/fusion_shipping/api/canada_post/response.py
Communities
Community 0 - "Community 0"
Cohesion: 0.06 Nodes (21): get_fusion_cp_url(), Cancel all CP shipments linked to this picking via void API., Create one CP shipment for a single package., create(), _cron_refresh_tracking(), FusionShipment, Open an attachment PDF in the browser viewer (new tab)., Fetch latest tracking events from Canada Post VIS API. (+13 more)
Community 1 - "Community 1"
Cohesion: 0.06 Nodes (3): DeliveryCarrier, Override of delivery to return the ups delivery type for UPS REST., Adds the extra data to the request (DHL REST).
Community 2 - "Community 2"
Cohesion: 0.14 Nodes (7): Extract price info in target currency, converting if necessary, Adds the extra data to the request (FedEx SOAP legacy)., Hook to introduce new custom behaviors in the Fedex request., _convert_curr_fdx_iso(), _convert_curr_iso_fdx(), FedexRequest, Low-level object intended to interface Odoo recordsets with FedEx, throu
Community 3 - "Community 3"
Cohesion: 0.13 Nodes (2): PackageType, UPSRequest
Community 4 - "Community 4"
Cohesion: 0.13 Nodes (2): Adds the custom data to the request (DHL SOAP legacy)., DHLProvider
Community 5 - "Community 5"
Cohesion: 0.07 Nodes (15): ChooseDeliveryCarrier, ChooseDeliveryFusionPackage, ChooseDeliveryFusionRate, Override: for Canada Post, fetch all rates for all packages., Build package_info dict for a single package, converted to cm., Fetch shipping service rates for every package and aggregate., Override: store per-package info on the sale order and enhance the deliv, Select this rate and deselect others. Update per-package costs. (+7 more)
Community 6 - "Community 6"
Cohesion: 0.15 Nodes (1): Adds the extra data to the request. When there are multiple items in a l
Community 7 - "Community 7"
Cohesion: 0.14 Nodes (6): Plugin, _convert_stock_type(), FixRequestNamespacePlug, LogPlugin, Small plugin for zeep that catches out/ingoing XML requests and logs them, Small plugin for zeep that catches out/ingoing XML requests and logs them
Community 8 - "Community 8"
Cohesion: 0.2 Nodes (13): attribute_check(), dict2xml(), get_dom_tree(), getNodeText(), getValue(), parse_yaml(), perftest_dict2xml(), python_2_unicode_compatible() (+5 more)
Community 9 - "Community 9"
Cohesion: 0.47 Nodes (1): ResponseDataObject
Community 10 - "Community 10"
Cohesion: 0.5 Nodes (1): SaleOrder
Community 11 - "Community 11"
Cohesion: 0.5 Nodes (1): StockPicking
Community 12 - "Community 12"
Cohesion: 0.67 Nodes (1): PaymentProvider
Community 13 - "Community 13"
Cohesion: 0.67 Nodes (1): ResCompany
Community 14 - "Community 14"
Cohesion: 0.67 Nodes (2): FusionOrderPackage, Stores per-package dimensions and service info on a sale order. Created whe
Community 15 - "Community 15"
Cohesion: 1.0 Nodes (1): UoM
Community 16 - "Community 16"
Cohesion: 1.0 Nodes (1): FusionTrackingEvent
Community 17 - "Community 17"
Cohesion: 1.0 Nodes (1): ResPartner
Community 18 - "Community 18"
Cohesion: 1.0 Nodes (0):
Community 19 - "Community 19"
Cohesion: 1.0 Nodes (0):
Community 20 - "Community 20"
Cohesion: 1.0 Nodes (0):
Community 21 - "Community 21"
Cohesion: 1.0 Nodes (0):
Community 22 - "Community 22"
Cohesion: 1.0 Nodes (0):
Community 23 - "Community 23"
Cohesion: 1.0 Nodes (0):
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (0):
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (0):
Community 26 - "Community 26"
Cohesion: 1.0 Nodes (0):
Community 27 - "Community 27"
Cohesion: 1.0 Nodes (0):
Community 28 - "Community 28"
Cohesion: 1.0 Nodes (0):
Community 29 - "Community 29"
Cohesion: 1.0 Nodes (0):
Community 30 - "Community 30"
Cohesion: 1.0 Nodes (1): Pre-fill dimensions from selected box type.
Community 31 - "Community 31"
Cohesion: 1.0 Nodes (1): When a CP carrier is selected, create one default package.
Community 32 - "Community 32"
Cohesion: 1.0 Nodes (1): Override of payment to allow only COD providers if allow_cash_on_delivery is ena
Knowledge Gaps
- 22 isolated node(s):
One package row in the Add Shipping wizard.,Pre-fill dimensions from selected box type.,Select this rate and deselect others. Update per-package costs.,When a CP carrier is selected, create one default package.,Override: for Canada Post, fetch all rates for all packages.(+17 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 15(2 nodes):UoM,uom_uom.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 16(2 nodes):FusionTrackingEvent,fusion_tracking_event.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 17(2 nodes):ResPartner,res_partner.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 18(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 19(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 20(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 21(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 22(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 23(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 24(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 26(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 27(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 28(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 29(1 nodes):__manifest__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 30(1 nodes):Pre-fill dimensions from selected box type.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 31(1 nodes):When a CP carrier is selected, create one default package.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 32(1 nodes):Override of payment to allow only COD providers if allow_cash_on_delivery is enaToo 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
DeliveryCarrierconnectCommunity 1toCommunity 0,Community 2,Community 3,Community 4,Community 5,Community 6? High betweenness centrality (0.265) - this node is a cross-community bridge. - Why does
ResponseconnectCommunity 0toCommunity 1,Community 2,Community 3,Community 4,Community 5? High betweenness centrality (0.137) - this node is a cross-community bridge. - Why does
FedexRequestconnectCommunity 2toCommunity 0,Community 1,Community 4,Community 5,Community 6,Community 7? High betweenness centrality (0.133) - this node is a cross-community bridge. - Are the 4 inferred relationships involving
DeliveryCarrier(e.g. withResponseandUPSRequest) actually correct?DeliveryCarrierhas 4 INFERRED edges - model-reasoned connections that need verification. - Are the 19 inferred relationships involving
FedexRequest(e.g. withDeliveryCarrierandReturn ALL available Canada Post service rates for the order.) actually correct?FedexRequesthas 19 INFERRED edges - model-reasoned connections that need verification. - Are the 18 inferred relationships involving
DHLProvider(e.g. withDeliveryCarrierandReturn ALL available Canada Post service rates for the order.) actually correct?DHLProviderhas 18 INFERRED edges - model-reasoned connections that need verification. - Are the 19 inferred relationships involving
UPSRequest(e.g. withDeliveryCarrierandReturn ALL available Canada Post service rates for the order.) actually correct?UPSRequesthas 19 INFERRED edges - model-reasoned connections that need verification.