Files
Odoo-Modules/fusion_accounting_followup/graphify-out/graph.json
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

9160 lines
414 KiB
JSON

{
"directed": false,
"multigraph": false,
"graph": {},
"nodes": [
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_init_py",
"community": 26,
"norm_label": "__init__.py"
},
{
"label": "__manifest__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/__manifest__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_manifest_py",
"community": 32,
"norm_label": "__manifest__.py"
},
{
"label": "test_engine_property.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"community": 2,
"norm_label": "test_engine_property.py"
},
{
"label": "TestAgingInvariants",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L17",
"id": "test_engine_property_testaginginvariants",
"community": 2,
"norm_label": "testaginginvariants"
},
{
"label": "TransactionCase",
"file_type": "code",
"source_file": "",
"source_location": "",
"id": "transactioncase",
"community": 2,
"norm_label": "transactioncase"
},
{
"label": "test_buckets_sum_equals_total()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L32",
"id": "test_engine_property_test_buckets_sum_equals_total",
"community": 2,
"norm_label": "test_buckets_sum_equals_total()"
},
{
"label": "test_overdue_amount_excludes_current()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L50",
"id": "test_engine_property_test_overdue_amount_excludes_current",
"community": 2,
"norm_label": "test_overdue_amount_excludes_current()"
},
{
"label": "test_risk_score_in_range()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L68",
"id": "test_engine_property_test_risk_score_in_range",
"community": 2,
"norm_label": "test_risk_score_in_range()"
},
{
"label": "TestToneInvariants",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L82",
"id": "test_engine_property_testtoneinvariants",
"community": 2,
"norm_label": "testtoneinvariants"
},
{
"label": "test_tone_always_in_valid_set()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L90",
"id": "test_engine_property_test_tone_always_in_valid_set",
"community": 10,
"norm_label": "test_tone_always_in_valid_set()"
},
{
"label": "Property-based invariants for follow-up services.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L1",
"id": "test_engine_property_rationale_1",
"community": 2,
"norm_label": "property-based invariants for follow-up services."
},
{
"label": "test_followup_tools.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tools_py",
"community": 16,
"norm_label": "test_followup_tools.py"
},
{
"label": "TestFusionFollowupTools",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L10",
"id": "test_followup_tools_testfusionfollowuptools",
"community": 16,
"norm_label": "testfusionfollowuptools"
},
{
"label": ".test_fusion_list_overdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L12",
"id": "test_followup_tools_testfusionfollowuptools_test_fusion_list_overdue",
"community": 16,
"norm_label": ".test_fusion_list_overdue()"
},
{
"label": ".test_fusion_get_partner_detail()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L18",
"id": "test_followup_tools_testfusionfollowuptools_test_fusion_get_partner_detail",
"community": 16,
"norm_label": ".test_fusion_get_partner_detail()"
},
{
"label": ".test_fusion_generate_text_uses_fallback()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L27",
"id": "test_followup_tools_testfusionfollowuptools_test_fusion_generate_text_uses_fallback",
"community": 16,
"norm_label": ".test_fusion_generate_text_uses_fallback()"
},
{
"label": ".test_fusion_get_risk_score()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L42",
"id": "test_followup_tools_testfusionfollowuptools_test_fusion_get_risk_score",
"community": 16,
"norm_label": ".test_fusion_get_risk_score()"
},
{
"label": ".test_tools_registered_in_dispatch()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L49",
"id": "test_followup_tools_testfusionfollowuptools_test_tools_registered_in_dispatch",
"community": 16,
"norm_label": ".test_tools_registered_in_dispatch()"
},
{
"label": "AI tool dispatch tests for fusion follow-up tools.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L1",
"id": "test_followup_tools_rationale_1",
"community": 16,
"norm_label": "ai tool dispatch tests for fusion follow-up tools."
},
{
"label": "test_local_llm_compat.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"community": 18,
"norm_label": "test_local_llm_compat.py"
},
{
"label": "_server_reachable()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L11",
"id": "test_local_llm_compat_server_reachable",
"community": 18,
"norm_label": "_server_reachable()"
},
{
"label": "_detect_local_llm()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L19",
"id": "test_local_llm_compat_detect_local_llm",
"community": 18,
"norm_label": "_detect_local_llm()"
},
{
"label": "TestLocalLLMFollowupText",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L32",
"id": "test_local_llm_compat_testlocalllmfollowuptext",
"community": 18,
"norm_label": "testlocalllmfollowuptext"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L34",
"id": "test_local_llm_compat_testlocalllmfollowuptext_setup",
"community": 18,
"norm_label": ".setup()"
},
{
"label": ".test_followup_text_with_local_llm()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L40",
"id": "test_local_llm_compat_testlocalllmfollowuptext_test_followup_text_with_local_llm",
"community": 18,
"norm_label": ".test_followup_text_with_local_llm()"
},
{
"label": "Local LLM compat test for followup_text_generator. Auto-detects LM Studio (:123",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L1",
"id": "test_local_llm_compat_rationale_1",
"community": 18,
"norm_label": "local llm compat test for followup_text_generator. auto-detects lm studio (:123"
},
{
"label": "test_res_partner_inherit.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_res_partner_inherit_py",
"community": 14,
"norm_label": "test_res_partner_inherit.py"
},
{
"label": "TestResPartnerFollowup",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L6",
"id": "test_res_partner_inherit_testrespartnerfollowup",
"community": 14,
"norm_label": "testrespartnerfollowup"
},
{
"label": ".test_default_status_no_action()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L8",
"id": "test_res_partner_inherit_testrespartnerfollowup_test_default_status_no_action",
"community": 14,
"norm_label": ".test_default_status_no_action()"
},
{
"label": ".test_run_count_reflects_history()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L14",
"id": "test_res_partner_inherit_testrespartnerfollowup_test_run_count_reflects_history",
"community": 14,
"norm_label": ".test_run_count_reflects_history()"
},
{
"label": ".test_action_view_followup_history_returns_action()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L22",
"id": "test_res_partner_inherit_testrespartnerfollowup_test_action_view_followup_history_returns_action",
"community": 14,
"norm_label": ".test_action_view_followup_history_returns_action()"
},
{
"label": "test_account_move_line_inherit.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_account_move_line_inherit_py",
"community": 2,
"norm_label": "test_account_move_line_inherit.py"
},
{
"label": "TestAccountMoveLineFollowup",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L7",
"id": "test_account_move_line_inherit_testaccountmovelinefollowup",
"community": 2,
"norm_label": "testaccountmovelinefollowup"
},
{
"label": ".test_fields_exist_on_model()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L10",
"id": "test_account_move_line_inherit_testaccountmovelinefollowup_test_fields_exist_on_model",
"community": 2,
"norm_label": ".test_fields_exist_on_model()"
},
{
"label": ".test_assign_level_and_date_on_existing_line()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L20",
"id": "test_account_move_line_inherit_testaccountmovelinefollowup_test_assign_level_and_date_on_existing_line",
"community": 2,
"norm_label": ".test_assign_level_and_date_on_existing_line()"
},
{
"label": "Verify follow-up tracking fields are added to account.move.line.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L8",
"id": "test_account_move_line_inherit_rationale_8",
"community": 2,
"norm_label": "verify follow-up tracking fields are added to account.move.line."
},
{
"label": "Both new fields are declared on account.move.line.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L11",
"id": "test_account_move_line_inherit_rationale_11",
"community": 2,
"norm_label": "both new fields are declared on account.move.line."
},
{
"label": "We can write the new fields onto an existing move line.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L21",
"id": "test_account_move_line_inherit_rationale_21",
"community": 2,
"norm_label": "we can write the new fields onto an existing move line."
},
{
"label": "test_followup_tours.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tours_py",
"community": 6,
"norm_label": "test_followup_tours.py"
},
{
"label": "TestFollowupTours",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L8",
"id": "test_followup_tours_testfollowuptours",
"community": 6,
"norm_label": "testfollowuptours"
},
{
"label": "HttpCase",
"file_type": "code",
"source_file": "",
"source_location": "",
"id": "httpcase",
"community": 6,
"norm_label": "httpcase"
},
{
"label": ".test_smoke_tour()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L10",
"id": "test_followup_tours_testfollowuptours_test_smoke_tour",
"community": 6,
"norm_label": ".test_smoke_tour()"
},
{
"label": ".test_partners_tour()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L13",
"id": "test_followup_tours_testfollowuptours_test_partners_tour",
"community": 6,
"norm_label": ".test_partners_tour()"
},
{
"label": ".test_levels_tour()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L16",
"id": "test_followup_tours_testfollowuptours_test_levels_tour",
"community": 6,
"norm_label": ".test_levels_tour()"
},
{
"label": ".test_history_tour()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L19",
"id": "test_followup_tours_testfollowuptours_test_history_tour",
"community": 6,
"norm_label": ".test_history_tour()"
},
{
"label": ".test_batch_wizard_tour()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L22",
"id": "test_followup_tours_testfollowuptours_test_batch_wizard_tour",
"community": 6,
"norm_label": ".test_batch_wizard_tour()"
},
{
"label": "Python wrappers for OWL tours via HttpCase.start_tour.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L1",
"id": "test_followup_tours_rationale_1",
"community": 6,
"norm_label": "python wrappers for owl tours via httpcase.start_tour."
},
{
"label": "test_fusion_followup_engine.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_engine_py",
"community": 0,
"norm_label": "test_fusion_followup_engine.py"
},
{
"label": "TestFusionFollowupEngine",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L9",
"id": "test_fusion_followup_engine_testfusionfollowupengine",
"community": 0,
"norm_label": "testfusionfollowupengine"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L11",
"id": "test_fusion_followup_engine_testfusionfollowupengine_setup",
"community": 0,
"norm_label": ".setup()"
},
{
"label": ".test_engine_model_exists()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L25",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_engine_model_exists",
"community": 0,
"norm_label": ".test_engine_model_exists()"
},
{
"label": ".test_get_overdue_returns_dict()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L28",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_get_overdue_returns_dict",
"community": 0,
"norm_label": ".test_get_overdue_returns_dict()"
},
{
"label": ".test_compute_followup_level_no_overdue_returns_empty()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L34",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_compute_followup_level_no_overdue_returns_empty",
"community": 0,
"norm_label": ".test_compute_followup_level_no_overdue_returns_empty()"
},
{
"label": ".test_pause_sets_partner_state()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L38",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_pause_sets_partner_state",
"community": 0,
"norm_label": ".test_pause_sets_partner_state()"
},
{
"label": ".test_reset_clears_state()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L45",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"community": 0,
"norm_label": ".test_reset_clears_state()"
},
{
"label": ".test_snapshot_history_returns_runs()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L55",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_snapshot_history_returns_runs",
"community": 0,
"norm_label": ".test_snapshot_history_returns_runs()"
},
{
"label": ".test_send_no_overdue_returns_no_action()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L66",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_send_no_overdue_returns_no_action",
"community": 0,
"norm_label": ".test_send_no_overdue_returns_no_action()"
},
{
"label": ".test_escalate_when_no_current_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L72",
"id": "test_fusion_followup_engine_testfusionfollowupengine_test_escalate_when_no_current_level",
"community": 0,
"norm_label": ".test_escalate_when_no_current_level()"
},
{
"label": "Unit tests for the fusion.followup.engine 7-method API.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L1",
"id": "test_fusion_followup_engine_rationale_1",
"community": 0,
"norm_label": "unit tests for the fusion.followup.engine 7-method api."
},
{
"label": "test_risk_scorer.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_risk_scorer_py",
"community": 9,
"norm_label": "test_risk_scorer.py"
},
{
"label": "TestRiskScorer",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L9",
"id": "test_risk_scorer_testriskscorer",
"community": 9,
"norm_label": "testriskscorer"
},
{
"label": ".test_no_history_returns_low()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L11",
"id": "test_risk_scorer_testriskscorer_test_no_history_returns_low",
"community": 9,
"norm_label": ".test_no_history_returns_low()"
},
{
"label": ".test_chronic_late_pays_returns_high()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L16",
"id": "test_risk_scorer_testriskscorer_test_chronic_late_pays_returns_high",
"community": 9,
"norm_label": ".test_chronic_late_pays_returns_high()"
},
{
"label": ".test_one_off_overdue_returns_medium()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L25",
"id": "test_risk_scorer_testriskscorer_test_one_off_overdue_returns_medium",
"community": 9,
"norm_label": ".test_one_off_overdue_returns_medium()"
},
{
"label": ".test_score_capped_at_100()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L33",
"id": "test_risk_scorer_testriskscorer_test_score_capped_at_100",
"community": 9,
"norm_label": ".test_score_capped_at_100()"
},
{
"label": ".test_score_floored_at_0()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L41",
"id": "test_risk_scorer_testriskscorer_test_score_floored_at_0",
"community": 9,
"norm_label": ".test_score_floored_at_0()"
},
{
"label": ".test_band_thresholds()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L45",
"id": "test_risk_scorer_testriskscorer_test_band_thresholds",
"community": 9,
"norm_label": ".test_band_thresholds()"
},
{
"label": "test_tone_selector.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_tone_selector_py",
"community": 10,
"norm_label": "test_tone_selector.py"
},
{
"label": "TestToneSelector",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L7",
"id": "test_tone_selector_testtoneselector",
"community": 10,
"norm_label": "testtoneselector"
},
{
"label": ".test_level_1_default_gentle()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L9",
"id": "test_tone_selector_testtoneselector_test_level_1_default_gentle",
"community": 10,
"norm_label": ".test_level_1_default_gentle()"
},
{
"label": ".test_level_2_default_firm()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L12",
"id": "test_tone_selector_testtoneselector_test_level_2_default_firm",
"community": 10,
"norm_label": ".test_level_2_default_firm()"
},
{
"label": ".test_level_3_default_legal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L15",
"id": "test_tone_selector_testtoneselector_test_level_3_default_legal",
"community": 10,
"norm_label": ".test_level_3_default_legal()"
},
{
"label": ".test_critical_risk_escalates_gentle_to_firm()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L18",
"id": "test_tone_selector_testtoneselector_test_critical_risk_escalates_gentle_to_firm",
"community": 10,
"norm_label": ".test_critical_risk_escalates_gentle_to_firm()"
},
{
"label": ".test_extreme_risk_escalates_firm_to_legal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L21",
"id": "test_tone_selector_testtoneselector_test_extreme_risk_escalates_firm_to_legal",
"community": 10,
"norm_label": ".test_extreme_risk_escalates_firm_to_legal()"
},
{
"label": ".test_unknown_level_defaults_gentle()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L24",
"id": "test_tone_selector_testtoneselector_test_unknown_level_defaults_gentle",
"community": 10,
"norm_label": ".test_unknown_level_defaults_gentle()"
},
{
"label": "test_fusion_followup_level.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_level_py",
"community": 2,
"norm_label": "test_fusion_followup_level.py"
},
{
"label": "TestFusionFollowupLevel",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L6",
"id": "test_fusion_followup_level_testfusionfollowuplevel",
"community": 2,
"norm_label": "testfusionfollowuplevel"
},
{
"label": ".test_create_minimal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L8",
"id": "test_fusion_followup_level_testfusionfollowuplevel_test_create_minimal",
"community": 2,
"norm_label": ".test_create_minimal()"
},
{
"label": ".test_negative_delay_rejected()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L16",
"id": "test_fusion_followup_level_testfusionfollowuplevel_test_negative_delay_rejected",
"community": 2,
"norm_label": ".test_negative_delay_rejected()"
},
{
"label": ".test_duplicate_sequence_rejected()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L22",
"id": "test_fusion_followup_level_testfusionfollowuplevel_test_duplicate_sequence_rejected",
"community": 2,
"norm_label": ".test_duplicate_sequence_rejected()"
},
{
"label": ".test_three_levels_escalate()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L31",
"id": "test_fusion_followup_level_testfusionfollowuplevel_test_three_levels_escalate",
"community": 2,
"norm_label": ".test_three_levels_escalate()"
},
{
"label": "test_performance_benchmarks.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"community": 6,
"norm_label": "test_performance_benchmarks.py"
},
{
"label": "_percentile()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L12",
"id": "test_performance_benchmarks_percentile",
"community": 6,
"norm_label": "_percentile()"
},
{
"label": "TestEngineBenchmarks",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L21",
"id": "test_performance_benchmarks_testenginebenchmarks",
"community": 6,
"norm_label": "testenginebenchmarks"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L23",
"id": "test_performance_benchmarks_testenginebenchmarks_setup",
"community": 6,
"norm_label": ".setup()"
},
{
"label": ".test_get_overdue_p95()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L34",
"id": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"community": 6,
"norm_label": ".test_get_overdue_p95()"
},
{
"label": ".test_compute_followup_level_p95()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L47",
"id": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"community": 6,
"norm_label": ".test_compute_followup_level_p95()"
},
{
"label": ".test_send_followup_p95()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L60",
"id": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"community": 6,
"norm_label": ".test_send_followup_p95()"
},
{
"label": "TestControllerBenchmarks",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L77",
"id": "test_performance_benchmarks_testcontrollerbenchmarks",
"community": 6,
"norm_label": "testcontrollerbenchmarks"
},
{
"label": ".test_list_overdue_p95()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L79",
"id": "test_performance_benchmarks_testcontrollerbenchmarks_test_list_overdue_p95",
"community": 6,
"norm_label": ".test_list_overdue_p95()"
},
{
"label": "Performance benchmarks tagged 'benchmark'.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L1",
"id": "test_performance_benchmarks_rationale_1",
"community": 6,
"norm_label": "performance benchmarks tagged 'benchmark'."
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_init_py",
"community": 27,
"norm_label": "__init__.py"
},
{
"label": "test_followup_text_generator.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_text_generator_py",
"community": 5,
"norm_label": "test_followup_text_generator.py"
},
{
"label": "TestFollowupTextGenerator",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L12",
"id": "test_followup_text_generator_testfollowuptextgenerator",
"community": 5,
"norm_label": "testfollowuptextgenerator"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L14",
"id": "test_followup_text_generator_testfollowuptextgenerator_setup",
"community": 5,
"norm_label": ".setup()"
},
{
"label": ".test_fallback_gentle()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L21",
"id": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_gentle",
"community": 5,
"norm_label": ".test_fallback_gentle()"
},
{
"label": ".test_fallback_firm()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L31",
"id": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_firm",
"community": 5,
"norm_label": ".test_fallback_firm()"
},
{
"label": ".test_fallback_legal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L39",
"id": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_legal",
"community": 5,
"norm_label": ".test_fallback_legal()"
},
{
"label": ".test_returns_required_keys()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L48",
"id": "test_followup_text_generator_testfollowuptextgenerator_test_returns_required_keys",
"community": 5,
"norm_label": ".test_returns_required_keys()"
},
{
"label": "TestFollowupTextPrompt",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L58",
"id": "test_followup_text_generator_testfollowuptextprompt",
"community": 5,
"norm_label": "testfollowuptextprompt"
},
{
"label": ".test_system_prompt_requires_json()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L60",
"id": "test_followup_text_generator_testfollowuptextprompt_test_system_prompt_requires_json",
"community": 5,
"norm_label": ".test_system_prompt_requires_json()"
},
{
"label": ".test_build_prompt_returns_tuple()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L65",
"id": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_returns_tuple",
"community": 5,
"norm_label": ".test_build_prompt_returns_tuple()"
},
{
"label": ".test_build_prompt_includes_risk_drivers()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L73",
"id": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_includes_risk_drivers",
"community": 5,
"norm_label": ".test_build_prompt_includes_risk_drivers()"
},
{
"label": "test_batch_followup_wizard.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_batch_followup_wizard_py",
"community": 15,
"norm_label": "test_batch_followup_wizard.py"
},
{
"label": "TestBatchFollowupWizard",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L7",
"id": "test_batch_followup_wizard_testbatchfollowupwizard",
"community": 15,
"norm_label": "testbatchfollowupwizard"
},
{
"label": ".test_default_loads_active_ids()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L9",
"id": "test_batch_followup_wizard_testbatchfollowupwizard_test_default_loads_active_ids",
"community": 15,
"norm_label": ".test_default_loads_active_ids()"
},
{
"label": ".test_selected_scope_no_partners_raises()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L18",
"id": "test_batch_followup_wizard_testbatchfollowupwizard_test_selected_scope_no_partners_raises",
"community": 15,
"norm_label": ".test_selected_scope_no_partners_raises()"
},
{
"label": ".test_run_completes_with_no_overdue_partners()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L25",
"id": "test_batch_followup_wizard_testbatchfollowupwizard_test_run_completes_with_no_overdue_partners",
"community": 15,
"norm_label": ".test_run_completes_with_no_overdue_partners()"
},
{
"label": "test_followup_cron.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_cron_py",
"community": 12,
"norm_label": "test_followup_cron.py"
},
{
"label": "TestFollowupCron",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L8",
"id": "test_followup_cron_testfollowupcron",
"community": 12,
"norm_label": "testfollowupcron"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L10",
"id": "test_followup_cron_testfollowupcron_setup",
"community": 12,
"norm_label": ".setup()"
},
{
"label": ".test_cron_daily_scan_runs()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L14",
"id": "test_followup_cron_testfollowupcron_test_cron_daily_scan_runs",
"community": 12,
"norm_label": ".test_cron_daily_scan_runs()"
},
{
"label": ".test_cron_risk_refresh_runs()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L17",
"id": "test_followup_cron_testfollowupcron_test_cron_risk_refresh_runs",
"community": 12,
"norm_label": ".test_cron_risk_refresh_runs()"
},
{
"label": "Smoke tests for the fusion follow-up cron handlers.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L1",
"id": "test_followup_cron_rationale_1",
"community": 12,
"norm_label": "smoke tests for the fusion follow-up cron handlers."
},
{
"label": "test_overdue_aging.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_overdue_aging_py",
"community": 1,
"norm_label": "test_overdue_aging.py"
},
{
"label": "TestOverdueAging",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L10",
"id": "test_overdue_aging_testoverdueaging",
"community": 1,
"norm_label": "testoverdueaging"
},
{
"label": ".test_empty_lines_returns_zero_buckets()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L12",
"id": "test_overdue_aging_testoverdueaging_test_empty_lines_returns_zero_buckets",
"community": 1,
"norm_label": ".test_empty_lines_returns_zero_buckets()"
},
{
"label": ".test_current_bucket_for_future_maturity()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L19",
"id": "test_overdue_aging_testoverdueaging_test_current_bucket_for_future_maturity",
"community": 1,
"norm_label": ".test_current_bucket_for_future_maturity()"
},
{
"label": ".test_30_day_bucket()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L27",
"id": "test_overdue_aging_testoverdueaging_test_30_day_bucket",
"community": 1,
"norm_label": ".test_30_day_bucket()"
},
{
"label": ".test_60_day_bucket()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L34",
"id": "test_overdue_aging_testoverdueaging_test_60_day_bucket",
"community": 1,
"norm_label": ".test_60_day_bucket()"
},
{
"label": ".test_120_plus_bucket()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L41",
"id": "test_overdue_aging_testoverdueaging_test_120_plus_bucket",
"community": 1,
"norm_label": ".test_120_plus_bucket()"
},
{
"label": ".test_total_overdue_excludes_current()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L48",
"id": "test_overdue_aging_testoverdueaging_test_total_overdue_excludes_current",
"community": 1,
"norm_label": ".test_total_overdue_excludes_current()"
},
{
"label": ".test_buckets_sum_equals_total()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L59",
"id": "test_overdue_aging_testoverdueaging_test_buckets_sum_equals_total",
"community": 1,
"norm_label": ".test_buckets_sum_equals_total()"
},
{
"label": "test_followup_full_flow.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_full_flow_py",
"community": 0,
"norm_label": "test_followup_full_flow.py"
},
{
"label": "TestFollowupFullFlow",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L9",
"id": "test_followup_full_flow_testfollowupfullflow",
"community": 0,
"norm_label": "testfollowupfullflow"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L11",
"id": "test_followup_full_flow_testfollowupfullflow_setup",
"community": 0,
"norm_label": ".setup()"
},
{
"label": ".test_full_flow_scan_send_reset()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L38",
"id": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"community": 0,
"norm_label": ".test_full_flow_scan_send_reset()"
},
{
"label": ".test_escalate_advances_to_next_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L59",
"id": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"community": 0,
"norm_label": ".test_escalate_advances_to_next_level()"
},
{
"label": ".test_text_cache_reused_on_repeat()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L70",
"id": "test_followup_full_flow_testfollowupfullflow_test_text_cache_reused_on_repeat",
"community": 0,
"norm_label": ".test_text_cache_reused_on_repeat()"
},
{
"label": ".test_history_records_each_send()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L78",
"id": "test_followup_full_flow_testfollowupfullflow_test_history_records_each_send",
"community": 0,
"norm_label": ".test_history_records_each_send()"
},
{
"label": "End-to-end integration: scan -> escalate -> send -> reset.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L1",
"id": "test_followup_full_flow_rationale_1",
"community": 0,
"norm_label": "end-to-end integration: scan -> escalate -> send -> reset."
},
{
"label": "test_fusion_followup_text_cache.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_text_cache_py",
"community": 7,
"norm_label": "test_fusion_followup_text_cache.py"
},
{
"label": "TestFusionFollowupTextCache",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L6",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"community": 7,
"norm_label": "testfusionfollowuptextcache"
},
{
"label": "setUpClass()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L9",
"id": "test_fusion_followup_text_cache_setupclass",
"community": 7,
"norm_label": "setupclass()"
},
{
"label": "._kwargs()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L17",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"community": 7,
"norm_label": "._kwargs()"
},
{
"label": ".test_fingerprint_stable_and_unique()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L26",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"community": 7,
"norm_label": ".test_fingerprint_stable_and_unique()"
},
{
"label": ".test_lookup_returns_empty_when_missing()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L34",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"community": 7,
"norm_label": ".test_lookup_returns_empty_when_missing()"
},
{
"label": ".test_lookup_finds_cached_entry()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L38",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"community": 7,
"norm_label": ".test_lookup_finds_cached_entry()"
},
{
"label": ".test_action_increment_use()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L52",
"id": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_action_increment_use",
"community": 7,
"norm_label": ".test_action_increment_use()"
},
{
"label": "test_fusion_followup_run.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_run_py",
"community": 11,
"norm_label": "test_fusion_followup_run.py"
},
{
"label": "TestFusionFollowupRun",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L6",
"id": "test_fusion_followup_run_testfusionfollowuprun",
"community": 11,
"norm_label": "testfusionfollowuprun"
},
{
"label": "setUpClass()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L9",
"id": "test_fusion_followup_run_setupclass",
"community": 11,
"norm_label": "setupclass()"
},
{
"label": ".test_create_minimal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L16",
"id": "test_fusion_followup_run_testfusionfollowuprun_test_create_minimal",
"community": 11,
"norm_label": ".test_create_minimal()"
},
{
"label": ".test_action_mark_sent()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L24",
"id": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_sent",
"community": 11,
"norm_label": ".test_action_mark_sent()"
},
{
"label": ".test_action_mark_failed_records_error()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L32",
"id": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_failed_records_error",
"community": 11,
"norm_label": ".test_action_mark_failed_records_error()"
},
{
"label": ".test_partner_required()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L40",
"id": "test_fusion_followup_run_testfusionfollowuprun_test_partner_required",
"community": 11,
"norm_label": ".test_partner_required()"
},
{
"label": "test_followup_adapter.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_adapter_py",
"community": 17,
"norm_label": "test_followup_adapter.py"
},
{
"label": "TestFollowupAdapter",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L12",
"id": "test_followup_adapter_testfollowupadapter",
"community": 17,
"norm_label": "testfollowupadapter"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L14",
"id": "test_followup_adapter_testfollowupadapter_setup",
"community": 17,
"norm_label": ".setup()"
},
{
"label": ".test_list_overdue_via_fusion_returns_dict()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L18",
"id": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_fusion_returns_dict",
"community": 17,
"norm_label": ".test_list_overdue_via_fusion_returns_dict()"
},
{
"label": ".test_list_overdue_via_community_returns_error()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L26",
"id": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_community_returns_error",
"community": 17,
"norm_label": ".test_list_overdue_via_community_returns_error()"
},
{
"label": ".test_send_followup_via_fusion_no_overdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L30",
"id": "test_followup_adapter_testfollowupadapter_test_send_followup_via_fusion_no_overdue",
"community": 17,
"norm_label": ".test_send_followup_via_fusion_no_overdue()"
},
{
"label": ".test_send_followup_via_community_returns_error()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L40",
"id": "test_followup_adapter_testfollowupadapter_test_send_followup_via_community_returns_error",
"community": 17,
"norm_label": ".test_send_followup_via_community_returns_error()"
},
{
"label": "FollowupAdapter wiring tests \u2014 engine paths.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L1",
"id": "test_followup_adapter_rationale_1",
"community": 17,
"norm_label": "followupadapter wiring tests \u2014 engine paths."
},
{
"label": "test_followup_controller.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_controller_py",
"community": 13,
"norm_label": "test_followup_controller.py"
},
{
"label": "TestFollowupController",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L11",
"id": "test_followup_controller_testfollowupcontroller",
"community": 13,
"norm_label": "testfollowupcontroller"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L13",
"id": "test_followup_controller_testfollowupcontroller_setup",
"community": 13,
"norm_label": ".setup()"
},
{
"label": "._jsonrpc()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L21",
"id": "test_followup_controller_testfollowupcontroller_jsonrpc",
"community": 13,
"norm_label": "._jsonrpc()"
},
{
"label": ".test_list_overdue_returns_dict()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L38",
"id": "test_followup_controller_testfollowupcontroller_test_list_overdue_returns_dict",
"community": 13,
"norm_label": ".test_list_overdue_returns_dict()"
},
{
"label": ".test_get_partner_detail()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L43",
"id": "test_followup_controller_testfollowupcontroller_test_get_partner_detail",
"community": 13,
"norm_label": ".test_get_partner_detail()"
},
{
"label": ".test_pause_sets_paused_until()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L52",
"id": "test_followup_controller_testfollowupcontroller_test_pause_sets_paused_until",
"community": 13,
"norm_label": ".test_pause_sets_paused_until()"
},
{
"label": ".test_reset_clears_status()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L60",
"id": "test_followup_controller_testfollowupcontroller_test_reset_clears_status",
"community": 13,
"norm_label": ".test_reset_clears_status()"
},
{
"label": ".test_send_no_overdue_returns_no_action()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L68",
"id": "test_followup_controller_testfollowupcontroller_test_send_no_overdue_returns_no_action",
"community": 13,
"norm_label": ".test_send_no_overdue_returns_no_action()"
},
{
"label": ".test_generate_text_no_level_returns_no_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L77",
"id": "test_followup_controller_testfollowupcontroller_test_generate_text_no_level_returns_no_level",
"community": 13,
"norm_label": ".test_generate_text_no_level_returns_no_level()"
},
{
"label": "HttpCase tests for the 6 follow-up JSON-RPC endpoints.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L1",
"id": "test_followup_controller_rationale_1",
"community": 13,
"norm_label": "httpcase tests for the 6 follow-up json-rpc endpoints."
},
{
"label": "test_level_resolver.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_level_resolver_py",
"community": 1,
"norm_label": "test_level_resolver.py"
},
{
"label": "TestLevelResolver",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L11",
"id": "test_level_resolver_testlevelresolver",
"community": 1,
"norm_label": "testlevelresolver"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L13",
"id": "test_level_resolver_testlevelresolver_setup",
"community": 3,
"norm_label": ".setup()"
},
{
"label": ".test_no_overdue_returns_none()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L21",
"id": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"community": 1,
"norm_label": ".test_no_overdue_returns_none()"
},
{
"label": ".test_15_days_overdue_picks_reminder()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L28",
"id": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"community": 1,
"norm_label": ".test_15_days_overdue_picks_reminder()"
},
{
"label": ".test_45_days_overdue_picks_warning()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L35",
"id": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"community": 1,
"norm_label": ".test_45_days_overdue_picks_warning()"
},
{
"label": ".test_75_days_overdue_picks_legal()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L42",
"id": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"community": 1,
"norm_label": ".test_75_days_overdue_picks_legal()"
},
{
"label": ".test_no_levels_returns_none()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L49",
"id": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"community": 1,
"norm_label": ".test_no_levels_returns_none()"
},
{
"label": ".test_invalid_tone_raises()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L56",
"id": "test_level_resolver_testlevelresolver_test_invalid_tone_raises",
"community": 3,
"norm_label": ".test_invalid_tone_raises()"
},
{
"label": "test_engine_integration.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_integration_py",
"community": 0,
"norm_label": "test_engine_integration.py"
},
{
"label": "TestFollowupEngineIntegration",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L9",
"id": "test_engine_integration_testfollowupengineintegration",
"community": 0,
"norm_label": "testfollowupengineintegration"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L11",
"id": "test_engine_integration_testfollowupengineintegration_setup",
"community": 0,
"norm_label": ".setup()"
},
{
"label": ".test_get_overdue_finds_lines()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L37",
"id": "test_engine_integration_testfollowupengineintegration_test_get_overdue_finds_lines",
"community": 0,
"norm_label": ".test_get_overdue_finds_lines()"
},
{
"label": ".test_compute_level_picks_reminder_at_20_days()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L42",
"id": "test_engine_integration_testfollowupengineintegration_test_compute_level_picks_reminder_at_20_days",
"community": 0,
"norm_label": ".test_compute_level_picks_reminder_at_20_days()"
},
{
"label": ".test_send_followup_creates_run()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L47",
"id": "test_engine_integration_testfollowupengineintegration_test_send_followup_creates_run",
"community": 0,
"norm_label": ".test_send_followup_creates_run()"
},
{
"label": ".test_pause_blocks_send_unless_force()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L54",
"id": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"community": 0,
"norm_label": ".test_pause_blocks_send_unless_force()"
},
{
"label": ".test_history_grows_with_each_send()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L62",
"id": "test_engine_integration_testfollowupengineintegration_test_history_grows_with_each_send",
"community": 0,
"norm_label": ".test_history_grows_with_each_send()"
},
{
"label": ".test_text_cache_used_on_repeat_call()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L69",
"id": "test_engine_integration_testfollowupengineintegration_test_text_cache_used_on_repeat_call",
"community": 0,
"norm_label": ".test_text_cache_used_on_repeat_call()"
},
{
"label": "Integration tests: full follow-up flow with real overdue invoices.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L1",
"id": "test_engine_integration_rationale_1",
"community": 0,
"norm_label": "integration tests: full follow-up flow with real overdue invoices."
},
{
"label": "test_migration_round_trip.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_migration_round_trip_py",
"community": 8,
"norm_label": "test_migration_round_trip.py"
},
{
"label": "TestFollowupMigrationRoundTrip",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L6",
"id": "test_migration_round_trip_testfollowupmigrationroundtrip",
"community": 8,
"norm_label": "testfollowupmigrationroundtrip"
},
{
"label": ".test_bootstrap_step_runs()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L8",
"id": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_step_runs",
"community": 8,
"norm_label": ".test_bootstrap_step_runs()"
},
{
"label": ".test_bootstrap_idempotent()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L15",
"id": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_idempotent",
"community": 8,
"norm_label": ".test_bootstrap_idempotent()"
},
{
"label": ".test_partner_state_bootstrap_step()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L23",
"id": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"community": 8,
"norm_label": ".test_partner_state_bootstrap_step()"
},
{
"label": "Verify the partner-state migration step runs without error.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L24",
"id": "test_migration_round_trip_rationale_24",
"community": 8,
"norm_label": "verify the partner-state migration step runs without error."
},
{
"label": "test_coexistence.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_coexistence_py",
"community": 2,
"norm_label": "test_coexistence.py"
},
{
"label": "TestFollowupCoexistence",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L9",
"id": "test_coexistence_testfollowupcoexistence",
"community": 2,
"norm_label": "testfollowupcoexistence"
},
{
"label": ".setUp()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L11",
"id": "test_coexistence_testfollowupcoexistence_setup",
"community": 2,
"norm_label": ".setup()"
},
{
"label": ".test_engine_always_available()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L19",
"id": "test_coexistence_testfollowupcoexistence_test_engine_always_available",
"community": 2,
"norm_label": ".test_engine_always_available()"
},
{
"label": ".test_menu_gated_by_coexistence_group()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L22",
"id": "test_coexistence_testfollowupcoexistence_test_menu_gated_by_coexistence_group",
"community": 2,
"norm_label": ".test_menu_gated_by_coexistence_group()"
},
{
"label": ".test_levels_menu_gated()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L31",
"id": "test_coexistence_testfollowupcoexistence_test_levels_menu_gated",
"community": 2,
"norm_label": ".test_levels_menu_gated()"
},
{
"label": "Coexistence tests: fusion_accounting_followup menu only visible when Enterprise",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L1",
"id": "test_coexistence_rationale_1",
"community": 2,
"norm_label": "coexistence tests: fusion_accounting_followup menu only visible when enterprise"
},
{
"label": "fusion_followup_text_cache.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"community": 7,
"norm_label": "fusion_followup_text_cache.py"
},
{
"label": "FusionFollowupTextCache",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L8",
"id": "fusion_followup_text_cache_fusionfollowuptextcache",
"community": 7,
"norm_label": "fusionfollowuptextcache"
},
{
"label": "compute_fingerprint()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L34",
"id": "fusion_followup_text_cache_compute_fingerprint",
"community": 7,
"norm_label": "compute_fingerprint()"
},
{
"label": "lookup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L43",
"id": "fusion_followup_text_cache_lookup",
"community": 7,
"norm_label": "lookup()"
},
{
"label": ".action_increment_use()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L58",
"id": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"community": 7,
"norm_label": ".action_increment_use()"
},
{
"label": "Cache of AI-generated follow-up text to avoid LLM cost on repeats.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L1",
"id": "fusion_followup_text_cache_rationale_1",
"community": 7,
"norm_label": "cache of ai-generated follow-up text to avoid llm cost on repeats."
},
{
"label": "Stable hash of the inputs that determine the generated text.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L37",
"id": "fusion_followup_text_cache_rationale_37",
"community": 33,
"norm_label": "stable hash of the inputs that determine the generated text."
},
{
"label": "Find a cached entry matching these inputs, or empty recordset.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L46",
"id": "fusion_followup_text_cache_rationale_46",
"community": 34,
"norm_label": "find a cached entry matching these inputs, or empty recordset."
},
{
"label": "fusion_followup_cron.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"community": 12,
"norm_label": "fusion_followup_cron.py"
},
{
"label": "FusionFollowupCron",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L18",
"id": "fusion_followup_cron_fusionfollowupcron",
"community": 12,
"norm_label": "fusionfollowupcron"
},
{
"label": "_cron_daily_scan()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L23",
"id": "fusion_followup_cron_cron_daily_scan",
"community": 12,
"norm_label": "_cron_daily_scan()"
},
{
"label": "_cron_risk_refresh()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L59",
"id": "fusion_followup_cron_cron_risk_refresh",
"community": 12,
"norm_label": "_cron_risk_refresh()"
},
{
"label": "Cron handlers for fusion_accounting_followup. Two scheduled jobs: - Daily scan:",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L1",
"id": "fusion_followup_cron_rationale_1",
"community": 12,
"norm_label": "cron handlers for fusion_accounting_followup. two scheduled jobs: - daily scan:"
},
{
"label": "Scan every partner with overdue and send follow-ups when due.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L24",
"id": "fusion_followup_cron_rationale_24",
"community": 35,
"norm_label": "scan every partner with overdue and send follow-ups when due."
},
{
"label": "Refresh fusion_followup_risk_score on every partner with overdue.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L60",
"id": "fusion_followup_cron_rationale_60",
"community": 36,
"norm_label": "refresh fusion_followup_risk_score on every partner with overdue."
},
{
"label": "account_move_line.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/account_move_line.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_account_move_line_py",
"community": 19,
"norm_label": "account_move_line.py"
},
{
"label": "AccountMoveLine",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/account_move_line.py",
"source_location": "L6",
"id": "account_move_line_accountmoveline",
"community": 19,
"norm_label": "accountmoveline"
},
{
"label": "Inherit account.move.line: track last follow-up level.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/account_move_line.py",
"source_location": "L1",
"id": "account_move_line_rationale_1",
"community": 19,
"norm_label": "inherit account.move.line: track last follow-up level."
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_init_py",
"community": 28,
"norm_label": "__init__.py"
},
{
"label": "fusion_followup_run.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_run_py",
"community": 11,
"norm_label": "fusion_followup_run.py"
},
{
"label": "FusionFollowupRun",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L15",
"id": "fusion_followup_run_fusionfollowuprun",
"community": 11,
"norm_label": "fusionfollowuprun"
},
{
"label": ".action_mark_sent()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L50",
"id": "fusion_followup_run_fusionfollowuprun_action_mark_sent",
"community": 11,
"norm_label": ".action_mark_sent()"
},
{
"label": ".action_mark_failed()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L53",
"id": "fusion_followup_run_fusionfollowuprun_action_mark_failed",
"community": 11,
"norm_label": ".action_mark_failed()"
},
{
"label": "Audit record of one follow-up execution (per partner per level).",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L1",
"id": "fusion_followup_run_rationale_1",
"community": 11,
"norm_label": "audit record of one follow-up execution (per partner per level)."
},
{
"label": "fusion_followup_level.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_level.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_level_py",
"community": 20,
"norm_label": "fusion_followup_level.py"
},
{
"label": "FusionFollowupLevel",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_level.py",
"source_location": "L13",
"id": "fusion_followup_level_fusionfollowuplevel",
"community": 20,
"norm_label": "fusionfollowuplevel"
},
{
"label": "Follow-up level definition (e.g. Reminder at 7 days, Warning at 30, Legal at 60)",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_level.py",
"source_location": "L1",
"id": "fusion_followup_level_rationale_1",
"community": 20,
"norm_label": "follow-up level definition (e.g. reminder at 7 days, warning at 30, legal at 60)"
},
{
"label": "fusion_followup_engine.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"community": 0,
"norm_label": "fusion_followup_engine.py"
},
{
"label": "FusionFollowupEngine",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L22",
"id": "fusion_followup_engine_fusionfollowupengine",
"community": 3,
"norm_label": "fusionfollowupengine"
},
{
"label": "get_overdue_for_partner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L31",
"id": "fusion_followup_engine_get_overdue_for_partner",
"community": 0,
"norm_label": "get_overdue_for_partner()"
},
{
"label": "compute_followup_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L57",
"id": "fusion_followup_engine_compute_followup_level",
"community": 0,
"norm_label": "compute_followup_level()"
},
{
"label": "send_followup_email()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L98",
"id": "fusion_followup_engine_send_followup_email",
"community": 0,
"norm_label": "send_followup_email()"
},
{
"label": "escalate_to_next_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L171",
"id": "fusion_followup_engine_escalate_to_next_level",
"community": 0,
"norm_label": "escalate_to_next_level()"
},
{
"label": "pause_followup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L188",
"id": "fusion_followup_engine_pause_followup",
"community": 0,
"norm_label": "pause_followup()"
},
{
"label": "reset_followup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L199",
"id": "fusion_followup_engine_reset_followup",
"community": 0,
"norm_label": "reset_followup()"
},
{
"label": "snapshot_followup_history()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L210",
"id": "fusion_followup_engine_snapshot_followup_history",
"community": 0,
"norm_label": "snapshot_followup_history()"
},
{
"label": "._fetch_overdue_lines()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L238",
"id": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"community": 3,
"norm_label": "._fetch_overdue_lines()"
},
{
"label": "._compute_risk()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L249",
"id": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"community": 3,
"norm_label": "._compute_risk()"
},
{
"label": "._max_overdue_days_from_aging()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L286",
"id": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"community": 3,
"norm_label": "._max_overdue_days_from_aging()"
},
{
"label": "._get_or_generate_text()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L301",
"id": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"community": 7,
"norm_label": "._get_or_generate_text()"
},
{
"label": "._create_run()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L352",
"id": "fusion_followup_engine_fusionfollowupengine_create_run",
"community": 3,
"norm_label": "._create_run()"
},
{
"label": "._send_email()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L364",
"id": "fusion_followup_engine_fusionfollowupengine_send_email",
"community": 3,
"norm_label": "._send_email()"
},
{
"label": "The follow-up engine \u2014 orchestrator for customer follow-ups. 7-method public AP",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L1",
"id": "fusion_followup_engine_rationale_1",
"community": 0,
"norm_label": "the follow-up engine \u2014 orchestrator for customer follow-ups. 7-method public ap"
},
{
"label": "Return aging report + risk score for a partner.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L32",
"id": "fusion_followup_engine_rationale_32",
"community": 3,
"norm_label": "return aging report + risk score for a partner."
},
{
"label": "Return the fusion.followup.level recordset that should fire now, or empt",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L58",
"id": "fusion_followup_engine_rationale_58",
"community": 3,
"norm_label": "return the fusion.followup.level recordset that should fire now, or empt"
},
{
"label": "Send a follow-up email at the given level (or auto-resolve if None). Cr",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L99",
"id": "fusion_followup_engine_rationale_99",
"community": 3,
"norm_label": "send a follow-up email at the given level (or auto-resolve if none). cr"
},
{
"label": "Force the next-higher level than the partner's current last_level.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L172",
"id": "fusion_followup_engine_rationale_172",
"community": 3,
"norm_label": "force the next-higher level than the partner's current last_level."
},
{
"label": "Pause follow-ups for a partner until a date (default 30 days).",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L189",
"id": "fusion_followup_engine_rationale_189",
"community": 3,
"norm_label": "pause follow-ups for a partner until a date (default 30 days)."
},
{
"label": "Reset partner's follow-up state to no_action.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L200",
"id": "fusion_followup_engine_rationale_200",
"community": 3,
"norm_label": "reset partner's follow-up state to no_action."
},
{
"label": "Return audit history for a partner.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L211",
"id": "fusion_followup_engine_rationale_211",
"community": 3,
"norm_label": "return audit history for a partner."
},
{
"label": "Fetch posted, unreconciled receivable lines for a partner.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L239",
"id": "fusion_followup_engine_rationale_239",
"community": 3,
"norm_label": "fetch posted, unreconciled receivable lines for a partner."
},
{
"label": "Compute risk score from partner's payment history.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L250",
"id": "fusion_followup_engine_rationale_250",
"community": 3,
"norm_label": "compute risk score from partner's payment history."
},
{
"label": "Extract longest overdue days from aging dict.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L287",
"id": "fusion_followup_engine_rationale_287",
"community": 3,
"norm_label": "extract longest overdue days from aging dict."
},
{
"label": "Cache lookup + LLM fallback.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L304",
"id": "fusion_followup_engine_rationale_304",
"community": 7,
"norm_label": "cache lookup + llm fallback."
},
{
"label": "Best-effort email send. Uses level's mail_template if set, else creates",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L365",
"id": "fusion_followup_engine_rationale_365",
"community": 3,
"norm_label": "best-effort email send. uses level's mail_template if set, else creates"
},
{
"label": "fusion_migration_wizard.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_migration_wizard_py",
"community": 8,
"norm_label": "fusion_migration_wizard.py"
},
{
"label": "FusionMigrationWizard",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L13",
"id": "fusion_migration_wizard_fusionmigrationwizard",
"community": 8,
"norm_label": "fusionmigrationwizard"
},
{
"label": "._followup_bootstrap_step()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L16",
"id": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"community": 8,
"norm_label": "._followup_bootstrap_step()"
},
{
"label": "._followup_partner_state_bootstrap_step()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L81",
"id": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"community": 8,
"norm_label": "._followup_partner_state_bootstrap_step()"
},
{
"label": ".action_run_migration()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L187",
"id": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"community": 8,
"norm_label": ".action_run_migration()"
},
{
"label": "Followup-specific migration step. Backfills fusion.followup.level from Enterpri",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L1",
"id": "fusion_migration_wizard_rationale_1",
"community": 8,
"norm_label": "followup-specific migration step. backfills fusion.followup.level from enterpri"
},
{
"label": "Backfill fusion.followup.level from account_followup.followup.line.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L17",
"id": "fusion_migration_wizard_rationale_17",
"community": 8,
"norm_label": "backfill fusion.followup.level from account_followup.followup.line."
},
{
"label": "Migration step: copy Enterprise account_followup per-partner state onto",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L82",
"id": "fusion_migration_wizard_rationale_82",
"community": 8,
"norm_label": "migration step: copy enterprise account_followup per-partner state onto"
},
{
"label": "res_partner.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_res_partner_py",
"community": 14,
"norm_label": "res_partner.py"
},
{
"label": "ResPartner",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L15",
"id": "res_partner_respartner",
"community": 14,
"norm_label": "respartner"
},
{
"label": "._compute_fusion_followup_run_count()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L40",
"id": "res_partner_respartner_compute_fusion_followup_run_count",
"community": 14,
"norm_label": "._compute_fusion_followup_run_count()"
},
{
"label": ".action_view_followup_history()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L44",
"id": "res_partner_respartner_action_view_followup_history",
"community": 14,
"norm_label": ".action_view_followup_history()"
},
{
"label": "Inherit res.partner: add follow-up state fields.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L1",
"id": "res_partner_rationale_1",
"community": 14,
"norm_label": "inherit res.partner: add follow-up state fields."
},
{
"label": "followup_tours.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/tours/followup_tours.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_tours_followup_tours_js",
"community": 37,
"norm_label": "followup_tours.js"
},
{
"label": "risk_badge.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/risk_badge/risk_badge.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_risk_badge_risk_badge_js",
"community": 23,
"norm_label": "risk_badge.js"
},
{
"label": "RiskBadge",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/risk_badge/risk_badge.js",
"source_location": "L5",
"id": "risk_badge_riskbadge",
"community": 23,
"norm_label": "riskbadge"
},
{
"label": "partner_card.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/partner_card/partner_card.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_partner_card_partner_card_js",
"community": 24,
"norm_label": "partner_card.js"
},
{
"label": "PartnerCard",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/partner_card/partner_card.js",
"source_location": "L6",
"id": "partner_card_partnercard",
"community": 24,
"norm_label": "partnercard"
},
{
"label": "ai_text_panel.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_ai_text_panel_ai_text_panel_js",
"community": 25,
"norm_label": "ai_text_panel.js"
},
{
"label": "AiTextPanel",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js",
"source_location": "L5",
"id": "ai_text_panel_aitextpanel",
"community": 25,
"norm_label": "aitextpanel"
},
{
"label": "followup_history_table.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_followup_history_table_followup_history_table_js",
"community": 21,
"norm_label": "followup_history_table.js"
},
{
"label": "FollowupHistoryTable",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js",
"source_location": "L5",
"id": "followup_history_table_followuphistorytable",
"community": 21,
"norm_label": "followuphistorytable"
},
{
"label": ".formatDate()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js",
"source_location": "L11",
"id": "followup_history_table_followuphistorytable_formatdate",
"community": 21,
"norm_label": ".formatdate()"
},
{
"label": "aging_bucket_strip.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_aging_bucket_strip_aging_bucket_strip_js",
"community": 22,
"norm_label": "aging_bucket_strip.js"
},
{
"label": "AgingBucketStrip",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js",
"source_location": "L5",
"id": "aging_bucket_strip_agingbucketstrip",
"community": 22,
"norm_label": "agingbucketstrip"
},
{
"label": ".bucketWidth()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js",
"source_location": "L11",
"id": "aging_bucket_strip_agingbucketstrip_bucketwidth",
"community": 22,
"norm_label": ".bucketwidth()"
},
{
"label": "followup_dashboard.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_views_followup_dashboard_followup_dashboard_js",
"community": 4,
"norm_label": "followup_dashboard.js"
},
{
"label": "FollowupDashboard",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L11",
"id": "followup_dashboard_followupdashboard",
"community": 4,
"norm_label": "followupdashboard"
},
{
"label": ".setup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L16",
"id": "followup_dashboard_followupdashboard_setup",
"community": 4,
"norm_label": ".setup()"
},
{
"label": ".onSelectPartner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L27",
"id": "followup_dashboard_followupdashboard_onselectpartner",
"community": 4,
"norm_label": ".onselectpartner()"
},
{
"label": ".onStatusFilter()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L31",
"id": "followup_dashboard_followupdashboard_onstatusfilter",
"community": 4,
"norm_label": ".onstatusfilter()"
},
{
"label": ".onGenerateText()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L35",
"id": "followup_dashboard_followupdashboard_ongeneratetext",
"community": 4,
"norm_label": ".ongeneratetext()"
},
{
"label": ".onSend()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L40",
"id": "followup_dashboard_followupdashboard_onsend",
"community": 4,
"norm_label": ".onsend()"
},
{
"label": ".onPause()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L45",
"id": "followup_dashboard_followupdashboard_onpause",
"community": 4,
"norm_label": ".onpause()"
},
{
"label": ".onReset()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L55",
"id": "followup_dashboard_followupdashboard_onreset",
"community": 4,
"norm_label": ".onreset()"
},
{
"label": ".formatCurrency()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L60",
"id": "followup_dashboard_followupdashboard_formatcurrency",
"community": 4,
"norm_label": ".formatcurrency()"
},
{
"label": ".totalOverdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L66",
"id": "followup_dashboard_followupdashboard_totaloverdue",
"community": 4,
"norm_label": ".totaloverdue()"
},
{
"label": "followup_dashboard_view.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard_view.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_views_followup_dashboard_followup_dashboard_view_js",
"community": 38,
"norm_label": "followup_dashboard_view.js"
},
{
"label": "followup_service.js",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_services_followup_service_js",
"community": 4,
"norm_label": "followup_service.js"
},
{
"label": "FollowupService",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L9",
"id": "followup_service_followupservice",
"community": 4,
"norm_label": "followupservice"
},
{
"label": ".constructor()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L10",
"id": "followup_service_followupservice_constructor",
"community": 4,
"norm_label": ".constructor()"
},
{
"label": ".loadOverdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L32",
"id": "followup_service_followupservice_loadoverdue",
"community": 4,
"norm_label": ".loadoverdue()"
},
{
"label": ".selectPartner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L50",
"id": "followup_service_followupservice_selectpartner",
"community": 4,
"norm_label": ".selectpartner()"
},
{
"label": ".generateText()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L63",
"id": "followup_service_followupservice_generatetext",
"community": 4,
"norm_label": ".generatetext()"
},
{
"label": ".sendFollowup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L79",
"id": "followup_service_followupservice_sendfollowup",
"community": 4,
"norm_label": ".sendfollowup()"
},
{
"label": ".pausePartner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L101",
"id": "followup_service_followupservice_pausepartner",
"community": 4,
"norm_label": ".pausepartner()"
},
{
"label": ".resetPartner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L118",
"id": "followup_service_followupservice_resetpartner",
"community": 4,
"norm_label": ".resetpartner()"
},
{
"label": ".setStatusFilter()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L135",
"id": "followup_service_followupservice_setstatusfilter",
"community": 4,
"norm_label": ".setstatusfilter()"
},
{
"label": "batch_followup_wizard.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"community": 15,
"norm_label": "batch_followup_wizard.py"
},
{
"label": "FusionBatchFollowupWizard",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L9",
"id": "batch_followup_wizard_fusionbatchfollowupwizard",
"community": 15,
"norm_label": "fusionbatchfollowupwizard"
},
{
"label": "_default_partner_ids()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L36",
"id": "batch_followup_wizard_default_partner_ids",
"community": 15,
"norm_label": "_default_partner_ids()"
},
{
"label": ".action_run()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L42",
"id": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"community": 15,
"norm_label": ".action_run()"
},
{
"label": "Batch send follow-ups to selected partners (or all overdue).",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L1",
"id": "batch_followup_wizard_rationale_1",
"community": 15,
"norm_label": "batch send follow-ups to selected partners (or all overdue)."
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_init_py",
"community": 29,
"norm_label": "__init__.py"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_init_py",
"community": 30,
"norm_label": "__init__.py"
},
{
"label": "followup_controller.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"community": 0,
"norm_label": "followup_controller.py"
},
{
"label": "_parse_date()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L16",
"id": "followup_controller_parse_date",
"community": 0,
"norm_label": "_parse_date()"
},
{
"label": "FusionFollowupController",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L24",
"id": "followup_controller_fusionfollowupcontroller",
"community": 0,
"norm_label": "fusionfollowupcontroller"
},
{
"label": "list_overdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L27",
"id": "followup_controller_list_overdue",
"community": 0,
"norm_label": "list_overdue()"
},
{
"label": "get_partner_detail()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L74",
"id": "followup_controller_get_partner_detail",
"community": 0,
"norm_label": "get_partner_detail()"
},
{
"label": "generate_text()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L108",
"id": "followup_controller_generate_text",
"community": 3,
"norm_label": "generate_text()"
},
{
"label": "send_followup()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L155",
"id": "followup_controller_send_followup",
"community": 0,
"norm_label": "send_followup()"
},
{
"label": "pause()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L164",
"id": "followup_controller_pause",
"community": 0,
"norm_label": "pause()"
},
{
"label": "reset()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L170",
"id": "followup_controller_reset",
"community": 0,
"norm_label": "reset()"
},
{
"label": "HTTP controller: 6 JSON-RPC endpoints for the OWL follow-up dashboard. All endp",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L1",
"id": "followup_controller_rationale_1",
"community": 0,
"norm_label": "http controller: 6 json-rpc endpoints for the owl follow-up dashboard. all endp"
},
{
"label": "risk_scorer.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"community": 9,
"norm_label": "risk_scorer.py"
},
{
"label": "PartnerRiskScore",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L10",
"id": "risk_scorer_partnerriskscore",
"community": 9,
"norm_label": "partnerriskscore"
},
{
"label": "score_partner()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L16",
"id": "risk_scorer_score_partner",
"community": 9,
"norm_label": "score_partner()"
},
{
"label": "Payment-history risk scorer. Pure-Python: takes payment history (list of paymen",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L1",
"id": "risk_scorer_rationale_1",
"community": 9,
"norm_label": "payment-history risk scorer. pure-python: takes payment history (list of paymen"
},
{
"label": "Compute a 0-100 risk score from payment-history primitives. Heuristic weigh",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L21",
"id": "risk_scorer_rationale_21",
"community": 9,
"norm_label": "compute a 0-100 risk score from payment-history primitives. heuristic weigh"
},
{
"label": "followup_text_generator.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"community": 5,
"norm_label": "followup_text_generator.py"
},
{
"label": "generate_followup_text()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L37",
"id": "followup_text_generator_generate_followup_text",
"community": 5,
"norm_label": "generate_followup_text()"
},
{
"label": "_templated_fallback()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L87",
"id": "followup_text_generator_templated_fallback",
"community": 5,
"norm_label": "_templated_fallback()"
},
{
"label": "_get_provider()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L106",
"id": "followup_text_generator_get_provider",
"community": 5,
"norm_label": "_get_provider()"
},
{
"label": "AI-generated follow-up text with templated fallback.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L1",
"id": "followup_text_generator_rationale_1",
"community": 5,
"norm_label": "ai-generated follow-up text with templated fallback."
},
{
"label": "Generate follow-up text via LLM, with templated fallback. Returns: {subject",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L43",
"id": "followup_text_generator_rationale_43",
"community": 5,
"norm_label": "generate follow-up text via llm, with templated fallback. returns: {subject"
},
{
"label": "Look up provider for 'followup_text' feature.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L107",
"id": "followup_text_generator_rationale_107",
"community": 5,
"norm_label": "look up provider for 'followup_text' feature."
},
{
"label": "level_resolver.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"community": 1,
"norm_label": "level_resolver.py"
},
{
"label": "FollowupLevelSpec",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L10",
"id": "level_resolver_followuplevelspec",
"community": 3,
"norm_label": "followuplevelspec"
},
{
"label": ".__post_init__()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L16",
"id": "level_resolver_followuplevelspec_post_init",
"community": 3,
"norm_label": ".__post_init__()"
},
{
"label": "resolve_level()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L21",
"id": "level_resolver_resolve_level",
"community": 1,
"norm_label": "resolve_level()"
},
{
"label": "_max_days_overdue()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L37",
"id": "level_resolver_max_days_overdue",
"community": 1,
"norm_label": "_max_days_overdue()"
},
{
"label": "Level resolver: which follow-up level should fire for this partner? Pure-Python",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L1",
"id": "level_resolver_rationale_1",
"community": 1,
"norm_label": "level resolver: which follow-up level should fire for this partner? pure-python"
},
{
"label": "Pick the highest-sequence level whose delay_days has been crossed by the mos",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L22",
"id": "level_resolver_rationale_22",
"community": 1,
"norm_label": "pick the highest-sequence level whose delay_days has been crossed by the mos"
},
{
"label": "Return the actual max days-overdue tracked on the report, falling back to th",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L38",
"id": "level_resolver_rationale_38",
"community": 1,
"norm_label": "return the actual max days-overdue tracked on the report, falling back to th"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_init_py",
"community": 31,
"norm_label": "__init__.py"
},
{
"label": "tone_selector.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"community": 10,
"norm_label": "tone_selector.py"
},
{
"label": "select_tone()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L11",
"id": "tone_selector_select_tone",
"community": 10,
"norm_label": "select_tone()"
},
{
"label": "Tone selector: pick gentle/firm/legal based on follow-up level + risk score.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L1",
"id": "tone_selector_rationale_1",
"community": 10,
"norm_label": "tone selector: pick gentle/firm/legal based on follow-up level + risk score."
},
{
"label": "Default tone follows level sequence; high risk can escalate.",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L12",
"id": "tone_selector_rationale_12",
"community": 10,
"norm_label": "default tone follows level sequence; high risk can escalate."
},
{
"label": "overdue_aging.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"community": 1,
"norm_label": "overdue_aging.py"
},
{
"label": "AgingBucket",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L21",
"id": "overdue_aging_agingbucket",
"community": 1,
"norm_label": "agingbucket"
},
{
"label": "AgingReport",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L30",
"id": "overdue_aging_agingreport",
"community": 1,
"norm_label": "agingreport"
},
{
"label": ".to_dict()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L38",
"id": "overdue_aging_agingreport_to_dict",
"community": 1,
"norm_label": ".to_dict()"
},
{
"label": "compute_aging()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L52",
"id": "overdue_aging_compute_aging",
"community": 1,
"norm_label": "compute_aging()"
},
{
"label": "_find_bucket()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L82",
"id": "overdue_aging_find_bucket",
"community": 1,
"norm_label": "_find_bucket()"
},
{
"label": "Aging bucket primitives. Pure-Python: callers pass a list of move-line dicts wi",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L1",
"id": "overdue_aging_rationale_1",
"community": 1,
"norm_label": "aging bucket primitives. pure-python: callers pass a list of move-line dicts wi"
},
{
"label": "Bucket move-line dicts into aging brackets. Each dict needs: date_maturity",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L53",
"id": "overdue_aging_rationale_53",
"community": 1,
"norm_label": "bucket move-line dicts into aging brackets. each dict needs: date_maturity"
},
{
"label": "followup_text_prompt.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_prompt.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_prompt_py",
"community": 5,
"norm_label": "followup_text_prompt.py"
},
{
"label": "build_prompt()",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_prompt.py",
"source_location": "L37",
"id": "followup_text_prompt_build_prompt",
"community": 5,
"norm_label": "build_prompt()"
},
{
"label": "LLM prompt for AI-generated follow-up text. Output contract: { \"subject\": str",
"file_type": "rationale",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_prompt.py",
"source_location": "L1",
"id": "followup_text_prompt_rationale_1",
"community": 5,
"norm_label": "llm prompt for ai-generated follow-up text. output contract: { \"subject\": str"
},
{
"label": "__init__.py",
"file_type": "code",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/reports/__init__.py",
"source_location": "L1",
"id": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_reports_init_py",
"community": 39,
"norm_label": "__init__.py"
}
],
"links": [
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/__init__.py",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L17",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_testaginginvariants",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_testaginginvariants",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L32",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_test_buckets_sum_equals_total",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_test_buckets_sum_equals_total",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L50",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_test_overdue_amount_excludes_current",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_test_overdue_amount_excludes_current",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L68",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_test_risk_score_in_range",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_test_risk_score_in_range",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L82",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_testtoneinvariants",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_testtoneinvariants",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L90",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"_tgt": "test_engine_property_test_tone_always_in_valid_set",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_test_tone_always_in_valid_set",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_engine_property_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_property_py",
"target": "test_engine_property_rationale_1",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L17",
"weight": 1.0,
"_src": "test_engine_property_testaginginvariants",
"_tgt": "transactioncase",
"source": "test_engine_property_testaginginvariants",
"target": "transactioncase",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L82",
"weight": 1.0,
"_src": "test_engine_property_testtoneinvariants",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_engine_property_testtoneinvariants",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_tools_testfusionfollowuptools",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L32",
"weight": 1.0,
"_src": "test_local_llm_compat_testlocalllmfollowuptext",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_local_llm_compat_testlocalllmfollowuptext",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L6",
"weight": 1.0,
"_src": "test_res_partner_inherit_testrespartnerfollowup",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_res_partner_inherit_testrespartnerfollowup",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L7",
"weight": 1.0,
"_src": "test_account_move_line_inherit_testaccountmovelinefollowup",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_account_move_line_inherit_testaccountmovelinefollowup",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_fusion_followup_engine_testfusionfollowupengine",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_risk_scorer_testriskscorer",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L7",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_tone_selector_testtoneselector",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L6",
"weight": 1.0,
"_src": "test_fusion_followup_level_testfusionfollowuplevel",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_fusion_followup_level_testfusionfollowuplevel",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_performance_benchmarks_testenginebenchmarks",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_text_generator_testfollowuptextgenerator",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L58",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_text_generator_testfollowuptextprompt",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L7",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_batch_followup_wizard_testbatchfollowupwizard",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_cron_testfollowupcron",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_overdue_aging_testoverdueaging",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_full_flow_testfollowupfullflow",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L6",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L6",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_fusion_followup_run_testfusionfollowuprun",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_followup_adapter_testfollowupadapter",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_level_resolver_testlevelresolver",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_engine_integration_testfollowupengineintegration",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L6",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_migration_round_trip_testfollowupmigrationroundtrip",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_coexistence_testfollowupcoexistence",
"_tgt": "transactioncase",
"source": "transactioncase",
"target": "test_coexistence_testfollowupcoexistence",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_engine_property_test_buckets_sum_equals_total",
"_tgt": "overdue_aging_compute_aging",
"source": "test_engine_property_test_buckets_sum_equals_total",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L57",
"weight": 1.0,
"_src": "test_engine_property_test_overdue_amount_excludes_current",
"_tgt": "overdue_aging_compute_aging",
"source": "test_engine_property_test_overdue_amount_excludes_current",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L70",
"weight": 1.0,
"_src": "test_engine_property_test_risk_score_in_range",
"_tgt": "risk_scorer_score_partner",
"source": "test_engine_property_test_risk_score_in_range",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_property.py",
"source_location": "L91",
"weight": 1.0,
"_src": "test_engine_property_test_tone_always_in_valid_set",
"_tgt": "tone_selector_select_tone",
"source": "test_engine_property_test_tone_always_in_valid_set",
"target": "tone_selector_select_tone"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L10",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tools_py",
"_tgt": "test_followup_tools_testfusionfollowuptools",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tools_py",
"target": "test_followup_tools_testfusionfollowuptools",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_tools_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tools_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tools_py",
"target": "test_followup_tools_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "test_followup_tools_testfusionfollowuptools_test_fusion_list_overdue",
"source": "test_followup_tools_testfusionfollowuptools",
"target": "test_followup_tools_testfusionfollowuptools_test_fusion_list_overdue",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "test_followup_tools_testfusionfollowuptools_test_fusion_get_partner_detail",
"source": "test_followup_tools_testfusionfollowuptools",
"target": "test_followup_tools_testfusionfollowuptools_test_fusion_get_partner_detail",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L27",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "test_followup_tools_testfusionfollowuptools_test_fusion_generate_text_uses_fallback",
"source": "test_followup_tools_testfusionfollowuptools",
"target": "test_followup_tools_testfusionfollowuptools_test_fusion_generate_text_uses_fallback",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L42",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "test_followup_tools_testfusionfollowuptools_test_fusion_get_risk_score",
"source": "test_followup_tools_testfusionfollowuptools",
"target": "test_followup_tools_testfusionfollowuptools_test_fusion_get_risk_score",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tools.py",
"source_location": "L49",
"weight": 1.0,
"_src": "test_followup_tools_testfusionfollowuptools",
"_tgt": "test_followup_tools_testfusionfollowuptools_test_tools_registered_in_dispatch",
"source": "test_followup_tools_testfusionfollowuptools",
"target": "test_followup_tools_testfusionfollowuptools_test_tools_registered_in_dispatch",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L11",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"_tgt": "test_local_llm_compat_server_reachable",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"target": "test_local_llm_compat_server_reachable",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L19",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"_tgt": "test_local_llm_compat_detect_local_llm",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"target": "test_local_llm_compat_detect_local_llm",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L32",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"_tgt": "test_local_llm_compat_testlocalllmfollowuptext",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"target": "test_local_llm_compat_testlocalllmfollowuptext",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_local_llm_compat_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_local_llm_compat_py",
"target": "test_local_llm_compat_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_local_llm_compat_detect_local_llm",
"_tgt": "test_local_llm_compat_server_reachable",
"source": "test_local_llm_compat_server_reachable",
"target": "test_local_llm_compat_detect_local_llm",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L36",
"weight": 1.0,
"_src": "test_local_llm_compat_testlocalllmfollowuptext_setup",
"_tgt": "test_local_llm_compat_detect_local_llm",
"source": "test_local_llm_compat_detect_local_llm",
"target": "test_local_llm_compat_testlocalllmfollowuptext_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_local_llm_compat_testlocalllmfollowuptext",
"_tgt": "test_local_llm_compat_testlocalllmfollowuptext_setup",
"source": "test_local_llm_compat_testlocalllmfollowuptext",
"target": "test_local_llm_compat_testlocalllmfollowuptext_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_local_llm_compat_testlocalllmfollowuptext",
"_tgt": "test_local_llm_compat_testlocalllmfollowuptext_test_followup_text_with_local_llm",
"source": "test_local_llm_compat_testlocalllmfollowuptext",
"target": "test_local_llm_compat_testlocalllmfollowuptext_test_followup_text_with_local_llm",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_local_llm_compat.py",
"source_location": "L56",
"weight": 1.0,
"_src": "test_local_llm_compat_testlocalllmfollowuptext_test_followup_text_with_local_llm",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "test_local_llm_compat_testlocalllmfollowuptext_test_followup_text_with_local_llm",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_res_partner_inherit_py",
"_tgt": "test_res_partner_inherit_testrespartnerfollowup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_res_partner_inherit_py",
"target": "test_res_partner_inherit_testrespartnerfollowup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_res_partner_inherit_testrespartnerfollowup",
"_tgt": "test_res_partner_inherit_testrespartnerfollowup_test_default_status_no_action",
"source": "test_res_partner_inherit_testrespartnerfollowup",
"target": "test_res_partner_inherit_testrespartnerfollowup_test_default_status_no_action",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_res_partner_inherit_testrespartnerfollowup",
"_tgt": "test_res_partner_inherit_testrespartnerfollowup_test_run_count_reflects_history",
"source": "test_res_partner_inherit_testrespartnerfollowup",
"target": "test_res_partner_inherit_testrespartnerfollowup_test_run_count_reflects_history",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_res_partner_inherit_testrespartnerfollowup",
"_tgt": "test_res_partner_inherit_testrespartnerfollowup_test_action_view_followup_history_returns_action",
"source": "test_res_partner_inherit_testrespartnerfollowup",
"target": "test_res_partner_inherit_testrespartnerfollowup_test_action_view_followup_history_returns_action",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_res_partner_inherit.py",
"source_location": "L24",
"weight": 1.0,
"_src": "test_res_partner_inherit_testrespartnerfollowup_test_action_view_followup_history_returns_action",
"_tgt": "res_partner_respartner_action_view_followup_history",
"source": "test_res_partner_inherit_testrespartnerfollowup_test_action_view_followup_history_returns_action",
"target": "res_partner_respartner_action_view_followup_history"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L7",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_account_move_line_inherit_py",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_account_move_line_inherit_py",
"target": "test_account_move_line_inherit_testaccountmovelinefollowup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_account_move_line_inherit_testaccountmovelinefollowup",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup_test_fields_exist_on_model",
"source": "test_account_move_line_inherit_testaccountmovelinefollowup",
"target": "test_account_move_line_inherit_testaccountmovelinefollowup_test_fields_exist_on_model",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L20",
"weight": 1.0,
"_src": "test_account_move_line_inherit_testaccountmovelinefollowup",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup_test_assign_level_and_date_on_existing_line",
"source": "test_account_move_line_inherit_testaccountmovelinefollowup",
"target": "test_account_move_line_inherit_testaccountmovelinefollowup_test_assign_level_and_date_on_existing_line",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_account_move_line_inherit_rationale_8",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup",
"source": "test_account_move_line_inherit_testaccountmovelinefollowup",
"target": "test_account_move_line_inherit_rationale_8",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_account_move_line_inherit_rationale_11",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup_test_fields_exist_on_model",
"source": "test_account_move_line_inherit_testaccountmovelinefollowup_test_fields_exist_on_model",
"target": "test_account_move_line_inherit_rationale_11",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_account_move_line_inherit.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_account_move_line_inherit_rationale_21",
"_tgt": "test_account_move_line_inherit_testaccountmovelinefollowup_test_assign_level_and_date_on_existing_line",
"source": "test_account_move_line_inherit_testaccountmovelinefollowup_test_assign_level_and_date_on_existing_line",
"target": "test_account_move_line_inherit_rationale_21",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tours_py",
"_tgt": "test_followup_tours_testfollowuptours",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tours_py",
"target": "test_followup_tours_testfollowuptours",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_tours_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tours_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_tours_py",
"target": "test_followup_tours_rationale_1",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "httpcase",
"source": "test_followup_tours_testfollowuptours",
"target": "httpcase",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "test_followup_tours_testfollowuptours_test_smoke_tour",
"source": "test_followup_tours_testfollowuptours",
"target": "test_followup_tours_testfollowuptours_test_smoke_tour",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "test_followup_tours_testfollowuptours_test_partners_tour",
"source": "test_followup_tours_testfollowuptours",
"target": "test_followup_tours_testfollowuptours_test_partners_tour",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "test_followup_tours_testfollowuptours_test_levels_tour",
"source": "test_followup_tours_testfollowuptours",
"target": "test_followup_tours_testfollowuptours_test_levels_tour",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L19",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "test_followup_tours_testfollowuptours_test_history_tour",
"source": "test_followup_tours_testfollowuptours",
"target": "test_followup_tours_testfollowuptours_test_history_tour",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_tours.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_followup_tours_testfollowuptours",
"_tgt": "test_followup_tours_testfollowuptours_test_batch_wizard_tour",
"source": "test_followup_tours_testfollowuptours",
"target": "test_followup_tours_testfollowuptours_test_batch_wizard_tour",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L77",
"weight": 1.0,
"_src": "test_performance_benchmarks_testcontrollerbenchmarks",
"_tgt": "httpcase",
"source": "httpcase",
"target": "test_performance_benchmarks_testcontrollerbenchmarks",
"confidence_score": 1.0
},
{
"relation": "inherits",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "httpcase",
"source": "httpcase",
"target": "test_followup_controller_testfollowupcontroller",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_engine_py",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_engine_py",
"target": "test_fusion_followup_engine_testfusionfollowupengine",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_fusion_followup_engine_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_engine_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_engine_py",
"target": "test_fusion_followup_engine_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_setup",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L25",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_engine_model_exists",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_engine_model_exists",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L28",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_get_overdue_returns_dict",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_get_overdue_returns_dict",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_compute_followup_level_no_overdue_returns_empty",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_compute_followup_level_no_overdue_returns_empty",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_pause_sets_partner_state",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_pause_sets_partner_state",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L45",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L55",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_snapshot_history_returns_runs",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_snapshot_history_returns_runs",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L66",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_send_no_overdue_returns_no_action",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_send_no_overdue_returns_no_action",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L72",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine",
"_tgt": "test_fusion_followup_engine_testfusionfollowupengine_test_escalate_when_no_current_level",
"source": "test_fusion_followup_engine_testfusionfollowupengine",
"target": "test_fusion_followup_engine_testfusionfollowupengine_test_escalate_when_no_current_level",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L29",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_get_overdue_returns_dict",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_get_overdue_returns_dict",
"target": "fusion_followup_engine_get_overdue_for_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L35",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_compute_followup_level_no_overdue_returns_empty",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_compute_followup_level_no_overdue_returns_empty",
"target": "fusion_followup_engine_compute_followup_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_pause_sets_partner_state",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_pause_sets_partner_state",
"target": "fusion_followup_engine_pause_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L46",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"target": "fusion_followup_engine_pause_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L47",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"_tgt": "fusion_followup_engine_reset_followup",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_reset_clears_state",
"target": "fusion_followup_engine_reset_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L62",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_snapshot_history_returns_runs",
"_tgt": "fusion_followup_engine_snapshot_followup_history",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_snapshot_history_returns_runs",
"target": "fusion_followup_engine_snapshot_followup_history"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L69",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_send_no_overdue_returns_no_action",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_send_no_overdue_returns_no_action",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_engine.py",
"source_location": "L73",
"weight": 1.0,
"_src": "test_fusion_followup_engine_testfusionfollowupengine_test_escalate_when_no_current_level",
"_tgt": "fusion_followup_engine_escalate_to_next_level",
"source": "test_fusion_followup_engine_testfusionfollowupengine_test_escalate_when_no_current_level",
"target": "fusion_followup_engine_escalate_to_next_level"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_risk_scorer_py",
"_tgt": "test_risk_scorer_testriskscorer",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_risk_scorer_py",
"target": "test_risk_scorer_testriskscorer",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_no_history_returns_low",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_no_history_returns_low",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_chronic_late_pays_returns_high",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_chronic_late_pays_returns_high",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L25",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_one_off_overdue_returns_medium",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_one_off_overdue_returns_medium",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L33",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_score_capped_at_100",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_score_capped_at_100",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L41",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_score_floored_at_0",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_score_floored_at_0",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L45",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "test_risk_scorer_testriskscorer_test_band_thresholds",
"source": "test_risk_scorer_testriskscorer",
"target": "test_risk_scorer_testriskscorer_test_band_thresholds",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L3",
"weight": 0.8,
"_src": "test_risk_scorer_testriskscorer",
"_tgt": "risk_scorer_partnerriskscore",
"source": "test_risk_scorer_testriskscorer",
"target": "risk_scorer_partnerriskscore",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_no_history_returns_low",
"_tgt": "risk_scorer_score_partner",
"source": "test_risk_scorer_testriskscorer_test_no_history_returns_low",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L17",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_chronic_late_pays_returns_high",
"_tgt": "risk_scorer_score_partner",
"source": "test_risk_scorer_testriskscorer_test_chronic_late_pays_returns_high",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_one_off_overdue_returns_medium",
"_tgt": "risk_scorer_score_partner",
"source": "test_risk_scorer_testriskscorer_test_one_off_overdue_returns_medium",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_score_capped_at_100",
"_tgt": "risk_scorer_score_partner",
"source": "test_risk_scorer_testriskscorer_test_score_capped_at_100",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L42",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_score_floored_at_0",
"_tgt": "risk_scorer_score_partner",
"source": "test_risk_scorer_testriskscorer_test_score_floored_at_0",
"target": "risk_scorer_score_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_risk_scorer.py",
"source_location": "L47",
"weight": 1.0,
"_src": "test_risk_scorer_testriskscorer_test_band_thresholds",
"_tgt": "risk_scorer_partnerriskscore",
"source": "test_risk_scorer_testriskscorer_test_band_thresholds",
"target": "risk_scorer_partnerriskscore"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L7",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_tone_selector_py",
"_tgt": "test_tone_selector_testtoneselector",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_tone_selector_py",
"target": "test_tone_selector_testtoneselector",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_level_1_default_gentle",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_level_1_default_gentle",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_level_2_default_firm",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_level_2_default_firm",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L15",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_level_3_default_legal",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_level_3_default_legal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_critical_risk_escalates_gentle_to_firm",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_critical_risk_escalates_gentle_to_firm",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_extreme_risk_escalates_firm_to_legal",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_extreme_risk_escalates_firm_to_legal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L24",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector",
"_tgt": "test_tone_selector_testtoneselector_test_unknown_level_defaults_gentle",
"source": "test_tone_selector_testtoneselector",
"target": "test_tone_selector_testtoneselector_test_unknown_level_defaults_gentle",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_level_1_default_gentle",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_level_1_default_gentle",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_level_2_default_firm",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_level_2_default_firm",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_level_3_default_legal",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_level_3_default_legal",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L19",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_critical_risk_escalates_gentle_to_firm",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_critical_risk_escalates_gentle_to_firm",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_extreme_risk_escalates_firm_to_legal",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_extreme_risk_escalates_firm_to_legal",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_tone_selector.py",
"source_location": "L25",
"weight": 1.0,
"_src": "test_tone_selector_testtoneselector_test_unknown_level_defaults_gentle",
"_tgt": "tone_selector_select_tone",
"source": "test_tone_selector_testtoneselector_test_unknown_level_defaults_gentle",
"target": "tone_selector_select_tone"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_level_py",
"_tgt": "test_fusion_followup_level_testfusionfollowuplevel",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_level_py",
"target": "test_fusion_followup_level_testfusionfollowuplevel",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_fusion_followup_level_testfusionfollowuplevel",
"_tgt": "test_fusion_followup_level_testfusionfollowuplevel_test_create_minimal",
"source": "test_fusion_followup_level_testfusionfollowuplevel",
"target": "test_fusion_followup_level_testfusionfollowuplevel_test_create_minimal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_fusion_followup_level_testfusionfollowuplevel",
"_tgt": "test_fusion_followup_level_testfusionfollowuplevel_test_negative_delay_rejected",
"source": "test_fusion_followup_level_testfusionfollowuplevel",
"target": "test_fusion_followup_level_testfusionfollowuplevel_test_negative_delay_rejected",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_fusion_followup_level_testfusionfollowuplevel",
"_tgt": "test_fusion_followup_level_testfusionfollowuplevel_test_duplicate_sequence_rejected",
"source": "test_fusion_followup_level_testfusionfollowuplevel",
"target": "test_fusion_followup_level_testfusionfollowuplevel_test_duplicate_sequence_rejected",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_level.py",
"source_location": "L31",
"weight": 1.0,
"_src": "test_fusion_followup_level_testfusionfollowuplevel",
"_tgt": "test_fusion_followup_level_testfusionfollowuplevel_test_three_levels_escalate",
"source": "test_fusion_followup_level_testfusionfollowuplevel",
"target": "test_fusion_followup_level_testfusionfollowuplevel_test_three_levels_escalate",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L12",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"_tgt": "test_performance_benchmarks_percentile",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"target": "test_performance_benchmarks_percentile",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L21",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"_tgt": "test_performance_benchmarks_testenginebenchmarks",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"target": "test_performance_benchmarks_testenginebenchmarks",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L77",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"_tgt": "test_performance_benchmarks_testcontrollerbenchmarks",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"target": "test_performance_benchmarks_testcontrollerbenchmarks",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_performance_benchmarks_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_performance_benchmarks_py",
"target": "test_performance_benchmarks_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L41",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"_tgt": "test_performance_benchmarks_percentile",
"source": "test_performance_benchmarks_percentile",
"target": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L54",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"_tgt": "test_performance_benchmarks_percentile",
"source": "test_performance_benchmarks_percentile",
"target": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L69",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"_tgt": "test_performance_benchmarks_percentile",
"source": "test_performance_benchmarks_percentile",
"target": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L96",
"weight": 1.0,
"_src": "test_performance_benchmarks_testcontrollerbenchmarks_test_list_overdue_p95",
"_tgt": "test_performance_benchmarks_percentile",
"source": "test_performance_benchmarks_percentile",
"target": "test_performance_benchmarks_testcontrollerbenchmarks_test_list_overdue_p95",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L23",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks",
"_tgt": "test_performance_benchmarks_testenginebenchmarks_setup",
"source": "test_performance_benchmarks_testenginebenchmarks",
"target": "test_performance_benchmarks_testenginebenchmarks_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks",
"_tgt": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"source": "test_performance_benchmarks_testenginebenchmarks",
"target": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L47",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks",
"_tgt": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"source": "test_performance_benchmarks_testenginebenchmarks",
"target": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L60",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks",
"_tgt": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"source": "test_performance_benchmarks_testenginebenchmarks",
"target": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "test_performance_benchmarks_testenginebenchmarks_test_get_overdue_p95",
"target": "fusion_followup_engine_get_overdue_for_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L52",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "test_performance_benchmarks_testenginebenchmarks_test_compute_followup_level_p95",
"target": "fusion_followup_engine_compute_followup_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L67",
"weight": 1.0,
"_src": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_performance_benchmarks_testenginebenchmarks_test_send_followup_p95",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_performance_benchmarks.py",
"source_location": "L79",
"weight": 1.0,
"_src": "test_performance_benchmarks_testcontrollerbenchmarks",
"_tgt": "test_performance_benchmarks_testcontrollerbenchmarks_test_list_overdue_p95",
"source": "test_performance_benchmarks_testcontrollerbenchmarks",
"target": "test_performance_benchmarks_testcontrollerbenchmarks_test_list_overdue_p95",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/__init__.py",
"source_location": "L24",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L12",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_text_generator_py",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_text_generator_py",
"target": "test_followup_text_generator_testfollowuptextgenerator",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L58",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_text_generator_py",
"_tgt": "test_followup_text_generator_testfollowuptextprompt",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_text_generator_py",
"target": "test_followup_text_generator_testfollowuptextprompt",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator_setup",
"source": "test_followup_text_generator_testfollowuptextgenerator",
"target": "test_followup_text_generator_testfollowuptextgenerator_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_gentle",
"source": "test_followup_text_generator_testfollowuptextgenerator",
"target": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_gentle",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L31",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_firm",
"source": "test_followup_text_generator_testfollowuptextgenerator",
"target": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_firm",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_legal",
"source": "test_followup_text_generator_testfollowuptextgenerator",
"target": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_legal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L48",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator",
"_tgt": "test_followup_text_generator_testfollowuptextgenerator_test_returns_required_keys",
"source": "test_followup_text_generator_testfollowuptextgenerator",
"target": "test_followup_text_generator_testfollowuptextgenerator_test_returns_required_keys",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_gentle",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_gentle",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L32",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_firm",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_firm",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_legal",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "test_followup_text_generator_testfollowuptextgenerator_test_fallback_legal",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L49",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextgenerator_test_returns_required_keys",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "test_followup_text_generator_testfollowuptextgenerator_test_returns_required_keys",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L60",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt",
"_tgt": "test_followup_text_generator_testfollowuptextprompt_test_system_prompt_requires_json",
"source": "test_followup_text_generator_testfollowuptextprompt",
"target": "test_followup_text_generator_testfollowuptextprompt_test_system_prompt_requires_json",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L65",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt",
"_tgt": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_returns_tuple",
"source": "test_followup_text_generator_testfollowuptextprompt",
"target": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_returns_tuple",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L73",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt",
"_tgt": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_includes_risk_drivers",
"source": "test_followup_text_generator_testfollowuptextprompt",
"target": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_includes_risk_drivers",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L66",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_returns_tuple",
"_tgt": "followup_text_prompt_build_prompt",
"source": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_returns_tuple",
"target": "followup_text_prompt_build_prompt"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_text_generator.py",
"source_location": "L74",
"weight": 1.0,
"_src": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_includes_risk_drivers",
"_tgt": "followup_text_prompt_build_prompt",
"source": "test_followup_text_generator_testfollowuptextprompt_test_build_prompt_includes_risk_drivers",
"target": "followup_text_prompt_build_prompt"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L7",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_batch_followup_wizard_py",
"_tgt": "test_batch_followup_wizard_testbatchfollowupwizard",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_batch_followup_wizard_py",
"target": "test_batch_followup_wizard_testbatchfollowupwizard",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L9",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard",
"_tgt": "test_batch_followup_wizard_testbatchfollowupwizard_test_default_loads_active_ids",
"source": "test_batch_followup_wizard_testbatchfollowupwizard",
"target": "test_batch_followup_wizard_testbatchfollowupwizard_test_default_loads_active_ids",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard",
"_tgt": "test_batch_followup_wizard_testbatchfollowupwizard_test_selected_scope_no_partners_raises",
"source": "test_batch_followup_wizard_testbatchfollowupwizard",
"target": "test_batch_followup_wizard_testbatchfollowupwizard_test_selected_scope_no_partners_raises",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L25",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard",
"_tgt": "test_batch_followup_wizard_testbatchfollowupwizard_test_run_completes_with_no_overdue_partners",
"source": "test_batch_followup_wizard_testbatchfollowupwizard",
"target": "test_batch_followup_wizard_testbatchfollowupwizard_test_run_completes_with_no_overdue_partners",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L23",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard_test_selected_scope_no_partners_raises",
"_tgt": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"source": "test_batch_followup_wizard_testbatchfollowupwizard_test_selected_scope_no_partners_raises",
"target": "batch_followup_wizard_fusionbatchfollowupwizard_action_run"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_batch_followup_wizard.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_batch_followup_wizard_testbatchfollowupwizard_test_run_completes_with_no_overdue_partners",
"_tgt": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"source": "test_batch_followup_wizard_testbatchfollowupwizard_test_run_completes_with_no_overdue_partners",
"target": "batch_followup_wizard_fusionbatchfollowupwizard_action_run"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_cron_py",
"_tgt": "test_followup_cron_testfollowupcron",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_cron_py",
"target": "test_followup_cron_testfollowupcron",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_cron_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_cron_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_cron_py",
"target": "test_followup_cron_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron",
"_tgt": "test_followup_cron_testfollowupcron_setup",
"source": "test_followup_cron_testfollowupcron",
"target": "test_followup_cron_testfollowupcron_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron",
"_tgt": "test_followup_cron_testfollowupcron_test_cron_daily_scan_runs",
"source": "test_followup_cron_testfollowupcron",
"target": "test_followup_cron_testfollowupcron_test_cron_daily_scan_runs",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L17",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron",
"_tgt": "test_followup_cron_testfollowupcron_test_cron_risk_refresh_runs",
"source": "test_followup_cron_testfollowupcron",
"target": "test_followup_cron_testfollowupcron_test_cron_risk_refresh_runs",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L15",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron_test_cron_daily_scan_runs",
"_tgt": "fusion_followup_cron_cron_daily_scan",
"source": "test_followup_cron_testfollowupcron_test_cron_daily_scan_runs",
"target": "fusion_followup_cron_cron_daily_scan"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_cron.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_followup_cron_testfollowupcron_test_cron_risk_refresh_runs",
"_tgt": "fusion_followup_cron_cron_risk_refresh",
"source": "test_followup_cron_testfollowupcron_test_cron_risk_refresh_runs",
"target": "fusion_followup_cron_cron_risk_refresh"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L10",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_overdue_aging_py",
"_tgt": "test_overdue_aging_testoverdueaging",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_overdue_aging_py",
"target": "test_overdue_aging_testoverdueaging",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L12",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_empty_lines_returns_zero_buckets",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_empty_lines_returns_zero_buckets",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L19",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_current_bucket_for_future_maturity",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_current_bucket_for_future_maturity",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L27",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_30_day_bucket",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_30_day_bucket",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_60_day_bucket",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_60_day_bucket",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L41",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_120_plus_bucket",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_120_plus_bucket",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L48",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_total_overdue_excludes_current",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_total_overdue_excludes_current",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L59",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging",
"_tgt": "test_overdue_aging_testoverdueaging_test_buckets_sum_equals_total",
"source": "test_overdue_aging_testoverdueaging",
"target": "test_overdue_aging_testoverdueaging_test_buckets_sum_equals_total",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_empty_lines_returns_zero_buckets",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_empty_lines_returns_zero_buckets",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_current_bucket_for_future_maturity",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_current_bucket_for_future_maturity",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L30",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_30_day_bucket",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_30_day_bucket",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L37",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_60_day_bucket",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_60_day_bucket",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L44",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_120_plus_bucket",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_120_plus_bucket",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L55",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_total_overdue_excludes_current",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_total_overdue_excludes_current",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_overdue_aging.py",
"source_location": "L67",
"weight": 1.0,
"_src": "test_overdue_aging_testoverdueaging_test_buckets_sum_equals_total",
"_tgt": "overdue_aging_compute_aging",
"source": "test_overdue_aging_testoverdueaging_test_buckets_sum_equals_total",
"target": "overdue_aging_compute_aging"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_full_flow_py",
"_tgt": "test_followup_full_flow_testfollowupfullflow",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_full_flow_py",
"target": "test_followup_full_flow_testfollowupfullflow",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_full_flow_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_full_flow_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_full_flow_py",
"target": "test_followup_full_flow_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "test_followup_full_flow_testfollowupfullflow_setup",
"source": "test_followup_full_flow_testfollowupfullflow",
"target": "test_followup_full_flow_testfollowupfullflow_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"source": "test_followup_full_flow_testfollowupfullflow",
"target": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L59",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"source": "test_followup_full_flow_testfollowupfullflow",
"target": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L70",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "test_followup_full_flow_testfollowupfullflow_test_text_cache_reused_on_repeat",
"source": "test_followup_full_flow_testfollowupfullflow",
"target": "test_followup_full_flow_testfollowupfullflow_test_text_cache_reused_on_repeat",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L78",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow",
"_tgt": "test_followup_full_flow_testfollowupfullflow_test_history_records_each_send",
"source": "test_followup_full_flow_testfollowupfullflow",
"target": "test_followup_full_flow_testfollowupfullflow_test_history_records_each_send",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"target": "fusion_followup_engine_compute_followup_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L45",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L50",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"target": "fusion_followup_engine_pause_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L55",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"_tgt": "fusion_followup_engine_reset_followup",
"source": "test_followup_full_flow_testfollowupfullflow_test_full_flow_scan_send_reset",
"target": "fusion_followup_engine_reset_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L62",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L64",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"_tgt": "fusion_followup_engine_escalate_to_next_level",
"source": "test_followup_full_flow_testfollowupfullflow_test_escalate_advances_to_next_level",
"target": "fusion_followup_engine_escalate_to_next_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L72",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_text_cache_reused_on_repeat",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_followup_full_flow_testfollowupfullflow_test_text_cache_reused_on_repeat",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_full_flow.py",
"source_location": "L81",
"weight": 1.0,
"_src": "test_followup_full_flow_testfollowupfullflow_test_history_records_each_send",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_followup_full_flow_testfollowupfullflow_test_history_records_each_send",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_text_cache_py",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_text_cache_py",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_text_cache_py",
"_tgt": "test_fusion_followup_text_cache_setupclass",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_text_cache_py",
"target": "test_fusion_followup_text_cache_setupclass",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L17",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L34",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L52",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_action_increment_use",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_action_increment_use",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L27",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L35",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"_tgt": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_kwargs",
"target": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L27",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"_tgt": "fusion_followup_text_cache_compute_fingerprint",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_fingerprint_stable_and_unique",
"target": "fusion_followup_text_cache_compute_fingerprint"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L35",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"_tgt": "fusion_followup_text_cache_lookup",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_returns_empty_when_missing",
"target": "fusion_followup_text_cache_lookup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"_tgt": "fusion_followup_text_cache_compute_fingerprint",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"target": "fusion_followup_text_cache_compute_fingerprint"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L49",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"_tgt": "fusion_followup_text_cache_lookup",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_lookup_finds_cached_entry",
"target": "fusion_followup_text_cache_lookup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_text_cache.py",
"source_location": "L58",
"weight": 1.0,
"_src": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_action_increment_use",
"_tgt": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"source": "test_fusion_followup_text_cache_testfusionfollowuptextcache_test_action_increment_use",
"target": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_run_py",
"_tgt": "test_fusion_followup_run_testfusionfollowuprun",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_run_py",
"target": "test_fusion_followup_run_testfusionfollowuprun",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_run_py",
"_tgt": "test_fusion_followup_run_setupclass",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_fusion_followup_run_py",
"target": "test_fusion_followup_run_setupclass",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun",
"_tgt": "test_fusion_followup_run_testfusionfollowuprun_test_create_minimal",
"source": "test_fusion_followup_run_testfusionfollowuprun",
"target": "test_fusion_followup_run_testfusionfollowuprun_test_create_minimal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L24",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun",
"_tgt": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_sent",
"source": "test_fusion_followup_run_testfusionfollowuprun",
"target": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_sent",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L32",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun",
"_tgt": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_failed_records_error",
"source": "test_fusion_followup_run_testfusionfollowuprun",
"target": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_failed_records_error",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun",
"_tgt": "test_fusion_followup_run_testfusionfollowuprun_test_partner_required",
"source": "test_fusion_followup_run_testfusionfollowuprun",
"target": "test_fusion_followup_run_testfusionfollowuprun_test_partner_required",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L29",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_sent",
"_tgt": "fusion_followup_run_fusionfollowuprun_action_mark_sent",
"source": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_sent",
"target": "fusion_followup_run_fusionfollowuprun_action_mark_sent"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_fusion_followup_run.py",
"source_location": "L36",
"weight": 1.0,
"_src": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_failed_records_error",
"_tgt": "fusion_followup_run_fusionfollowuprun_action_mark_failed",
"source": "test_fusion_followup_run_testfusionfollowuprun_test_action_mark_failed_records_error",
"target": "fusion_followup_run_fusionfollowuprun_action_mark_failed"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L12",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_adapter_py",
"_tgt": "test_followup_adapter_testfollowupadapter",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_adapter_py",
"target": "test_followup_adapter_testfollowupadapter",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_adapter_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_adapter_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_adapter_py",
"target": "test_followup_adapter_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L14",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "test_followup_adapter_testfollowupadapter_setup",
"source": "test_followup_adapter_testfollowupadapter",
"target": "test_followup_adapter_testfollowupadapter_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L18",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_fusion_returns_dict",
"source": "test_followup_adapter_testfollowupadapter",
"target": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_fusion_returns_dict",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_community_returns_error",
"source": "test_followup_adapter_testfollowupadapter",
"target": "test_followup_adapter_testfollowupadapter_test_list_overdue_via_community_returns_error",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L30",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "test_followup_adapter_testfollowupadapter_test_send_followup_via_fusion_no_overdue",
"source": "test_followup_adapter_testfollowupadapter",
"target": "test_followup_adapter_testfollowupadapter_test_send_followup_via_fusion_no_overdue",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_adapter.py",
"source_location": "L40",
"weight": 1.0,
"_src": "test_followup_adapter_testfollowupadapter",
"_tgt": "test_followup_adapter_testfollowupadapter_test_send_followup_via_community_returns_error",
"source": "test_followup_adapter_testfollowupadapter",
"target": "test_followup_adapter_testfollowupadapter_test_send_followup_via_community_returns_error",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L11",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_controller_py",
"_tgt": "test_followup_controller_testfollowupcontroller",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_controller_py",
"target": "test_followup_controller_testfollowupcontroller",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_followup_controller_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_controller_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_followup_controller_py",
"target": "test_followup_controller_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_setup",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_jsonrpc",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_list_overdue_returns_dict",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_list_overdue_returns_dict",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L43",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_get_partner_detail",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_get_partner_detail",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L52",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_pause_sets_paused_until",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_pause_sets_paused_until",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L60",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_reset_clears_status",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_reset_clears_status",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L68",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_send_no_overdue_returns_no_action",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_send_no_overdue_returns_no_action",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L77",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller",
"_tgt": "test_followup_controller_testfollowupcontroller_test_generate_text_no_level_returns_no_level",
"source": "test_followup_controller_testfollowupcontroller",
"target": "test_followup_controller_testfollowupcontroller_test_generate_text_no_level_returns_no_level",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_list_overdue_returns_dict",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_list_overdue_returns_dict",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L47",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_get_partner_detail",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_get_partner_detail",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L55",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_pause_sets_paused_until",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_pause_sets_paused_until",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L65",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_reset_clears_status",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_reset_clears_status",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L72",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_send_no_overdue_returns_no_action",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_send_no_overdue_returns_no_action",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_followup_controller.py",
"source_location": "L79",
"weight": 1.0,
"_src": "test_followup_controller_testfollowupcontroller_test_generate_text_no_level_returns_no_level",
"_tgt": "test_followup_controller_testfollowupcontroller_jsonrpc",
"source": "test_followup_controller_testfollowupcontroller_jsonrpc",
"target": "test_followup_controller_testfollowupcontroller_test_generate_text_no_level_returns_no_level",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L11",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_level_resolver_py",
"_tgt": "test_level_resolver_testlevelresolver",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_level_resolver_py",
"target": "test_level_resolver_testlevelresolver",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L13",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_setup",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L21",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L28",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L35",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L42",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L49",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L56",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "test_level_resolver_testlevelresolver_test_invalid_tone_raises",
"source": "test_level_resolver_testlevelresolver",
"target": "test_level_resolver_testlevelresolver_test_invalid_tone_raises",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L4",
"weight": 0.8,
"_src": "test_level_resolver_testlevelresolver",
"_tgt": "level_resolver_followuplevelspec",
"source": "test_level_resolver_testlevelresolver",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L16",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_setup",
"_tgt": "level_resolver_followuplevelspec",
"source": "test_level_resolver_testlevelresolver_setup",
"target": "level_resolver_followuplevelspec"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L24",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"_tgt": "overdue_aging_compute_aging",
"source": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L25",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"_tgt": "level_resolver_resolve_level",
"source": "test_level_resolver_testlevelresolver_test_no_overdue_returns_none",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L31",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"_tgt": "overdue_aging_compute_aging",
"source": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L32",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"_tgt": "level_resolver_resolve_level",
"source": "test_level_resolver_testlevelresolver_test_15_days_overdue_picks_reminder",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"_tgt": "overdue_aging_compute_aging",
"source": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L39",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"_tgt": "level_resolver_resolve_level",
"source": "test_level_resolver_testlevelresolver_test_45_days_overdue_picks_warning",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L45",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"_tgt": "overdue_aging_compute_aging",
"source": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L46",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"_tgt": "level_resolver_resolve_level",
"source": "test_level_resolver_testlevelresolver_test_75_days_overdue_picks_legal",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L52",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"_tgt": "overdue_aging_compute_aging",
"source": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L53",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"_tgt": "level_resolver_resolve_level",
"source": "test_level_resolver_testlevelresolver_test_no_levels_returns_none",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_level_resolver.py",
"source_location": "L58",
"weight": 1.0,
"_src": "test_level_resolver_testlevelresolver_test_invalid_tone_raises",
"_tgt": "level_resolver_followuplevelspec",
"source": "test_level_resolver_testlevelresolver_test_invalid_tone_raises",
"target": "level_resolver_followuplevelspec"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_integration_py",
"_tgt": "test_engine_integration_testfollowupengineintegration",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_integration_py",
"target": "test_engine_integration_testfollowupengineintegration",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_engine_integration_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_integration_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_engine_integration_py",
"target": "test_engine_integration_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_setup",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L37",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_get_overdue_finds_lines",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_get_overdue_finds_lines",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L42",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_compute_level_picks_reminder_at_20_days",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_compute_level_picks_reminder_at_20_days",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L47",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_send_followup_creates_run",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_send_followup_creates_run",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L54",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L62",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_history_grows_with_each_send",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_history_grows_with_each_send",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L69",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration",
"_tgt": "test_engine_integration_testfollowupengineintegration_test_text_cache_used_on_repeat_call",
"source": "test_engine_integration_testfollowupengineintegration",
"target": "test_engine_integration_testfollowupengineintegration_test_text_cache_used_on_repeat_call",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L38",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_get_overdue_finds_lines",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "test_engine_integration_testfollowupengineintegration_test_get_overdue_finds_lines",
"target": "fusion_followup_engine_get_overdue_for_partner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L43",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_compute_level_picks_reminder_at_20_days",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "test_engine_integration_testfollowupengineintegration_test_compute_level_picks_reminder_at_20_days",
"target": "fusion_followup_engine_compute_followup_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L48",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_send_followup_creates_run",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_engine_integration_testfollowupengineintegration_test_send_followup_creates_run",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L55",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"target": "fusion_followup_engine_pause_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L57",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_engine_integration_testfollowupengineintegration_test_pause_blocks_send_unless_force",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L65",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_history_grows_with_each_send",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_engine_integration_testfollowupengineintegration_test_history_grows_with_each_send",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_engine_integration.py",
"source_location": "L71",
"weight": 1.0,
"_src": "test_engine_integration_testfollowupengineintegration_test_text_cache_used_on_repeat_call",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "test_engine_integration_testfollowupengineintegration_test_text_cache_used_on_repeat_call",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_migration_round_trip_py",
"_tgt": "test_migration_round_trip_testfollowupmigrationroundtrip",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_migration_round_trip_py",
"target": "test_migration_round_trip_testfollowupmigrationroundtrip",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L8",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip",
"_tgt": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_step_runs",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip",
"target": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_step_runs",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L15",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip",
"_tgt": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_idempotent",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip",
"target": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_idempotent",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L23",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip",
"_tgt": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip",
"target": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L10",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_step_runs",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_step_runs",
"target": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L17",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_idempotent",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip_test_bootstrap_idempotent",
"target": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L24",
"weight": 1.0,
"_src": "test_migration_round_trip_rationale_24",
"_tgt": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"target": "test_migration_round_trip_rationale_24",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_migration_round_trip.py",
"source_location": "L26",
"weight": 1.0,
"_src": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"source": "test_migration_round_trip_testfollowupmigrationroundtrip_test_partner_state_bootstrap_step",
"target": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_coexistence_py",
"_tgt": "test_coexistence_testfollowupcoexistence",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_coexistence_py",
"target": "test_coexistence_testfollowupcoexistence",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L1",
"weight": 1.0,
"_src": "test_coexistence_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_coexistence_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_tests_test_coexistence_py",
"target": "test_coexistence_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L11",
"weight": 1.0,
"_src": "test_coexistence_testfollowupcoexistence",
"_tgt": "test_coexistence_testfollowupcoexistence_setup",
"source": "test_coexistence_testfollowupcoexistence",
"target": "test_coexistence_testfollowupcoexistence_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L19",
"weight": 1.0,
"_src": "test_coexistence_testfollowupcoexistence",
"_tgt": "test_coexistence_testfollowupcoexistence_test_engine_always_available",
"source": "test_coexistence_testfollowupcoexistence",
"target": "test_coexistence_testfollowupcoexistence_test_engine_always_available",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L22",
"weight": 1.0,
"_src": "test_coexistence_testfollowupcoexistence",
"_tgt": "test_coexistence_testfollowupcoexistence_test_menu_gated_by_coexistence_group",
"source": "test_coexistence_testfollowupcoexistence",
"target": "test_coexistence_testfollowupcoexistence_test_menu_gated_by_coexistence_group",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/tests/test_coexistence.py",
"source_location": "L31",
"weight": 1.0,
"_src": "test_coexistence_testfollowupcoexistence",
"_tgt": "test_coexistence_testfollowupcoexistence_test_levels_menu_gated",
"source": "test_coexistence_testfollowupcoexistence",
"target": "test_coexistence_testfollowupcoexistence_test_levels_menu_gated",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"_tgt": "fusion_followup_text_cache_fusionfollowuptextcache",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"target": "fusion_followup_text_cache_fusionfollowuptextcache",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L34",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"_tgt": "fusion_followup_text_cache_compute_fingerprint",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"target": "fusion_followup_text_cache_compute_fingerprint",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L43",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"_tgt": "fusion_followup_text_cache_lookup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"target": "fusion_followup_text_cache_lookup",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_followup_text_cache_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_text_cache_py",
"target": "fusion_followup_text_cache_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L58",
"weight": 1.0,
"_src": "fusion_followup_text_cache_fusionfollowuptextcache",
"_tgt": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"source": "fusion_followup_text_cache_fusionfollowuptextcache",
"target": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_text_cache.py",
"source_location": "L47",
"weight": 1.0,
"_src": "fusion_followup_text_cache_lookup",
"_tgt": "fusion_followup_text_cache_compute_fingerprint",
"source": "fusion_followup_text_cache_compute_fingerprint",
"target": "fusion_followup_text_cache_lookup",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L336",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"_tgt": "fusion_followup_text_cache_compute_fingerprint",
"source": "fusion_followup_text_cache_compute_fingerprint",
"target": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L306",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"_tgt": "fusion_followup_text_cache_lookup",
"source": "fusion_followup_text_cache_lookup",
"target": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L313",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"_tgt": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"source": "fusion_followup_text_cache_fusionfollowuptextcache_action_increment_use",
"target": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L18",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"_tgt": "fusion_followup_cron_fusionfollowupcron",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"target": "fusion_followup_cron_fusionfollowupcron",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L23",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"_tgt": "fusion_followup_cron_cron_daily_scan",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"target": "fusion_followup_cron_cron_daily_scan",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L59",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"_tgt": "fusion_followup_cron_cron_risk_refresh",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"target": "fusion_followup_cron_cron_risk_refresh",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_followup_cron_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_cron_py",
"target": "fusion_followup_cron_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L43",
"weight": 1.0,
"_src": "fusion_followup_cron_cron_daily_scan",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "fusion_followup_cron_cron_daily_scan",
"target": "fusion_followup_engine_send_followup_email"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_cron.py",
"source_location": "L74",
"weight": 1.0,
"_src": "fusion_followup_cron_cron_risk_refresh",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "fusion_followup_cron_cron_risk_refresh",
"target": "fusion_followup_engine_get_overdue_for_partner"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/account_move_line.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_account_move_line_py",
"_tgt": "account_move_line_accountmoveline",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_account_move_line_py",
"target": "account_move_line_accountmoveline",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/account_move_line.py",
"source_location": "L1",
"weight": 1.0,
"_src": "account_move_line_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_account_move_line_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_account_move_line_py",
"target": "account_move_line_rationale_1",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/__init__.py",
"source_location": "L8",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L15",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_run_py",
"_tgt": "fusion_followup_run_fusionfollowuprun",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_run_py",
"target": "fusion_followup_run_fusionfollowuprun",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_followup_run_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_run_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_run_py",
"target": "fusion_followup_run_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L50",
"weight": 1.0,
"_src": "fusion_followup_run_fusionfollowuprun",
"_tgt": "fusion_followup_run_fusionfollowuprun_action_mark_sent",
"source": "fusion_followup_run_fusionfollowuprun",
"target": "fusion_followup_run_fusionfollowuprun_action_mark_sent",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_run.py",
"source_location": "L53",
"weight": 1.0,
"_src": "fusion_followup_run_fusionfollowuprun",
"_tgt": "fusion_followup_run_fusionfollowuprun_action_mark_failed",
"source": "fusion_followup_run_fusionfollowuprun",
"target": "fusion_followup_run_fusionfollowuprun_action_mark_failed",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_level.py",
"source_location": "L13",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_level_py",
"_tgt": "fusion_followup_level_fusionfollowuplevel",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_level_py",
"target": "fusion_followup_level_fusionfollowuplevel",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_level.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_followup_level_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_level_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_level_py",
"target": "fusion_followup_level_rationale_1",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L13",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L15",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L16",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L17",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L22",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_fusionfollowupengine",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_fusionfollowupengine",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L31",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_get_overdue_for_partner",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L57",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_compute_followup_level",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L98",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_send_followup_email",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L171",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_escalate_to_next_level",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_escalate_to_next_level",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L188",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_pause_followup",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L199",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_reset_followup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_reset_followup",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L210",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"_tgt": "fusion_followup_engine_snapshot_followup_history",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_snapshot_followup_history",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_followup_engine_py",
"target": "fusion_followup_engine_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L238",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L249",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L286",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L301",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L352",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_create_run",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_create_run",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L364",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "fusion_followup_engine_fusionfollowupengine_send_email",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "fusion_followup_engine_fusionfollowupengine_send_email",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_fusionfollowupengine",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_fusionfollowupengine",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L35",
"weight": 1.0,
"_src": "fusion_followup_engine_get_overdue_for_partner",
"_tgt": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L43",
"weight": 1.0,
"_src": "fusion_followup_engine_get_overdue_for_partner",
"_tgt": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L124",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "fusion_followup_engine_send_followup_email",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L36",
"weight": 1.0,
"_src": "fusion_followup_engine_get_overdue_for_partner",
"_tgt": "overdue_aging_compute_aging",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L47",
"weight": 1.0,
"_src": "fusion_followup_engine_get_overdue_for_partner",
"_tgt": "overdue_aging_agingreport_to_dict",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "overdue_aging_agingreport_to_dict"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L50",
"weight": 1.0,
"_src": "followup_controller_list_overdue",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "followup_controller_list_overdue"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L79",
"weight": 1.0,
"_src": "followup_controller_get_partner_detail",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "followup_controller_get_partner_detail"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L123",
"weight": 1.0,
"_src": "followup_controller_generate_text",
"_tgt": "fusion_followup_engine_get_overdue_for_partner",
"source": "fusion_followup_engine_get_overdue_for_partner",
"target": "followup_controller_generate_text"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L67",
"weight": 1.0,
"_src": "fusion_followup_engine_compute_followup_level",
"_tgt": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"source": "fusion_followup_engine_compute_followup_level",
"target": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L112",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "fusion_followup_engine_compute_followup_level",
"target": "fusion_followup_engine_send_followup_email",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L70",
"weight": 1.0,
"_src": "fusion_followup_engine_compute_followup_level",
"_tgt": "overdue_aging_compute_aging",
"source": "fusion_followup_engine_compute_followup_level",
"target": "overdue_aging_compute_aging"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L86",
"weight": 1.0,
"_src": "fusion_followup_engine_compute_followup_level",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_compute_followup_level",
"target": "level_resolver_followuplevelspec"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L91",
"weight": 1.0,
"_src": "fusion_followup_engine_compute_followup_level",
"_tgt": "level_resolver_resolve_level",
"source": "fusion_followup_engine_compute_followup_level",
"target": "level_resolver_resolve_level"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L81",
"weight": 1.0,
"_src": "followup_controller_get_partner_detail",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "fusion_followup_engine_compute_followup_level",
"target": "followup_controller_get_partner_detail"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L119",
"weight": 1.0,
"_src": "followup_controller_generate_text",
"_tgt": "fusion_followup_engine_compute_followup_level",
"source": "fusion_followup_engine_compute_followup_level",
"target": "followup_controller_generate_text"
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L117",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_fusionfollowupengine_create_run",
"source": "fusion_followup_engine_send_followup_email",
"target": "fusion_followup_engine_fusionfollowupengine_create_run",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L133",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"source": "fusion_followup_engine_send_followup_email",
"target": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L136",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"source": "fusion_followup_engine_send_followup_email",
"target": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L154",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "fusion_followup_engine_fusionfollowupengine_send_email",
"source": "fusion_followup_engine_send_followup_email",
"target": "fusion_followup_engine_fusionfollowupengine_send_email",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L185",
"weight": 1.0,
"_src": "fusion_followup_engine_escalate_to_next_level",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "fusion_followup_engine_send_followup_email",
"target": "fusion_followup_engine_escalate_to_next_level",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L128",
"weight": 1.0,
"_src": "fusion_followup_engine_send_followup_email",
"_tgt": "tone_selector_select_tone",
"source": "fusion_followup_engine_send_followup_email",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L68",
"weight": 1.0,
"_src": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "fusion_followup_engine_send_followup_email",
"target": "batch_followup_wizard_fusionbatchfollowupwizard_action_run"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L161",
"weight": 1.0,
"_src": "followup_controller_send_followup",
"_tgt": "fusion_followup_engine_send_followup_email",
"source": "fusion_followup_engine_send_followup_email",
"target": "followup_controller_send_followup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L167",
"weight": 1.0,
"_src": "followup_controller_pause",
"_tgt": "fusion_followup_engine_pause_followup",
"source": "fusion_followup_engine_pause_followup",
"target": "followup_controller_pause"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L173",
"weight": 1.0,
"_src": "followup_controller_reset",
"_tgt": "fusion_followup_engine_reset_followup",
"source": "fusion_followup_engine_reset_followup",
"target": "followup_controller_reset"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L80",
"weight": 1.0,
"_src": "followup_controller_get_partner_detail",
"_tgt": "fusion_followup_engine_snapshot_followup_history",
"source": "fusion_followup_engine_snapshot_followup_history",
"target": "followup_controller_get_partner_detail"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L239",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_239",
"_tgt": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"source": "fusion_followup_engine_fusionfollowupengine_fetch_overdue_lines",
"target": "fusion_followup_engine_rationale_239",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L250",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_250",
"_tgt": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"source": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"target": "fusion_followup_engine_rationale_250",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L277",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"_tgt": "risk_scorer_score_partner",
"source": "fusion_followup_engine_fusionfollowupengine_compute_risk",
"target": "risk_scorer_score_partner"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L287",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_287",
"_tgt": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"source": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"target": "fusion_followup_engine_rationale_287",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L138",
"weight": 1.0,
"_src": "followup_controller_generate_text",
"_tgt": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"source": "fusion_followup_engine_fusionfollowupengine_max_overdue_days_from_aging",
"target": "followup_controller_generate_text"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L304",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_304",
"_tgt": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"source": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"target": "fusion_followup_engine_rationale_304",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L323",
"weight": 1.0,
"_src": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "fusion_followup_engine_fusionfollowupengine_get_or_generate_text",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L365",
"weight": 1.0,
"_src": "fusion_followup_engine_rationale_365",
"_tgt": "fusion_followup_engine_fusionfollowupengine_send_email",
"source": "fusion_followup_engine_fusionfollowupengine_send_email",
"target": "fusion_followup_engine_rationale_365",
"confidence_score": 1.0
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_1",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_1",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_32",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_32",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_58",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_58",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_99",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_99",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_172",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_172",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_189",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_189",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_200",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_200",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_211",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_211",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_239",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_239",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_250",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_250",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_287",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_287",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_304",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_304",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "uses",
"confidence": "INFERRED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_followup_engine.py",
"source_location": "L14",
"weight": 0.8,
"_src": "fusion_followup_engine_rationale_365",
"_tgt": "level_resolver_followuplevelspec",
"source": "fusion_followup_engine_rationale_365",
"target": "level_resolver_followuplevelspec",
"confidence_score": 0.5
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L13",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_migration_wizard_py",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_migration_wizard_py",
"target": "fusion_migration_wizard_fusionmigrationwizard",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L1",
"weight": 1.0,
"_src": "fusion_migration_wizard_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_migration_wizard_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_fusion_migration_wizard_py",
"target": "fusion_migration_wizard_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L16",
"weight": 1.0,
"_src": "fusion_migration_wizard_fusionmigrationwizard",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard",
"target": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L81",
"weight": 1.0,
"_src": "fusion_migration_wizard_fusionmigrationwizard",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard",
"target": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L187",
"weight": 1.0,
"_src": "fusion_migration_wizard_fusionmigrationwizard",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"source": "fusion_migration_wizard_fusionmigrationwizard",
"target": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L190",
"weight": 1.0,
"_src": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"target": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L17",
"weight": 1.0,
"_src": "fusion_migration_wizard_rationale_17",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard_followup_bootstrap_step",
"target": "fusion_migration_wizard_rationale_17",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L194",
"weight": 1.0,
"_src": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"target": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/fusion_migration_wizard.py",
"source_location": "L82",
"weight": 1.0,
"_src": "fusion_migration_wizard_rationale_82",
"_tgt": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"source": "fusion_migration_wizard_fusionmigrationwizard_followup_partner_state_bootstrap_step",
"target": "fusion_migration_wizard_rationale_82",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L15",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_res_partner_py",
"_tgt": "res_partner_respartner",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_res_partner_py",
"target": "res_partner_respartner",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L1",
"weight": 1.0,
"_src": "res_partner_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_res_partner_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_models_res_partner_py",
"target": "res_partner_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L40",
"weight": 1.0,
"_src": "res_partner_respartner",
"_tgt": "res_partner_respartner_compute_fusion_followup_run_count",
"source": "res_partner_respartner",
"target": "res_partner_respartner_compute_fusion_followup_run_count",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/models/res_partner.py",
"source_location": "L44",
"weight": 1.0,
"_src": "res_partner_respartner",
"_tgt": "res_partner_respartner_action_view_followup_history",
"source": "res_partner_respartner",
"target": "res_partner_respartner_action_view_followup_history",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/risk_badge/risk_badge.js",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_risk_badge_risk_badge_js",
"_tgt": "risk_badge_riskbadge",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_risk_badge_risk_badge_js",
"target": "risk_badge_riskbadge",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/partner_card/partner_card.js",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_partner_card_partner_card_js",
"_tgt": "partner_card_partnercard",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_partner_card_partner_card_js",
"target": "partner_card_partnercard",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_ai_text_panel_ai_text_panel_js",
"_tgt": "ai_text_panel_aitextpanel",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_ai_text_panel_ai_text_panel_js",
"target": "ai_text_panel_aitextpanel",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_followup_history_table_followup_history_table_js",
"_tgt": "followup_history_table_followuphistorytable",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_followup_history_table_followup_history_table_js",
"target": "followup_history_table_followuphistorytable",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js",
"source_location": "L11",
"weight": 1.0,
"_src": "followup_history_table_followuphistorytable",
"_tgt": "followup_history_table_followuphistorytable_formatdate",
"source": "followup_history_table_followuphistorytable",
"target": "followup_history_table_followuphistorytable_formatdate",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js",
"source_location": "L5",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_aging_bucket_strip_aging_bucket_strip_js",
"_tgt": "aging_bucket_strip_agingbucketstrip",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_components_aging_bucket_strip_aging_bucket_strip_js",
"target": "aging_bucket_strip_agingbucketstrip",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js",
"source_location": "L11",
"weight": 1.0,
"_src": "aging_bucket_strip_agingbucketstrip",
"_tgt": "aging_bucket_strip_agingbucketstrip_bucketwidth",
"source": "aging_bucket_strip_agingbucketstrip",
"target": "aging_bucket_strip_agingbucketstrip_bucketwidth",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L11",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_views_followup_dashboard_followup_dashboard_js",
"_tgt": "followup_dashboard_followupdashboard",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_views_followup_dashboard_followup_dashboard_js",
"target": "followup_dashboard_followupdashboard",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L16",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_setup",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_setup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L27",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_onselectpartner",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_onselectpartner",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L31",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_onstatusfilter",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_onstatusfilter",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L35",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_ongeneratetext",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_ongeneratetext",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L40",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_onsend",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_onsend",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L45",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_onpause",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_onpause",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L55",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_onreset",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_onreset",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L60",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_formatcurrency",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_formatcurrency",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L66",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard",
"_tgt": "followup_dashboard_followupdashboard_totaloverdue",
"source": "followup_dashboard_followupdashboard",
"target": "followup_dashboard_followupdashboard_totaloverdue",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L28",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_onselectpartner",
"_tgt": "followup_service_followupservice_selectpartner",
"source": "followup_dashboard_followupdashboard_onselectpartner",
"target": "followup_service_followupservice_selectpartner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L32",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_onstatusfilter",
"_tgt": "followup_service_followupservice_setstatusfilter",
"source": "followup_dashboard_followupdashboard_onstatusfilter",
"target": "followup_service_followupservice_setstatusfilter"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L37",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_ongeneratetext",
"_tgt": "followup_service_followupservice_generatetext",
"source": "followup_dashboard_followupdashboard_ongeneratetext",
"target": "followup_service_followupservice_generatetext"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L42",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_onsend",
"_tgt": "followup_service_followupservice_sendfollowup",
"source": "followup_dashboard_followupdashboard_onsend",
"target": "followup_service_followupservice_sendfollowup"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L51",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_onpause",
"_tgt": "followup_service_followupservice_pausepartner",
"source": "followup_dashboard_followupdashboard_onpause",
"target": "followup_service_followupservice_pausepartner"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/views/followup_dashboard/followup_dashboard.js",
"source_location": "L57",
"weight": 1.0,
"_src": "followup_dashboard_followupdashboard_onreset",
"_tgt": "followup_service_followupservice_resetpartner",
"source": "followup_dashboard_followupdashboard_onreset",
"target": "followup_service_followupservice_resetpartner"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_services_followup_service_js",
"_tgt": "followup_service_followupservice",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_static_src_services_followup_service_js",
"target": "followup_service_followupservice",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L10",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_constructor",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_constructor",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L32",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_loadoverdue",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_loadoverdue",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L50",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_selectpartner",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_selectpartner",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L63",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_generatetext",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_generatetext",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L79",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_sendfollowup",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_sendfollowup",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L101",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_pausepartner",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_pausepartner",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L118",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_resetpartner",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_resetpartner",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L135",
"weight": 1.0,
"_src": "followup_service_followupservice",
"_tgt": "followup_service_followupservice_setstatusfilter",
"source": "followup_service_followupservice",
"target": "followup_service_followupservice_setstatusfilter",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L91",
"weight": 1.0,
"_src": "followup_service_followupservice_sendfollowup",
"_tgt": "followup_service_followupservice_loadoverdue",
"source": "followup_service_followupservice_loadoverdue",
"target": "followup_service_followupservice_sendfollowup",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L110",
"weight": 1.0,
"_src": "followup_service_followupservice_pausepartner",
"_tgt": "followup_service_followupservice_loadoverdue",
"source": "followup_service_followupservice_loadoverdue",
"target": "followup_service_followupservice_pausepartner",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L127",
"weight": 1.0,
"_src": "followup_service_followupservice_resetpartner",
"_tgt": "followup_service_followupservice_loadoverdue",
"source": "followup_service_followupservice_loadoverdue",
"target": "followup_service_followupservice_resetpartner",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L138",
"weight": 1.0,
"_src": "followup_service_followupservice_setstatusfilter",
"_tgt": "followup_service_followupservice_loadoverdue",
"source": "followup_service_followupservice_loadoverdue",
"target": "followup_service_followupservice_setstatusfilter",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L89",
"weight": 1.0,
"_src": "followup_service_followupservice_sendfollowup",
"_tgt": "followup_service_followupservice_selectpartner",
"source": "followup_service_followupservice_selectpartner",
"target": "followup_service_followupservice_sendfollowup",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L108",
"weight": 1.0,
"_src": "followup_service_followupservice_pausepartner",
"_tgt": "followup_service_followupservice_selectpartner",
"source": "followup_service_followupservice_selectpartner",
"target": "followup_service_followupservice_pausepartner",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/static/src/services/followup_service.js",
"source_location": "L125",
"weight": 1.0,
"_src": "followup_service_followupservice_resetpartner",
"_tgt": "followup_service_followupservice_selectpartner",
"source": "followup_service_followupservice_selectpartner",
"target": "followup_service_followupservice_resetpartner",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L9",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"_tgt": "batch_followup_wizard_fusionbatchfollowupwizard",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"target": "batch_followup_wizard_fusionbatchfollowupwizard",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L36",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"_tgt": "batch_followup_wizard_default_partner_ids",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"target": "batch_followup_wizard_default_partner_ids",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L1",
"weight": 1.0,
"_src": "batch_followup_wizard_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_batch_followup_wizard_py",
"target": "batch_followup_wizard_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/batch_followup_wizard.py",
"source_location": "L42",
"weight": 1.0,
"_src": "batch_followup_wizard_fusionbatchfollowupwizard",
"_tgt": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"source": "batch_followup_wizard_fusionbatchfollowupwizard",
"target": "batch_followup_wizard_fusionbatchfollowupwizard_action_run",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/wizards/__init__.py",
"source_location": "L1",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_wizards_init_py",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/__init__.py",
"source_location": "L1",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L16",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_parse_date",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_parse_date",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L24",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_fusionfollowupcontroller",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_fusionfollowupcontroller",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L27",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_list_overdue",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_list_overdue",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L74",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_get_partner_detail",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_get_partner_detail",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L108",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_generate_text",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_generate_text",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L155",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_send_followup",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_send_followup",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L164",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_pause",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_pause",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L170",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"_tgt": "followup_controller_reset",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_reset",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L1",
"weight": 1.0,
"_src": "followup_controller_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_controllers_followup_controller_py",
"target": "followup_controller_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L167",
"weight": 1.0,
"_src": "followup_controller_pause",
"_tgt": "followup_controller_parse_date",
"source": "followup_controller_parse_date",
"target": "followup_controller_pause",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L124",
"weight": 1.0,
"_src": "followup_controller_generate_text",
"_tgt": "tone_selector_select_tone",
"source": "followup_controller_generate_text",
"target": "tone_selector_select_tone"
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/controllers/followup_controller.py",
"source_location": "L133",
"weight": 1.0,
"_src": "followup_controller_generate_text",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "followup_controller_generate_text",
"target": "followup_text_generator_generate_followup_text"
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L10",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"_tgt": "risk_scorer_partnerriskscore",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"target": "risk_scorer_partnerriskscore",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L16",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"_tgt": "risk_scorer_score_partner",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"target": "risk_scorer_score_partner",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L1",
"weight": 1.0,
"_src": "risk_scorer_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_risk_scorer_py",
"target": "risk_scorer_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L62",
"weight": 1.0,
"_src": "risk_scorer_score_partner",
"_tgt": "risk_scorer_partnerriskscore",
"source": "risk_scorer_partnerriskscore",
"target": "risk_scorer_score_partner",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/risk_scorer.py",
"source_location": "L21",
"weight": 1.0,
"_src": "risk_scorer_rationale_21",
"_tgt": "risk_scorer_score_partner",
"source": "risk_scorer_score_partner",
"target": "risk_scorer_rationale_21",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L37",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"target": "followup_text_generator_generate_followup_text",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L87",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"_tgt": "followup_text_generator_templated_fallback",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"target": "followup_text_generator_templated_fallback",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L106",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"_tgt": "followup_text_generator_get_provider",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"target": "followup_text_generator_get_provider",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L1",
"weight": 1.0,
"_src": "followup_text_generator_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_generator_py",
"target": "followup_text_generator_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L47",
"weight": 1.0,
"_src": "followup_text_generator_generate_followup_text",
"_tgt": "followup_text_generator_get_provider",
"source": "followup_text_generator_generate_followup_text",
"target": "followup_text_generator_get_provider",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L49",
"weight": 1.0,
"_src": "followup_text_generator_generate_followup_text",
"_tgt": "followup_text_generator_templated_fallback",
"source": "followup_text_generator_generate_followup_text",
"target": "followup_text_generator_templated_fallback",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L43",
"weight": 1.0,
"_src": "followup_text_generator_rationale_43",
"_tgt": "followup_text_generator_generate_followup_text",
"source": "followup_text_generator_generate_followup_text",
"target": "followup_text_generator_rationale_43",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L58",
"weight": 1.0,
"_src": "followup_text_generator_generate_followup_text",
"_tgt": "followup_text_prompt_build_prompt",
"source": "followup_text_generator_generate_followup_text",
"target": "followup_text_prompt_build_prompt"
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_generator.py",
"source_location": "L107",
"weight": 1.0,
"_src": "followup_text_generator_rationale_107",
"_tgt": "followup_text_generator_get_provider",
"source": "followup_text_generator_get_provider",
"target": "followup_text_generator_rationale_107",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L10",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"_tgt": "level_resolver_followuplevelspec",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"target": "level_resolver_followuplevelspec",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L21",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"_tgt": "level_resolver_resolve_level",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"target": "level_resolver_resolve_level",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L37",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"_tgt": "level_resolver_max_days_overdue",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"target": "level_resolver_max_days_overdue",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L1",
"weight": 1.0,
"_src": "level_resolver_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_level_resolver_py",
"target": "level_resolver_rationale_1",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L16",
"weight": 1.0,
"_src": "level_resolver_followuplevelspec",
"_tgt": "level_resolver_followuplevelspec_post_init",
"source": "level_resolver_followuplevelspec",
"target": "level_resolver_followuplevelspec_post_init",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L27",
"weight": 1.0,
"_src": "level_resolver_resolve_level",
"_tgt": "level_resolver_max_days_overdue",
"source": "level_resolver_resolve_level",
"target": "level_resolver_max_days_overdue",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L22",
"weight": 1.0,
"_src": "level_resolver_rationale_22",
"_tgt": "level_resolver_resolve_level",
"source": "level_resolver_resolve_level",
"target": "level_resolver_rationale_22",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/level_resolver.py",
"source_location": "L38",
"weight": 1.0,
"_src": "level_resolver_rationale_38",
"_tgt": "level_resolver_max_days_overdue",
"source": "level_resolver_max_days_overdue",
"target": "level_resolver_rationale_38",
"confidence_score": 1.0
},
{
"relation": "imports_from",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/__init__.py",
"source_location": "L6",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_init_py",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_init_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_init_py",
"target": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_init_py",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L11",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"_tgt": "tone_selector_select_tone",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"target": "tone_selector_select_tone",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L1",
"weight": 1.0,
"_src": "tone_selector_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_tone_selector_py",
"target": "tone_selector_rationale_1",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/tone_selector.py",
"source_location": "L12",
"weight": 1.0,
"_src": "tone_selector_rationale_12",
"_tgt": "tone_selector_select_tone",
"source": "tone_selector_select_tone",
"target": "tone_selector_rationale_12",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L21",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"_tgt": "overdue_aging_agingbucket",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"target": "overdue_aging_agingbucket",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L30",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"_tgt": "overdue_aging_agingreport",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"target": "overdue_aging_agingreport",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L52",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"_tgt": "overdue_aging_compute_aging",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"target": "overdue_aging_compute_aging",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L82",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"_tgt": "overdue_aging_find_bucket",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"target": "overdue_aging_find_bucket",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L1",
"weight": 1.0,
"_src": "overdue_aging_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_overdue_aging_py",
"target": "overdue_aging_rationale_1",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L60",
"weight": 1.0,
"_src": "overdue_aging_compute_aging",
"_tgt": "overdue_aging_agingbucket",
"source": "overdue_aging_agingbucket",
"target": "overdue_aging_compute_aging",
"confidence_score": 1.0
},
{
"relation": "method",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L38",
"weight": 1.0,
"_src": "overdue_aging_agingreport",
"_tgt": "overdue_aging_agingreport_to_dict",
"source": "overdue_aging_agingreport",
"target": "overdue_aging_agingreport_to_dict",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L58",
"weight": 1.0,
"_src": "overdue_aging_compute_aging",
"_tgt": "overdue_aging_agingreport",
"source": "overdue_aging_agingreport",
"target": "overdue_aging_compute_aging",
"confidence_score": 1.0
},
{
"relation": "calls",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L68",
"weight": 1.0,
"_src": "overdue_aging_compute_aging",
"_tgt": "overdue_aging_find_bucket",
"source": "overdue_aging_compute_aging",
"target": "overdue_aging_find_bucket",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/overdue_aging.py",
"source_location": "L53",
"weight": 1.0,
"_src": "overdue_aging_rationale_53",
"_tgt": "overdue_aging_compute_aging",
"source": "overdue_aging_compute_aging",
"target": "overdue_aging_rationale_53",
"confidence_score": 1.0
},
{
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_prompt.py",
"source_location": "L37",
"weight": 1.0,
"_src": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_prompt_py",
"_tgt": "followup_text_prompt_build_prompt",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_prompt_py",
"target": "followup_text_prompt_build_prompt",
"confidence_score": 1.0
},
{
"relation": "rationale_for",
"confidence": "EXTRACTED",
"source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_followup/services/followup_text_prompt.py",
"source_location": "L1",
"weight": 1.0,
"_src": "followup_text_prompt_rationale_1",
"_tgt": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_prompt_py",
"source": "users_gurpreet_github_odoo_modules_fusion_accounting_followup_services_followup_text_prompt_py",
"target": "followup_text_prompt_rationale_1",
"confidence_score": 1.0
}
],
"hyperedges": []
}