{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-2dd680063d889a0e", "name": "Possibly dead Python function: action_apply_template", "shortDescription": {"text": "Possibly dead Python function: action_apply_template"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70ed368a3e563a4d", "name": "Possibly dead Python function: action_compare_template", "shortDescription": {"text": "Possibly dead Python function: action_compare_template"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d2c04c2ea913a40", "name": "Possibly dead Python function: action_compare_template", "shortDescription": {"text": "Possibly dead Python function: action_compare_template"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcedbcc10ac7afaa", "name": "Possibly dead Python function: generate_xlsx_report", "shortDescription": {"text": "Possibly dead Python function: generate_xlsx_report"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bf07aafed3564bf", "name": "Possibly dead Python function: generate_xlsx_report", "shortDescription": {"text": "Possibly dead Python function: generate_xlsx_report"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-520b7e06d7ef784e", "name": "Possibly dead Python function: action_generate", "shortDescription": {"text": "Possibly dead Python function: action_generate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25eebde131b91209", "name": "Possibly dead Python function: action_generate", "shortDescription": {"text": "Possibly dead Python function: action_generate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f8ffc447995789", "name": "Possibly dead Python function: action_view_steps", "shortDescription": {"text": "Possibly dead Python function: action_view_steps"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1a5bc876d62c5c0", "name": "Possibly dead Python function: name_get", "shortDescription": {"text": "Possibly dead Python function: name_get"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1afcb1541970daac", "name": "Possibly dead Python function: wrapper", "shortDescription": {"text": "Possibly dead Python function: wrapper"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51bae57dfafd37e0", "name": "Possibly dead Python function: safe_format_date", "shortDescription": {"text": "Possibly dead Python function: safe_format_date"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3bc00dcb34f22dfb", "name": "Possibly dead Python function: action_reset_to_default", "shortDescription": {"text": "Possibly dead Python function: action_reset_to_default"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bda5ee07f9c52214", "name": "Possibly dead Python function: action_update_tariff_rate", "shortDescription": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8dcbcbf782cb38e", "name": "Possibly dead Python function: action_clear_manual_tariff_rate", "shortDescription": {"text": "Possibly dead Python function: action_clear_manual_tariff_rate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e985d0b277200ec2", "name": "Possibly dead Python function: action_update_tariff_rate", "shortDescription": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30a6b4aaaeccba38", "name": "Possibly dead Python function: action_sync_hs_codes", "shortDescription": {"text": "Possibly dead Python function: action_sync_hs_codes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38e9e955edf1fe9c", "name": "Possibly dead Python function: action_update_tariff_rate", "shortDescription": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99369ac2dd89d760", "name": "Possibly dead Python function: action_clear_manual_tariff_rate", "shortDescription": {"text": "Possibly dead Python function: action_clear_manual_tariff_rate"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23a2766d8c380a7f", "name": "Possibly dead Python function: action_import", "shortDescription": {"text": "Possibly dead Python function: action_import"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4fd955532f03a59", "name": "Possibly dead Python function: action_update_l10n_bg_report_audit_settings", "shortDescription": {"text": "Possibly dead Python function: action_update_l10n_bg_report_audit_settings"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f12486a7cab94bc", "name": "Possibly dead Python function: l10n_bg_odoo_compatible_line", "shortDescription": {"text": "Possibly dead Python function: l10n_bg_odoo_compatible_line"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d9e9cc9473ae2a1", "name": "Possibly dead Python function: parce_str_5", "shortDescription": {"text": "Possibly dead Python function: parce_str_5"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b98daa5aca7ef4b8", "name": "Possibly dead Python function: parce_date_6", "shortDescription": {"text": "Possibly dead Python function: parce_date_6"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8190cddc4f28980c", "name": "Possibly dead Python function: get_l10n_bg_csv", "shortDescription": {"text": "Possibly dead Python function: get_l10n_bg_csv"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3e5fedc94a38dea", "name": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_registry.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_registry.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d689723ca6a9a2dc", "name": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80adcb809759cbe8", "name": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/lib/highlight.min.js:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/lib/highlight.min.js:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-08f02742c58c777f", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_api_nra/static/src/js/sign_submit_dialog.js:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_api_nra/static/src/js/sign_submit_dialog.js:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-322afdf21216290a", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_stock_account_manual/static/src/js/l10n_bg_stock_account_markdown.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_stock_account_manual/static/src/js/l10n_bg_stock_account_markdown.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d7f28252918fe05", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_config/static/src/views/form_view.js:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_config/static/src/views/form_view.js:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfcbca13e2b04c23", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96a9e12f8db60243", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/cash_move_popup.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/cash_move_popup.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f383c7c0da83a515", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/close_pos_popup_patch.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/close_pos_popup_patch.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30820a4f8daa0528", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12fa929f01beb063", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_screen.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_screen.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31087ca81fec60c7", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:136"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-395669cfb1929c79", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb4ce32e92922918", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/opening_control_popup_fiscal.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/opening_control_popup_fiscal.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2df6d30aae9e5a3f", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-428f0229abc173ed", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47876ac8eaddd774", "name": "Stray `console.log` in TS/JS \u2014 l10n_bg_live_refresh/static/src/js/barcode_handler.js:168", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_live_refresh/static/src/js/barcode_handler.js:168"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1927eeb02765ae1d", "name": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/js/markdown_popup.js:333", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/js/markdown_popup.js:333"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f24314e8ce7500b4", "name": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/lib/highlight.min.js:271", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/lib/highlight.min.js:271"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14d2d805ccec70d3", "name": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_config/static/src/services/blacklist_service.js:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_config/static/src/services/blacklist_service.js:36"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95346b0d83234ae0", "name": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/README.rst:259", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/README.rst:259"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6a87ec1858ce5ce", "name": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:437", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:437"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-84952f31e1dfd014", "name": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:140", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:140"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c798d13eaaee86a0", "name": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/static/description/index.html:286", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/static/description/index.html:286"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7183422ad6c416f", "name": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_erp_net_fp/static/src/external_shift/external_shift_app.js:219", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_erp_net_fp/static/src/external_shift/external_shift_app.js:219"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c474e4e17a1ed61", "name": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_onboarding/static/src/onboarding/scene_engine.js:81", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_onboarding/static/src/onboarding/scene_engine.js:81"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-39a1884fbf3cf273", "name": "Possible secret in l10n_bg_bank_wallet/README.rst", "shortDescription": {"text": "Possible secret in l10n_bg_bank_wallet/README.rst"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b49f053248748c18", "name": "Very large file: markdown_viewer_locale/static/src/lib/highlight.min.js (1212 lines)", "shortDescription": {"text": "Very large file: markdown_viewer_locale/static/src/lib/highlight.min.js (1212 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5965af137e6cab27", "name": "Very large file: l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js (1274 lines)", "shortDescription": {"text": "Very large file: l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js (1274 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed86f739561109d3", "name": "Very large file: l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py (1324 lines)", "shortDescription": {"text": "Very large file: l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py (1324 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "18 test file(s) for 553 source file(s) (ratio 0.03). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 301 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 13 placeholder/mock markers across 9 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-992b0feb8dea6001", "name": "`fetch()` without try/.catch or AbortSignal \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:244", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:244"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee40a7824d1b16c7", "name": "Commented-code block (5 lines) in l10n_bg_report_theme/models/res_company.py:123", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_report_theme/models/res_company.py:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6399320da42a3a1", "name": "Commented-code block (6 lines) in l10n_bg_reports_audit/models/account_account_tag.py:72", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_reports_audit/models/account_account_tag.py:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b925e09fd34f805d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_api_nra/static/src/js/kep_signer.js:131", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_api_nra/static/src/js/kep_signer.js:131"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0afb5df4e21e257", "name": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_allocation.py:19", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_allocation.py:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a7db6dffa8add31", "name": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_balance_year.py:81", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_balance_year.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59f2aa66b7fb6a8f", "name": "Commented-code block (10 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.3/post-migration.py:1", "shortDescription": {"text": "Commented-code block (10 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.3/post-migration.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-718aceb8f23a5397", "name": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.2/post-migration.py:1", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.2/post-migration.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b36ff975f299a2a", "name": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.1/post-migration.py:4", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.1/post-migration.py:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d12ef7f534ec135", "name": "Commented-code block (8 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.4/post-migration.py:1", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.4/post-migration.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4bfd71f2c60fc0d", "name": "Commented-code block (6 lines) in l10n_bg_2026_classifications/__manifest__.py:55", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_2026_classifications/__manifest__.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b147250b552a47d", "name": "Commented-code block (5 lines) in payment_mypos/models/payment_transaction.py:124", "shortDescription": {"text": "Commented-code block (5 lines) in payment_mypos/models/payment_transaction.py:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e18d46b1e7f194f9", "name": "Commented-code block (5 lines) in payment_mypos/controllers/main.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in payment_mypos/controllers/main.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7c4192ad7a56987", "name": "Commented-code block (10 lines) in l10n_bg_payroll_classifications/models/bg_mod_economic_activity.py:35", "shortDescription": {"text": "Commented-code block (10 lines) in l10n_bg_payroll_classifications/models/bg_mod_economic_activity.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1213be598d9b269b", "name": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_plugin_access_polimex/models/polimex_controller.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_plugin_access_polimex/models/polimex_controller.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3384a72889943660", "name": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy_config_template.py:103", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy_config_template.py:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2642d2472277665d", "name": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy.py:454", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy.py:454"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4023bf4e633051e8", "name": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/controllers/registry.py:286", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/controllers/registry.py:286"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68d57910a520e3c1", "name": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_iot_oca/models/res_company_packaging_qc.py:41", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_iot_oca/models/res_company_packaging_qc.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e35d97f2300b4296", "name": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_bus_inject/controllers/bus_inject.py:171", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_bus_inject/controllers/bus_inject.py:171"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1849241e88666894", "name": "Commented-code block (5 lines) in l10n_bg_db_installer/controllers/database.py:437", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_db_installer/controllers/database.py:437"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98d4d32883b6fe92", "name": "Commented-code block (5 lines) in l10n_bg_claude_terminal/models/res_company.py:167", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_claude_terminal/models/res_company.py:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7743af1167490d75", "name": "Commented-code block (7 lines) in l10n_bg_claude_terminal/models/res_users.py:190", "shortDescription": {"text": "Commented-code block (7 lines) in l10n_bg_claude_terminal/models/res_users.py:190"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8db5f5b583aa0e4e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7c5f87faa6f2d168", "name": "Commented-code block (5 lines) in l10n_bg_claude_terminal/static/src/js/claude_dispatch.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_claude_terminal/static/src/js/claude_dispatch.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b4ccec00839f129", "name": "Network/subprocess call without timeout or try/except \u2014 l10n_bg_company_registry/wizard/bg_company_search_wizard.py:208", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 l10n_bg_company_registry/wizard/bg_company_search_wizard.py:208"}, "fullDescription": {"text": "`requests.get(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f25e2bc3f665e2fb", "name": "Commented-code block (5 lines) in l10n_bg_infopay/models/res_company.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_infopay/models/res_company.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16aeb1657e67bba1", "name": "Commented-code block (8 lines) in l10n_bg_infopay/models/account_journal.py:57", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_infopay/models/account_journal.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1acc7d1fa17ffaef", "name": "Commented-code block (8 lines) in l10n_bg_config/models/chart_template.py:222", "shortDescription": {"text": "Commented-code block (8 lines) in l10n_bg_config/models/chart_template.py:222"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b38b3a4f62c3279d", "name": "Commented-code block (7 lines) in l10n_bg_config/models/res_company.py:14", "shortDescription": {"text": "Commented-code block (7 lines) in l10n_bg_config/models/res_company.py:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd4bb285f68e298e", "name": "Stub function `_process_config_file` (body is just `pass`/`return`) \u2014 l10n_bg_config/models/res_company.py:200", "shortDescription": {"text": "Stub function `_process_config_file` (body is just `pass`/`return`) \u2014 l10n_bg_config/models/res_company.py:200"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4ae1aa8e8f3b7eb", "name": "Commented-code block (6 lines) in l10n_bg_config/models/l10n_bg_vertical.py:345", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_config/models/l10n_bg_vertical.py:345"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54a0de2aceaaed27", "name": "Commented-code block (5 lines) in l10n_bg_config/wizards/l10n_bg_vertical_wizard.py:194", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_config/wizards/l10n_bg_vertical_wizard.py:194"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-146469c15104be66", "name": "Commented-code block (11 lines) in l10n_bg_config/migrations/19.0.8.5.0/pre-migrate.py:10", "shortDescription": {"text": "Commented-code block (11 lines) in l10n_bg_config/migrations/19.0.8.5.0/pre-migrate.py:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2df883e366a8712d", "name": "Commented-code block (55 lines) in l10n_bg_erp_net_fp/__manifest__.py:32", "shortDescription": {"text": "Commented-code block (55 lines) in l10n_bg_erp_net_fp/__manifest__.py:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5076ff9d163281cd", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/__init__.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/__init__.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7e9bdf40cfccc5c", "name": "Legacy-named symbol `_l10n_bg_save_z_record_from_legacy` in l10n_bg_erp_net_fp/models/pos_session_external.py:426", "shortDescription": {"text": "Legacy-named symbol `_l10n_bg_save_z_record_from_legacy` in l10n_bg_erp_net_fp/models/pos_session_external.py:426"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-482383505d281723", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_session_external.py:128", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_session_external.py:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e01edbdc9cbb8271", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/erp_net_fp.py:16", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/erp_net_fp.py:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28d969413a3f82b5", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_external.py:264", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_external.py:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80d8c5c882785a28", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:21", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a974d50bb343573", "name": "Commented-code block (10 lines) in l10n_bg_erp_net_fp/models/pos_config_extensions.py:79", "shortDescription": {"text": "Commented-code block (10 lines) in l10n_bg_erp_net_fp/models/pos_config_extensions.py:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d755b06fe91a3ae7", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_order_storno_service.py:101", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_order_storno_service.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-105e7b5c9ec591c7", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:98", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f66decd7e6a5b867", "name": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/static/src/external_shift/services/shift_state_service.js:41", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/static/src/external_shift/services/shift_state_service.js:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b70738877de8cbec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/printer_id_field.js:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/printer_id_field.js:68"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3dec3f5152a551be", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:34", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a691ac158f38f1b", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/fiscal_browser_proxy_action.js:22", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/fiscal_browser_proxy_action.js:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dee3d8601475e60c", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:36", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0972b2c219764347", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_screen.js:107", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_screen.js:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fbf06526d4576f3", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:185", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8c80eed468402d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:299", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:299"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ce69e8c046fcfe6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/pinpad_id_field.js:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/pinpad_id_field.js:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8caea15540abac8a", "name": "Commented-code block (7 lines) in l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:111", "shortDescription": {"text": "Commented-code block (7 lines) in l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0b12cdfbdc79ec1", "name": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:139", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c97990e76c91c40a", "name": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/controllers/external_shift.py:57", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/controllers/external_shift.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1dc137e6cf0298b4", "name": "Legacy-named symbol `report_invoice_copy` in l10n_bg_invoice_copy/__manifest__.py:18", "shortDescription": {"text": "Legacy-named symbol `report_invoice_copy` in l10n_bg_invoice_copy/__manifest__.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01ebf4db6ce9c54e", "name": "Commented-code block (5 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_controllers.js:76", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_controllers.js:76"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a9c03fc7542b894", "name": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/barcode_handler.js:86", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/barcode_handler.js:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52de20cd93c536ea", "name": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_service.js:60", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_service.js:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee2a8cc3ce526ee5", "name": "Commented-code block (10 lines) in l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:189", "shortDescription": {"text": "Commented-code block (10 lines) in l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50245bbfe6ef4494", "name": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:231", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:231"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8e56626e756f186", "name": "Commented-code block (5 lines) in l10n_bg_bank_wallet/models/res_users.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in l10n_bg_bank_wallet/models/res_users.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e100da9a293ae779", "name": "Commented-code block (6 lines) in l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py:182", "shortDescription": {"text": "Commented-code block (6 lines) in l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py:182"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nl10n_bg_reports_audit/models/l10n_bg_file_helper.py:l10n_bg_odoo_compatible_line, l10n_bg_reports_audit/models/l10n_bg_file_helper.py:l10n_bg_odoo_compatible\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nl10n_bg_reports_audit/report/account_bg_vat_sales_total.py:init, l10n_bg_reports_audit/report/account_bg_vat_declar.py:init, l10n_bg_reports_audit/report/account_bg_vat_vies_total.py:init, l10n_bg_reports_audit/report/account_bg_vat_purchases_total.py:init\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nl10n_bg_reports_audit/report/account_bg_products.py:open_journal_entry, l10n_bg_reports_audit/report/account_bg_vat_sales_line.py:open_journal_entry, l10n_bg_reports_audit/report/account_bg_vat_prepare_declar.py:open_journal_entry, l10n_bg_reports_audit/report/account_bg_vat_purchases_line.py:open_journal_entry\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nl10n_bg_erp_net_fp_plugin_zebra/models/zebra_reader.py:get_config_payload, l10n_bg_erp_net_fp_plugin_cas/models/cas_scale.py:get_config_payload, l10n_bg_erp_net_fp_plugin_honeywell/models/honeywell_reader.py:get_config_payload\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95d4152a1a61ae50", "name": "Dangling fetch: POST /web/dataset/call_kw (l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98)", "shortDescription": {"text": "Dangling fetch: POST /web/dataset/call_kw (l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98)"}, "fullDescription": {"text": "`l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98` calls `POST /web/dataset/call_kw` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/web/dataset/call_kw`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f2a8ab7dbb4f57c", "name": "Unused endpoint: ANY /l10n_bg_api_nra/declaration_content", "shortDescription": {"text": "Unused endpoint: ANY /l10n_bg_api_nra/declaration_content"}, "fullDescription": {"text": "`l10n_bg_api_nra/controllers/main.py` declares `ANY /l10n_bg_api_nra/declaration_content` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc65a00f516bbd14", "name": "Unused endpoint: ANY /l10n_bg_api_nra/sign_submit", "shortDescription": {"text": "Unused endpoint: ANY /l10n_bg_api_nra/sign_submit"}, "fullDescription": {"text": "`l10n_bg_api_nra/controllers/main.py` declares `ANY /l10n_bg_api_nra/sign_submit` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0fb9c849f0e5e77", "name": "Unused endpoint: ANY /erp_net_fp/registry/auto-enrol", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/registry/auto-enrol"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_fleet/controllers/registry.py` declares `ANY /erp_net_fp/registry/auto-enrol` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff5e5d3657a7a721", "name": "Unused endpoint: ANY /erp_net_fp/registry/pair", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/registry/pair"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_fleet/controllers/registry.py` declares `ANY /erp_net_fp/registry/pair` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a3e15932b5dbd50", "name": "Unused endpoint: ANY /erp_net_fp/registry/heartbeat", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/registry/heartbeat"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_fleet/controllers/registry.py` declares `ANY /erp_net_fp/registry/heartbeat` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-08febd9baab5ee8f", "name": "Unused endpoint: ANY /erp_net_fp/registry/command-result", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/registry/command-result"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_fleet/controllers/registry.py` declares `ANY /erp_net_fp/registry/command-result` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4813688f3c17dfe4", "name": "Unused endpoint: ANY /iot_oca/setup", "shortDescription": {"text": "Unused endpoint: ANY /iot_oca/setup"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_iot_oca/controllers/main.py` declares `ANY /iot_oca/setup` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9b9ec474118a250", "name": "Unused endpoint: ANY /erpnet_fp/bus/inject", "shortDescription": {"text": "Unused endpoint: ANY /erpnet_fp/bus/inject"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp_bus_inject/controllers/bus_inject.py` declares `ANY /erpnet_fp/bus/inject` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05822a29b2b6720c", "name": "Unused endpoint: ANY /web/database/manager", "shortDescription": {"text": "Unused endpoint: ANY /web/database/manager"}, "fullDescription": {"text": "`l10n_bg_db_installer/controllers/database.py` declares `ANY /web/database/manager` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c89b509a339ede1", "name": "Unused endpoint: ANY /web/database/selector", "shortDescription": {"text": "Unused endpoint: ANY /web/database/selector"}, "fullDescription": {"text": "`l10n_bg_db_installer/controllers/database.py` declares `ANY /web/database/selector` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3051b1cf831eb3e", "name": "Unused endpoint: ANY /web/database/create", "shortDescription": {"text": "Unused endpoint: ANY /web/database/create"}, "fullDescription": {"text": "`l10n_bg_db_installer/controllers/database.py` declares `ANY /web/database/create` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6bb54b67bd1c1a5", "name": "Unused endpoint: ANY /web/database/l10n_bg_install_status", "shortDescription": {"text": "Unused endpoint: ANY /web/database/l10n_bg_install_status"}, "fullDescription": {"text": "`l10n_bg_db_installer/controllers/database.py` declares `ANY /web/database/l10n_bg_install_status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db60201fbb05e14e", "name": "Unused endpoint: ANY /l10n_bg/blacklist/check", "shortDescription": {"text": "Unused endpoint: ANY /l10n_bg/blacklist/check"}, "fullDescription": {"text": "`l10n_bg_config/controllers/blacklist_controller.py` declares `ANY /l10n_bg/blacklist/check` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b71460dc8c658cfc", "name": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/fiscal_receipt", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/fiscal_receipt"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/pos_order_storno.py` declares `ANY /erp_net_fp/pos_order/<int:order_id>/fiscal_receipt` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8274b060d435f690", "name": "Unused endpoint: ANY /erp_net_fp/pos_order/by_uns/<string:uns>/fiscal_receipt", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/by_uns/<string:uns>/fiscal_receipt"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/pos_order_storno.py` declares `ANY /erp_net_fp/pos_order/by_uns/<string:uns>/fiscal_receipt` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b59f57d873c3b5d3", "name": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/refund_printed", "shortDescription": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/refund_printed"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/pos_order_storno.py` declares `ANY /erp_net_fp/pos_order/<int:order_id>/refund_printed` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63b72f9e013d634b", "name": "Unused endpoint: ANY /fiscal_printer/send_response", "shortDescription": {"text": "Unused endpoint: ANY /fiscal_printer/send_response"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/main.py` declares `ANY /fiscal_printer/send_response` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0706d759550e07e0", "name": "Unused endpoint: ANY /fiscal_printer/update_status", "shortDescription": {"text": "Unused endpoint: ANY /fiscal_printer/update_status"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/main.py` declares `ANY /fiscal_printer/update_status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3ef25b8b792be96", "name": "Unused endpoint: ANY /fiscal_printer/browser_ready", "shortDescription": {"text": "Unused endpoint: ANY /fiscal_printer/browser_ready"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/main.py` declares `ANY /fiscal_printer/browser_ready` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd292828ec7c6cb2", "name": "Unused endpoint: ANY /fiscal_printer/heartbeat", "shortDescription": {"text": "Unused endpoint: ANY /fiscal_printer/heartbeat"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/main.py` declares `ANY /fiscal_printer/heartbeat` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd012390c3b84487", "name": "Unused endpoint: ANY /fiscal_printer/test_notification", "shortDescription": {"text": "Unused endpoint: ANY /fiscal_printer/test_notification"}, "fullDescription": {"text": "`l10n_bg_erp_net_fp/controllers/main.py` declares `ANY /fiscal_printer/test_notification` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18472"}, "properties": {"repository": "rosenvladimirov/l10n-bulgaria", "repoUrl": "https://github.com/rosenvladimirov/l10n-bulgaria", "branch": "main"}, "results": [{"ruleId": "scanner-2dd680063d889a0e", "level": "note", "message": {"text": "Possibly dead Python function: action_apply_template"}, "properties": {"repobilityId": "2919f09460587aa9", "scanner": "scanner-primary", "fingerprint": "2dd680063d889a0e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp_plugin_datecs/models/datecs_printer.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-70ed368a3e563a4d", "level": "note", "message": {"text": "Possibly dead Python function: action_compare_template"}, "properties": {"repobilityId": "fdd870345c49a2c2", "scanner": "scanner-primary", "fingerprint": "70ed368a3e563a4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp_plugin_datecs/models/datecs_printer.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d2c04c2ea913a40", "level": "note", "message": {"text": "Possibly dead Python function: action_compare_template"}, "properties": {"repobilityId": "fdd870345c49a2c2", "scanner": "scanner-primary", "fingerprint": "4d2c04c2ea913a40", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp_plugin_datecs/models/datecs_pinpad.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dcedbcc10ac7afaa", "level": "note", "message": {"text": "Possibly dead Python function: generate_xlsx_report"}, "properties": {"repobilityId": "b3f0a887b0993bff", "scanner": "scanner-primary", "fingerprint": "dcedbcc10ac7afaa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_waste_report/report/waste_annual_report_xlsx.py:18"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4bf07aafed3564bf", "level": "note", "message": {"text": "Possibly dead Python function: generate_xlsx_report"}, "properties": {"repobilityId": "b3f0a887b0993bff", "scanner": "scanner-primary", "fingerprint": "4bf07aafed3564bf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_waste_report/report/waste_monthly_report_xlsx.py:137"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-520b7e06d7ef784e", "level": "note", "message": {"text": "Possibly dead Python function: action_generate"}, "properties": {"repobilityId": "2c34e38cebd3c9cc", "scanner": "scanner-primary", "fingerprint": "520b7e06d7ef784e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_waste_report/wizards/waste_annual_report_wizard.py:31"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25eebde131b91209", "level": "note", "message": {"text": "Possibly dead Python function: action_generate"}, "properties": {"repobilityId": "2c34e38cebd3c9cc", "scanner": "scanner-primary", "fingerprint": "25eebde131b91209", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_waste_report/wizards/waste_monthly_report_wizard.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3f8ffc447995789", "level": "note", "message": {"text": "Possibly dead Python function: action_view_steps"}, "properties": {"repobilityId": "1ca6c8c5d3fa967f", "scanner": "scanner-primary", "fingerprint": "a3f8ffc447995789", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_ai_pipeline/models/ai_skill.py:214"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1a5bc876d62c5c0", "level": "note", "message": {"text": "Possibly dead Python function: name_get"}, "properties": {"repobilityId": "7a1246f23a1c400a", "scanner": "scanner-primary", "fingerprint": "c1a5bc876d62c5c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_ai_pipeline/models/ai_model.py:39"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1afcb1541970daac", "level": "note", "message": {"text": "Possibly dead Python function: wrapper"}, "properties": {"repobilityId": "1dc9acbcc8ce537d", "scanner": "scanner-primary", "fingerprint": "1afcb1541970daac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_report_theme/__init__.py:31"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51bae57dfafd37e0", "level": "note", "message": {"text": "Possibly dead Python function: safe_format_date"}, "properties": {"repobilityId": "c76d36dcba8f964d", "scanner": "scanner-primary", "fingerprint": "51bae57dfafd37e0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_report_theme/models/ir_action_report.py:19"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3bc00dcb34f22dfb", "level": "note", "message": {"text": "Possibly dead Python function: action_reset_to_default"}, "properties": {"repobilityId": "a9ac55ea47dc61e8", "scanner": "scanner-primary", "fingerprint": "3bc00dcb34f22dfb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_report_theme/models/base_document_layout.py:230"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bda5ee07f9c52214", "level": "note", "message": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "properties": {"repobilityId": "2cc9c8e034bc50c6", "scanner": "scanner-primary", "fingerprint": "bda5ee07f9c52214", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/product_product.py:10"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8dcbcbf782cb38e", "level": "note", "message": {"text": "Possibly dead Python function: action_clear_manual_tariff_rate"}, "properties": {"repobilityId": "d0a3b5f5fe40fe50", "scanner": "scanner-primary", "fingerprint": "c8dcbcbf782cb38e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/product_product.py:36"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e985d0b277200ec2", "level": "note", "message": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "properties": {"repobilityId": "2cc9c8e034bc50c6", "scanner": "scanner-primary", "fingerprint": "e985d0b277200ec2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/account_move_line.py:646"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30a6b4aaaeccba38", "level": "note", "message": {"text": "Possibly dead Python function: action_sync_hs_codes"}, "properties": {"repobilityId": "d0c55b6c5bbbdb79", "scanner": "scanner-primary", "fingerprint": "30a6b4aaaeccba38", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/account_move_line.py:665"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38e9e955edf1fe9c", "level": "note", "message": {"text": "Possibly dead Python function: action_update_tariff_rate"}, "properties": {"repobilityId": "2cc9c8e034bc50c6", "scanner": "scanner-primary", "fingerprint": "38e9e955edf1fe9c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/product_template.py:120"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99369ac2dd89d760", "level": "note", "message": {"text": "Possibly dead Python function: action_clear_manual_tariff_rate"}, "properties": {"repobilityId": "d0a3b5f5fe40fe50", "scanner": "scanner-primary", "fingerprint": "99369ac2dd89d760", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/models/product_template.py:148"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23a2766d8c380a7f", "level": "note", "message": {"text": "Possibly dead Python function: action_import"}, "properties": {"repobilityId": "b97bbd48305bc2bd", "scanner": "scanner-primary", "fingerprint": "23a2766d8c380a7f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_tariff_code/wizards/l10n_bg_taric_import_wizard.py:29"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4fd955532f03a59", "level": "note", "message": {"text": "Possibly dead Python function: action_update_l10n_bg_report_audit_settings"}, "properties": {"repobilityId": "7e61d750a864c6e8", "scanner": "scanner-primary", "fingerprint": "e4fd955532f03a59", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_reports_audit/models/res_config.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5f12486a7cab94bc", "level": "note", "message": {"text": "Possibly dead Python function: l10n_bg_odoo_compatible_line"}, "properties": {"repobilityId": "913fbc35c762a26e", "scanner": "scanner-primary", "fingerprint": "5f12486a7cab94bc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_reports_audit/models/l10n_bg_file_helper.py:171"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3d9e9cc9473ae2a1", "level": "note", "message": {"text": "Possibly dead Python function: parce_str_5"}, "properties": {"repobilityId": "b1f3b3d586f26eb6", "scanner": "scanner-primary", "fingerprint": "3d9e9cc9473ae2a1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_reports_audit/models/l10n_bg_file_helper.py:341"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b98daa5aca7ef4b8", "level": "note", "message": {"text": "Possibly dead Python function: parce_date_6"}, "properties": {"repobilityId": "da95a48bec0b0f9a", "scanner": "scanner-primary", "fingerprint": "b98daa5aca7ef4b8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_reports_audit/models/l10n_bg_file_helper.py:386"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8190cddc4f28980c", "level": "note", "message": {"text": "Possibly dead Python function: get_l10n_bg_csv"}, "properties": {"repobilityId": "ddca443b502a5357", "scanner": "scanner-primary", "fingerprint": "8190cddc4f28980c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_reports_audit/models/l10n_bg_file_helper.py:786"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3e5fedc94a38dea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_registry.js:44"}, "properties": {"repobilityId": "726bfa08c293b372", "scanner": "scanner-primary", "fingerprint": "a3e5fedc94a38dea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d689723ca6a9a2dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:9"}, "properties": {"repobilityId": "560d63ed0448904d", "scanner": "scanner-primary", "fingerprint": "d689723ca6a9a2dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80adcb809759cbe8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 markdown_viewer_locale/static/src/lib/highlight.min.js:107"}, "properties": {"repobilityId": "a2274cbee254330f", "scanner": "scanner-primary", "fingerprint": "80adcb809759cbe8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-08f02742c58c777f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_api_nra/static/src/js/sign_submit_dialog.js:122"}, "properties": {"repobilityId": "7d29aff557e6f00b", "scanner": "scanner-primary", "fingerprint": "08f02742c58c777f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-322afdf21216290a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_stock_account_manual/static/src/js/l10n_bg_stock_account_markdown.js:21"}, "properties": {"repobilityId": "ca285873567cba7a", "scanner": "scanner-primary", "fingerprint": "322afdf21216290a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d7f28252918fe05", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_config/static/src/views/form_view.js:58"}, "properties": {"repobilityId": "ad04d3097b6f204d", "scanner": "scanner-primary", "fingerprint": "4d7f28252918fe05", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cfcbca13e2b04c23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:6"}, "properties": {"repobilityId": "69a10c7c67b10236", "scanner": "scanner-primary", "fingerprint": "cfcbca13e2b04c23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-96a9e12f8db60243", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/cash_move_popup.js:8"}, "properties": {"repobilityId": "ce9a66898e315906", "scanner": "scanner-primary", "fingerprint": "96a9e12f8db60243", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f383c7c0da83a515", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/close_pos_popup_patch.js:33"}, "properties": {"repobilityId": "602a208710e439f6", "scanner": "scanner-primary", "fingerprint": "f383c7c0da83a515", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30820a4f8daa0528", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:47"}, "properties": {"repobilityId": "55381d583bb5bed3", "scanner": "scanner-primary", "fingerprint": "30820a4f8daa0528", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12fa929f01beb063", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_screen.js:8"}, "properties": {"repobilityId": "5eee1de477382e92", "scanner": "scanner-primary", "fingerprint": "12fa929f01beb063", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31087ca81fec60c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:136"}, "properties": {"repobilityId": "d80d87039178613c", "scanner": "scanner-primary", "fingerprint": "31087ca81fec60c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-395669cfb1929c79", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:18"}, "properties": {"repobilityId": "9002d1419c91ba27", "scanner": "scanner-primary", "fingerprint": "395669cfb1929c79", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb4ce32e92922918", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/opening_control_popup_fiscal.js:12"}, "properties": {"repobilityId": "6946906c6fb78a53", "scanner": "scanner-primary", "fingerprint": "fb4ce32e92922918", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2df6d30aae9e5a3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:33"}, "properties": {"repobilityId": "2f713fe9844f4c62", "scanner": "scanner-primary", "fingerprint": "2df6d30aae9e5a3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-428f0229abc173ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:86"}, "properties": {"repobilityId": "6c55fdb28def080e", "scanner": "scanner-primary", "fingerprint": "428f0229abc173ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47876ac8eaddd774", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 l10n_bg_live_refresh/static/src/js/barcode_handler.js:168"}, "properties": {"repobilityId": "f8a305c6a130693b", "scanner": "scanner-primary", "fingerprint": "47876ac8eaddd774", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1927eeb02765ae1d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/js/markdown_popup.js:333"}, "properties": {"repobilityId": "ad3585f692cb95f3", "scanner": "scanner-primary", "fingerprint": "1927eeb02765ae1d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "markdown_viewer_locale/static/src/js/markdown_popup.js"}, "region": {"startLine": 333}}}]}, {"ruleId": "scanner-f24314e8ce7500b4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in markdown_viewer_locale/static/src/lib/highlight.min.js:271"}, "properties": {"repobilityId": "0c3a78e7f69c6019", "scanner": "scanner-primary", "fingerprint": "f24314e8ce7500b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "markdown_viewer_locale/static/src/lib/highlight.min.js"}, "region": {"startLine": 271}}}]}, {"ruleId": "scanner-14d2d805ccec70d3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_config/static/src/services/blacklist_service.js:36"}, "properties": {"repobilityId": "b7960f1fa982e4fd", "scanner": "scanner-primary", "fingerprint": "14d2d805ccec70d3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_config/static/src/services/blacklist_service.js"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-95346b0d83234ae0", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/README.rst:259"}, "properties": {"repobilityId": "dd97f9fc11480a38", "scanner": "scanner-primary", "fingerprint": "95346b0d83234ae0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp/README.rst"}, "region": {"startLine": 259}}}]}, {"ruleId": "scanner-e6a87ec1858ce5ce", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:437"}, "properties": {"repobilityId": "cc5cd573bc71edf5", "scanner": "scanner-primary", "fingerprint": "e6a87ec1858ce5ce", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py"}, "region": {"startLine": 437}}}]}, {"ruleId": "scanner-84952f31e1dfd014", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:140"}, "properties": {"repobilityId": "8db9335af89513c1", "scanner": "scanner-primary", "fingerprint": "84952f31e1dfd014", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-c798d13eaaee86a0", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in l10n_bg_erp_net_fp/static/description/index.html:286"}, "properties": {"repobilityId": "f4828f918b10bdaf", "scanner": "scanner-primary", "fingerprint": "c798d13eaaee86a0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp/static/description/index.html"}, "region": {"startLine": 286}}}]}, {"ruleId": "scanner-e7183422ad6c416f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_erp_net_fp/static/src/external_shift/external_shift_app.js:219"}, "properties": {"repobilityId": "2c54b3130e2d1842", "scanner": "scanner-primary", "fingerprint": "e7183422ad6c416f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_erp_net_fp/static/src/external_shift/external_shift_app.js"}, "region": {"startLine": 219}}}]}, {"ruleId": "scanner-9c474e4e17a1ed61", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in l10n_bg_onboarding/static/src/onboarding/scene_engine.js:81"}, "properties": {"repobilityId": "661f85f4cd0db4cd", "scanner": "scanner-primary", "fingerprint": "9c474e4e17a1ed61", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_onboarding/static/src/onboarding/scene_engine.js"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-39a1884fbf3cf273", "level": "error", "message": {"text": "Possible secret in l10n_bg_bank_wallet/README.rst"}, "properties": {"repobilityId": "ed6a7d0081d8055b", "scanner": "scanner-primary", "fingerprint": "39a1884fbf3cf273", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "l10n_bg_bank_wallet/README.rst"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-b49f053248748c18", "level": "note", "message": {"text": "Very large file: markdown_viewer_locale/static/src/lib/highlight.min.js (1212 lines)"}, "properties": {"repobilityId": "3b2c42e38c3d4b32", "scanner": "scanner-primary", "fingerprint": "b49f053248748c18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5965af137e6cab27", "level": "note", "message": {"text": "Very large file: l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js (1274 lines)"}, "properties": {"repobilityId": "709a2a1898e6b32b", "scanner": "scanner-primary", "fingerprint": "5965af137e6cab27", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ed86f739561109d3", "level": "note", "message": {"text": "Very large file: l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py (1324 lines)"}, "properties": {"repobilityId": "d8dc750518f3b3bd", "scanner": "scanner-primary", "fingerprint": "ed86f739561109d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "283330e0a3aadeef", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "185e55d3c01408fa", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "04bd1218b2a12faf", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "5ac9bade75004b4f", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "e72b58a9ab6f6fbb", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-992b0feb8dea6001", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 markdown_viewer_locale/static/src/js/markdown_popup.js:244"}, "properties": {"repobilityId": "180da5d75d27e61a", "scanner": "scanner-primary", "fingerprint": "992b0feb8dea6001", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee40a7824d1b16c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_report_theme/models/res_company.py:123"}, "properties": {"repobilityId": "2c42733c3fc0d221", "scanner": "scanner-primary", "fingerprint": "ee40a7824d1b16c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6399320da42a3a1", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_reports_audit/models/account_account_tag.py:72"}, "properties": {"repobilityId": "89347f2b1762297e", "scanner": "scanner-primary", "fingerprint": "e6399320da42a3a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b925e09fd34f805d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_api_nra/static/src/js/kep_signer.js:131"}, "properties": {"repobilityId": "f893354b52648a7c", "scanner": "scanner-primary", "fingerprint": "b925e09fd34f805d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0afb5df4e21e257", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_allocation.py:19"}, "properties": {"repobilityId": "d2ea5562554e76d5", "scanner": "scanner-primary", "fingerprint": "a0afb5df4e21e257", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a7db6dffa8add31", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/models/hr_leave_balance_year.py:81"}, "properties": {"repobilityId": "906b2decb5f8a376", "scanner": "scanner-primary", "fingerprint": "1a7db6dffa8add31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59f2aa66b7fb6a8f", "level": "none", "message": {"text": "Commented-code block (10 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.3/post-migration.py:1"}, "properties": {"repobilityId": "425d937b711c581e", "scanner": "scanner-primary", "fingerprint": "59f2aa66b7fb6a8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-718aceb8f23a5397", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.2/post-migration.py:1"}, "properties": {"repobilityId": "f5ea47336c647c4f", "scanner": "scanner-primary", "fingerprint": "718aceb8f23a5397", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b36ff975f299a2a", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.1/post-migration.py:4"}, "properties": {"repobilityId": "bf90b6fb17d7abab", "scanner": "scanner-primary", "fingerprint": "1b36ff975f299a2a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d12ef7f534ec135", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_hr_holidays/migrations/19.0.1.10.4/post-migration.py:1"}, "properties": {"repobilityId": "c226311e5c9b3fdc", "scanner": "scanner-primary", "fingerprint": "7d12ef7f534ec135", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4bfd71f2c60fc0d", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_2026_classifications/__manifest__.py:55"}, "properties": {"repobilityId": "2f7b117f6690e84e", "scanner": "scanner-primary", "fingerprint": "c4bfd71f2c60fc0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b147250b552a47d", "level": "none", "message": {"text": "Commented-code block (5 lines) in payment_mypos/models/payment_transaction.py:124"}, "properties": {"repobilityId": "7f339da125d4df81", "scanner": "scanner-primary", "fingerprint": "0b147250b552a47d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e18d46b1e7f194f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in payment_mypos/controllers/main.py:43"}, "properties": {"repobilityId": "5875b6110e5c98b7", "scanner": "scanner-primary", "fingerprint": "e18d46b1e7f194f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7c4192ad7a56987", "level": "none", "message": {"text": "Commented-code block (10 lines) in l10n_bg_payroll_classifications/models/bg_mod_economic_activity.py:35"}, "properties": {"repobilityId": "76c37d176481dc05", "scanner": "scanner-primary", "fingerprint": "a7c4192ad7a56987", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1213be598d9b269b", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_plugin_access_polimex/models/polimex_controller.py:44"}, "properties": {"repobilityId": "9f135b5384ba5940", "scanner": "scanner-primary", "fingerprint": "1213be598d9b269b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3384a72889943660", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy_config_template.py:103"}, "properties": {"repobilityId": "2d2b6b16291d1157", "scanner": "scanner-primary", "fingerprint": "3384a72889943660", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2642d2472277665d", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_fleet/models/erpnet_fp_proxy.py:454"}, "properties": {"repobilityId": "7fab5a09a3351b61", "scanner": "scanner-primary", "fingerprint": "2642d2472277665d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4023bf4e633051e8", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_fleet/controllers/registry.py:286"}, "properties": {"repobilityId": "f0aa219b4986ea53", "scanner": "scanner-primary", "fingerprint": "4023bf4e633051e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68d57910a520e3c1", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp_iot_oca/models/res_company_packaging_qc.py:41"}, "properties": {"repobilityId": "79cb3ba52a2dad46", "scanner": "scanner-primary", "fingerprint": "68d57910a520e3c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e35d97f2300b4296", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_erp_net_fp_bus_inject/controllers/bus_inject.py:171"}, "properties": {"repobilityId": "b4b9241b1109b077", "scanner": "scanner-primary", "fingerprint": "e35d97f2300b4296", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1849241e88666894", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_db_installer/controllers/database.py:437"}, "properties": {"repobilityId": "db34fd923eed59a8", "scanner": "scanner-primary", "fingerprint": "1849241e88666894", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98d4d32883b6fe92", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_claude_terminal/models/res_company.py:167"}, "properties": {"repobilityId": "71c7fb389070bf48", "scanner": "scanner-primary", "fingerprint": "98d4d32883b6fe92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7743af1167490d75", "level": "none", "message": {"text": "Commented-code block (7 lines) in l10n_bg_claude_terminal/models/res_users.py:190"}, "properties": {"repobilityId": "54b1a1db0f5a3a1d", "scanner": "scanner-primary", "fingerprint": "7743af1167490d75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8db5f5b583aa0e4e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98"}, "properties": {"repobilityId": "eaf9b627ab964aea", "scanner": "scanner-primary", "fingerprint": "8db5f5b583aa0e4e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7c5f87faa6f2d168", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_claude_terminal/static/src/js/claude_dispatch.js:5"}, "properties": {"repobilityId": "971b878218e0a690", "scanner": "scanner-primary", "fingerprint": "7c5f87faa6f2d168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b4ccec00839f129", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 l10n_bg_company_registry/wizard/bg_company_search_wizard.py:208"}, "properties": {"repobilityId": "00f3e8aee1d1827d", "scanner": "scanner-primary", "fingerprint": "8b4ccec00839f129", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f25e2bc3f665e2fb", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_infopay/models/res_company.py:20"}, "properties": {"repobilityId": "3a827c0eadacfbf3", "scanner": "scanner-primary", "fingerprint": "f25e2bc3f665e2fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16aeb1657e67bba1", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_infopay/models/account_journal.py:57"}, "properties": {"repobilityId": "a97ece3611ca904b", "scanner": "scanner-primary", "fingerprint": "16aeb1657e67bba1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1acc7d1fa17ffaef", "level": "none", "message": {"text": "Commented-code block (8 lines) in l10n_bg_config/models/chart_template.py:222"}, "properties": {"repobilityId": "29d735a02dbf316e", "scanner": "scanner-primary", "fingerprint": "1acc7d1fa17ffaef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b38b3a4f62c3279d", "level": "none", "message": {"text": "Commented-code block (7 lines) in l10n_bg_config/models/res_company.py:14"}, "properties": {"repobilityId": "a4406cab6833a9f1", "scanner": "scanner-primary", "fingerprint": "b38b3a4f62c3279d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd4bb285f68e298e", "level": "note", "message": {"text": "Stub function `_process_config_file` (body is just `pass`/`return`) \u2014 l10n_bg_config/models/res_company.py:200"}, "properties": {"repobilityId": "ba0e4673d3fa9d57", "scanner": "scanner-primary", "fingerprint": "bd4bb285f68e298e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-a4ae1aa8e8f3b7eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_config/models/l10n_bg_vertical.py:345"}, "properties": {"repobilityId": "ce11a212db915bdf", "scanner": "scanner-primary", "fingerprint": "a4ae1aa8e8f3b7eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54a0de2aceaaed27", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_config/wizards/l10n_bg_vertical_wizard.py:194"}, "properties": {"repobilityId": "e171e746dc10cdaa", "scanner": "scanner-primary", "fingerprint": "54a0de2aceaaed27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-146469c15104be66", "level": "none", "message": {"text": "Commented-code block (11 lines) in l10n_bg_config/migrations/19.0.8.5.0/pre-migrate.py:10"}, "properties": {"repobilityId": "acf54cfbdb8f1793", "scanner": "scanner-primary", "fingerprint": "146469c15104be66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2df883e366a8712d", "level": "none", "message": {"text": "Commented-code block (55 lines) in l10n_bg_erp_net_fp/__manifest__.py:32"}, "properties": {"repobilityId": "856421da752cabb4", "scanner": "scanner-primary", "fingerprint": "2df883e366a8712d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5076ff9d163281cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/__init__.py:35"}, "properties": {"repobilityId": "24aa3165c077d06f", "scanner": "scanner-primary", "fingerprint": "5076ff9d163281cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7e9bdf40cfccc5c", "level": "note", "message": {"text": "Legacy-named symbol `_l10n_bg_save_z_record_from_legacy` in l10n_bg_erp_net_fp/models/pos_session_external.py:426"}, "properties": {"repobilityId": "76b715481f7dfd27", "scanner": "scanner-primary", "fingerprint": "d7e9bdf40cfccc5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-482383505d281723", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_session_external.py:128"}, "properties": {"repobilityId": "a7621a55ae1e43f8", "scanner": "scanner-primary", "fingerprint": "482383505d281723", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e01edbdc9cbb8271", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/erp_net_fp.py:16"}, "properties": {"repobilityId": "c589be9f98136c2b", "scanner": "scanner-primary", "fingerprint": "e01edbdc9cbb8271", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28d969413a3f82b5", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_external.py:264"}, "properties": {"repobilityId": "b41c68a6d064bb24", "scanner": "scanner-primary", "fingerprint": "28d969413a3f82b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80d8c5c882785a28", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/fiscal_printer_device_extensions.py:21"}, "properties": {"repobilityId": "493b386e0d2dd62f", "scanner": "scanner-primary", "fingerprint": "80d8c5c882785a28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a974d50bb343573", "level": "none", "message": {"text": "Commented-code block (10 lines) in l10n_bg_erp_net_fp/models/pos_config_extensions.py:79"}, "properties": {"repobilityId": "51d17676b7a844c7", "scanner": "scanner-primary", "fingerprint": "0a974d50bb343573", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d755b06fe91a3ae7", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_order_storno_service.py:101"}, "properties": {"repobilityId": "efb50013e870604d", "scanner": "scanner-primary", "fingerprint": "d755b06fe91a3ae7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-105e7b5c9ec591c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/models/pos_payment_method_extensions.py:98"}, "properties": {"repobilityId": "6f54f5f20f18a337", "scanner": "scanner-primary", "fingerprint": "105e7b5c9ec591c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f66decd7e6a5b867", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/static/src/external_shift/services/shift_state_service.js:41"}, "properties": {"repobilityId": "4547bd075bc474a5", "scanner": "scanner-primary", "fingerprint": "f66decd7e6a5b867", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b70738877de8cbec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/printer_id_field.js:68"}, "properties": {"repobilityId": "b984a7f519462dc6", "scanner": "scanner-primary", "fingerprint": "b70738877de8cbec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3dec3f5152a551be", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_printer_service.js:34"}, "properties": {"repobilityId": "a7a2b2ce92fc967c", "scanner": "scanner-primary", "fingerprint": "3dec3f5152a551be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a691ac158f38f1b", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/fiscal_browser_proxy_action.js:22"}, "properties": {"repobilityId": "6450586c706fb1de", "scanner": "scanner-primary", "fingerprint": "3a691ac158f38f1b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dee3d8601475e60c", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/pos_barcode_bridge.js:36"}, "properties": {"repobilityId": "65ec5ef2470ebfc8", "scanner": "scanner-primary", "fingerprint": "dee3d8601475e60c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0972b2c219764347", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_screen.js:107"}, "properties": {"repobilityId": "e88eb60c5af27277", "scanner": "scanner-primary", "fingerprint": "0972b2c219764347", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fbf06526d4576f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/js/payment_datecs_pay.js:185"}, "properties": {"repobilityId": "373334644b61720d", "scanner": "scanner-primary", "fingerprint": "8fbf06526d4576f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8c80eed468402d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/fiscal_printer_service.js:299"}, "properties": {"repobilityId": "f206dd6417710d19", "scanner": "scanner-primary", "fingerprint": "e8c80eed468402d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ce69e8c046fcfe6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_erp_net_fp/static/src/js/pinpad_id_field.js:60"}, "properties": {"repobilityId": "a7c836c8f55ed6a1", "scanner": "scanner-primary", "fingerprint": "9ce69e8c046fcfe6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8caea15540abac8a", "level": "none", "message": {"text": "Commented-code block (7 lines) in l10n_bg_erp_net_fp/static/src/js/erp_net_fp_printer.js:111"}, "properties": {"repobilityId": "20e455428281b8db", "scanner": "scanner-primary", "fingerprint": "8caea15540abac8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0b12cdfbdc79ec1", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_erp_net_fp/static/src/services/erpnet_reader_service.js:139"}, "properties": {"repobilityId": "191305bb292bf307", "scanner": "scanner-primary", "fingerprint": "d0b12cdfbdc79ec1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c97990e76c91c40a", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_erp_net_fp/controllers/external_shift.py:57"}, "properties": {"repobilityId": "3e08bfae6bf5bb9f", "scanner": "scanner-primary", "fingerprint": "c97990e76c91c40a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dc137e6cf0298b4", "level": "note", "message": {"text": "Legacy-named symbol `report_invoice_copy` in l10n_bg_invoice_copy/__manifest__.py:18"}, "properties": {"repobilityId": "d6ba87673cefd304", "scanner": "scanner-primary", "fingerprint": "1dc137e6cf0298b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-01ebf4db6ce9c54e", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_controllers.js:76"}, "properties": {"repobilityId": "829e4bbf33d6a329", "scanner": "scanner-primary", "fingerprint": "01ebf4db6ce9c54e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a9c03fc7542b894", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/barcode_handler.js:86"}, "properties": {"repobilityId": "68cfe48779b4157f", "scanner": "scanner-primary", "fingerprint": "9a9c03fc7542b894", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52de20cd93c536ea", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_live_refresh/static/src/js/live_refresh_service.js:60"}, "properties": {"repobilityId": "7dc884fb08e875cf", "scanner": "scanner-primary", "fingerprint": "52de20cd93c536ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2a8cc3ce526ee5", "level": "none", "message": {"text": "Commented-code block (10 lines) in l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:189"}, "properties": {"repobilityId": "ab5d79a0eace810b", "scanner": "scanner-primary", "fingerprint": "ee2a8cc3ce526ee5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50245bbfe6ef4494", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 l10n_bg_onboarding/static/src/onboarding/onboarding_action.js:231"}, "properties": {"repobilityId": "3b89ce100abbaa6f", "scanner": "scanner-primary", "fingerprint": "50245bbfe6ef4494", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8e56626e756f186", "level": "none", "message": {"text": "Commented-code block (5 lines) in l10n_bg_bank_wallet/models/res_users.py:24"}, "properties": {"repobilityId": "cd7ea59da9c8b6b5", "scanner": "scanner-primary", "fingerprint": "d8e56626e756f186", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e100da9a293ae779", "level": "none", "message": {"text": "Commented-code block (6 lines) in l10n_bg_bank_wallet/models/l10n_bg_crypto_wallet.py:182"}, "properties": {"repobilityId": "6fb91367481c1c5c", "scanner": "scanner-primary", "fingerprint": "e100da9a293ae779", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ccc5f10a1eb92101", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "39a74e23a9835497", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "780b87484d2f8a0f", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6fee5a02ca1be640", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "67993a10cbe2b7a1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "3707f707599d8c1c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "521ee747d9e83b87", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a0091c8d6b7fb55c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "44e3ffeebc2d4332", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "3f1bb61d6c0fbb2b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "1a4d7523bd8ccf04", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "620acd9348a98499", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a1f4fb17e0f7e9f8", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "9f4cc4d51aa96a18", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-95d4152a1a61ae50", "level": "error", "message": {"text": "Dangling fetch: POST /web/dataset/call_kw (l10n_bg_claude_terminal/static/src/js/terminal_chatter.js:98)"}, "properties": {"repobilityId": "20d73c2e5f5cc3ed", "scanner": "scanner-primary", "fingerprint": "95d4152a1a61ae50", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f2a8ab7dbb4f57c", "level": "note", "message": {"text": "Unused endpoint: ANY /l10n_bg_api_nra/declaration_content"}, "properties": {"repobilityId": "3a507e7970e304b9", "scanner": "scanner-primary", "fingerprint": "0f2a8ab7dbb4f57c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cc65a00f516bbd14", "level": "note", "message": {"text": "Unused endpoint: ANY /l10n_bg_api_nra/sign_submit"}, "properties": {"repobilityId": "18272f22cade8197", "scanner": "scanner-primary", "fingerprint": "cc65a00f516bbd14", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b0fb9c849f0e5e77", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/registry/auto-enrol"}, "properties": {"repobilityId": "0516627c40b8b507", "scanner": "scanner-primary", "fingerprint": "b0fb9c849f0e5e77", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ff5e5d3657a7a721", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/registry/pair"}, "properties": {"repobilityId": "4ac10cc907df042f", "scanner": "scanner-primary", "fingerprint": "ff5e5d3657a7a721", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5a3e15932b5dbd50", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/registry/heartbeat"}, "properties": {"repobilityId": "cebc8fdfce5b9fee", "scanner": "scanner-primary", "fingerprint": "5a3e15932b5dbd50", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-08febd9baab5ee8f", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/registry/command-result"}, "properties": {"repobilityId": "02fbfb1930066e29", "scanner": "scanner-primary", "fingerprint": "08febd9baab5ee8f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4813688f3c17dfe4", "level": "note", "message": {"text": "Unused endpoint: ANY /iot_oca/setup"}, "properties": {"repobilityId": "1dc6f4cb4db7efd9", "scanner": "scanner-primary", "fingerprint": "4813688f3c17dfe4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c9b9ec474118a250", "level": "note", "message": {"text": "Unused endpoint: ANY /erpnet_fp/bus/inject"}, "properties": {"repobilityId": "2a708f7802a6d53a", "scanner": "scanner-primary", "fingerprint": "c9b9ec474118a250", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-05822a29b2b6720c", "level": "note", "message": {"text": "Unused endpoint: ANY /web/database/manager"}, "properties": {"repobilityId": "984bc0c7af30908e", "scanner": "scanner-primary", "fingerprint": "05822a29b2b6720c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c89b509a339ede1", "level": "note", "message": {"text": "Unused endpoint: ANY /web/database/selector"}, "properties": {"repobilityId": "279feda960c698cd", "scanner": "scanner-primary", "fingerprint": "6c89b509a339ede1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b3051b1cf831eb3e", "level": "note", "message": {"text": "Unused endpoint: ANY /web/database/create"}, "properties": {"repobilityId": "66fd168a3a97beb2", "scanner": "scanner-primary", "fingerprint": "b3051b1cf831eb3e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f6bb54b67bd1c1a5", "level": "note", "message": {"text": "Unused endpoint: ANY /web/database/l10n_bg_install_status"}, "properties": {"repobilityId": "809f183556c65154", "scanner": "scanner-primary", "fingerprint": "f6bb54b67bd1c1a5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-db60201fbb05e14e", "level": "note", "message": {"text": "Unused endpoint: ANY /l10n_bg/blacklist/check"}, "properties": {"repobilityId": "952285921f349eba", "scanner": "scanner-primary", "fingerprint": "db60201fbb05e14e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b71460dc8c658cfc", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/fiscal_receipt"}, "properties": {"repobilityId": "19c9f6aee0923be2", "scanner": "scanner-primary", "fingerprint": "b71460dc8c658cfc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8274b060d435f690", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/by_uns/<string:uns>/fiscal_receipt"}, "properties": {"repobilityId": "ca0863a68804a2e4", "scanner": "scanner-primary", "fingerprint": "8274b060d435f690", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b59f57d873c3b5d3", "level": "note", "message": {"text": "Unused endpoint: ANY /erp_net_fp/pos_order/<int:order_id>/refund_printed"}, "properties": {"repobilityId": "349c243528128bba", "scanner": "scanner-primary", "fingerprint": "b59f57d873c3b5d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63b72f9e013d634b", "level": "note", "message": {"text": "Unused endpoint: ANY /fiscal_printer/send_response"}, "properties": {"repobilityId": "ea839c0bc08c43de", "scanner": "scanner-primary", "fingerprint": "63b72f9e013d634b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0706d759550e07e0", "level": "note", "message": {"text": "Unused endpoint: ANY /fiscal_printer/update_status"}, "properties": {"repobilityId": "959424964bfa0156", "scanner": "scanner-primary", "fingerprint": "0706d759550e07e0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c3ef25b8b792be96", "level": "note", "message": {"text": "Unused endpoint: ANY /fiscal_printer/browser_ready"}, "properties": {"repobilityId": "62949b4bfd5e6e6d", "scanner": "scanner-primary", "fingerprint": "c3ef25b8b792be96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd292828ec7c6cb2", "level": "note", "message": {"text": "Unused endpoint: ANY /fiscal_printer/heartbeat"}, "properties": {"repobilityId": "3e59d661ac41454d", "scanner": "scanner-primary", "fingerprint": "cd292828ec7c6cb2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd012390c3b84487", "level": "note", "message": {"text": "Unused endpoint: ANY /fiscal_printer/test_notification"}, "properties": {"repobilityId": "f1c83ae4ffcde598", "scanner": "scanner-primary", "fingerprint": "fd012390c3b84487", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}