257 lines
430 KiB
HTML
257 lines
430 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>graphify - /Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/graphify-out/graph.html</title>
|
|
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
|
|
<style>
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; overflow: hidden; }
|
|
#graph { flex: 1; }
|
|
#sidebar { width: 280px; background: #1a1a2e; border-left: 1px solid #2a2a4e; display: flex; flex-direction: column; overflow: hidden; }
|
|
#search-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; }
|
|
#search { width: 100%; background: #0f0f1a; border: 1px solid #3a3a5e; color: #e0e0e0; padding: 7px 10px; border-radius: 6px; font-size: 13px; outline: none; }
|
|
#search:focus { border-color: #4E79A7; }
|
|
#search-results { max-height: 140px; overflow-y: auto; padding: 4px 12px; border-bottom: 1px solid #2a2a4e; display: none; }
|
|
.search-item { padding: 4px 6px; cursor: pointer; border-radius: 4px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
.search-item:hover { background: #2a2a4e; }
|
|
#info-panel { padding: 14px; border-bottom: 1px solid #2a2a4e; min-height: 140px; }
|
|
#info-panel h3 { font-size: 13px; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.05em; }
|
|
#info-content { font-size: 13px; color: #ccc; line-height: 1.6; }
|
|
#info-content .field { margin-bottom: 5px; }
|
|
#info-content .field b { color: #e0e0e0; }
|
|
#info-content .empty { color: #555; font-style: italic; }
|
|
.neighbor-link { display: block; padding: 2px 6px; margin: 2px 0; border-radius: 3px; cursor: pointer; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid #333; }
|
|
.neighbor-link:hover { background: #2a2a4e; }
|
|
#neighbors-list { max-height: 160px; overflow-y: auto; margin-top: 4px; }
|
|
#legend-wrap { flex: 1; overflow-y: auto; padding: 12px; }
|
|
#legend-wrap h3 { font-size: 13px; color: #aaa; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.05em; }
|
|
.legend-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; border-radius: 4px; font-size: 12px; }
|
|
.legend-item:hover { background: #2a2a4e; padding-left: 4px; }
|
|
.legend-item.dimmed { opacity: 0.35; }
|
|
.legend-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
|
|
.legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
.legend-count { color: #666; font-size: 11px; }
|
|
#stats { padding: 10px 14px; border-top: 1px solid #2a2a4e; font-size: 11px; color: #555; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="graph"></div>
|
|
<div id="sidebar">
|
|
<div id="search-wrap">
|
|
<input id="search" type="text" placeholder="Search nodes..." autocomplete="off">
|
|
<div id="search-results"></div>
|
|
</div>
|
|
<div id="info-panel">
|
|
<h3>Node Info</h3>
|
|
<div id="info-content"><span class="empty">Click a node to inspect it</span></div>
|
|
</div>
|
|
<div id="legend-wrap">
|
|
<h3>Communities</h3>
|
|
<div id="legend"></div>
|
|
</div>
|
|
<div id="stats">457 nodes · 729 edges · 38 communities</div>
|
|
</div>
|
|
<script>
|
|
const RAW_NODES = [{"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_init_py", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 25, "community_name": "Community 25", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_manifest_py", "label": "__manifest__.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "__manifest__.py", "community": 32, "community_name": "Community 32", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/__manifest__.py", "file_type": "code", "degree": 0}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_migrations_19_0_1_1_2_pre_migration_py", "label": "pre-migration.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "pre-migration.py", "community": 21, "community_name": "Community 21", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/migrations/19.0.1.1.2/pre-migration.py", "file_type": "code", "degree": 2}, {"id": "pre_migration_migrate", "label": "migrate()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "migrate()", "community": 21, "community_name": "Community 21", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/migrations/19.0.1.1.2/pre-migration.py", "file_type": "code", "degree": 1}, {"id": "pre_migration_rationale_1", "label": "Pre-migration: convert legacy act_window report actions to client actions. In 1", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Pre-migration: convert legacy act_window report actions to client actions. In 1", "community": 21, "community_name": "Community 21", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/migrations/19.0.1.1.2/pre-migration.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "label": "test_engine_property.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_engine_property.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 10}, {"id": "test_engine_property_testserviceinvariants", "label": "TestServiceInvariants", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestServiceInvariants", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 5}, {"id": "transactioncase", "label": "TransactionCase", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 21.5, "font": {"size": 12, "color": "#ffffff"}, "title": "TransactionCase", "community": 1, "community_name": "Community 1", "source_file": "", "file_type": "code", "degree": 30}, {"id": "test_engine_property_test_fiscal_year_contains_reference_date", "label": "test_fiscal_year_contains_reference_date()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fiscal_year_contains_reference_date()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 2}, {"id": "test_engine_property_test_month_bounds_first_to_last_day", "label": "test_month_bounds_first_to_last_day()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_month_bounds_first_to_last_day()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 2}, {"id": "test_engine_property_test_quarter_bounds_three_months", "label": "test_quarter_bounds_three_months()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_quarter_bounds_three_months()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 2}, {"id": "test_engine_property_test_aggregate_sum_equals_input_sum", "label": "test_aggregate_sum_equals_input_sum()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_aggregate_sum_equals_input_sum()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 2}, {"id": "test_engine_property_test_balanced_iff_debits_equal_credits", "label": "test_balanced_iff_debits_equal_credits()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_balanced_iff_debits_equal_credits()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 2}, {"id": "test_engine_property_test_comparison_previous_year_is_one_year_earlier", "label": "test_comparison_previous_year_is_one_year_earlier()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_comparison_previous_year_is_one_year_earlier()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 3}, {"id": "test_engine_property_testlineresolverinvariants", "label": "TestLineResolverInvariants", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestLineResolverInvariants", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 5}, {"id": "test_engine_property_test_subtotal_equals_sum_of_above_rows", "label": "test_subtotal_equals_sum_of_above_rows()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_subtotal_equals_sum_of_above_rows()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "code", "degree": 3}, {"id": "test_engine_property_rationale_1", "label": "Property-based invariant tests for the reports engine. Hypothesis generates ran", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Property-based invariant tests for the reports engine. Hypothesis generates ran", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "rationale", "degree": 3}, {"id": "test_engine_property_rationale_29", "label": "Pure-Python invariants - fast, no DB writes.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Pure-Python invariants - fast, no DB writes.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "rationale", "degree": 3}, {"id": "test_engine_property_rationale_124", "label": "Invariants on the line_resolver.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariants on the line_resolver.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_engine_property.py", "file_type": "rationale", "degree": 3}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_anomaly_detection_py", "label": "test_anomaly_detection.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_anomaly_detection.py", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection", "label": "TestAnomalyDetection", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestAnomalyDetection", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 8}, {"id": "test_anomaly_detection_testanomalydetection_test_returns_empty_when_no_comparison", "label": ".test_returns_empty_when_no_comparison()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_returns_empty_when_no_comparison()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection_test_flags_significant_increase", "label": ".test_flags_significant_increase()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_flags_significant_increase()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection_test_skips_below_absolute_threshold", "label": ".test_skips_below_absolute_threshold()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_skips_below_absolute_threshold()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection_test_skips_below_pct_threshold", "label": ".test_skips_below_pct_threshold()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_skips_below_pct_threshold()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection_test_severity_high_for_50pct_plus", "label": ".test_severity_high_for_50pct_plus()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_severity_high_for_50pct_plus()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_testanomalydetection_test_orders_by_severity_then_amount", "label": ".test_orders_by_severity_then_amount()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_orders_by_severity_then_amount()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "test_anomaly_detection_rationale_1", "label": "Unit tests for anomaly_detection service.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for anomaly_detection service.", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_anomaly_detection.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_local_llm_compat_py", "label": "test_local_llm_compat.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_local_llm_compat.py", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 4}, {"id": "test_local_llm_compat_server_reachable", "label": "_server_reachable()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_server_reachable()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 2}, {"id": "test_local_llm_compat_detect_local_llm", "label": "_detect_local_llm()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_detect_local_llm()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 4}, {"id": "test_local_llm_compat_testlocalllmcommentary", "label": "TestLocalLLMCommentary", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestLocalLLMCommentary", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 5}, {"id": "test_local_llm_compat_testlocalllmcommentary_setup", "label": ".setUp()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 2}, {"id": "test_local_llm_compat_testlocalllmcommentary_test_commentary_with_local_llm", "label": ".test_commentary_with_local_llm()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_commentary_with_local_llm()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "code", "degree": 4}, {"id": "test_local_llm_compat_rationale_1", "label": "Local LLM compat smoke for the commentary generator. Auto-detects an LM Studio", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Local LLM compat smoke for the commentary generator. Auto-detects an LM Studio", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "rationale", "degree": 2}, {"id": "test_local_llm_compat_rationale_25", "label": "Return (base_url, default_model) for the first reachable server, or (None, N", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Return (base_url, default_model) for the first reachable server, or (None, N", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_local_llm_compat.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_prompt_py", "label": "test_commentary_prompt.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_commentary_prompt.py", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_prompt_testcommentaryprompt", "label": "TestCommentaryPrompt", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCommentaryPrompt", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 6}, {"id": "test_commentary_prompt_testcommentaryprompt_test_system_prompt_requires_json", "label": ".test_system_prompt_requires_json()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_system_prompt_requires_json()", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 1}, {"id": "test_commentary_prompt_testcommentaryprompt_test_build_prompt_returns_tuple", "label": ".test_build_prompt_returns_tuple()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_build_prompt_returns_tuple()", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_rows", "label": ".test_user_prompt_includes_rows()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_user_prompt_includes_rows()", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_anomalies", "label": ".test_user_prompt_includes_anomalies()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_user_prompt_includes_anomalies()", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_prompt_rationale_1", "label": "Tests for commentary_prompt module.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for commentary_prompt module.", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_prompt.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pdf_export_py", "label": "test_pdf_export.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_pdf_export.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pdf_export.py", "file_type": "code", "degree": 2}, {"id": "test_pdf_export_testpdfexport", "label": "TestPdfExport", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestPdfExport", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pdf_export.py", "file_type": "code", "degree": 4}, {"id": "test_pdf_export_testpdfexport_test_pdf_render_pnl", "label": ".test_pdf_render_pnl()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pdf_render_pnl()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pdf_export.py", "file_type": "code", "degree": 1}, {"id": "test_pdf_export_testpdfexport_test_pdf_render_balance_sheet", "label": ".test_pdf_render_balance_sheet()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pdf_render_balance_sheet()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pdf_export.py", "file_type": "code", "degree": 1}, {"id": "test_pdf_export_rationale_1", "label": "Tests for the PDF export.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the PDF export.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pdf_export.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_commentary_py", "label": "test_fusion_report_commentary.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fusion_report_commentary.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_commentary_testfusionreportcommentary", "label": "TestFusionReportCommentary", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TestFusionReportCommentary", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 6}, {"id": "test_fusion_report_commentary_testfusionreportcommentary_setup", "label": ".setUp()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_commentary_testfusionreportcommentary_test_create_minimal", "label": ".test_create_minimal()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_create_minimal()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_commentary_testfusionreportcommentary_test_uniqueness_per_period", "label": ".test_uniqueness_per_period()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_uniqueness_per_period()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_commentary_testfusionreportcommentary_test_different_comparison_modes_can_coexist", "label": ".test_different_comparison_modes_can_coexist()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_different_comparison_modes_can_coexist()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_commentary_rationale_1", "label": "Tests for fusion.report.commentary cache model.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for fusion.report.commentary cache model.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_commentary.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_anomaly_py", "label": "test_fusion_report_anomaly.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fusion_report_anomaly.py", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly", "label": "TestFusionReportAnomaly", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestFusionReportAnomaly", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 8}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_setup", "label": ".setUp()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_make", "label": "._make()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._make()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 5}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_test_create_basic", "label": ".test_create_basic()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_create_basic()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_test_acknowledge_action", "label": ".test_acknowledge_action()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_acknowledge_action()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_test_dismiss_action", "label": ".test_dismiss_action()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_dismiss_action()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_anomaly_testfusionreportanomaly_test_resolve_action", "label": ".test_resolve_action()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_action()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_anomaly_rationale_1", "label": "Tests for fusion.report.anomaly model.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for fusion.report.anomaly model.", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_anomaly.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_py", "label": "test_fusion_report.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fusion_report.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_testfusionreport", "label": "TestFusionReport", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestFusionReport", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "code", "degree": 5}, {"id": "test_fusion_report_testfusionreport_test_create_minimal", "label": ".test_create_minimal()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_create_minimal()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_testfusionreport_test_line_specs_json_roundtrip", "label": ".test_line_specs_json_roundtrip()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_line_specs_json_roundtrip()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_testfusionreport_test_company_code_uniqueness", "label": ".test_company_code_uniqueness()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_company_code_uniqueness()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_rationale_1", "label": "Tests for fusion.report definition model.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for fusion.report definition model.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_bs_tb_integration_py", "label": "test_bs_tb_integration.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_bs_tb_integration.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 3}, {"id": "test_bs_tb_integration_testbalancesheetintegration", "label": "TestBalanceSheetIntegration", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TestBalanceSheetIntegration", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 6}, {"id": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_includes_total_assets", "label": ".test_balance_sheet_includes_total_assets()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_balance_sheet_includes_total_assets()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 2}, {"id": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_total_assets_is_subtotal", "label": ".test_balance_sheet_total_assets_is_subtotal()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_balance_sheet_total_assets_is_subtotal()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 2}, {"id": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_returns_period", "label": ".test_balance_sheet_returns_period()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_balance_sheet_returns_period()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 2}, {"id": "test_bs_tb_integration_testtrialbalanceintegration", "label": "TestTrialBalanceIntegration", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestTrialBalanceIntegration", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 5}, {"id": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_returns_all_5_groups", "label": ".test_trial_balance_returns_all_5_groups()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_trial_balance_returns_all_5_groups()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 3}, {"id": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_has_total_subtotal", "label": ".test_trial_balance_has_total_subtotal()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_trial_balance_has_total_subtotal()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "code", "degree": 3}, {"id": "test_bs_tb_integration_rationale_1", "label": "Integration tests for balance sheet + trial balance.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for balance sheet + trial balance.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_bs_tb_integration.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_currency_conversion_py", "label": "test_currency_conversion.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_currency_conversion.py", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion", "label": "TestCurrencyConversion", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCurrencyConversion", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 8}, {"id": "test_currency_conversion_testcurrencyconversion_test_same_currency_returns_unchanged", "label": ".test_same_currency_returns_unchanged()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_same_currency_returns_unchanged()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion_test_direct_rate", "label": ".test_direct_rate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_direct_rate()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion_test_inverse_rate", "label": ".test_inverse_rate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_inverse_rate()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion_test_falls_back_to_most_recent_rate", "label": ".test_falls_back_to_most_recent_rate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_falls_back_to_most_recent_rate()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion_test_raises_when_no_rate", "label": ".test_raises_when_no_rate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_raises_when_no_rate()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_testcurrencyconversion_test_fetch_rates_from_env", "label": ".test_fetch_rates_from_env()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fetch_rates_from_env()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "code", "degree": 2}, {"id": "test_currency_conversion_rationale_1", "label": "Unit tests for currency_conversion service.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for currency_conversion service.", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_currency_conversion.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_performance_benchmarks_py", "label": "test_performance_benchmarks.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_performance_benchmarks.py", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 4}, {"id": "test_performance_benchmarks_percentile", "label": "_percentile()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_percentile()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 7}, {"id": "test_performance_benchmarks_testenginebenchmarks", "label": "TestEngineBenchmarks", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestEngineBenchmarks", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 9}, {"id": "test_performance_benchmarks_testenginebenchmarks_setup", "label": ".setUp()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 2}, {"id": "test_performance_benchmarks_testenginebenchmarks_test_compute_pnl_p95", "label": ".test_compute_pnl_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_pnl_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testenginebenchmarks_test_compute_balance_sheet_p95", "label": ".test_compute_balance_sheet_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_balance_sheet_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testenginebenchmarks_test_compute_trial_balance_p95", "label": ".test_compute_trial_balance_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_trial_balance_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testenginebenchmarks_test_compute_gl_p95", "label": ".test_compute_gl_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_gl_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testenginebenchmarks_test_drill_down_p95", "label": ".test_drill_down_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_drill_down_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testcontrollerbenchmarks", "label": "TestControllerBenchmarks", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestControllerBenchmarks", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 4}, {"id": "httpcase", "label": "HttpCase", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HttpCase", "community": 6, "community_name": "Community 6", "source_file": "", "file_type": "code", "degree": 3}, {"id": "test_performance_benchmarks_testcontrollerbenchmarks_test_run_endpoint_p95", "label": ".test_run_endpoint_p95()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_run_endpoint_p95()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "code", "degree": 2}, {"id": "test_performance_benchmarks_rationale_1", "label": "Performance benchmarks with P95 targets, tagged 'benchmark'. These tests are no", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Performance benchmarks with P95 targets, tagged 'benchmark'. These tests are no", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_performance_benchmarks.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_init_py", "label": "__init__.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 26, "community_name": "Community 26", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_tours_py", "label": "test_reports_tours.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reports_tours.py", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_testreportstours", "label": "TestReportsTours", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestReportsTours", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 8}, {"id": "test_reports_tours_testreportstours_start_tour_safe", "label": "._start_tour_safe()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "._start_tour_safe()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 6}, {"id": "test_reports_tours_testreportstours_test_smoke_tour", "label": ".test_smoke_tour()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_smoke_tour()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_testreportstours_test_period_picker_tour", "label": ".test_period_picker_tour()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_period_picker_tour()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_testreportstours_test_xlsx_wizard_tour", "label": ".test_xlsx_wizard_tour()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_xlsx_wizard_tour()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_testreportstours_test_anomaly_list_tour", "label": ".test_anomaly_list_tour()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_anomaly_list_tour()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_testreportstours_test_viewer_smoke_tour", "label": ".test_viewer_smoke_tour()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_viewer_smoke_tour()", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "code", "degree": 2}, {"id": "test_reports_tours_rationale_1", "label": "Python wrappers that run the OWL tours via HttpCase.start_tour. Tours require a", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Python wrappers that run the OWL tours via HttpCase.start_tour. Tours require a", "community": 6, "community_name": "Community 6", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_tours.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_cron_py", "label": "test_cron.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cron.py", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "code", "degree": 2}, {"id": "test_cron_testfusionreportscron", "label": "TestFusionReportsCron", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestFusionReportsCron", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "code", "degree": 5}, {"id": "test_cron_testfusionreportscron_setup", "label": ".setUp()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "code", "degree": 1}, {"id": "test_cron_testfusionreportscron_test_cron_mv_refresh_does_not_raise", "label": ".test_cron_mv_refresh_does_not_raise()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_cron_mv_refresh_does_not_raise()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "code", "degree": 2}, {"id": "test_cron_testfusionreportscron_test_cron_anomaly_scan_does_not_raise", "label": ".test_cron_anomaly_scan_does_not_raise()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_cron_anomaly_scan_does_not_raise()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "code", "degree": 2}, {"id": "test_cron_rationale_1", "label": "Tests for cron handlers.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for cron handlers.", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_cron.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_generator_py", "label": "test_commentary_generator.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_commentary_generator.py", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_generator_testcommentarygenerator", "label": "TestCommentaryGenerator", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCommentaryGenerator", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 6}, {"id": "test_commentary_generator_testcommentarygenerator_setup", "label": ".setUp()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 1}, {"id": "test_commentary_generator_testcommentarygenerator_test_fallback_when_no_provider", "label": ".test_fallback_when_no_provider()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fallback_when_no_provider()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_generator_testcommentarygenerator_test_fallback_includes_anomalies_in_concerns", "label": ".test_fallback_includes_anomalies_in_concerns()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fallback_includes_anomalies_in_concerns()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_generator_testcommentarygenerator_test_returns_dict_with_required_keys", "label": ".test_returns_dict_with_required_keys()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_returns_dict_with_required_keys()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "code", "degree": 2}, {"id": "test_commentary_generator_rationale_1", "label": "Tests for commentary_generator service.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for commentary_generator service.", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_commentary_generator.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_tools_py", "label": "test_fusion_report_tools.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fusion_report_tools.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_tools_testfusionreporttools", "label": "TestFusionReportTools", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestFusionReportTools", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 8}, {"id": "test_fusion_report_tools_testfusionreporttools_test_fusion_run_report_pnl", "label": ".test_fusion_run_report_pnl()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fusion_run_report_pnl()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_testfusionreporttools_test_fusion_get_anomalies", "label": ".test_fusion_get_anomalies()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fusion_get_anomalies()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_testfusionreporttools_test_fusion_generate_commentary", "label": ".test_fusion_generate_commentary()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fusion_generate_commentary()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_testfusionreporttools_test_fusion_drill_down", "label": ".test_fusion_drill_down()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fusion_drill_down()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_testfusionreporttools_test_fusion_compare_periods", "label": ".test_fusion_compare_periods()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fusion_compare_periods()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_testfusionreporttools_test_tools_registered_in_dispatch", "label": ".test_tools_registered_in_dispatch()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_tools_registered_in_dispatch()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_tools_rationale_1", "label": "Tests for the 5 fusion AI tools registered in TOOL_DISPATCH.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the 5 fusion AI tools registered in TOOL_DISPATCH.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_tools.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_adapter_py", "label": "test_reports_adapter.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reports_adapter.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 2}, {"id": "test_reports_adapter_testreportsadapter", "label": "TestReportsAdapter", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "TestReportsAdapter", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 7}, {"id": "test_reports_adapter_testreportsadapter_setup", "label": ".setUp()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 1}, {"id": "test_reports_adapter_testreportsadapter_test_run_fusion_report_via_fusion_pnl", "label": ".test_run_fusion_report_via_fusion_pnl()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_run_fusion_report_via_fusion_pnl()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 1}, {"id": "test_reports_adapter_testreportsadapter_test_run_fusion_report_via_community_returns_error", "label": ".test_run_fusion_report_via_community_returns_error()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_run_fusion_report_via_community_returns_error()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 1}, {"id": "test_reports_adapter_testreportsadapter_test_get_anomalies_via_fusion", "label": ".test_get_anomalies_via_fusion()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_get_anomalies_via_fusion()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 1}, {"id": "test_reports_adapter_testreportsadapter_test_get_commentary_via_fusion", "label": ".test_get_commentary_via_fusion()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_get_commentary_via_fusion()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "code", "degree": 1}, {"id": "test_reports_adapter_rationale_1", "label": "Tests for ReportsAdapter Phase-2 (engine-routed) methods.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for ReportsAdapter Phase-2 (engine-routed) methods.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_adapter.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_drill_down_resolver_py", "label": "test_drill_down_resolver.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_drill_down_resolver.py", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_drill_down_resolver_testdrilldownresolver", "label": "TestDrillDownResolver", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestDrillDownResolver", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "code", "degree": 5}, {"id": "test_drill_down_resolver_testdrilldownresolver_test_returns_empty_for_account_with_no_lines", "label": ".test_returns_empty_for_account_with_no_lines()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_returns_empty_for_account_with_no_lines()", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_drill_down_resolver_testdrilldownresolver_test_returns_lines_for_account_with_data", "label": ".test_returns_lines_for_account_with_data()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_returns_lines_for_account_with_data()", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_drill_down_resolver_testdrilldownresolver_test_respects_limit", "label": ".test_respects_limit()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_respects_limit()", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_drill_down_resolver_rationale_1", "label": "Tests for drill_down_resolver.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for drill_down_resolver.", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_drill_down_resolver.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_seeded_reports_py", "label": "test_seeded_reports.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_seeded_reports.py", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 2}, {"id": "test_seeded_reports_testseededreports", "label": "TestSeededReports", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSeededReports", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 11}, {"id": "test_seeded_reports_testseededreports_test_pnl_definition_loaded", "label": ".test_pnl_definition_loaded()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pnl_definition_loaded()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 1}, {"id": "test_seeded_reports_testseededreports_test_pnl_compute_returns_rows", "label": ".test_pnl_compute_returns_rows()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pnl_compute_returns_rows()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 3}, {"id": "test_seeded_reports_testseededreports_test_balance_sheet_definition_loaded", "label": ".test_balance_sheet_definition_loaded()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_balance_sheet_definition_loaded()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 1}, {"id": "test_seeded_reports_testseededreports_test_balance_sheet_compute_returns_assets_liabilities_equity", "label": ".test_balance_sheet_compute_returns_assets_liabilities_equity()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_balance_sheet_compute_returns_assets_liabilities_equity()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 2}, {"id": "test_seeded_reports_testseededreports_test_trial_balance_definition_loaded", "label": ".test_trial_balance_definition_loaded()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_trial_balance_definition_loaded()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 1}, {"id": "test_seeded_reports_testseededreports_test_trial_balance_total_near_zero", "label": ".test_trial_balance_total_near_zero()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_trial_balance_total_near_zero()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 4}, {"id": "test_seeded_reports_testseededreports_test_general_ledger_definition_loaded", "label": ".test_general_ledger_definition_loaded()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_general_ledger_definition_loaded()", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 1}, {"id": "test_seeded_reports_testseededreports_test_general_ledger_returns_per_account_listings", "label": ".test_general_ledger_returns_per_account_listings()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_general_ledger_returns_per_account_listings()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "code", "degree": 3}, {"id": "test_seeded_reports_rationale_1", "label": "Verify the seeded fusion.report definitions load and compute sensibly.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify the seeded fusion.report definitions load and compute sensibly.", "community": 17, "community_name": "Community 17", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "rationale", "degree": 2}, {"id": "test_seeded_reports_rationale_55", "label": "Trial balance should sum to ~0 in a perfectly closed-out DB. Diagnostic", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Trial balance should sum to ~0 in a perfectly closed-out DB. Diagnostic", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_seeded_reports.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_period_picker_py", "label": "test_period_picker.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_period_picker.py", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "code", "degree": 2}, {"id": "test_period_picker_testperiodpickerwizard", "label": "TestPeriodPickerWizard", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestPeriodPickerWizard", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "code", "degree": 5}, {"id": "test_period_picker_testperiodpickerwizard_test_this_month_preset_fills_dates", "label": ".test_this_month_preset_fills_dates()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_this_month_preset_fills_dates()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "code", "degree": 2}, {"id": "test_period_picker_testperiodpickerwizard_test_this_year_preset_uses_ytd", "label": ".test_this_year_preset_uses_ytd()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_this_year_preset_uses_ytd()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "code", "degree": 2}, {"id": "test_period_picker_testperiodpickerwizard_test_action_open_report_returns_client_action", "label": ".test_action_open_report_returns_client_action()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_action_open_report_returns_client_action()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "code", "degree": 3}, {"id": "test_period_picker_rationale_1", "label": "Tests for period picker wizard.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for period picker wizard.", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_period_picker.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_xlsx_export_py", "label": "test_xlsx_export.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_xlsx_export.py", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_xlsx_export.py", "file_type": "code", "degree": 2}, {"id": "test_xlsx_export_testxlsxexport", "label": "TestXlsxExport", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestXlsxExport", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_xlsx_export.py", "file_type": "code", "degree": 4}, {"id": "test_xlsx_export_testxlsxexport_test_export_pnl_produces_xlsx", "label": ".test_export_pnl_produces_xlsx()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_export_pnl_produces_xlsx()", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_xlsx_export.py", "file_type": "code", "degree": 2}, {"id": "test_xlsx_export_testxlsxexport_test_export_balance_sheet", "label": ".test_export_balance_sheet()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_export_balance_sheet()", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_xlsx_export.py", "file_type": "code", "degree": 2}, {"id": "test_xlsx_export_rationale_1", "label": "Tests for XLSX export wizard.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for XLSX export wizard.", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_xlsx_export.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_controller_py", "label": "test_reports_controller.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reports_controller.py", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller", "label": "TestReportsController", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "TestReportsController", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 12}, {"id": "test_reports_controller_testreportscontroller_setup", "label": ".setUp()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 1}, {"id": "test_reports_controller_testreportscontroller_jsonrpc", "label": "._jsonrpc()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._jsonrpc()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 9}, {"id": "test_reports_controller_testreportscontroller_test_list_available", "label": ".test_list_available()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_list_available()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_run_pnl", "label": ".test_run_pnl()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_run_pnl()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_run_balance_sheet", "label": ".test_run_balance_sheet()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_run_balance_sheet()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_drill_down_returns_list", "label": ".test_drill_down_returns_list()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_drill_down_returns_list()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_get_anomalies_returns_list", "label": ".test_get_anomalies_returns_list()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_get_anomalies_returns_list()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_get_commentary_returns_dict", "label": ".test_get_commentary_returns_dict()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_get_commentary_returns_dict()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_export_pdf_returns_pdf", "label": ".test_export_pdf_returns_pdf()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_export_pdf_returns_pdf()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_testreportscontroller_test_export_xlsx_returns_xlsx", "label": ".test_export_xlsx_returns_xlsx()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_export_xlsx_returns_xlsx()", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "code", "degree": 2}, {"id": "test_reports_controller_rationale_1", "label": "Controller tests using HttpCase for the 8 JSON-RPC endpoints.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Controller tests using HttpCase for the 8 JSON-RPC endpoints.", "community": 12, "community_name": "Community 12", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_reports_controller.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_engine_py", "label": "test_fusion_report_engine.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fusion_report_engine.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_engine_testfusionreportengine", "label": "TestFusionReportEngine", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.4, "font": {"size": 12, "color": "#ffffff"}, "title": "TestFusionReportEngine", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 14}, {"id": "test_fusion_report_engine_testfusionreportengine_setup", "label": ".setUp()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_engine_testfusionreportengine_test_engine_model_exists", "label": ".test_engine_model_exists()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_engine_model_exists()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 1}, {"id": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_returns_dict_with_rows", "label": ".test_compute_pnl_returns_dict_with_rows()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_pnl_returns_dict_with_rows()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_testfusionreportengine_test_compute_balance_sheet", "label": ".test_compute_balance_sheet()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_balance_sheet()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 2}, {"id": "test_fusion_report_engine_testfusionreportengine_test_compute_trial_balance", "label": ".test_compute_trial_balance()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_trial_balance()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_with_comparison", "label": ".test_compute_pnl_with_comparison()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_pnl_with_comparison()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_testfusionreportengine_test_drill_down_returns_list", "label": ".test_drill_down_returns_list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_drill_down_returns_list()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_testfusionreportengine_test_compute_partner_grouped_receivable", "label": ".test_compute_partner_grouped_receivable()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_compute_partner_grouped_receivable()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_testfusionreportengine_test_report_code_disambiguates_same_report_type", "label": ".test_report_code_disambiguates_same_report_type()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_report_code_disambiguates_same_report_type()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 4}, {"id": "test_fusion_report_engine_testfusionreportengine_test_report_code_validates_type_match", "label": ".test_report_code_validates_type_match()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_report_code_validates_type_match()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 4}, {"id": "test_fusion_report_engine_testfusionreportengine_test_no_report_raises_validation_error", "label": ".test_no_report_raises_validation_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_no_report_raises_validation_error()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "test_fusion_report_engine_rationale_1", "label": "Tests for fusion.report.engine AbstractModel.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for fusion.report.engine AbstractModel.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "test_fusion_report_engine_rationale_111", "label": "Multiple reports of report_type='pnl' must each be addressable by code s", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Multiple reports of report_type='pnl' must each be addressable by code s", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "test_fusion_report_engine_rationale_148", "label": "Asking for a 'pnl' computation but giving a balance_sheet code should ra", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Asking for a 'pnl' computation but giving a balance_sheet code should ra", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_line_resolver_py", "label": "test_line_resolver.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_line_resolver.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_line_resolver_testlineresolver", "label": "TestLineResolver", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestLineResolver", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 8}, {"id": "test_line_resolver_testlineresolver_test_resolve_account_type_prefix", "label": ".test_resolve_account_type_prefix()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_account_type_prefix()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 3}, {"id": "test_line_resolver_testlineresolver_test_resolve_subtotal", "label": ".test_resolve_subtotal()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_subtotal()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 3}, {"id": "test_line_resolver_testlineresolver_test_resolve_with_comparison", "label": ".test_resolve_with_comparison()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_with_comparison()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 3}, {"id": "test_line_resolver_testlineresolver_test_resolve_empty_specs", "label": ".test_resolve_empty_specs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_empty_specs()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 2}, {"id": "test_line_resolver_testlineresolver_test_resolve_account_id_drill_down", "label": ".test_resolve_account_id_drill_down()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_resolve_account_id_drill_down()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "code", "degree": 3}, {"id": "test_line_resolver_rationale_1", "label": "Tests for line_resolver.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for line_resolver.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_line_resolver.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_account_balance_mv_py", "label": "test_account_balance_mv.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_account_balance_mv.py", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_account_balance_mv.py", "file_type": "code", "degree": 2}, {"id": "test_account_balance_mv_testaccountbalancemv", "label": "TestAccountBalanceMV", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestAccountBalanceMV", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_account_balance_mv.py", "file_type": "code", "degree": 4}, {"id": "test_account_balance_mv_testaccountbalancemv_test_mv_exists_and_is_queryable", "label": ".test_mv_exists_and_is_queryable()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_mv_exists_and_is_queryable()", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_account_balance_mv.py", "file_type": "code", "degree": 2}, {"id": "test_account_balance_mv_testaccountbalancemv_test_mv_refresh_concurrent", "label": ".test_mv_refresh_concurrent()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_mv_refresh_concurrent()", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_account_balance_mv.py", "file_type": "code", "degree": 2}, {"id": "test_account_balance_mv_rationale_1", "label": "Tests for fusion_account_balance MV.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for fusion_account_balance MV.", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_account_balance_mv.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_services_unit_py", "label": "test_services_unit.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_services_unit.py", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 4}, {"id": "test_services_unit_testdateperiods", "label": "TestDatePeriods", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "TestDatePeriods", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 12}, {"id": "test_services_unit_testdateperiods_test_fiscal_year_calendar_default", "label": ".test_fiscal_year_calendar_default()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fiscal_year_calendar_default()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_fiscal_year_april_start", "label": ".test_fiscal_year_april_start()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fiscal_year_april_start()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_fiscal_year_before_start_returns_prior", "label": ".test_fiscal_year_before_start_returns_prior()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_fiscal_year_before_start_returns_prior()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_month_bounds", "label": ".test_month_bounds()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_month_bounds()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_month_bounds_december", "label": ".test_month_bounds_december()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_month_bounds_december()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_quarter_bounds_q2", "label": ".test_quarter_bounds_q2()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_quarter_bounds_q2()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testdateperiods_test_comparison_previous_year", "label": ".test_comparison_previous_year()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_comparison_previous_year()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 3}, {"id": "test_services_unit_testdateperiods_test_comparison_previous_period_same_length", "label": ".test_comparison_previous_period_same_length()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_comparison_previous_period_same_length()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 3}, {"id": "test_services_unit_testdateperiods_test_period_validates_bounds", "label": ".test_period_validates_bounds()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_period_validates_bounds()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testaccounthierarchy", "label": "TestAccountHierarchy", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestAccountHierarchy", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 8}, {"id": "test_services_unit_testaccounthierarchy_setup", "label": ".setUp()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 1}, {"id": "test_services_unit_testaccounthierarchy_test_build_tree_returns_two_roots", "label": ".test_build_tree_returns_two_roots()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_build_tree_returns_two_roots()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testaccounthierarchy_test_walk_yields_all_nodes", "label": ".test_walk_yields_all_nodes()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_walk_yields_all_nodes()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 3}, {"id": "test_services_unit_testaccounthierarchy_test_walk_depth_correct", "label": ".test_walk_depth_correct()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_walk_depth_correct()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 3}, {"id": "test_services_unit_testaccounthierarchy_test_filter_by_type_prefix", "label": ".test_filter_by_type_prefix()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_filter_by_type_prefix()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 3}, {"id": "test_services_unit_testtotaling", "label": "TestTotaling", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestTotaling", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 8}, {"id": "test_services_unit_testtotaling_test_aggregate_empty", "label": ".test_aggregate_empty()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_aggregate_empty()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testtotaling_test_aggregate_simple", "label": ".test_aggregate_simple()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_aggregate_simple()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testtotaling_test_aggregate_per_account_groups_correctly", "label": ".test_aggregate_per_account_groups_correctly()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_aggregate_per_account_groups_correctly()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testtotaling_test_is_balanced_true", "label": ".test_is_balanced_true()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_is_balanced_true()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_testtotaling_test_is_balanced_false", "label": ".test_is_balanced_false()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_is_balanced_false()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "code", "degree": 2}, {"id": "test_services_unit_rationale_1", "label": "Unit tests for date_periods, account_hierarchy, totaling services.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for date_periods, account_hierarchy, totaling services.", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_services_unit.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pnl_integration_py", "label": "test_pnl_integration.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_pnl_integration.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 2}, {"id": "test_pnl_integration_testpnlintegration", "label": "TestPnlIntegration", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TestPnlIntegration", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 8}, {"id": "test_pnl_integration_testpnlintegration_setup", "label": ".setUp()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 1}, {"id": "test_pnl_integration_testpnlintegration_create_invoice", "label": "._create_invoice()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "._create_invoice()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 2}, {"id": "test_pnl_integration_testpnlintegration_test_pnl_includes_invoice_revenue", "label": ".test_pnl_includes_invoice_revenue()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pnl_includes_invoice_revenue()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 4}, {"id": "test_pnl_integration_testpnlintegration_test_pnl_with_comparison_returns_both_periods", "label": ".test_pnl_with_comparison_returns_both_periods()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pnl_with_comparison_returns_both_periods()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 3}, {"id": "test_pnl_integration_testpnlintegration_test_pnl_net_income_is_subtotal", "label": ".test_pnl_net_income_is_subtotal()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_pnl_net_income_is_subtotal()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "code", "degree": 3}, {"id": "test_pnl_integration_rationale_1", "label": "Integration test: P&L produces correct totals against known fixtures. Creates a", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration test: P&L produces correct totals against known fixtures. Creates a", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_pnl_integration.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_migration_round_trip_py", "label": "test_migration_round_trip.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_migration_round_trip.py", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_migration_round_trip.py", "file_type": "code", "degree": 2}, {"id": "test_migration_round_trip_testmigrationroundtrip", "label": "TestMigrationRoundTrip", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestMigrationRoundTrip", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_migration_round_trip.py", "file_type": "code", "degree": 3}, {"id": "test_migration_round_trip_testmigrationroundtrip_test_bootstrap_finds_all_4_reports", "label": ".test_bootstrap_finds_all_4_reports()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_bootstrap_finds_all_4_reports()", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_migration_round_trip.py", "file_type": "code", "degree": 2}, {"id": "test_migration_round_trip_rationale_1", "label": "Tests for the reports-bootstrap migration step.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the reports-bootstrap migration step.", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_migration_round_trip.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_coexistence_py", "label": "test_coexistence.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_coexistence.py", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 2}, {"id": "test_coexistence_testreportscoexistence", "label": "TestReportsCoexistence", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TestReportsCoexistence", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 6}, {"id": "test_coexistence_testreportscoexistence_setup", "label": ".setUp()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setUp()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 1}, {"id": "test_coexistence_testreportscoexistence_test_engine_always_available", "label": ".test_engine_always_available()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_engine_always_available()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 2}, {"id": "test_coexistence_testreportscoexistence_test_menu_gated_by_coexistence_group", "label": ".test_menu_gated_by_coexistence_group()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_menu_gated_by_coexistence_group()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 1}, {"id": "test_coexistence_testreportscoexistence_test_period_picker_wizard_gated_too", "label": ".test_period_picker_wizard_gated_too()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_period_picker_wizard_gated_too()", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "code", "degree": 1}, {"id": "test_coexistence_rationale_1", "label": "Coexistence tests for fusion_accounting_reports. Mirrors Phase 1's coexistence", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Coexistence tests for fusion_accounting_reports. Mirrors Phase 1's coexistence", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "rationale", "degree": 1}, {"id": "test_coexistence_rationale_21", "label": "The engine is registered regardless of Enterprise install state.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "The engine is registered regardless of Enterprise install state.", "community": 1, "community_name": "Community 1", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/tests/test_coexistence.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "label": "fusion_report_engine.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "fusion_report_engine.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 13}, {"id": "fusion_report_engine_fusionreportengine", "label": "FusionReportEngine", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportEngine", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 7}, {"id": "fusion_report_engine_compute_pnl", "label": "compute_pnl()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "compute_pnl()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 17}, {"id": "fusion_report_engine_compute_balance_sheet", "label": "compute_balance_sheet()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "compute_balance_sheet()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 13}, {"id": "fusion_report_engine_compute_trial_balance", "label": "compute_trial_balance()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_trial_balance()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 11}, {"id": "fusion_report_engine_compute_gl", "label": "compute_gl()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_gl()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 10}, {"id": "fusion_report_engine_drill_down", "label": "drill_down()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "drill_down()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_engine_compute_partner_grouped", "label": "compute_partner_grouped()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_partner_grouped()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 3}, {"id": "fusion_report_engine_fusionreportengine_get_report", "label": "._get_report()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "._get_report()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 6}, {"id": "fusion_report_engine_fusionreportengine_fetch_accounts", "label": "._fetch_accounts()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._fetch_accounts()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 4}, {"id": "fusion_report_engine_fusionreportengine_aggregate_period", "label": "._aggregate_period()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._aggregate_period()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 4}, {"id": "fusion_report_engine_fusionreportengine_compute", "label": "._compute()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "._compute()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "code", "degree": 8}, {"id": "fusion_report_engine_rationale_1", "label": "The reports engine - orchestrator for all report computation. 5-method public A", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The reports engine - orchestrator for all report computation. 5-method public A", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 3}, {"id": "fusion_report_engine_rationale_44", "label": "Income statement (P&L) for the given period. ``report_code`` selects be", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Income statement (P&L) for the given period. ``report_code`` selects be", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_62", "label": "Balance sheet AS OF date_to. Period.date_from is set to a far-past date", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Balance sheet AS OF date_to. Period.date_from is set to a far-past date", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_81", "label": "Trial balance for the given period - every account with non-zero balance", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Trial balance for the given period - every account with non-zero balance", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_99", "label": "General ledger for the given period. Returns per-account move-line list", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "General ledger for the given period. Returns per-account move-line list", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_128", "label": "Drill into a report line: list the journal items behind it.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Drill into a report line: list the journal items behind it.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_144", "label": "Per-partner aggregation report (Aged Receivable, Aged Payable, Partner L", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Per-partner aggregation report (Aged Receivable, Aged Payable, Partner L", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 2}, {"id": "fusion_report_engine_rationale_271", "label": "Look up the active fusion.report definition. When ``code`` is provided,", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Look up the active fusion.report definition. When ``code`` is provided,", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 3}, {"id": "fusion_report_engine_rationale_328", "label": "Fetch all accounts for a company, return flat dict + tree.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch all accounts for a company, return flat dict + tree.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 3}, {"id": "fusion_report_engine_rationale_348", "label": "SQL aggregate per account_id for a period. Raw SQL for performance; thi", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SQL aggregate per account_id for a period. Raw SQL for performance; thi", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 3}, {"id": "fusion_report_engine_rationale_379", "label": "Shared computation pipeline. Returns dict with rows, totals, metadata.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared computation pipeline. Returns dict with rows, totals, metadata.", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_engine.py", "file_type": "rationale", "degree": 3}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "label": "fusion_reports_cron.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_reports_cron.py", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "code", "degree": 6}, {"id": "fusion_reports_cron_fusionreportscron", "label": "FusionReportsCron", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportsCron", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "code", "degree": 1}, {"id": "fusion_reports_cron_cron_anomaly_scan", "label": "_cron_anomaly_scan()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_cron_anomaly_scan()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "code", "degree": 5}, {"id": "fusion_reports_cron_cron_mv_refresh", "label": "_cron_mv_refresh()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_cron_mv_refresh()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "code", "degree": 3}, {"id": "fusion_reports_cron_rationale_1", "label": "Cron handlers for fusion_accounting_reports. Two scheduled jobs: - _cron_anomal", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Cron handlers for fusion_accounting_reports. Two scheduled jobs: - _cron_anomal", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "rationale", "degree": 1}, {"id": "fusion_reports_cron_rationale_25", "label": "Run last-month P&L vs prior-year-same-month and persist anomalies.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Run last-month P&L vs prior-year-same-month and persist anomalies.", "community": 33, "community_name": "Community 33", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "rationale", "degree": 0}, {"id": "fusion_reports_cron_rationale_93", "label": "REFRESH CONCURRENTLY via dedicated autocommit cursor. REFRESH MATERIALI", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "REFRESH CONCURRENTLY via dedicated autocommit cursor. REFRESH MATERIALI", "community": 34, "community_name": "Community 34", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_reports_cron.py", "file_type": "rationale", "degree": 0}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_init_py", "label": "__init__.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 27, "community_name": "Community 27", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_py", "label": "fusion_report.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_report.py", "community": 22, "community_name": "Community 22", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_fusionreport", "label": "FusionReport", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReport", "community": 22, "community_name": "Community 22", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report.py", "file_type": "code", "degree": 1}, {"id": "fusion_report_rationale_1", "label": "Persistent definition of a Fusion financial report. Each report (P&L, balance s", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Persistent definition of a Fusion financial report. Each report (P&L, balance s", "community": 22, "community_name": "Community 22", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_anomaly_py", "label": "fusion_report_anomaly.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_report_anomaly.py", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_anomaly_fusionreportanomaly", "label": "FusionReportAnomaly", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportAnomaly", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "code", "degree": 4}, {"id": "fusion_report_anomaly_fusionreportanomaly_action_acknowledge", "label": ".action_acknowledge()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_acknowledge()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_anomaly_fusionreportanomaly_action_dismiss", "label": ".action_dismiss()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_dismiss()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_anomaly_fusionreportanomaly_action_resolve", "label": ".action_resolve()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_resolve()", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_anomaly_rationale_1", "label": "Persisted anomaly flags from the engine's variance detection. Each row captures", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Persisted anomaly flags from the engine's variance detection. Each row captures", "community": 11, "community_name": "Community 11", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_anomaly.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_migration_wizard_py", "label": "fusion_migration_wizard.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_migration_wizard.py", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "code", "degree": 2}, {"id": "fusion_migration_wizard_fusionmigrationwizard", "label": "FusionMigrationWizard", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionMigrationWizard", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "code", "degree": 3}, {"id": "fusion_migration_wizard_fusionmigrationwizard_reports_bootstrap_step", "label": "._reports_bootstrap_step()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._reports_bootstrap_step()", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "code", "degree": 4}, {"id": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration", "label": ".action_run_migration()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_run_migration()", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "code", "degree": 3}, {"id": "fusion_migration_wizard_rationale_1", "label": "Reports-specific migration step. Ensures the 4 CORE report definitions are pres", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Reports-specific migration step. Ensures the 4 CORE report definitions are pres", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "rationale", "degree": 1}, {"id": "fusion_migration_wizard_rationale_16", "label": "Verify all 4 CORE report definitions exist.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify all 4 CORE report definitions exist.", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "rationale", "degree": 1}, {"id": "fusion_migration_wizard_rationale_29", "label": "Override to add reports-bootstrap step at the end of the chain.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Override to add reports-bootstrap step at the end of the chain.", "community": 15, "community_name": "Community 15", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_migration_wizard.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_commentary_py", "label": "fusion_report_commentary.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_report_commentary.py", "community": 23, "community_name": "Community 23", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_commentary.py", "file_type": "code", "degree": 2}, {"id": "fusion_report_commentary_fusionreportcommentary", "label": "FusionReportCommentary", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportCommentary", "community": 23, "community_name": "Community 23", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_commentary.py", "file_type": "code", "degree": 1}, {"id": "fusion_report_commentary_rationale_1", "label": "Cached AI-generated commentary for a report run. One row per (report, period_fr", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Cached AI-generated commentary for a report run. One row per (report, period_fr", "community": 23, "community_name": "Community 23", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_report_commentary.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_account_balance_mv_py", "label": "fusion_account_balance_mv.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "fusion_account_balance_mv.py", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "code", "degree": 3}, {"id": "fusion_account_balance_mv_fusionaccountbalancemv", "label": "FusionAccountBalanceMV", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionAccountBalanceMV", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "code", "degree": 2}, {"id": "fusion_account_balance_mv_fusionaccountbalancemv_init", "label": ".init()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".init()", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "code", "degree": 1}, {"id": "fusion_account_balance_mv_refresh", "label": "_refresh()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_refresh()", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "code", "degree": 4}, {"id": "fusion_account_balance_mv_rationale_1", "label": "Materialized view of per-account-per-month balances. Created lazily by init() (", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Materialized view of per-account-per-month balances. Created lazily by init() (", "community": 16, "community_name": "Community 16", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "rationale", "degree": 1}, {"id": "fusion_account_balance_mv_rationale_57", "label": "Refresh the MV. Falls back to non-concurrent if CONCURRENTLY fails. REF", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Refresh the MV. Falls back to non-concurrent if CONCURRENTLY fails. REF", "community": 35, "community_name": "Community 35", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/models/fusion_account_balance_mv.py", "file_type": "rationale", "degree": 0}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_tours_reports_tours_js", "label": "reports_tours.js", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "reports_tours.js", "community": 36, "community_name": "Community 36", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/tours/reports_tours.js", "file_type": "code", "degree": 0}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_drill_down_dialog_drill_down_dialog_js", "label": "drill_down_dialog.js", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "drill_down_dialog.js", "community": 19, "community_name": "Community 19", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/drill_down_dialog/drill_down_dialog.js", "file_type": "code", "degree": 1}, {"id": "drill_down_dialog_drilldowndialog", "label": "DrillDownDialog", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DrillDownDialog", "community": 19, "community_name": "Community 19", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/drill_down_dialog/drill_down_dialog.js", "file_type": "code", "degree": 3}, {"id": "drill_down_dialog_drilldowndialog_formatamount", "label": ".formatAmount()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".formatAmount()", "community": 19, "community_name": "Community 19", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/drill_down_dialog/drill_down_dialog.js", "file_type": "code", "degree": 1}, {"id": "drill_down_dialog_drilldowndialog_onbackdropclick", "label": ".onBackdropClick()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".onBackdropClick()", "community": 19, "community_name": "Community 19", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/drill_down_dialog/drill_down_dialog.js", "file_type": "code", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_report_table_report_table_js", "label": "report_table.js", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "report_table.js", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable", "label": "ReportTable", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ReportTable", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 9}, {"id": "report_table_reporttable_ispartnergrouped", "label": ".isPartnerGrouped()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".isPartnerGrouped()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_formatamount", "label": ".formatAmount()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".formatAmount()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_onrowclick", "label": ".onRowClick()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onRowClick()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 2}, {"id": "report_table_reporttable_onpartnerrowclick", "label": ".onPartnerRowClick()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".onPartnerRowClick()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_rowclass", "label": ".rowClass()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".rowClass()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_partnerrowclass", "label": ".partnerRowClass()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".partnerRowClass()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_linenameclass", "label": ".lineNameClass()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".lineNameClass()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "report_table_reporttable_varianceclass", "label": ".varianceClass()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".varianceClass()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/report_table/report_table.js", "file_type": "code", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_anomaly_strip_anomaly_strip_js", "label": "anomaly_strip.js", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "anomaly_strip.js", "community": 20, "community_name": "Community 20", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/anomaly_strip/anomaly_strip.js", "file_type": "code", "degree": 1}, {"id": "anomaly_strip_anomalystrip", "label": "AnomalyStrip", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AnomalyStrip", "community": 20, "community_name": "Community 20", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/anomaly_strip/anomaly_strip.js", "file_type": "code", "degree": 3}, {"id": "anomaly_strip_anomalystrip_alertclass", "label": ".alertClass()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".alertClass()", "community": 20, "community_name": "Community 20", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/anomaly_strip/anomaly_strip.js", "file_type": "code", "degree": 1}, {"id": "anomaly_strip_anomalystrip_formatamount", "label": ".formatAmount()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".formatAmount()", "community": 20, "community_name": "Community 20", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/anomaly_strip/anomaly_strip.js", "file_type": "code", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_ai_commentary_panel_ai_commentary_panel_js", "label": "ai_commentary_panel.js", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ai_commentary_panel.js", "community": 24, "community_name": "Community 24", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/ai_commentary_panel/ai_commentary_panel.js", "file_type": "code", "degree": 1}, {"id": "ai_commentary_panel_aicommentarypanel", "label": "AiCommentaryPanel", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "AiCommentaryPanel", "community": 24, "community_name": "Community 24", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/ai_commentary_panel/ai_commentary_panel.js", "file_type": "code", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_period_filter_period_filter_js", "label": "period_filter.js", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "period_filter.js", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 1}, {"id": "period_filter_periodfilter", "label": "PeriodFilter", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PeriodFilter", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 5}, {"id": "period_filter_periodfilter_setup", "label": ".setup()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setup()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 1}, {"id": "period_filter_periodfilter_onreporttypechange", "label": ".onReportTypeChange()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onReportTypeChange()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 2}, {"id": "period_filter_periodfilter_ondatechange", "label": ".onDateChange()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onDateChange()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 2}, {"id": "period_filter_periodfilter_oncomparisonchange", "label": ".onComparisonChange()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onComparisonChange()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/components/period_filter/period_filter.js", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_views_report_viewer_report_viewer_view_js", "label": "report_viewer_view.js", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "report_viewer_view.js", "community": 37, "community_name": "Community 37", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer_view.js", "file_type": "code", "degree": 0}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_views_report_viewer_report_viewer_js", "label": "report_viewer.js", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "report_viewer.js", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 1}, {"id": "report_viewer_reportviewer", "label": "ReportViewer", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ReportViewer", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 5}, {"id": "report_viewer_reportviewer_setup", "label": ".setup()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".setup()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 1}, {"id": "report_viewer_reportviewer_ondrilldown", "label": ".onDrillDown()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".onDrillDown()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 3}, {"id": "report_viewer_reportviewer_onclosedrill", "label": ".onCloseDrill()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onCloseDrill()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 2}, {"id": "report_viewer_reportviewer_ongeneratecommentary", "label": ".onGenerateCommentary()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".onGenerateCommentary()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/views/report_viewer/report_viewer.js", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_services_reports_service_js", "label": "reports_service.js", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "reports_service.js", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 1}, {"id": "reports_service_reportsservice", "label": "ReportsService", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ReportsService", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 9}, {"id": "reports_service_reportsservice_constructor", "label": ".constructor()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".constructor()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 1}, {"id": "reports_service_reportsservice_loadavailablereports", "label": ".loadAvailableReports()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".loadAvailableReports()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 1}, {"id": "reports_service_reportsservice_runreport", "label": ".runReport()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".runReport()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 5}, {"id": "reports_service_reportsservice_fetchanomalies", "label": ".fetchAnomalies()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetchAnomalies()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 2}, {"id": "reports_service_reportsservice_generatecommentary", "label": ".generateCommentary()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".generateCommentary()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 2}, {"id": "reports_service_reportsservice_drilldown", "label": ".drillDown()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".drillDown()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 2}, {"id": "reports_service_reportsservice_closedrilldown", "label": ".closeDrillDown()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".closeDrillDown()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 2}, {"id": "reports_service_reportsservice_setcomparison", "label": ".setComparison()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".setComparison()", "community": 3, "community_name": "Community 3", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/static/src/services/reports_service.js", "file_type": "code", "degree": 3}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_init_py", "label": "__init__.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 28, "community_name": "Community 28", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_period_picker_wizard_py", "label": "period_picker_wizard.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "period_picker_wizard.py", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "code", "degree": 4}, {"id": "period_picker_wizard_fusionperiodpickerwizard", "label": "FusionPeriodPickerWizard", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionPeriodPickerWizard", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "code", "degree": 2}, {"id": "period_picker_wizard_onchange_period_preset", "label": "_onchange_period_preset()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_onchange_period_preset()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "code", "degree": 7}, {"id": "period_picker_wizard_fusionperiodpickerwizard_action_open_report", "label": ".action_open_report()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_open_report()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "code", "degree": 3}, {"id": "period_picker_wizard_rationale_1", "label": "Period selection + comparison wizard. Pre-fills date ranges for common report p", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Period selection + comparison wizard. Pre-fills date ranges for common report p", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "rationale", "degree": 1}, {"id": "period_picker_wizard_rationale_66", "label": "Open the fusion reports viewer pre-filled with selected period.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Open the fusion reports viewer pre-filled with selected period.", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/period_picker_wizard.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_xlsx_export_wizard_py", "label": "xlsx_export_wizard.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "xlsx_export_wizard.py", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/xlsx_export_wizard.py", "file_type": "code", "degree": 3}, {"id": "xlsx_export_wizard_fusionxlsxexportwizard", "label": "FusionXlsxExportWizard", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionXlsxExportWizard", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/xlsx_export_wizard.py", "file_type": "code", "degree": 3}, {"id": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": ".action_export()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".action_export()", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/xlsx_export_wizard.py", "file_type": "code", "degree": 9}, {"id": "xlsx_export_wizard_rationale_1", "label": "XLSX export wizard for fusion financial reports.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "XLSX export wizard for fusion financial reports.", "community": 18, "community_name": "Community 18", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/wizards/xlsx_export_wizard.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_init_py", "label": "__init__.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 29, "community_name": "Community 29", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "label": "reports_controller.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.8, "font": {"size": 12, "color": "#ffffff"}, "title": "reports_controller.py", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 15}, {"id": "reports_controller_parse_date", "label": "_parse_date()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_date()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 6}, {"id": "reports_controller_build_period", "label": "_build_period()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_period()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 5}, {"id": "reports_controller_fusionreportscontroller", "label": "FusionReportsController", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportsController", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 3}, {"id": "reports_controller_list_available", "label": "list_available()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "list_available()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 1}, {"id": "reports_controller_run", "label": "run()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.2, "font": {"size": 0, "color": "#ffffff"}, "title": "run()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 11}, {"id": "reports_controller_drill_down", "label": "drill_down()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "drill_down()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 4}, {"id": "reports_controller_get_anomalies", "label": "get_anomalies()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_anomalies()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 4}, {"id": "reports_controller_fusionreportscontroller_persist_anomalies", "label": "._persist_anomalies()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "._persist_anomalies()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 2}, {"id": "reports_controller_get_commentary", "label": "get_commentary()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_commentary()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 4}, {"id": "reports_controller_compare_periods", "label": "compare_periods()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "compare_periods()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 2}, {"id": "reports_controller_export_pdf", "label": "export_pdf()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "export_pdf()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 1}, {"id": "reports_controller_export_xlsx", "label": "export_xlsx()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "export_xlsx()", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "code", "degree": 3}, {"id": "reports_controller_rationale_1", "label": "HTTP controller: 8 JSON-RPC endpoints for the OWL reports widget. All endpoints", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTP controller: 8 JSON-RPC endpoints for the OWL reports widget. All endpoints", "community": 9, "community_name": "Community 9", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/controllers/reports_controller.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "date_periods.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "date_periods.py", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 13}, {"id": "date_periods_period", "label": "Period", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "Period", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 78}, {"id": "date_periods_period_post_init", "label": ".__post_init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".__post_init__()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 1}, {"id": "date_periods_days", "label": "days()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "days()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 1}, {"id": "date_periods_fiscal_year_bounds", "label": "fiscal_year_bounds()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "fiscal_year_bounds()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 8}, {"id": "date_periods_month_bounds", "label": "month_bounds()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "month_bounds()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 8}, {"id": "date_periods_quarter_bounds", "label": "quarter_bounds()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "quarter_bounds()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 6}, {"id": "date_periods_comparison_period", "label": "comparison_period()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "comparison_period()", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "code", "degree": 6}, {"id": "date_periods_rationale_1", "label": "Date period math for financial reports. Pure-Python helpers that compute: - Fis", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Date period math for financial reports. Pure-Python helpers that compute: - Fis", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "rationale", "degree": 1}, {"id": "date_periods_rationale_37", "label": "Return the fiscal year period containing `reference_date`. Default: calenda", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the fiscal year period containing `reference_date`. Default: calenda", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "rationale", "degree": 1}, {"id": "date_periods_rationale_54", "label": "Return the calendar month containing `reference_date`.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the calendar month containing `reference_date`.", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "rationale", "degree": 1}, {"id": "date_periods_rationale_68", "label": "Return the calendar quarter containing `reference_date`.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the calendar quarter containing `reference_date`.", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "rationale", "degree": 1}, {"id": "date_periods_rationale_81", "label": "Derive the comparison period for `period` per `mode`. `previous_period`: sa", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Derive the comparison period for `period` per `mode`. `previous_period`: sa", "community": 2, "community_name": "Community 2", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/date_periods.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "label": "totaling.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "totaling.py", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "code", "degree": 7}, {"id": "totaling_totalline", "label": "TotalLine", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 21.9, "font": {"size": 12, "color": "#ffffff"}, "title": "TotalLine", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "code", "degree": 31}, {"id": "totaling_aggregate", "label": "aggregate()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "aggregate()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "code", "degree": 8}, {"id": "totaling_aggregate_per_account", "label": "aggregate_per_account()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "aggregate_per_account()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "code", "degree": 4}, {"id": "totaling_is_balanced", "label": "is_balanced()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "is_balanced()", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "code", "degree": 6}, {"id": "totaling_rationale_1", "label": "Move-line aggregation primitives for report totaling. Pure-Python helpers - cal", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Move-line aggregation primitives for report totaling. Pure-Python helpers - cal", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "rationale", "degree": 1}, {"id": "totaling_rationale_21", "label": "Aggregate a list of move-line dicts into a TotalLine. Each dict must have:", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Aggregate a list of move-line dicts into a TotalLine. Each dict must have:", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "rationale", "degree": 1}, {"id": "totaling_rationale_38", "label": "Group + aggregate by account_id. Returns {account_id: TotalLine}.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Group + aggregate by account_id. Returns {account_id: TotalLine}.", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "rationale", "degree": 1}, {"id": "totaling_rationale_47", "label": "True if total debits == total credits (within tolerance for rounding).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "True if total debits == total credits (within tolerance for rounding).", "community": 8, "community_name": "Community 8", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/totaling.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "label": "commentary_generator.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "commentary_generator.py", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "code", "degree": 5}, {"id": "commentary_generator_generate_commentary", "label": "generate_commentary()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_commentary()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "code", "degree": 10}, {"id": "commentary_generator_templated_fallback", "label": "_templated_fallback()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_templated_fallback()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "code", "degree": 3}, {"id": "commentary_generator_get_provider", "label": "_get_provider()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_provider()", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "code", "degree": 3}, {"id": "commentary_generator_rationale_1", "label": "AI-generated narrative commentary for financial reports. Takes a report_result", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "AI-generated narrative commentary for financial reports. Takes a report_result", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "rationale", "degree": 1}, {"id": "commentary_generator_rationale_21", "label": "Generate narrative commentary via LLM. Returns dict per the contract. If no", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate narrative commentary via LLM. Returns dict per the contract. If no", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "rationale", "degree": 1}, {"id": "commentary_generator_rationale_55", "label": "No-LLM fallback that produces a basic narrative from the report data.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "No-LLM fallback that produces a basic narrative from the report data.", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "rationale", "degree": 1}, {"id": "commentary_generator_rationale_87", "label": "Look up provider for 'reports_commentary' feature; return None if not configured", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Look up provider for 'reports_commentary' feature; return None if not configured", "community": 5, "community_name": "Community 5", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_generator.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_currency_conversion_py", "label": "currency_conversion.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "currency_conversion.py", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "code", "degree": 4}, {"id": "currency_conversion_conversionrate", "label": "ConversionRate", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ConversionRate", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "code", "degree": 1}, {"id": "currency_conversion_convert_amount", "label": "convert_amount()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "convert_amount()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "code", "degree": 7}, {"id": "currency_conversion_fetch_rates", "label": "fetch_rates()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "fetch_rates()", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "code", "degree": 3}, {"id": "currency_conversion_rationale_1", "label": "Multi-currency conversion for financial reports. Converts move-line amounts to", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Multi-currency conversion for financial reports. Converts move-line amounts to", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "rationale", "degree": 1}, {"id": "currency_conversion_rationale_21", "label": "Convert `amount` from source to target at the given date. `rates` is a dict", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert `amount` from source to target at the given date. `rates` is a dict", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "rationale", "degree": 1}, {"id": "currency_conversion_rationale_49", "label": "Fetch all relevant rates from res.currency.rate as of a given date. Returns", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch all relevant rates from res.currency.rate as of a given date. Returns", "community": 10, "community_name": "Community 10", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/currency_conversion.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "label": "account_hierarchy.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "account_hierarchy.py", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "code", "degree": 6}, {"id": "account_hierarchy_accountnode", "label": "AccountNode", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "AccountNode", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "code", "degree": 2}, {"id": "account_hierarchy_build_tree", "label": "build_tree()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "build_tree()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "code", "degree": 8}, {"id": "account_hierarchy_walk", "label": "walk()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "walk()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "code", "degree": 5}, {"id": "account_hierarchy_filter_by_account_type", "label": "filter_by_account_type()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "filter_by_account_type()", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "code", "degree": 4}, {"id": "account_hierarchy_rationale_1", "label": "Account hierarchy walker. Given a flat list of accounts with parent_id pointers", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Account hierarchy walker. Given a flat list of accounts with parent_id pointers", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "rationale", "degree": 1}, {"id": "account_hierarchy_rationale_22", "label": "Build a forest from a flat list of account dicts. Each dict must have keys:", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a forest from a flat list of account dicts. Each dict must have keys:", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "rationale", "degree": 1}, {"id": "account_hierarchy_rationale_45", "label": "Depth-first walk yielding (node, depth, ancestors).", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Depth-first walk yielding (node, depth, ancestors).", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "rationale", "degree": 1}, {"id": "account_hierarchy_rationale_56", "label": "Return all nodes whose account_type starts with type_prefix (e.g. 'asset_' r", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Return all nodes whose account_type starts with type_prefix (e.g. 'asset_' r", "community": 7, "community_name": "Community 7", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/account_hierarchy.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_init_py", "label": "__init__.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 30, "community_name": "Community 30", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/__init__.py", "file_type": "code", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "label": "anomaly_detection.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "anomaly_detection.py", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "code", "degree": 5}, {"id": "anomaly_detection_anomaly", "label": "Anomaly", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Anomaly", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "code", "degree": 3}, {"id": "anomaly_detection_anomaly_to_dict", "label": ".to_dict()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "code", "degree": 2}, {"id": "anomaly_detection_detect", "label": "detect()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.2, "font": {"size": 0, "color": "#ffffff"}, "title": "detect()", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "code", "degree": 11}, {"id": "anomaly_detection_rationale_1", "label": "Anomaly detection for financial reports. Compares each row's current-period amo", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Anomaly detection for financial reports. Compares each row's current-period amo", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "rationale", "degree": 1}, {"id": "anomaly_detection_rationale_44", "label": "Detect anomalies in a report_result dict (engine output). Returns list of a", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Detect anomalies in a report_result dict (engine output). Returns list of a", "community": 4, "community_name": "Community 4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/anomaly_detection.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_prompt_py", "label": "commentary_prompt.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "commentary_prompt.py", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_prompt.py", "file_type": "code", "degree": 2}, {"id": "commentary_prompt_build_prompt", "label": "build_prompt()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "build_prompt()", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_prompt.py", "file_type": "code", "degree": 6}, {"id": "commentary_prompt_rationale_1", "label": "LLM prompt for AI report commentary. Provider-agnostic system + user prompt bui", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "LLM prompt for AI report commentary. Provider-agnostic system + user prompt bui", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_prompt.py", "file_type": "rationale", "degree": 1}, {"id": "commentary_prompt_rationale_27", "label": "Build (system_prompt, user_prompt) tuple.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Build (system_prompt, user_prompt) tuple.", "community": 14, "community_name": "Community 14", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/commentary_prompt.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_drill_down_resolver_py", "label": "drill_down_resolver.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "drill_down_resolver.py", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "code", "degree": 4}, {"id": "drill_down_resolver_drilldownrow", "label": "DrillDownRow", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DrillDownRow", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "code", "degree": 3}, {"id": "drill_down_resolver_drilldownrow_to_dict", "label": ".to_dict()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "code", "degree": 2}, {"id": "drill_down_resolver_fetch_drill_down", "label": "fetch_drill_down()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "fetch_drill_down()", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "code", "degree": 9}, {"id": "drill_down_resolver_rationale_1", "label": "Drill-down: from a report line to its underlying journal items. Given an accoun", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Drill-down: from a report line to its underlying journal items. Given an accoun", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "rationale", "degree": 1}, {"id": "drill_down_resolver_rationale_50", "label": "Fetch journal items for an account within a date range. Returns flat list o", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch journal items for an account within a date range. Returns flat list o", "community": 13, "community_name": "Community 13", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/drill_down_resolver.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "label": "line_resolver.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "line_resolver.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "code", "degree": 5}, {"id": "line_resolver_reportrow", "label": "ReportRow", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ReportRow", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "code", "degree": 4}, {"id": "line_resolver_reportrow_to_dict", "label": ".to_dict()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "code", "degree": 2}, {"id": "line_resolver_resolve", "label": "resolve()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.2, "font": {"size": 0, "color": "#ffffff"}, "title": "resolve()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "code", "degree": 11}, {"id": "line_resolver_rationale_1", "label": "Resolve a fusion.report definition into report rows. Pure-Python: takes line_sp", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve a fusion.report definition into report rows. Pure-Python: takes line_sp", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "rationale", "degree": 2}, {"id": "line_resolver_rationale_56", "label": "Resolve line_specs against actual account totals -> list of row dicts. Args", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve line_specs against actual account totals -> list of row dicts. Args", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/services/line_resolver.py", "file_type": "rationale", "degree": 2}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_report_pdf_py", "label": "report_pdf.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "report_pdf.py", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/report_pdf.py", "file_type": "code", "degree": 4}, {"id": "report_pdf_fusionreportpdf", "label": "FusionReportPdf", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "FusionReportPdf", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/report_pdf.py", "file_type": "code", "degree": 2}, {"id": "report_pdf_get_report_values", "label": "_get_report_values()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_report_values()", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/report_pdf.py", "file_type": "code", "degree": 6}, {"id": "report_pdf_rationale_1", "label": "QWeb PDF report for fusion financial reports. Wraps the engine's compute_* meth", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "QWeb PDF report for fusion financial reports. Wraps the engine's compute_* meth", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/report_pdf.py", "file_type": "rationale", "degree": 2}, {"id": "report_pdf_rationale_19", "label": "data is expected to be {report_type, date_from, date_to, comparison, company_id}", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.4, "font": {"size": 0, "color": "#ffffff"}, "title": "data is expected to be {report_type, date_from, date_to, comparison, company_id}", "community": 0, "community_name": "Community 0", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/report_pdf.py", "file_type": "rationale", "degree": 1}, {"id": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_init_py", "label": "__init__.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 31, "community_name": "Community 31", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_accounting_reports/reports/__init__.py", "file_type": "code", "degree": 2}];
|
|
const RAW_EDGES = [{"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_migrations_19_0_1_1_2_pre_migration_py", "to": "pre_migration_migrate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_migrations_19_0_1_1_2_pre_migration_py", "to": "pre_migration_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_testserviceinvariants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_fiscal_year_contains_reference_date", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_month_bounds_first_to_last_day", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_quarter_bounds_three_months", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_aggregate_sum_equals_input_sum", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_balanced_iff_debits_equal_credits", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_comparison_previous_year_is_one_year_earlier", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_testlineresolverinvariants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_test_subtotal_equals_sum_of_above_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_engine_property_py", "to": "test_engine_property_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_engine_property_testserviceinvariants", "to": "transactioncase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_engine_property_testserviceinvariants", "to": "test_engine_property_rationale_29", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_engine_property_testserviceinvariants", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_testserviceinvariants", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "transactioncase", "to": "test_engine_property_testlineresolverinvariants", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_anomaly_detection_testanomalydetection", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_local_llm_compat_testlocalllmcommentary", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_commentary_prompt_testcommentaryprompt", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_pdf_export_testpdfexport", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_fusion_report_commentary_testfusionreportcommentary", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_fusion_report_anomaly_testfusionreportanomaly", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_fusion_report_testfusionreport", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_bs_tb_integration_testbalancesheetintegration", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_bs_tb_integration_testtrialbalanceintegration", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_currency_conversion_testcurrencyconversion", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_performance_benchmarks_testenginebenchmarks", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_cron_testfusionreportscron", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_commentary_generator_testcommentarygenerator", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_fusion_report_tools_testfusionreporttools", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_reports_adapter_testreportsadapter", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_drill_down_resolver_testdrilldownresolver", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_seeded_reports_testseededreports", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_period_picker_testperiodpickerwizard", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_xlsx_export_testxlsxexport", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_fusion_report_engine_testfusionreportengine", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_line_resolver_testlineresolver", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_account_balance_mv_testaccountbalancemv", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_services_unit_testdateperiods", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_services_unit_testaccounthierarchy", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_services_unit_testtotaling", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_pnl_integration_testpnlintegration", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_migration_round_trip_testmigrationroundtrip", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "transactioncase", "to": "test_coexistence_testreportscoexistence", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_engine_property_test_fiscal_year_contains_reference_date", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_month_bounds_first_to_last_day", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_quarter_bounds_three_months", "to": "date_periods_quarter_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_aggregate_sum_equals_input_sum", "to": "totaling_aggregate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_balanced_iff_debits_equal_credits", "to": "totaling_is_balanced", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_comparison_previous_year_is_one_year_earlier", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_comparison_previous_year_is_one_year_earlier", "to": "date_periods_comparison_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_testlineresolverinvariants", "to": "test_engine_property_rationale_124", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_engine_property_testlineresolverinvariants", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_testlineresolverinvariants", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_subtotal_equals_sum_of_above_rows", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_test_subtotal_equals_sum_of_above_rows", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_1", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_29", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_29", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_124", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_engine_property_rationale_124", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_anomaly_detection_py", "to": "test_anomaly_detection_testanomalydetection", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_anomaly_detection_py", "to": "test_anomaly_detection_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_returns_empty_when_no_comparison", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_flags_significant_increase", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_skips_below_absolute_threshold", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_skips_below_pct_threshold", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_severity_high_for_50pct_plus", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection", "to": "test_anomaly_detection_testanomalydetection_test_orders_by_severity_then_amount", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_anomaly_detection_testanomalydetection_test_returns_empty_when_no_comparison", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_anomaly_detection_testanomalydetection_test_flags_significant_increase", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_anomaly_detection_testanomalydetection_test_skips_below_absolute_threshold", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_anomaly_detection_testanomalydetection_test_skips_below_pct_threshold", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_anomaly_detection_testanomalydetection_test_severity_high_for_50pct_plus", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_anomaly_detection_testanomalydetection_test_orders_by_severity_then_amount", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_local_llm_compat_py", "to": "test_local_llm_compat_server_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_local_llm_compat_py", "to": "test_local_llm_compat_detect_local_llm", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_local_llm_compat_py", "to": "test_local_llm_compat_testlocalllmcommentary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_local_llm_compat_py", "to": "test_local_llm_compat_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_server_reachable", "to": "test_local_llm_compat_detect_local_llm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_detect_local_llm", "to": "test_local_llm_compat_testlocalllmcommentary_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_detect_local_llm", "to": "test_local_llm_compat_rationale_25", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_testlocalllmcommentary", "to": "test_local_llm_compat_testlocalllmcommentary_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_testlocalllmcommentary", "to": "test_local_llm_compat_testlocalllmcommentary_test_commentary_with_local_llm", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_local_llm_compat_testlocalllmcommentary", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_local_llm_compat_testlocalllmcommentary_test_commentary_with_local_llm", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_local_llm_compat_testlocalllmcommentary_test_commentary_with_local_llm", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_local_llm_compat_testlocalllmcommentary_test_commentary_with_local_llm", "to": "commentary_generator_generate_commentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_local_llm_compat_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_local_llm_compat_rationale_25", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_prompt_py", "to": "test_commentary_prompt_testcommentaryprompt", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_prompt_py", "to": "test_commentary_prompt_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_prompt_testcommentaryprompt", "to": "test_commentary_prompt_testcommentaryprompt_test_system_prompt_requires_json", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_prompt_testcommentaryprompt", "to": "test_commentary_prompt_testcommentaryprompt_test_build_prompt_returns_tuple", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_prompt_testcommentaryprompt", "to": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_rows", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_prompt_testcommentaryprompt", "to": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_anomalies", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_prompt_testcommentaryprompt_test_build_prompt_returns_tuple", "to": "commentary_prompt_build_prompt", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_rows", "to": "commentary_prompt_build_prompt", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_commentary_prompt_testcommentaryprompt_test_user_prompt_includes_anomalies", "to": "commentary_prompt_build_prompt", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pdf_export_py", "to": "test_pdf_export_testpdfexport", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pdf_export_py", "to": "test_pdf_export_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pdf_export_testpdfexport", "to": "test_pdf_export_testpdfexport_test_pdf_render_pnl", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pdf_export_testpdfexport", "to": "test_pdf_export_testpdfexport_test_pdf_render_balance_sheet", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_commentary_py", "to": "test_fusion_report_commentary_testfusionreportcommentary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_commentary_py", "to": "test_fusion_report_commentary_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_commentary_testfusionreportcommentary", "to": "test_fusion_report_commentary_testfusionreportcommentary_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_commentary_testfusionreportcommentary", "to": "test_fusion_report_commentary_testfusionreportcommentary_test_create_minimal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_commentary_testfusionreportcommentary", "to": "test_fusion_report_commentary_testfusionreportcommentary_test_uniqueness_per_period", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_commentary_testfusionreportcommentary", "to": "test_fusion_report_commentary_testfusionreportcommentary_test_different_comparison_modes_can_coexist", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_anomaly_py", "to": "test_fusion_report_anomaly_testfusionreportanomaly", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_anomaly_py", "to": "test_fusion_report_anomaly_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_make", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_create_basic", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_acknowledge_action", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_dismiss_action", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_resolve_action", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_make", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_create_basic", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_make", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_acknowledge_action", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_make", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_dismiss_action", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_make", "to": "test_fusion_report_anomaly_testfusionreportanomaly_test_resolve_action", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_test_acknowledge_action", "to": "fusion_report_anomaly_fusionreportanomaly_action_acknowledge", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_test_dismiss_action", "to": "fusion_report_anomaly_fusionreportanomaly_action_dismiss", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_anomaly_testfusionreportanomaly_test_resolve_action", "to": "fusion_report_anomaly_fusionreportanomaly_action_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_py", "to": "test_fusion_report_testfusionreport", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_py", "to": "test_fusion_report_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_testfusionreport", "to": "test_fusion_report_testfusionreport_test_create_minimal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_testfusionreport", "to": "test_fusion_report_testfusionreport_test_line_specs_json_roundtrip", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_testfusionreport", "to": "test_fusion_report_testfusionreport_test_company_code_uniqueness", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_bs_tb_integration_py", "to": "test_bs_tb_integration_testbalancesheetintegration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_bs_tb_integration_py", "to": "test_bs_tb_integration_testtrialbalanceintegration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_bs_tb_integration_py", "to": "test_bs_tb_integration_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration", "to": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_includes_total_assets", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration", "to": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_total_assets_is_subtotal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration", "to": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_returns_period", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_includes_total_assets", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_total_assets_is_subtotal", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testbalancesheetintegration_test_balance_sheet_returns_period", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration", "to": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_returns_all_5_groups", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration", "to": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_has_total_subtotal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_returns_all_5_groups", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_returns_all_5_groups", "to": "fusion_report_engine_compute_trial_balance", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_has_total_subtotal", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_testtrialbalanceintegration_test_trial_balance_has_total_subtotal", "to": "fusion_report_engine_compute_trial_balance", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_bs_tb_integration_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_currency_conversion_py", "to": "test_currency_conversion_testcurrencyconversion", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_currency_conversion_py", "to": "test_currency_conversion_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_same_currency_returns_unchanged", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_direct_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_inverse_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_falls_back_to_most_recent_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_raises_when_no_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion", "to": "test_currency_conversion_testcurrencyconversion_test_fetch_rates_from_env", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_same_currency_returns_unchanged", "to": "currency_conversion_convert_amount", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_direct_rate", "to": "currency_conversion_convert_amount", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_inverse_rate", "to": "currency_conversion_convert_amount", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_falls_back_to_most_recent_rate", "to": "currency_conversion_convert_amount", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_raises_when_no_rate", "to": "currency_conversion_convert_amount", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_currency_conversion_testcurrencyconversion_test_fetch_rates_from_env", "to": "currency_conversion_fetch_rates", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_performance_benchmarks_py", "to": "test_performance_benchmarks_percentile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_performance_benchmarks_py", "to": "test_performance_benchmarks_testenginebenchmarks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_performance_benchmarks_py", "to": "test_performance_benchmarks_testcontrollerbenchmarks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_performance_benchmarks_py", "to": "test_performance_benchmarks_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_pnl_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_balance_sheet_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_trial_balance_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_gl_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testenginebenchmarks_test_drill_down_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_percentile", "to": "test_performance_benchmarks_testcontrollerbenchmarks_test_run_endpoint_p95", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_pnl_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_balance_sheet_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_trial_balance_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_test_compute_gl_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "test_performance_benchmarks_testenginebenchmarks_test_drill_down_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testenginebenchmarks", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_setup", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_test_compute_pnl_p95", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_test_compute_balance_sheet_p95", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_test_compute_trial_balance_p95", "to": "fusion_report_engine_compute_trial_balance", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_test_compute_gl_p95", "to": "fusion_report_engine_compute_gl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testenginebenchmarks_test_drill_down_p95", "to": "reports_controller_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_performance_benchmarks_testcontrollerbenchmarks", "to": "httpcase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testcontrollerbenchmarks", "to": "test_performance_benchmarks_testcontrollerbenchmarks_test_run_endpoint_p95", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_testcontrollerbenchmarks", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "httpcase", "to": "test_reports_tours_testreportstours", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "httpcase", "to": "test_reports_controller_testreportscontroller", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_performance_benchmarks_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_tours_py", "to": "test_reports_tours_testreportstours", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_tours_py", "to": "test_reports_tours_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_start_tour_safe", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_test_smoke_tour", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_test_period_picker_tour", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_test_xlsx_wizard_tour", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_test_anomaly_list_tour", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours", "to": "test_reports_tours_testreportstours_test_viewer_smoke_tour", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours_start_tour_safe", "to": "test_reports_tours_testreportstours_test_smoke_tour", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours_start_tour_safe", "to": "test_reports_tours_testreportstours_test_period_picker_tour", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours_start_tour_safe", "to": "test_reports_tours_testreportstours_test_xlsx_wizard_tour", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours_start_tour_safe", "to": "test_reports_tours_testreportstours_test_anomaly_list_tour", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_tours_testreportstours_start_tour_safe", "to": "test_reports_tours_testreportstours_test_viewer_smoke_tour", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_cron_py", "to": "test_cron_testfusionreportscron", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_cron_py", "to": "test_cron_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_cron_testfusionreportscron", "to": "test_cron_testfusionreportscron_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_cron_testfusionreportscron", "to": "test_cron_testfusionreportscron_test_cron_mv_refresh_does_not_raise", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_cron_testfusionreportscron", "to": "test_cron_testfusionreportscron_test_cron_anomaly_scan_does_not_raise", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_cron_testfusionreportscron_test_cron_mv_refresh_does_not_raise", "to": "fusion_reports_cron_cron_mv_refresh", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_cron_testfusionreportscron_test_cron_anomaly_scan_does_not_raise", "to": "fusion_reports_cron_cron_anomaly_scan", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_generator_py", "to": "test_commentary_generator_testcommentarygenerator", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_commentary_generator_py", "to": "test_commentary_generator_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_generator_testcommentarygenerator", "to": "test_commentary_generator_testcommentarygenerator_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_generator_testcommentarygenerator", "to": "test_commentary_generator_testcommentarygenerator_test_fallback_when_no_provider", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_generator_testcommentarygenerator", "to": "test_commentary_generator_testcommentarygenerator_test_fallback_includes_anomalies_in_concerns", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_generator_testcommentarygenerator", "to": "test_commentary_generator_testcommentarygenerator_test_returns_dict_with_required_keys", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_commentary_generator_testcommentarygenerator_test_fallback_when_no_provider", "to": "commentary_generator_generate_commentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_commentary_generator_testcommentarygenerator_test_fallback_includes_anomalies_in_concerns", "to": "commentary_generator_generate_commentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_commentary_generator_testcommentarygenerator_test_returns_dict_with_required_keys", "to": "commentary_generator_generate_commentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_tools_py", "to": "test_fusion_report_tools_testfusionreporttools", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_tools_py", "to": "test_fusion_report_tools_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_fusion_run_report_pnl", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_fusion_get_anomalies", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_fusion_generate_commentary", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_fusion_drill_down", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_fusion_compare_periods", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_tools_testfusionreporttools", "to": "test_fusion_report_tools_testfusionreporttools_test_tools_registered_in_dispatch", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_adapter_py", "to": "test_reports_adapter_testreportsadapter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_adapter_py", "to": "test_reports_adapter_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_adapter_testreportsadapter", "to": "test_reports_adapter_testreportsadapter_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_adapter_testreportsadapter", "to": "test_reports_adapter_testreportsadapter_test_run_fusion_report_via_fusion_pnl", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_adapter_testreportsadapter", "to": "test_reports_adapter_testreportsadapter_test_run_fusion_report_via_community_returns_error", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_adapter_testreportsadapter", "to": "test_reports_adapter_testreportsadapter_test_get_anomalies_via_fusion", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_adapter_testreportsadapter", "to": "test_reports_adapter_testreportsadapter_test_get_commentary_via_fusion", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_drill_down_resolver_py", "to": "test_drill_down_resolver_testdrilldownresolver", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_drill_down_resolver_py", "to": "test_drill_down_resolver_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_drill_down_resolver_testdrilldownresolver", "to": "test_drill_down_resolver_testdrilldownresolver_test_returns_empty_for_account_with_no_lines", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_drill_down_resolver_testdrilldownresolver", "to": "test_drill_down_resolver_testdrilldownresolver_test_returns_lines_for_account_with_data", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_drill_down_resolver_testdrilldownresolver", "to": "test_drill_down_resolver_testdrilldownresolver_test_respects_limit", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_drill_down_resolver_testdrilldownresolver_test_returns_empty_for_account_with_no_lines", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_drill_down_resolver_testdrilldownresolver_test_returns_lines_for_account_with_data", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_drill_down_resolver_testdrilldownresolver_test_respects_limit", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_seeded_reports_py", "to": "test_seeded_reports_testseededreports", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_seeded_reports_py", "to": "test_seeded_reports_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_pnl_definition_loaded", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_pnl_compute_returns_rows", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_balance_sheet_definition_loaded", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_balance_sheet_compute_returns_assets_liabilities_equity", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_trial_balance_definition_loaded", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_trial_balance_total_near_zero", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_general_ledger_definition_loaded", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "test_seeded_reports_testseededreports_test_general_ledger_returns_per_account_listings", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_pnl_compute_returns_rows", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_pnl_compute_returns_rows", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_balance_sheet_compute_returns_assets_liabilities_equity", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_trial_balance_total_near_zero", "to": "test_seeded_reports_rationale_55", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_seeded_reports_testseededreports_test_trial_balance_total_near_zero", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_trial_balance_total_near_zero", "to": "fusion_report_engine_compute_trial_balance", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_general_ledger_returns_per_account_listings", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_testseededreports_test_general_ledger_returns_per_account_listings", "to": "fusion_report_engine_compute_gl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_seeded_reports_rationale_55", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_period_picker_py", "to": "test_period_picker_testperiodpickerwizard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_period_picker_py", "to": "test_period_picker_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_period_picker_testperiodpickerwizard", "to": "test_period_picker_testperiodpickerwizard_test_this_month_preset_fills_dates", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_period_picker_testperiodpickerwizard", "to": "test_period_picker_testperiodpickerwizard_test_this_year_preset_uses_ytd", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_period_picker_testperiodpickerwizard", "to": "test_period_picker_testperiodpickerwizard_test_action_open_report_returns_client_action", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_period_picker_testperiodpickerwizard_test_this_month_preset_fills_dates", "to": "period_picker_wizard_onchange_period_preset", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_period_picker_testperiodpickerwizard_test_this_year_preset_uses_ytd", "to": "period_picker_wizard_onchange_period_preset", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_period_picker_testperiodpickerwizard_test_action_open_report_returns_client_action", "to": "period_picker_wizard_onchange_period_preset", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_period_picker_testperiodpickerwizard_test_action_open_report_returns_client_action", "to": "period_picker_wizard_fusionperiodpickerwizard_action_open_report", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_xlsx_export_py", "to": "test_xlsx_export_testxlsxexport", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_xlsx_export_py", "to": "test_xlsx_export_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_xlsx_export_testxlsxexport", "to": "test_xlsx_export_testxlsxexport_test_export_pnl_produces_xlsx", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_xlsx_export_testxlsxexport", "to": "test_xlsx_export_testxlsxexport_test_export_balance_sheet", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_xlsx_export_testxlsxexport_test_export_pnl_produces_xlsx", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_xlsx_export_testxlsxexport_test_export_balance_sheet", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_controller_py", "to": "test_reports_controller_testreportscontroller", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_reports_controller_py", "to": "test_reports_controller_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_jsonrpc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_list_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_run_pnl", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_run_balance_sheet", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_drill_down_returns_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_get_anomalies_returns_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_get_commentary_returns_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_export_pdf_returns_pdf", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller", "to": "test_reports_controller_testreportscontroller_test_export_xlsx_returns_xlsx", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_list_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_run_pnl", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_run_balance_sheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_drill_down_returns_list", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_get_anomalies_returns_list", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_get_commentary_returns_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_export_pdf_returns_pdf", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_reports_controller_testreportscontroller_jsonrpc", "to": "test_reports_controller_testreportscontroller_test_export_xlsx_returns_xlsx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_engine_py", "to": "test_fusion_report_engine_testfusionreportengine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_fusion_report_engine_py", "to": "test_fusion_report_engine_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_engine_model_exists", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_returns_dict_with_rows", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_compute_balance_sheet", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_compute_trial_balance", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_with_comparison", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_drill_down_returns_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_compute_partner_grouped_receivable", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_report_code_disambiguates_same_report_type", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_report_code_validates_type_match", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "test_fusion_report_engine_testfusionreportengine_test_no_report_raises_validation_error", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_returns_dict_with_rows", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_returns_dict_with_rows", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_balance_sheet", "to": "fusion_report_engine_compute_balance_sheet", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_trial_balance", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_trial_balance", "to": "fusion_report_engine_compute_trial_balance", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_with_comparison", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_pnl_with_comparison", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_drill_down_returns_list", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_drill_down_returns_list", "to": "reports_controller_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_partner_grouped_receivable", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_compute_partner_grouped_receivable", "to": "fusion_report_engine_compute_partner_grouped", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_disambiguates_same_report_type", "to": "test_fusion_report_engine_rationale_111", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_disambiguates_same_report_type", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_disambiguates_same_report_type", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_validates_type_match", "to": "test_fusion_report_engine_rationale_148", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_validates_type_match", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_report_code_validates_type_match", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_no_report_raises_validation_error", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_testfusionreportengine_test_no_report_raises_validation_error", "to": "fusion_report_engine_compute_gl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_rationale_111", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_fusion_report_engine_rationale_148", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_line_resolver_py", "to": "test_line_resolver_testlineresolver", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_line_resolver_py", "to": "test_line_resolver_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "test_line_resolver_testlineresolver_test_resolve_account_type_prefix", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "test_line_resolver_testlineresolver_test_resolve_subtotal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "test_line_resolver_testlineresolver_test_resolve_with_comparison", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "test_line_resolver_testlineresolver_test_resolve_empty_specs", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "test_line_resolver_testlineresolver_test_resolve_account_id_drill_down", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_line_resolver_testlineresolver", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_account_type_prefix", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_account_type_prefix", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_subtotal", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_subtotal", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_with_comparison", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_with_comparison", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_empty_specs", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_account_id_drill_down", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_testlineresolver_test_resolve_account_id_drill_down", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_line_resolver_rationale_1", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_account_balance_mv_py", "to": "test_account_balance_mv_testaccountbalancemv", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_account_balance_mv_py", "to": "test_account_balance_mv_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_account_balance_mv_testaccountbalancemv", "to": "test_account_balance_mv_testaccountbalancemv_test_mv_exists_and_is_queryable", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_account_balance_mv_testaccountbalancemv", "to": "test_account_balance_mv_testaccountbalancemv_test_mv_refresh_concurrent", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_account_balance_mv_testaccountbalancemv_test_mv_exists_and_is_queryable", "to": "fusion_account_balance_mv_refresh", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_account_balance_mv_testaccountbalancemv_test_mv_refresh_concurrent", "to": "fusion_account_balance_mv_refresh", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_services_unit_py", "to": "test_services_unit_testdateperiods", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_services_unit_py", "to": "test_services_unit_testaccounthierarchy", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_services_unit_py", "to": "test_services_unit_testtotaling", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_services_unit_py", "to": "test_services_unit_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_fiscal_year_calendar_default", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_fiscal_year_april_start", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_fiscal_year_before_start_returns_prior", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_month_bounds", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_month_bounds_december", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_quarter_bounds_q2", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_comparison_previous_year", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_comparison_previous_period_same_length", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "test_services_unit_testdateperiods_test_period_validates_bounds", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testdateperiods", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_fiscal_year_calendar_default", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_fiscal_year_april_start", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_fiscal_year_before_start_returns_prior", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_month_bounds", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_month_bounds_december", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_quarter_bounds_q2", "to": "date_periods_quarter_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_comparison_previous_year", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_comparison_previous_year", "to": "date_periods_comparison_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_comparison_previous_period_same_length", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_comparison_previous_period_same_length", "to": "date_periods_comparison_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testdateperiods_test_period_validates_bounds", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "test_services_unit_testaccounthierarchy_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "test_services_unit_testaccounthierarchy_test_build_tree_returns_two_roots", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "test_services_unit_testaccounthierarchy_test_walk_yields_all_nodes", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "test_services_unit_testaccounthierarchy_test_walk_depth_correct", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "test_services_unit_testaccounthierarchy_test_filter_by_type_prefix", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testaccounthierarchy", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_build_tree_returns_two_roots", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_walk_yields_all_nodes", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_walk_yields_all_nodes", "to": "account_hierarchy_walk", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_walk_depth_correct", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_walk_depth_correct", "to": "account_hierarchy_walk", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_filter_by_type_prefix", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testaccounthierarchy_test_filter_by_type_prefix", "to": "account_hierarchy_filter_by_account_type", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling", "to": "test_services_unit_testtotaling_test_aggregate_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testtotaling", "to": "test_services_unit_testtotaling_test_aggregate_simple", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testtotaling", "to": "test_services_unit_testtotaling_test_aggregate_per_account_groups_correctly", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testtotaling", "to": "test_services_unit_testtotaling_test_is_balanced_true", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testtotaling", "to": "test_services_unit_testtotaling_test_is_balanced_false", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_services_unit_testtotaling", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling_test_aggregate_empty", "to": "totaling_aggregate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling_test_aggregate_simple", "to": "totaling_aggregate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling_test_aggregate_per_account_groups_correctly", "to": "totaling_aggregate_per_account", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling_test_is_balanced_true", "to": "totaling_is_balanced", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_testtotaling_test_is_balanced_false", "to": "totaling_is_balanced", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_services_unit_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pnl_integration_py", "to": "test_pnl_integration_testpnlintegration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_pnl_integration_py", "to": "test_pnl_integration_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "test_pnl_integration_testpnlintegration_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "test_pnl_integration_testpnlintegration_create_invoice", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "test_pnl_integration_testpnlintegration_test_pnl_includes_invoice_revenue", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "test_pnl_integration_testpnlintegration_test_pnl_with_comparison_returns_both_periods", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "test_pnl_integration_testpnlintegration_test_pnl_net_income_is_subtotal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_create_invoice", "to": "test_pnl_integration_testpnlintegration_test_pnl_includes_invoice_revenue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_includes_invoice_revenue", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_includes_invoice_revenue", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_with_comparison_returns_both_periods", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_with_comparison_returns_both_periods", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_net_income_is_subtotal", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_testpnlintegration_test_pnl_net_income_is_subtotal", "to": "fusion_report_engine_compute_pnl", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "test_pnl_integration_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_migration_round_trip_py", "to": "test_migration_round_trip_testmigrationroundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_migration_round_trip_py", "to": "test_migration_round_trip_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_migration_round_trip_testmigrationroundtrip", "to": "test_migration_round_trip_testmigrationroundtrip_test_bootstrap_finds_all_4_reports", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_migration_round_trip_testmigrationroundtrip_test_bootstrap_finds_all_4_reports", "to": "fusion_migration_wizard_fusionmigrationwizard_reports_bootstrap_step", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_coexistence_py", "to": "test_coexistence_testreportscoexistence", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_tests_test_coexistence_py", "to": "test_coexistence_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_coexistence_testreportscoexistence", "to": "test_coexistence_testreportscoexistence_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_coexistence_testreportscoexistence", "to": "test_coexistence_testreportscoexistence_test_engine_always_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_coexistence_testreportscoexistence", "to": "test_coexistence_testreportscoexistence_test_menu_gated_by_coexistence_group", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_coexistence_testreportscoexistence", "to": "test_coexistence_testreportscoexistence_test_period_picker_wizard_gated_too", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_coexistence_testreportscoexistence_test_engine_always_available", "to": "test_coexistence_rationale_21", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_drill_down_resolver_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_fusionreportengine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_compute_pnl", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_compute_balance_sheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_compute_trial_balance", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_compute_gl", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_drill_down", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_compute_partner_grouped", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_engine_py", "to": "fusion_report_engine_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "fusion_report_engine_fusionreportengine_get_report", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "fusion_report_engine_fusionreportengine_fetch_accounts", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "fusion_report_engine_fusionreportengine_aggregate_period", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "fusion_report_engine_fusionreportengine_compute", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_fusionreportengine", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_pnl", "to": "fusion_report_engine_fusionreportengine_get_report", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_pnl", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_pnl", "to": "fusion_reports_cron_cron_anomaly_scan", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_pnl", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_pnl", "to": "reports_controller_run", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_pnl", "to": "report_pdf_get_report_values", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "fusion_report_engine_fusionreportengine_get_report", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "reports_controller_run", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_balance_sheet", "to": "report_pdf_get_report_values", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_trial_balance", "to": "fusion_report_engine_fusionreportengine_get_report", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_trial_balance", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_trial_balance", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_trial_balance", "to": "reports_controller_run", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_trial_balance", "to": "report_pdf_get_report_values", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_gl", "to": "fusion_report_engine_fusionreportengine_get_report", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_gl", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_compute_gl", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_gl", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_gl", "to": "reports_controller_run", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_gl", "to": "report_pdf_get_report_values", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_drill_down", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_compute_partner_grouped", "to": "reports_controller_run", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_fusionreportengine_get_report", "to": "fusion_report_engine_rationale_271", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine_fetch_accounts", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine_fetch_accounts", "to": "fusion_report_engine_rationale_328", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine_fetch_accounts", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_fusionreportengine_aggregate_period", "to": "fusion_report_engine_fusionreportengine_compute", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine_aggregate_period", "to": "fusion_report_engine_rationale_348", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_fusionreportengine_aggregate_period", "to": "totaling_totalline", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_fusionreportengine_compute", "to": "fusion_report_engine_rationale_379", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_engine_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_1", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_44", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_44", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_62", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_62", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_81", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_81", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_99", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_99", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_128", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_128", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_144", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_144", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_271", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_271", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_328", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_328", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_348", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_348", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_379", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_report_engine_rationale_379", "to": "totaling_totalline", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "fusion_reports_cron_fusionreportscron", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "fusion_reports_cron_cron_anomaly_scan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "fusion_reports_cron_cron_mv_refresh", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_reports_cron_py", "to": "fusion_reports_cron_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_reports_cron_cron_anomaly_scan", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_reports_cron_cron_anomaly_scan", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "fusion_reports_cron_cron_mv_refresh", "to": "fusion_account_balance_mv_refresh", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_py", "to": "fusion_report_fusionreport", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_py", "to": "fusion_report_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_anomaly_py", "to": "fusion_report_anomaly_fusionreportanomaly", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_anomaly_py", "to": "fusion_report_anomaly_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_anomaly_fusionreportanomaly", "to": "fusion_report_anomaly_fusionreportanomaly_action_acknowledge", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_anomaly_fusionreportanomaly", "to": "fusion_report_anomaly_fusionreportanomaly_action_dismiss", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_report_anomaly_fusionreportanomaly", "to": "fusion_report_anomaly_fusionreportanomaly_action_resolve", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_migration_wizard_py", "to": "fusion_migration_wizard_fusionmigrationwizard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_migration_wizard_py", "to": "fusion_migration_wizard_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_migration_wizard_fusionmigrationwizard", "to": "fusion_migration_wizard_fusionmigrationwizard_reports_bootstrap_step", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_migration_wizard_fusionmigrationwizard", "to": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_migration_wizard_fusionmigrationwizard_reports_bootstrap_step", "to": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_migration_wizard_fusionmigrationwizard_reports_bootstrap_step", "to": "fusion_migration_wizard_rationale_16", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_migration_wizard_fusionmigrationwizard_action_run_migration", "to": "fusion_migration_wizard_rationale_29", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_commentary_py", "to": "fusion_report_commentary_fusionreportcommentary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_report_commentary_py", "to": "fusion_report_commentary_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_account_balance_mv_py", "to": "fusion_account_balance_mv_fusionaccountbalancemv", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_account_balance_mv_py", "to": "fusion_account_balance_mv_refresh", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_models_fusion_account_balance_mv_py", "to": "fusion_account_balance_mv_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "fusion_account_balance_mv_fusionaccountbalancemv", "to": "fusion_account_balance_mv_fusionaccountbalancemv_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_drill_down_dialog_drill_down_dialog_js", "to": "drill_down_dialog_drilldowndialog", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_dialog_drilldowndialog", "to": "drill_down_dialog_drilldowndialog_formatamount", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_dialog_drilldowndialog", "to": "drill_down_dialog_drilldowndialog_onbackdropclick", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_report_table_report_table_js", "to": "report_table_reporttable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_ispartnergrouped", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_formatamount", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_onrowclick", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_onpartnerrowclick", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_rowclass", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_partnerrowclass", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_linenameclass", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable", "to": "report_table_reporttable_varianceclass", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_table_reporttable_onrowclick", "to": "report_viewer_reportviewer_ondrilldown", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_anomaly_strip_anomaly_strip_js", "to": "anomaly_strip_anomalystrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_strip_anomalystrip", "to": "anomaly_strip_anomalystrip_alertclass", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_strip_anomalystrip", "to": "anomaly_strip_anomalystrip_formatamount", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_ai_commentary_panel_ai_commentary_panel_js", "to": "ai_commentary_panel_aicommentarypanel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_components_period_filter_period_filter_js", "to": "period_filter_periodfilter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_filter_periodfilter", "to": "period_filter_periodfilter_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_filter_periodfilter", "to": "period_filter_periodfilter_onreporttypechange", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_filter_periodfilter", "to": "period_filter_periodfilter_ondatechange", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_filter_periodfilter", "to": "period_filter_periodfilter_oncomparisonchange", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_filter_periodfilter_onreporttypechange", "to": "reports_service_reportsservice_runreport", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "period_filter_periodfilter_ondatechange", "to": "reports_service_reportsservice_runreport", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "period_filter_periodfilter_oncomparisonchange", "to": "reports_service_reportsservice_setcomparison", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_views_report_viewer_report_viewer_js", "to": "report_viewer_reportviewer", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_viewer_reportviewer", "to": "report_viewer_reportviewer_setup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_viewer_reportviewer", "to": "report_viewer_reportviewer_ondrilldown", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_viewer_reportviewer", "to": "report_viewer_reportviewer_onclosedrill", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_viewer_reportviewer", "to": "report_viewer_reportviewer_ongeneratecommentary", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "report_viewer_reportviewer_ondrilldown", "to": "reports_service_reportsservice_drilldown", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "report_viewer_reportviewer_onclosedrill", "to": "reports_service_reportsservice_closedrilldown", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "report_viewer_reportviewer_ongeneratecommentary", "to": "reports_service_reportsservice_generatecommentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_static_src_services_reports_service_js", "to": "reports_service_reportsservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_constructor", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_loadavailablereports", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_runreport", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_fetchanomalies", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_generatecommentary", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_drilldown", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_closedrilldown", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice", "to": "reports_service_reportsservice_setcomparison", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice_runreport", "to": "reports_service_reportsservice_fetchanomalies", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_service_reportsservice_runreport", "to": "reports_service_reportsservice_setcomparison", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_period_picker_wizard_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_period_picker_wizard_py", "to": "period_picker_wizard_fusionperiodpickerwizard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_period_picker_wizard_py", "to": "period_picker_wizard_onchange_period_preset", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_period_picker_wizard_py", "to": "period_picker_wizard_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_picker_wizard_fusionperiodpickerwizard", "to": "period_picker_wizard_fusionperiodpickerwizard_action_open_report", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "period_picker_wizard_onchange_period_preset", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "period_picker_wizard_onchange_period_preset", "to": "date_periods_quarter_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "period_picker_wizard_onchange_period_preset", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "period_picker_wizard_fusionperiodpickerwizard_action_open_report", "to": "period_picker_wizard_rationale_66", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_xlsx_export_wizard_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_xlsx_export_wizard_py", "to": "xlsx_export_wizard_fusionxlsxexportwizard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_wizards_xlsx_export_wizard_py", "to": "xlsx_export_wizard_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "xlsx_export_wizard_fusionxlsxexportwizard", "to": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "xlsx_export_wizard_fusionxlsxexportwizard", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "xlsx_export_wizard_fusionxlsxexportwizard_action_export", "to": "reports_controller_export_xlsx", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "xlsx_export_wizard_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_parse_date", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_build_period", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_fusionreportscontroller", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_list_available", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_run", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_drill_down", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_get_anomalies", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_get_commentary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_compare_periods", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_export_pdf", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_export_xlsx", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_controllers_reports_controller_py", "to": "reports_controller_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_parse_date", "to": "reports_controller_build_period", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_parse_date", "to": "reports_controller_run", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_parse_date", "to": "reports_controller_get_anomalies", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_parse_date", "to": "reports_controller_get_commentary", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_parse_date", "to": "reports_controller_export_xlsx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_build_period", "to": "reports_controller_run", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_build_period", "to": "reports_controller_drill_down", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_build_period", "to": "date_periods_period", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "reports_controller_fusionreportscontroller", "to": "reports_controller_fusionreportscontroller_persist_anomalies", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_fusionreportscontroller", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "reports_controller_run", "to": "reports_controller_get_anomalies", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_run", "to": "reports_controller_get_commentary", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_run", "to": "reports_controller_compare_periods", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_get_anomalies", "to": "reports_controller_fusionreportscontroller_persist_anomalies", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "reports_controller_get_commentary", "to": "commentary_generator_generate_commentary", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "reports_controller_rationale_1", "to": "date_periods_period", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_period", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_days", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_fiscal_year_bounds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_month_bounds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_quarter_bounds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_comparison_period", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "date_periods_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_date_periods_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_report_pdf_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "date_periods_period_post_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "date_periods_fiscal_year_bounds", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "date_periods_month_bounds", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "date_periods_quarter_bounds", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "date_periods_comparison_period", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_period", "to": "report_pdf_fusionreportpdf", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "date_periods_period", "to": "report_pdf_rationale_1", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "date_periods_period", "to": "report_pdf_rationale_19", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "date_periods_period", "to": "report_pdf_get_report_values", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "date_periods_fiscal_year_bounds", "to": "date_periods_rationale_37", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_month_bounds", "to": "date_periods_rationale_54", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_quarter_bounds", "to": "date_periods_rationale_68", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "date_periods_comparison_period", "to": "date_periods_rationale_81", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "totaling_totalline", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "totaling_aggregate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "totaling_aggregate_per_account", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "totaling_is_balanced", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "totaling_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_totaling_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_totalline", "to": "totaling_aggregate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_totalline", "to": "line_resolver_reportrow", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "totaling_totalline", "to": "line_resolver_rationale_1", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "totaling_totalline", "to": "line_resolver_rationale_56", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "totaling_totalline", "to": "line_resolver_resolve", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "totaling_aggregate", "to": "totaling_aggregate_per_account", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_aggregate", "to": "totaling_is_balanced", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_aggregate", "to": "totaling_rationale_21", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_aggregate_per_account", "to": "totaling_rationale_38", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "totaling_is_balanced", "to": "totaling_rationale_47", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "to": "commentary_generator_generate_commentary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "to": "commentary_generator_templated_fallback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "to": "commentary_generator_get_provider", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_generator_py", "to": "commentary_generator_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_generator_generate_commentary", "to": "commentary_generator_get_provider", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_generator_generate_commentary", "to": "commentary_generator_templated_fallback", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_generator_generate_commentary", "to": "commentary_generator_rationale_21", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_generator_generate_commentary", "to": "commentary_prompt_build_prompt", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "commentary_generator_templated_fallback", "to": "commentary_generator_rationale_55", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_generator_get_provider", "to": "commentary_generator_rationale_87", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_currency_conversion_py", "to": "currency_conversion_conversionrate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_currency_conversion_py", "to": "currency_conversion_convert_amount", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_currency_conversion_py", "to": "currency_conversion_fetch_rates", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_currency_conversion_py", "to": "currency_conversion_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "currency_conversion_convert_amount", "to": "currency_conversion_rationale_21", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "currency_conversion_fetch_rates", "to": "currency_conversion_rationale_49", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "to": "account_hierarchy_accountnode", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "to": "account_hierarchy_build_tree", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "to": "account_hierarchy_walk", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "to": "account_hierarchy_filter_by_account_type", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_account_hierarchy_py", "to": "account_hierarchy_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "account_hierarchy_accountnode", "to": "account_hierarchy_build_tree", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "account_hierarchy_build_tree", "to": "account_hierarchy_rationale_22", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "account_hierarchy_walk", "to": "account_hierarchy_filter_by_account_type", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "account_hierarchy_walk", "to": "account_hierarchy_rationale_45", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "account_hierarchy_filter_by_account_type", "to": "account_hierarchy_rationale_56", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "to": "anomaly_detection_anomaly", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "to": "anomaly_detection_detect", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_anomaly_detection_py", "to": "anomaly_detection_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_detection_anomaly", "to": "anomaly_detection_anomaly_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_detection_anomaly", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_detection_anomaly_to_dict", "to": "anomaly_detection_detect", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "anomaly_detection_detect", "to": "anomaly_detection_rationale_44", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_prompt_py", "to": "commentary_prompt_build_prompt", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_commentary_prompt_py", "to": "commentary_prompt_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "commentary_prompt_build_prompt", "to": "commentary_prompt_rationale_27", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_drill_down_resolver_py", "to": "drill_down_resolver_drilldownrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_drill_down_resolver_py", "to": "drill_down_resolver_fetch_drill_down", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_drill_down_resolver_py", "to": "drill_down_resolver_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_resolver_drilldownrow", "to": "drill_down_resolver_drilldownrow_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_resolver_drilldownrow", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_resolver_drilldownrow_to_dict", "to": "drill_down_resolver_fetch_drill_down", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "drill_down_resolver_fetch_drill_down", "to": "drill_down_resolver_rationale_50", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "to": "line_resolver_reportrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "to": "line_resolver_resolve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_services_line_resolver_py", "to": "line_resolver_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "line_resolver_reportrow", "to": "line_resolver_reportrow_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "line_resolver_reportrow", "to": "line_resolver_resolve", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "line_resolver_reportrow_to_dict", "to": "line_resolver_resolve", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "line_resolver_resolve", "to": "line_resolver_rationale_56", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_report_pdf_py", "to": "report_pdf_fusionreportpdf", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_report_pdf_py", "to": "report_pdf_get_report_values", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_report_pdf_py", "to": "report_pdf_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_init_py", "to": "users_gurpreet_github_odoo_modules_fusion_accounting_reports_reports_init_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}];
|
|
const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Community 0", "count": 87}, {"cid": 1, "color": "#F28E2B", "label": "Community 1", "count": 44}, {"cid": 2, "color": "#E15759", "label": "Community 2", "count": 36}, {"cid": 3, "color": "#76B7B2", "label": "Community 3", "count": 32}, {"cid": 4, "color": "#59A14F", "label": "Community 4", "count": 26}, {"cid": 5, "color": "#EDC948", "label": "Community 5", "count": 23}, {"cid": 6, "color": "#B07AA1", "label": "Community 6", "count": 22}, {"cid": 7, "color": "#FF9DA7", "label": "Community 7", "count": 17}, {"cid": 8, "color": "#9C755F", "label": "Community 8", "count": 16}, {"cid": 9, "color": "#BAB0AC", "label": "Community 9", "count": 16}, {"cid": 10, "color": "#4E79A7", "label": "Community 10", "count": 16}, {"cid": 11, "color": "#F28E2B", "label": "Community 11", "count": 15}, {"cid": 12, "color": "#E15759", "label": "Community 12", "count": 13}, {"cid": 13, "color": "#76B7B2", "label": "Community 13", "count": 12}, {"cid": 14, "color": "#59A14F", "label": "Community 14", "count": 11}, {"cid": 15, "color": "#EDC948", "label": "Community 15", "count": 11}, {"cid": 16, "color": "#B07AA1", "label": "Community 16", "count": 10}, {"cid": 17, "color": "#FF9DA7", "label": "Community 17", "count": 9}, {"cid": 18, "color": "#9C755F", "label": "Community 18", "count": 9}, {"cid": 19, "color": "#BAB0AC", "label": "Community 19", "count": 4}, {"cid": 20, "color": "#4E79A7", "label": "Community 20", "count": 4}, {"cid": 21, "color": "#F28E2B", "label": "Community 21", "count": 3}, {"cid": 22, "color": "#E15759", "label": "Community 22", "count": 3}, {"cid": 23, "color": "#76B7B2", "label": "Community 23", "count": 3}, {"cid": 24, "color": "#59A14F", "label": "Community 24", "count": 2}, {"cid": 25, "color": "#EDC948", "label": "Community 25", "count": 1}, {"cid": 26, "color": "#B07AA1", "label": "Community 26", "count": 1}, {"cid": 27, "color": "#FF9DA7", "label": "Community 27", "count": 1}, {"cid": 28, "color": "#9C755F", "label": "Community 28", "count": 1}, {"cid": 29, "color": "#BAB0AC", "label": "Community 29", "count": 1}, {"cid": 30, "color": "#4E79A7", "label": "Community 30", "count": 1}, {"cid": 31, "color": "#F28E2B", "label": "Community 31", "count": 1}, {"cid": 32, "color": "#E15759", "label": "Community 32", "count": 1}, {"cid": 33, "color": "#76B7B2", "label": "Community 33", "count": 1}, {"cid": 34, "color": "#59A14F", "label": "Community 34", "count": 1}, {"cid": 35, "color": "#EDC948", "label": "Community 35", "count": 1}, {"cid": 36, "color": "#B07AA1", "label": "Community 36", "count": 1}, {"cid": 37, "color": "#FF9DA7", "label": "Community 37", "count": 1}];
|
|
|
|
// HTML-escape helper — prevents XSS when injecting graph data into innerHTML
|
|
function esc(s) {
|
|
return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');
|
|
}
|
|
|
|
// Build vis datasets
|
|
const nodesDS = new vis.DataSet(RAW_NODES.map(n => ({
|
|
id: n.id, label: n.label, color: n.color, size: n.size,
|
|
font: n.font, title: n.title,
|
|
_community: n.community, _community_name: n.community_name,
|
|
_source_file: n.source_file, _file_type: n.file_type, _degree: n.degree,
|
|
})));
|
|
|
|
const edgesDS = new vis.DataSet(RAW_EDGES.map((e, i) => ({
|
|
id: i, from: e.from, to: e.to,
|
|
label: '',
|
|
title: e.title,
|
|
dashes: e.dashes,
|
|
width: e.width,
|
|
color: e.color,
|
|
arrows: { to: { enabled: true, scaleFactor: 0.5 } },
|
|
})));
|
|
|
|
const container = document.getElementById('graph');
|
|
const network = new vis.Network(container, { nodes: nodesDS, edges: edgesDS }, {
|
|
physics: {
|
|
enabled: true,
|
|
solver: 'forceAtlas2Based',
|
|
forceAtlas2Based: {
|
|
gravitationalConstant: -60,
|
|
centralGravity: 0.005,
|
|
springLength: 120,
|
|
springConstant: 0.08,
|
|
damping: 0.4,
|
|
avoidOverlap: 0.8,
|
|
},
|
|
stabilization: { iterations: 200, fit: true },
|
|
},
|
|
interaction: {
|
|
hover: true,
|
|
tooltipDelay: 100,
|
|
hideEdgesOnDrag: true,
|
|
navigationButtons: false,
|
|
keyboard: false,
|
|
},
|
|
nodes: { shape: 'dot', borderWidth: 1.5 },
|
|
edges: { smooth: { type: 'continuous', roundness: 0.2 }, selectionWidth: 3 },
|
|
});
|
|
|
|
network.once('stabilizationIterationsDone', () => {
|
|
network.setOptions({ physics: { enabled: false } });
|
|
});
|
|
|
|
function showInfo(nodeId) {
|
|
const n = nodesDS.get(nodeId);
|
|
if (!n) return;
|
|
const neighborIds = network.getConnectedNodes(nodeId);
|
|
const neighborItems = neighborIds.map(nid => {
|
|
const nb = nodesDS.get(nid);
|
|
const color = nb ? nb.color.background : '#555';
|
|
return `<span class="neighbor-link" style="border-left-color:${esc(color)}" onclick="focusNode(${JSON.stringify(nid)})">${esc(nb ? nb.label : nid)}</span>`;
|
|
}).join('');
|
|
document.getElementById('info-content').innerHTML = `
|
|
<div class="field"><b>${esc(n.label)}</b></div>
|
|
<div class="field">Type: ${esc(n._file_type || 'unknown')}</div>
|
|
<div class="field">Community: ${esc(n._community_name)}</div>
|
|
<div class="field">Source: ${esc(n._source_file || '-')}</div>
|
|
<div class="field">Degree: ${n._degree}</div>
|
|
${neighborIds.length ? `<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors (${neighborIds.length})</div><div id="neighbors-list">${neighborItems}</div>` : ''}
|
|
`;
|
|
}
|
|
|
|
function focusNode(nodeId) {
|
|
network.focus(nodeId, { scale: 1.4, animation: true });
|
|
network.selectNodes([nodeId]);
|
|
showInfo(nodeId);
|
|
}
|
|
|
|
// Track hovered node — hover detection is more reliable than click params
|
|
let hoveredNodeId = null;
|
|
network.on('hoverNode', params => {
|
|
hoveredNodeId = params.node;
|
|
container.style.cursor = 'pointer';
|
|
});
|
|
network.on('blurNode', () => {
|
|
hoveredNodeId = null;
|
|
container.style.cursor = 'default';
|
|
});
|
|
container.addEventListener('click', () => {
|
|
if (hoveredNodeId !== null) {
|
|
showInfo(hoveredNodeId);
|
|
network.selectNodes([hoveredNodeId]);
|
|
}
|
|
});
|
|
network.on('click', params => {
|
|
if (params.nodes.length > 0) {
|
|
showInfo(params.nodes[0]);
|
|
} else if (hoveredNodeId === null) {
|
|
document.getElementById('info-content').innerHTML = '<span class="empty">Click a node to inspect it</span>';
|
|
}
|
|
});
|
|
|
|
const searchInput = document.getElementById('search');
|
|
const searchResults = document.getElementById('search-results');
|
|
searchInput.addEventListener('input', () => {
|
|
const q = searchInput.value.toLowerCase().trim();
|
|
searchResults.innerHTML = '';
|
|
if (!q) { searchResults.style.display = 'none'; return; }
|
|
const matches = RAW_NODES.filter(n => n.label.toLowerCase().includes(q)).slice(0, 20);
|
|
if (!matches.length) { searchResults.style.display = 'none'; return; }
|
|
searchResults.style.display = 'block';
|
|
matches.forEach(n => {
|
|
const el = document.createElement('div');
|
|
el.className = 'search-item';
|
|
el.textContent = n.label;
|
|
el.style.borderLeft = `3px solid ${n.color.background}`;
|
|
el.style.paddingLeft = '8px';
|
|
el.onclick = () => {
|
|
network.focus(n.id, { scale: 1.5, animation: true });
|
|
network.selectNodes([n.id]);
|
|
showInfo(n.id);
|
|
searchResults.style.display = 'none';
|
|
searchInput.value = '';
|
|
};
|
|
searchResults.appendChild(el);
|
|
});
|
|
});
|
|
document.addEventListener('click', e => {
|
|
if (!searchResults.contains(e.target) && e.target !== searchInput)
|
|
searchResults.style.display = 'none';
|
|
});
|
|
|
|
const hiddenCommunities = new Set();
|
|
const legendEl = document.getElementById('legend');
|
|
LEGEND.forEach(c => {
|
|
const item = document.createElement('div');
|
|
item.className = 'legend-item';
|
|
item.innerHTML = `<div class="legend-dot" style="background:${c.color}"></div>
|
|
<span class="legend-label">${c.label}</span>
|
|
<span class="legend-count">${c.count}</span>`;
|
|
item.onclick = () => {
|
|
if (hiddenCommunities.has(c.cid)) {
|
|
hiddenCommunities.delete(c.cid);
|
|
item.classList.remove('dimmed');
|
|
} else {
|
|
hiddenCommunities.add(c.cid);
|
|
item.classList.add('dimmed');
|
|
}
|
|
const updates = RAW_NODES
|
|
.filter(n => n.community === c.cid)
|
|
.map(n => ({ id: n.id, hidden: hiddenCommunities.has(c.cid) }));
|
|
nodesDS.update(updates);
|
|
};
|
|
legendEl.appendChild(item);
|
|
});
|
|
</script>
|
|
<script>
|
|
// Render hyperedges as shaded regions
|
|
const hyperedges = [];
|
|
// afterDrawing passes ctx already transformed to network coordinate space.
|
|
// Draw node positions raw — no manual pan/zoom/DPR math needed.
|
|
network.on('afterDrawing', function(ctx) {
|
|
hyperedges.forEach(h => {
|
|
const positions = h.nodes
|
|
.map(nid => network.getPositions([nid])[nid])
|
|
.filter(p => p !== undefined);
|
|
if (positions.length < 2) return;
|
|
ctx.save();
|
|
ctx.globalAlpha = 0.12;
|
|
ctx.fillStyle = '#6366f1';
|
|
ctx.strokeStyle = '#6366f1';
|
|
ctx.lineWidth = 2;
|
|
ctx.beginPath();
|
|
// Centroid and expanded hull in network coordinates
|
|
const cx = positions.reduce((s, p) => s + p.x, 0) / positions.length;
|
|
const cy = positions.reduce((s, p) => s + p.y, 0) / positions.length;
|
|
const expanded = positions.map(p => ({
|
|
x: cx + (p.x - cx) * 1.15,
|
|
y: cy + (p.y - cy) * 1.15
|
|
}));
|
|
ctx.moveTo(expanded[0].x, expanded[0].y);
|
|
expanded.slice(1).forEach(p => ctx.lineTo(p.x, p.y));
|
|
ctx.closePath();
|
|
ctx.fill();
|
|
ctx.globalAlpha = 0.4;
|
|
ctx.stroke();
|
|
// Label
|
|
ctx.globalAlpha = 0.8;
|
|
ctx.fillStyle = '#4f46e5';
|
|
ctx.font = 'bold 11px sans-serif';
|
|
ctx.textAlign = 'center';
|
|
ctx.fillText(h.label, cx, cy - 5);
|
|
ctx.restore();
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |