{ "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": [] }