13 KiB
Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_clover (2026-04-22)
Corpus Check
- 18 files · ~12,450 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 248 nodes · 374 edges · 26 communities detected
- Extraction: 83% EXTRACTED · 17% INFERRED · 0% AMBIGUOUS · INFERRED: 65 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
God Nodes (most connected - your core abstractions)
CloverController- 24 edgesPaymentTransaction- 19 edgesPaymentProvider- 17 edgesCloverPaymentWizard- 15 edgesCloverRefundWizard- 11 edgesformat_clover_amount()- 10 edgesAccountMove- 9 edgesCloverTerminal- 8 edgesgenerate_idempotency_key()- 4 edgesbuild_ecom_headers()- 4 edges
Surprising Connections (you probably didn't know these)
Override of payment to return Clover-specific processing values.--uses-->CloverController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_clover/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clover/controllers/main.pyOverride ofpaymentto send a payment request to Clover.--uses-->CloverController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_clover/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clover/controllers/main.pyDetect card brand from the payment_details string on a token.--uses-->CloverController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_clover/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clover/controllers/main.pyApply surcharge to the linked invoice for token-based payments.--uses-->CloverController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_clover/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clover/controllers/main.pyProcess a payment using a stored token (card on file).--uses-->CloverController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_clover/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clover/controllers/main.py
Communities
Community 0 - "Community 0"
Cohesion: 0.06 Nodes (29): PaymentProvider, Make an authenticated request to the Clover Platform API. :param str me, Capture a previously authorized charge. :param str charge_id: The Clove, Issue a non-referenced credit (manual refund) via Clover Ecommerce API., Fetch a charge from the Clover Ecommerce API. :param str charge_id: The, Check that a charge has not already been fully refunded or voided. :par, Return serialized JSON of values needed for the inline payment form. :p, Fetch all devices provisioned to the merchant from the Platform API. :r (+21 more)
Community 1 - "Community 1"
Cohesion: 0.08
Nodes (24): CloverController, Create a refund via the Clover Ecommerce API. :param str charge_id: The, _detect_card_brand_from_details(), PaymentTransaction, Apply surcharge to the linked invoice for token-based payments., Process a payment using a stored token (card on file)., Override of payment to send a refund request to Clover., Override of payment to send a capture request to Clover. (+16 more)
Community 2 - "Community 2"
Cohesion: 0.1 Nodes (16): CloverPaymentWizard, _detect_card_brand(), _onchange_card_number(), _onchange_card_type(), Add the surcharge invoice line if surcharge is enabled and not yet applied., Remove the surcharge line from the invoice if it was applied., Process a payment - either via terminal or manual card entry., Send payment to Clover terminal via Cloud REST Pay Display API. (+8 more)
Community 3 - "Community 3"
Cohesion: 0.09 Nodes (15): clover_process_card(), clover_return(), clover_send_to_terminal(), clover_terminal_status(), clover_webhook(), _detect_card_brand(), Process a charge-related webhook event., Process a void webhook event. (+7 more)
Community 4 - "Community 4"
Cohesion: 0.19 Nodes (9): CloverRefundWizard, Dispatch to referenced refund or non-referenced credit., Check on Clover that the charge hasn't been fully refunded already., Send a referenced refund via Clover Ecommerce API., Issue a non-referenced credit (manual refund). Two paths: 1. If, Issue a non-referenced credit via Clover Ecommerce API., Send a non-referenced credit to the terminal (card-present)., Create a payment.transaction for the refund. (+1 more)
Community 5 - "Community 5"
Cohesion: 0.17 Nodes (9): CloverTerminal, Send a payment request to the Clover terminal via Cloud REST Pay API. :, Send a refund request to the terminal. :param str payment_id: The Clove, Check the status of a terminal payment by externalPaymentId. :param str, Reset the terminal to the welcome screen., Build the callback URL for terminal payment completion., Check terminal status via the Clover Platform API. First tries the Clou, Make a request to the Clover REST Pay Display Cloud API. Sends commands (+1 more)
Community 6 - "Community 6"
Cohesion: 0.12 Nodes (8): AccountMove, Open the Clover payment collection wizard for this invoice., Open the Clover refund wizard for this credit note., Find the Clover payment transaction from the reversed invoice., Open the credit notes linked to this invoice that were refunded via Clover., Find the Clover transaction linked to this invoice or credit note., Resend the Clover payment/refund receipt email to the customer., default_get()
Community 7 - "Community 7"
Cohesion: 0.2 Nodes (13): _getSelectedCardType(), _initiatePaymentFlow(), _pollTerminalStatus(), _prepareInlineForm(), _processCardPayment(), _processDirectFlow(), _processTerminalPayment(), _setupCardFormatting() (+5 more)
Community 8 - "Community 8"
Cohesion: 0.4 Nodes (2): Create an invoice (if needed) and open the Clover payment wizard., SaleOrder
Community 9 - "Community 9"
Cohesion: 0.4 Nodes (1): ResConfigSettings
Community 10 - "Community 10"
Cohesion: 0.5 Nodes (2): CustomerPortal, CloverCustomerPortal
Community 11 - "Community 11"
Cohesion: 1.0 Nodes (0):
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): Auto-inject payment_amount for confirmed orders with outstanding balance.
Community 18 - "Community 18"
Cohesion: 1.0 Nodes (1): Process the return from a Clover payment flow.
Community 19 - "Community 19"
Cohesion: 1.0 Nodes (1): Process webhook notifications from Clover.
Community 20 - "Community 20"
Cohesion: 1.0 Nodes (1): Handle the OAuth2 authorization callback from Clover. After a merchant
Community 21 - "Community 21"
Cohesion: 1.0 Nodes (1): Return a list of active terminals for the given Clover provider.
Community 22 - "Community 22"
Cohesion: 1.0 Nodes (1): Send a payment request to a Clover terminal via Cloud Pay Display.
Community 23 - "Community 23"
Cohesion: 1.0 Nodes (1): Poll for the status of a terminal payment.
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (1): Handle callback from terminal payment completion (if configured).
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (1): Process a card payment through Clover Ecommerce API. The frontend token
Knowledge Gaps
- 75 isolated node(s):
Generate a unique idempotency key for Clover API requests.,Build a full Clover Ecommerce API URL. :param str endpoint: The API endpoin,Build a full Clover Platform API URL. :param str endpoint: The API endpoint,Build the standard HTTP headers for a Clover Ecommerce API request. :param,Convert a major currency amount to Clover's minor units (cents). :param flo(+70 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 12(1 nodes):__init__.pyToo 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):__manifest__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 16(1 nodes):const.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 17(1 nodes):Auto-inject payment_amount for confirmed orders with outstanding balance.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 18(1 nodes):Process the return from a Clover payment flow.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 19(1 nodes):Process webhook notifications from Clover.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 20(1 nodes):Handle the OAuth2 authorization callback from Clover. After a merchantToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 21(1 nodes):Return a list of active terminals for the given Clover provider.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 22(1 nodes):Send a payment request to a Clover terminal via Cloud Pay Display.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 23(1 nodes):Poll for the status of a terminal payment.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 24(1 nodes):Handle callback from terminal payment completion (if configured).Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(1 nodes):Process a card payment through Clover Ecommerce API. The frontend tokenToo 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
CloverRefundWizardconnectCommunity 4toCommunity 6? High betweenness centrality (0.133) - this node is a cross-community bridge. - Why does
PaymentProviderconnectCommunity 0toCommunity 1,Community 3,Community 5? High betweenness centrality (0.121) - this node is a cross-community bridge. - Why does
format_clover_amount()connectCommunity 0toCommunity 2,Community 4,Community 5? High betweenness centrality (0.111) - this node is a cross-community bridge. - Are the 19 inferred relationships involving
CloverController(e.g. withPaymentTransactionandOverride of payment to return Clover-specific processing values.) actually correct?CloverControllerhas 19 INFERRED edges - model-reasoned connections that need verification. - What connects
Generate a unique idempotency key for Clover API requests.,Build a full Clover Ecommerce API URL. :param str endpoint: The API endpoin,Build a full Clover Platform API URL. :param str endpoint: The API endpointto the rest of the system? 75 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Community 0be split into smaller, more focused modules? Cohesion score 0.06 - nodes in this community are weakly interconnected. - Should
Community 1be split into smaller, more focused modules? Cohesion score 0.08 - nodes in this community are weakly interconnected.