22 KiB
Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo (2026-04-22)
Corpus Check
- 54 files · ~29,134 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 526 nodes · 866 edges · 61 communities detected
- Extraction: 74% EXTRACTED · 26% INFERRED · 0% AMBIGUOUS · INFERRED: 229 edges (avg confidence: 0.71)
- 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
- _COMMUNITY_Community 38
- _COMMUNITY_Community 39
- _COMMUNITY_Community 40
- _COMMUNITY_Community 41
- _COMMUNITY_Community 42
- _COMMUNITY_Community 43
- _COMMUNITY_Community 44
- _COMMUNITY_Community 45
- _COMMUNITY_Community 46
- _COMMUNITY_Community 47
- _COMMUNITY_Community 48
- _COMMUNITY_Community 49
- _COMMUNITY_Community 50
- _COMMUNITY_Community 51
- _COMMUNITY_Community 52
- _COMMUNITY_Community 53
- _COMMUNITY_Community 54
- _COMMUNITY_Community 55
- _COMMUNITY_Community 56
- _COMMUNITY_Community 57
- _COMMUNITY_Community 58
- _COMMUNITY_Community 59
- _COMMUNITY_Community 60
God Nodes (most connected - your core abstractions)
WooApiClient- 82 edgesProductMapping- 65 edgesWooInstance- 31 edgesAIService- 20 edgesWooProductCreateWizard- 18 edgesWooDashboard- 16 edgesImageProcessor- 16 edgesWooProductMap- 14 edgesWooOrder- 10 edgesFusion_WooDoo_Admin_Settings- 10 edges
Surprising Connections (you probably didn't know these)
Push selected variants to WooCommerce.--uses-->ImageProcessor[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/wizard/woo_variant_push.py → /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/lib/image_processor.pyFetch all WooCommerce categories and display for mapping.--uses-->WooApiClient[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py → /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/lib/woo_api_client.pyFetch WooCommerce tax classes for mapping.--uses-->WooApiClient[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py → /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/lib/woo_api_client.pyReturn a WooApiClient instance for this WooCommerce connection.--uses-->WooApiClient[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py → /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/lib/woo_api_client.pyTest the WooCommerce connection and update state.--uses-->WooApiClient[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py → /Users/gurpreet/Github/Odoo-Modules/fusion-woo-odoo/fusion_woocommerce/lib/woo_api_client.py
Communities
Community 0 - "Community 0"
Cohesion: 0.06 Nodes (31): _find_or_create(), WooCustomer, _cron_health_check(), _cron_sync_customers(), _cron_sync_inventory(), _cron_sync_orders(), _cron_sync_products(), Sync product prices between Odoo and WooCommerce. (+23 more)
Community 1 - "Community 1"
Cohesion: 0.05 Nodes (1): ProductMapping
Community 2 - "Community 2"
Cohesion: 0.05 Nodes (25): Receive order.created / order.updated from WooCommerce., Receive product.updated from WooCommerce., Receive customer.created / customer.updated from WooCommerce., Return True if the IP is within rate limits, False if exceeded., _CircuitBreaker, Per-host circuit breaker: CLOSED → OPEN after N failures, auto-resets after, Create multiple variations at once using WC batch endpoint., Simple token-bucket rate limiter. Tokens refill at rate per second up to (+17 more)
Community 3 - "Community 3"
Cohesion: 0.07 Nodes (25): AIService, Args: provider: 'claude' or 'openai' api_key: API key fo, Generate a single field using the given prompt., Generate SEO metadata for a product image. Returns: dict wi, Generate text using the configured AI provider., Generate all product content at once. Args: product_info: d, AI content generation service supporting Claude and OpenAI., _decimal_to_dms() (+17 more)
Community 4 - "Community 4"
Cohesion: 0.06 Nodes (18): AccountMove, Override to auto-push invoice PDF to WooCommerce on posting., Override to auto-create shipment and push tracking to WC., StockPicking, _onchange_woo_status(), Push shipping/tracking info to WooCommerce and update status., Mark WC order as completed., Render invoice PDF and push to WC via custom plugin endpoint. (+10 more)
Community 5 - "Community 5"
Cohesion: 0.08 Nodes (14): Push all Odoo prices to WooCommerce for mapped products., Pull all WC prices to Odoo for mapped products., Push all Odoo SKUs to WooCommerce., Pull all WC SKUs to Odoo., Set the WC standard (regular) price directly., Set the WC sale price directly., Create an Odoo product from WC mapping data, link the mapping, and retur, Copy WC SKU to Odoo internal reference. (+6 more)
Community 6 - "Community 6"
Cohesion: 0.11 Nodes (3): Fusion_WooDoo_API_Client, Fusion_WooDoo_Returns, WooSetupWizard
Community 7 - "Community 7"
Cohesion: 0.16 Nodes (12): _check_rate_limit(), _normalize_url(), Strip trailing slashes and lowercase for comparison., Receive inbound WooCommerce webhook deliveries., Find a woo.instance matching the webhook source URL., Return 200 for WooCommerce webhook test deliveries., Common handler for all webhook endpoints. - Rate limits by IP -, webhook_customer() (+4 more)
Community 8 - "Community 8"
Cohesion: 0.15 Nodes (1): WooDashboard
Community 9 - "Community 9"
Cohesion: 0.14 Nodes (2): Fusion_WooDoo_Admin_Settings, Fusion_WooDoo_Webhooks
Community 10 - "Community 10"
Cohesion: 0.29 Nodes (8): order_documents(), order_messages(), order_status(), REST endpoints consumed by the WooCommerce WordPress plugin., Validate Bearer token from Authorization header against woo.instance.odoo_api_ke, Look up a woo.order by WC order ID for a given instance., return_create(), WooApiController
Community 11 - "Community 11"
Cohesion: 0.24 Nodes (5): Resolve conflict by pushing Odoo value to WooCommerce., Resolve conflict by pulling WooCommerce value into Odoo., Server action: resolve all selected conflicts with Odoo values., Server action: resolve all selected conflicts with WC values., WooConflict
Community 12 - "Community 12"
Cohesion: 0.24 Nodes (1): Fusion_WooDoo_REST_Endpoints
Community 13 - "Community 13"
Cohesion: 0.28 Nodes (1): Fusion_WooDoo
Community 14 - "Community 14"
Cohesion: 0.29 Nodes (4): default_get(), Save the hidden categories to the instance., Remove all hidden categories., WooCategoryFilter
Community 15 - "Community 15"
Cohesion: 0.29 Nodes (2): AJAX search endpoints used by the product mapping UI., WooProductSearchController
Community 16 - "Community 16"
Cohesion: 0.29 Nodes (1): Fusion_WooDoo_My_Account
Community 17 - "Community 17"
Cohesion: 0.33 Nodes (2): Manual purge: delete success logs > 7 days, error logs > 30 days., WooSyncLog
Community 18 - "Community 18"
Cohesion: 0.4 Nodes (1): AjaxSearch
Community 19 - "Community 19"
Cohesion: 0.5 Nodes (1): Fusion_WooDoo_Order_Timeline
Community 20 - "Community 20"
Cohesion: 0.67 Nodes (1): WooProductFetch
Community 21 - "Community 21"
Cohesion: 0.67 Nodes (1): WooPricelistMap
Community 22 - "Community 22"
Cohesion: 0.67 Nodes (1): SaleOrder
Community 23 - "Community 23"
Cohesion: 0.67 Nodes (1): ResPartner
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (1): WooShipment
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (1): WooShippingCarrier
Community 26 - "Community 26"
Cohesion: 1.0 Nodes (1): WooCategoryMap
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 (0):
Community 31 - "Community 31"
Cohesion: 1.0 Nodes (0):
Community 32 - "Community 32"
Cohesion: 1.0 Nodes (1): Return the Odoo product.pricelist mapped to a WC customer role. Args:
Community 33 - "Community 33"
Cohesion: 1.0 Nodes (1): Return the Odoo account.tax mapped to a WC tax class. Args:
Community 34 - "Community 34"
Cohesion: 1.0 Nodes (1): Return the WC tax class slug mapped to an Odoo tax. Args: i
Community 35 - "Community 35"
Cohesion: 1.0 Nodes (1): Find or create a woo.customer + res.partner for the given email. Args:
Community 36 - "Community 36"
Cohesion: 1.0 Nodes (1): Purge success/conflict logs older than 30 days, errors older than 90.
Community 37 - "Community 37"
Cohesion: 1.0 Nodes (1): Clear all failed sync log entries. Called from dashboard.
Community 38 - "Community 38"
Cohesion: 1.0 Nodes (1): Write EXIF metadata with company info and GPS coordinates. Args:
Community 39 - "Community 39"
Cohesion: 1.0 Nodes (1): Convert decimal degrees to EXIF DMS format (degrees, minutes, seconds as rationa
Community 40 - "Community 40"
Cohesion: 1.0 Nodes (1): Prepare image data for WooCommerce upload. Returns dict ready for WC pr
Community 41 - "Community 41"
Cohesion: 1.0 Nodes (1): Verify a WooCommerce webhook HMAC-SHA256 signature.
Community 42 - "Community 42"
Cohesion: 1.0 Nodes (1): Search Odoo products by name or internal reference (SKU). Params:
Community 43 - "Community 43"
Cohesion: 1.0 Nodes (1): Search unmapped WooCommerce products from the woo.product.map model. Pa
Community 44 - "Community 44"
Cohesion: 1.0 Nodes (1): Return all Odoo product categories for filtering.
Community 45 - "Community 45"
Cohesion: 1.0 Nodes (1): Search mapped WooCommerce ↔ Odoo product pairs. Params: que
Community 46 - "Community 46"
Cohesion: 1.0 Nodes (1): Serve a variant image from the transient wizard line. Used by WC to down
Community 47 - "Community 47"
Cohesion: 1.0 Nodes (1): Fetch invoice and delivery PDF URLs for a WooCommerce order. Expected p
Community 48 - "Community 48"
Cohesion: 1.0 Nodes (1): Fetch order status and timeline data for a WooCommerce order. Expected
Community 49 - "Community 49"
Cohesion: 1.0 Nodes (1): Fetch customer-visible messages for a WooCommerce order. Expected paylo
Community 50 - "Community 50"
Cohesion: 1.0 Nodes (1): Submit a return request from the WooCommerce plugin. Expected payload:
Community 51 - "Community 51"
Cohesion: 1.0 Nodes (0):
Community 52 - "Community 52"
Cohesion: 1.0 Nodes (0):
Community 53 - "Community 53"
Cohesion: 1.0 Nodes (0):
Community 54 - "Community 54"
Cohesion: 1.0 Nodes (0):
Community 55 - "Community 55"
Cohesion: 1.0 Nodes (0):
Community 56 - "Community 56"
Cohesion: 1.0 Nodes (0):
Community 57 - "Community 57"
Cohesion: 1.0 Nodes (0):
Community 58 - "Community 58"
Cohesion: 1.0 Nodes (0):
Community 59 - "Community 59"
Cohesion: 1.0 Nodes (0):
Community 60 - "Community 60"
Cohesion: 1.0 Nodes (0):
Knowledge Gaps
- 82 isolated node(s):
Save the hidden categories to the instance.,Remove all hidden categories.,Set woo_status and auto-map to Odoo state.,Push shipping/tracking info to WooCommerce and update status.,Mark WC order as completed.(+77 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 24(2 nodes):woo_shipment.py,WooShipmentToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(2 nodes):woo_shipping_carrier.py,WooShippingCarrierToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 26(2 nodes):woo_category_map.py,WooCategoryMapToo 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):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 30(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 31(1 nodes):__manifest__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 32(1 nodes):Return the Odoo product.pricelist mapped to a WC customer role. Args:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 33(1 nodes):Return the Odoo account.tax mapped to a WC tax class. Args:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 34(1 nodes):Return the WC tax class slug mapped to an Odoo tax. Args: iToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 35(1 nodes):Find or create a woo.customer + res.partner for the given email. Args:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 36(1 nodes):Purge success/conflict logs older than 30 days, errors older than 90.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 37(1 nodes):Clear all failed sync log entries. Called from dashboard.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 38(1 nodes):Write EXIF metadata with company info and GPS coordinates. Args:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 39(1 nodes):Convert decimal degrees to EXIF DMS format (degrees, minutes, seconds as rationaToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 40(1 nodes):Prepare image data for WooCommerce upload. Returns dict ready for WC prToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 41(1 nodes):Verify a WooCommerce webhook HMAC-SHA256 signature.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 42(1 nodes):Search Odoo products by name or internal reference (SKU). Params:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 43(1 nodes):Search unmapped WooCommerce products from the woo.product.map model. PaToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 44(1 nodes):Return all Odoo product categories for filtering.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 45(1 nodes):Search mapped WooCommerce ↔ Odoo product pairs. Params: queToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 46(1 nodes):Serve a variant image from the transient wizard line. Used by WC to downToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 47(1 nodes):Fetch invoice and delivery PDF URLs for a WooCommerce order. Expected pToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 48(1 nodes):Fetch order status and timeline data for a WooCommerce order. ExpectedToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 49(1 nodes):Fetch customer-visible messages for a WooCommerce order. Expected payloToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 50(1 nodes):Submit a return request from the WooCommerce plugin. Expected payload:Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 51(1 nodes):fusion-woodoo.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 52(1 nodes):settings.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 53(1 nodes):returns.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 54(1 nodes):deliveries.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 55(1 nodes):order-timeline.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 56(1 nodes):sales-orders.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 57(1 nodes):communication.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 58(1 nodes):invoices.phpToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 59(1 nodes):my-account.jsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 60(1 nodes):admin.jsToo 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
WooApiClientconnectCommunity 2toCommunity 0,Community 4,Community 5,Community 6,Community 7? High betweenness centrality (0.170) - this node is a cross-community bridge. - Why does
AIServiceconnectCommunity 3toCommunity 4? High betweenness centrality (0.034) - this node is a cross-community bridge. - Why does
WooInstanceconnectCommunity 0toCommunity 2,Community 5? High betweenness centrality (0.033) - this node is a cross-community bridge. - Are the 48 inferred relationships involving
WooApiClient(e.g. withWooSetupWizardandWooInstance) actually correct?WooApiClienthas 48 INFERRED edges - model-reasoned connections that need verification. - Are the 12 inferred relationships involving
AIService(e.g. withWooProductCreateVariantLineandWooProductCreateWizard) actually correct?AIServicehas 12 INFERRED edges - model-reasoned connections that need verification. - Are the 2 inferred relationships involving
WooProductCreateWizard(e.g. withAIServiceandImageProcessor) actually correct?WooProductCreateWizardhas 2 INFERRED edges - model-reasoned connections that need verification. - What connects
Save the hidden categories to the instance.,Remove all hidden categories.,Set woo_status and auto-map to Odoo state.to the rest of the system? 82 weakly-connected nodes found - possible documentation gaps or missing edges.