{"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-5aa7696f353c11d0", "name": "Possibly dead Python function: load_module", "shortDescription": {"text": "Possibly dead Python function: load_module"}, "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-c937a05f98ed1dbd", "name": "Possibly dead Python function: distribute_rewards", "shortDescription": {"text": "Possibly dead Python function: distribute_rewards"}, "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-b91b2bfb59c53d42", "name": "Possibly dead Python function: resolve_network_manifest_file", "shortDescription": {"text": "Possibly dead Python function: resolve_network_manifest_file"}, "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-52be03ec185caacb", "name": "Possibly dead Python function: load_genesis", "shortDescription": {"text": "Possibly dead Python function: load_genesis"}, "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-611749afb8fc029a", "name": "Possibly dead Python function: vk_is_formatted", "shortDescription": {"text": "Possibly dead Python function: vk_is_formatted"}, "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-9ba321c391766075", "name": "Possibly dead Python function: signature_is_formatted", "shortDescription": {"text": "Possibly dead Python function: signature_is_formatted"}, "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-0926a4ccca93fa7f", "name": "Possibly dead Python function: kwargs_are_formatted", "shortDescription": {"text": "Possibly dead Python function: kwargs_are_formatted"}, "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-defe112a1cd72699", "name": "Possibly dead Python function: number_is_formatted", "shortDescription": {"text": "Possibly dead Python function: number_is_formatted"}, "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-60440d688e75961d", "name": "Possibly dead Python function: cid_id_formated", "shortDescription": {"text": "Possibly dead Python function: cid_id_formated"}, "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-635988028eddda9a", "name": "Possibly dead Python function: safe_set_nonce", "shortDescription": {"text": "Possibly dead Python function: safe_set_nonce"}, "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-827ed8f4622aee2b", "name": "Possibly dead Python function: handle_favicon", "shortDescription": {"text": "Possibly dead Python function: handle_favicon"}, "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-2a596425949e1166", "name": "Possibly dead Python function: handle_status", "shortDescription": {"text": "Possibly dead Python function: handle_status"}, "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-ca7f4a2d9d985cd8", "name": "Possibly dead Python function: handle_config", "shortDescription": {"text": "Possibly dead Python function: handle_config"}, "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-21f65ae9392397d0", "name": "Possibly dead Python function: handle_net_info", "shortDescription": {"text": "Possibly dead Python function: handle_net_info"}, "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-4abeb84cb4910989", "name": "Possibly dead Python function: handle_validators", "shortDescription": {"text": "Possibly dead Python function: handle_validators"}, "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-032e73a83934d130", "name": "Possibly dead Python function: handle_consensus", "shortDescription": {"text": "Possibly dead Python function: handle_consensus"}, "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-65a1562b70da2c87", "name": "Possibly dead Python function: handle_blockchain", "shortDescription": {"text": "Possibly dead Python function: handle_blockchain"}, "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-e686af357592267c", "name": "Possibly dead Python function: handle_block", "shortDescription": {"text": "Possibly dead Python function: handle_block"}, "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-b26ce819d72c91fe", "name": "Possibly dead Python function: handle_block_results", "shortDescription": {"text": "Possibly dead Python function: handle_block_results"}, "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-eac12a9fcfcfb135", "name": "Possibly dead Python function: handle_tx", "shortDescription": {"text": "Possibly dead Python function: handle_tx"}, "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-e55fb910c61ba7d8", "name": "Possibly dead Python function: handle_unconfirmed", "shortDescription": {"text": "Possibly dead Python function: handle_unconfirmed"}, "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-43fa6a158fb940aa", "name": "Possibly dead Python function: handle_address", "shortDescription": {"text": "Possibly dead Python function: handle_address"}, "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-4b1dcfeae971d253", "name": "Possibly dead Python function: handle_contracts", "shortDescription": {"text": "Possibly dead Python function: handle_contracts"}, "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-7000529a4563a01d", "name": "Possibly dead Python function: handle_recent_events", "shortDescription": {"text": "Possibly dead Python function: handle_recent_events"}, "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-5ea3b21780352712", "name": "Possibly dead Python function: handle_abci_query", "shortDescription": {"text": "Possibly dead Python function: handle_abci_query"}, "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-786a9c032d2b25f1", "name": "Possibly dead Python function: handle_monitoring", "shortDescription": {"text": "Possibly dead Python function: handle_monitoring"}, "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-6f26b082908c89e3", "name": "Possibly dead Python function: start_dashboard", "shortDescription": {"text": "Possibly dead Python function: start_dashboard"}, "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-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf43b7a45a9b2beb", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/xian/dashboard/static/index.html:930", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/xian/dashboard/static/index.html:930"}, "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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e5b09dab12a4e2c0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42116dc4a8e00c01", "name": "Very large file: tests/unit/test_execution_engine.py (1770 lines)", "shortDescription": {"text": "Very large file: tests/unit/test_execution_engine.py (1770 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-6ed57207f0603457", "name": "Very large file: src/xian/dashboard/app.py (1711 lines)", "shortDescription": {"text": "Very large file: src/xian/dashboard/app.py (1711 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-07e008c30a8f72e1", "name": "Very large file: src/xian/services/bds/bds.py (1604 lines)", "shortDescription": {"text": "Very large file: src/xian/services/bds/bds.py (1604 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 27 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-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-7a863c7c899918cb", "name": "Network/subprocess call without timeout or try/except \u2014 build_proto.py:93", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 build_proto.py:93"}, "fullDescription": {"text": "`subprocess.run(...)` 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-dfd1977c9d474a3f", "name": "Legacy-named symbol `xian_vm_v1` in tests/governance/test_governance.py:44", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/governance/test_governance.py:44"}, "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-fd44765365c4e4bb", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_simulator.py:45", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_simulator.py:45"}, "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-dcbb2f0dde3f9950", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_metrics.py:15", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_metrics.py:15"}, "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-9fd2baa78552bdb9", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_genesis_builder.py:230", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_genesis_builder.py:230"}, "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-3ffe1d07f0bd3957", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_policy.py:14", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_policy.py:14"}, "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-b89e20fc9ed4ea53", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_perf.py:13", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_perf.py:13"}, "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-dacee40217dd799f", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_processor_vm.py:32", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_processor_vm.py:32"}, "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-a4cce943e8ade19c", "name": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_engine.py:110", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_engine.py:110"}, "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-70ddd60a98d831ac", "name": "Legacy-named symbol `xian_vm_v1` in tests/abci_methods/test_query.py:750", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in tests/abci_methods/test_query.py:750"}, "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-964fc30ff7547b6b", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/genesis_builder.py:89", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/genesis_builder.py:89"}, "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-22f757ae70a1c8f7", "name": "Stub function `observe` (body is just `pass`/`return`) \u2014 src/xian/perf.py:87", "shortDescription": {"text": "Stub function `observe` (body is just `pass`/`return`) \u2014 src/xian/perf.py:87"}, "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-72d901be57eff8f9", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/simulator.py:262", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/simulator.py:262"}, "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-94125b20ed75dacb", "name": "Stub function `close` (body is just `pass`/`return`) \u2014 src/xian/simulator.py:429", "shortDescription": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 src/xian/simulator.py:429"}, "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-e8538017593e97c1", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_policy.py:3", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_policy.py:3"}, "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-3d61b81b27a1313d", "name": "Commented-code block (6 lines) in src/xian/xian_abci.py:11", "shortDescription": {"text": "Commented-code block (6 lines) in src/xian/xian_abci.py:11"}, "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-72687596ff3e3bb4", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_engine.py:80", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_engine.py:80"}, "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-155dd044a64f55be", "name": "Commented-code block (5 lines) in src/xian/processor.py:478", "shortDescription": {"text": "Commented-code block (5 lines) in src/xian/processor.py:478"}, "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-7900a6d5a3c4a897", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/methods/query.py:227", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/methods/query.py:227"}, "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-fc88b2d7953ca34b", "name": "Legacy-named symbol `xian_vm_v1` in src/xian/utils/state_patches.py:52", "shortDescription": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/utils/state_patches.py:52"}, "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-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:\nsrc/xian/metrics.py:from_runtime_settings, src/xian/metrics.py:from_runtime_settings\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:\nsrc/xian/perf.py:observe, src/xian/perf.py:observe, src/xian/perf.py:observe\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-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/xian/services/bds/sql.py:select_transaction_by_hash, src/xian/services/bds/sql.py:select_transactions_for_block_height, src/xian/services/bds/sql.py:select_transactions_for_block_hash, src/xian/services/bds/sql.py:select_transactions_by_sender\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}}]}}, "automationDetails": {"id": "repobility/22975"}, "properties": {"repository": "xian-technology/xian-abci", "repoUrl": "https://github.com/xian-technology/xian-abci", "branch": "main"}, "results": [{"ruleId": "scanner-5aa7696f353c11d0", "level": "note", "message": {"text": "Possibly dead Python function: load_module"}, "properties": {"repobilityId": "e5a507b060f9c4b2", "scanner": "scanner-primary", "fingerprint": "5aa7696f353c11d0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/xian_abci.py:122"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c937a05f98ed1dbd", "level": "note", "message": {"text": "Possibly dead Python function: distribute_rewards"}, "properties": {"repobilityId": "4eb7394a6a943201", "scanner": "scanner-primary", "fingerprint": "c937a05f98ed1dbd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/rewards.py:454"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b91b2bfb59c53d42", "level": "note", "message": {"text": "Possibly dead Python function: resolve_network_manifest_file"}, "properties": {"repobilityId": "3b603426959e1408", "scanner": "scanner-primary", "fingerprint": "b91b2bfb59c53d42", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/config_paths.py:51"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52be03ec185caacb", "level": "note", "message": {"text": "Possibly dead Python function: load_genesis"}, "properties": {"repobilityId": "a53df207a7157436", "scanner": "scanner-primary", "fingerprint": "52be03ec185caacb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/node_setup.py:661"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-611749afb8fc029a", "level": "note", "message": {"text": "Possibly dead Python function: vk_is_formatted"}, "properties": {"repobilityId": "5709496fbf8da8e5", "scanner": "scanner-primary", "fingerprint": "611749afb8fc029a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/formatting.py:11"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ba321c391766075", "level": "note", "message": {"text": "Possibly dead Python function: signature_is_formatted"}, "properties": {"repobilityId": "504e41c4f9667840", "scanner": "scanner-primary", "fingerprint": "9ba321c391766075", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/formatting.py:15"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0926a4ccca93fa7f", "level": "note", "message": {"text": "Possibly dead Python function: kwargs_are_formatted"}, "properties": {"repobilityId": "3cdca3d1580cdae0", "scanner": "scanner-primary", "fingerprint": "0926a4ccca93fa7f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/formatting.py:23"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-defe112a1cd72699", "level": "note", "message": {"text": "Possibly dead Python function: number_is_formatted"}, "properties": {"repobilityId": "607889f110b1480b", "scanner": "scanner-primary", "fingerprint": "defe112a1cd72699", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/formatting.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60440d688e75961d", "level": "note", "message": {"text": "Possibly dead Python function: cid_id_formated"}, "properties": {"repobilityId": "f92ef379f78c29fc", "scanner": "scanner-primary", "fingerprint": "60440d688e75961d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/formatting.py:52"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-635988028eddda9a", "level": "note", "message": {"text": "Possibly dead Python function: safe_set_nonce"}, "properties": {"repobilityId": "33ca102530197756", "scanner": "scanner-primary", "fingerprint": "635988028eddda9a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/nonce.py:135"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-827ed8f4622aee2b", "level": "note", "message": {"text": "Possibly dead Python function: handle_favicon"}, "properties": {"repobilityId": "3796bac2dd709617", "scanner": "scanner-primary", "fingerprint": "827ed8f4622aee2b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1086"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a596425949e1166", "level": "note", "message": {"text": "Possibly dead Python function: handle_status"}, "properties": {"repobilityId": "c03a3864aee0ff0e", "scanner": "scanner-primary", "fingerprint": "2a596425949e1166", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1093"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca7f4a2d9d985cd8", "level": "note", "message": {"text": "Possibly dead Python function: handle_config"}, "properties": {"repobilityId": "7539f0850c725a10", "scanner": "scanner-primary", "fingerprint": "ca7f4a2d9d985cd8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1101"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-21f65ae9392397d0", "level": "note", "message": {"text": "Possibly dead Python function: handle_net_info"}, "properties": {"repobilityId": "f39e6075a0073d39", "scanner": "scanner-primary", "fingerprint": "21f65ae9392397d0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1105"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4abeb84cb4910989", "level": "note", "message": {"text": "Possibly dead Python function: handle_validators"}, "properties": {"repobilityId": "c6c7e0eaa74788cd", "scanner": "scanner-primary", "fingerprint": "4abeb84cb4910989", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1113"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-032e73a83934d130", "level": "note", "message": {"text": "Possibly dead Python function: handle_consensus"}, "properties": {"repobilityId": "0b0ce9807c68fb02", "scanner": "scanner-primary", "fingerprint": "032e73a83934d130", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65a1562b70da2c87", "level": "note", "message": {"text": "Possibly dead Python function: handle_blockchain"}, "properties": {"repobilityId": "670f70839e3d5c51", "scanner": "scanner-primary", "fingerprint": "65a1562b70da2c87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1195"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e686af357592267c", "level": "note", "message": {"text": "Possibly dead Python function: handle_block"}, "properties": {"repobilityId": "9f095fcd6a2d06bd", "scanner": "scanner-primary", "fingerprint": "e686af357592267c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1209"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b26ce819d72c91fe", "level": "note", "message": {"text": "Possibly dead Python function: handle_block_results"}, "properties": {"repobilityId": "39d898452c83ad58", "scanner": "scanner-primary", "fingerprint": "b26ce819d72c91fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1232"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eac12a9fcfcfb135", "level": "note", "message": {"text": "Possibly dead Python function: handle_tx"}, "properties": {"repobilityId": "43b1bed26112bd1c", "scanner": "scanner-primary", "fingerprint": "eac12a9fcfcfb135", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1256"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e55fb910c61ba7d8", "level": "note", "message": {"text": "Possibly dead Python function: handle_unconfirmed"}, "properties": {"repobilityId": "680c4ab4cf12a2aa", "scanner": "scanner-primary", "fingerprint": "e55fb910c61ba7d8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1287"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43fa6a158fb940aa", "level": "note", "message": {"text": "Possibly dead Python function: handle_address"}, "properties": {"repobilityId": "0b44136bd140243a", "scanner": "scanner-primary", "fingerprint": "43fa6a158fb940aa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1331"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b1dcfeae971d253", "level": "note", "message": {"text": "Possibly dead Python function: handle_contracts"}, "properties": {"repobilityId": "9d923d47952461f3", "scanner": "scanner-primary", "fingerprint": "4b1dcfeae971d253", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1409"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7000529a4563a01d", "level": "note", "message": {"text": "Possibly dead Python function: handle_recent_events"}, "properties": {"repobilityId": "77b096d12085bb63", "scanner": "scanner-primary", "fingerprint": "7000529a4563a01d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1441"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ea3b21780352712", "level": "note", "message": {"text": "Possibly dead Python function: handle_abci_query"}, "properties": {"repobilityId": "f36e1b444e2f5386", "scanner": "scanner-primary", "fingerprint": "5ea3b21780352712", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1470"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-786a9c032d2b25f1", "level": "note", "message": {"text": "Possibly dead Python function: handle_monitoring"}, "properties": {"repobilityId": "3d9e8c12fe85aa8b", "scanner": "scanner-primary", "fingerprint": "786a9c032d2b25f1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1507"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f26b082908c89e3", "level": "note", "message": {"text": "Possibly dead Python function: start_dashboard"}, "properties": {"repobilityId": "4e9344c961d0d027", "scanner": "scanner-primary", "fingerprint": "6f26b082908c89e3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/app.py:1673"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-bf43b7a45a9b2beb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/xian/dashboard/static/index.html:930"}, "properties": {"repobilityId": "8116441534c66cfb", "scanner": "scanner-primary", "fingerprint": "bf43b7a45a9b2beb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/xian/dashboard/static/index.html"}, "region": {"startLine": 930}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "111ded8435b78771", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f6c832d67a7838", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "111ded8435b78771", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3863e0af2f2768cd", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9d3cbe42802fdd9d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8eb96fb1706184f3", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 148}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9d3cbe42802fdd9d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f16a0487cea03fc", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "969dd03ce9ee9f08", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5f46a375168aa9a3", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-e5b09dab12a4e2c0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f314e90a316d0e6b", "scanner": "scanner-primary", "fingerprint": "e5b09dab12a4e2c0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate.yml"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-42116dc4a8e00c01", "level": "note", "message": {"text": "Very large file: tests/unit/test_execution_engine.py (1770 lines)"}, "properties": {"repobilityId": "1c9265cd588a59f3", "scanner": "scanner-primary", "fingerprint": "42116dc4a8e00c01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6ed57207f0603457", "level": "note", "message": {"text": "Very large file: src/xian/dashboard/app.py (1711 lines)"}, "properties": {"repobilityId": "f2202cd87ddd9f5e", "scanner": "scanner-primary", "fingerprint": "6ed57207f0603457", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-07e008c30a8f72e1", "level": "note", "message": {"text": "Very large file: src/xian/services/bds/bds.py (1604 lines)"}, "properties": {"repobilityId": "975a76a41a96d59f", "scanner": "scanner-primary", "fingerprint": "07e008c30a8f72e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "ef17b3fa5d2b94e8", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "96dbcbc3ff0c0692", "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": "ae687f9b6485be23", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-7a863c7c899918cb", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 build_proto.py:93"}, "properties": {"repobilityId": "df60f35f23f5756c", "scanner": "scanner-primary", "fingerprint": "7a863c7c899918cb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfd1977c9d474a3f", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/governance/test_governance.py:44"}, "properties": {"repobilityId": "c028d7cb72756e73", "scanner": "scanner-primary", "fingerprint": "dfd1977c9d474a3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fd44765365c4e4bb", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_simulator.py:45"}, "properties": {"repobilityId": "48f64c36924d5e2c", "scanner": "scanner-primary", "fingerprint": "fd44765365c4e4bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dcbb2f0dde3f9950", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_metrics.py:15"}, "properties": {"repobilityId": "6ff7177ccce97073", "scanner": "scanner-primary", "fingerprint": "dcbb2f0dde3f9950", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9fd2baa78552bdb9", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_genesis_builder.py:230"}, "properties": {"repobilityId": "25c9ebdf634ab773", "scanner": "scanner-primary", "fingerprint": "9fd2baa78552bdb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3ffe1d07f0bd3957", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_policy.py:14"}, "properties": {"repobilityId": "6e0e0fa7c1e159a1", "scanner": "scanner-primary", "fingerprint": "3ffe1d07f0bd3957", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b89e20fc9ed4ea53", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_perf.py:13"}, "properties": {"repobilityId": "8c482921c8a7b292", "scanner": "scanner-primary", "fingerprint": "b89e20fc9ed4ea53", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dacee40217dd799f", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_processor_vm.py:32"}, "properties": {"repobilityId": "54197bc863e3cc7b", "scanner": "scanner-primary", "fingerprint": "dacee40217dd799f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a4cce943e8ade19c", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/unit/test_execution_engine.py:110"}, "properties": {"repobilityId": "bd525ba56487fbe5", "scanner": "scanner-primary", "fingerprint": "a4cce943e8ade19c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-70ddd60a98d831ac", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in tests/abci_methods/test_query.py:750"}, "properties": {"repobilityId": "63821cb7d128b659", "scanner": "scanner-primary", "fingerprint": "70ddd60a98d831ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-964fc30ff7547b6b", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/genesis_builder.py:89"}, "properties": {"repobilityId": "924cc973a518394a", "scanner": "scanner-primary", "fingerprint": "964fc30ff7547b6b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-22f757ae70a1c8f7", "level": "note", "message": {"text": "Stub function `observe` (body is just `pass`/`return`) \u2014 src/xian/perf.py:87"}, "properties": {"repobilityId": "41ba812a5761fa4f", "scanner": "scanner-primary", "fingerprint": "22f757ae70a1c8f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-72d901be57eff8f9", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/simulator.py:262"}, "properties": {"repobilityId": "525c51cb45be3bc7", "scanner": "scanner-primary", "fingerprint": "72d901be57eff8f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-94125b20ed75dacb", "level": "note", "message": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 src/xian/simulator.py:429"}, "properties": {"repobilityId": "f554803517c27865", "scanner": "scanner-primary", "fingerprint": "94125b20ed75dacb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-e8538017593e97c1", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_policy.py:3"}, "properties": {"repobilityId": "8d9dafc5ca711a0a", "scanner": "scanner-primary", "fingerprint": "e8538017593e97c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d61b81b27a1313d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/xian/xian_abci.py:11"}, "properties": {"repobilityId": "ae128008c3c32541", "scanner": "scanner-primary", "fingerprint": "3d61b81b27a1313d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72687596ff3e3bb4", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/execution_engine.py:80"}, "properties": {"repobilityId": "6055816461ad65df", "scanner": "scanner-primary", "fingerprint": "72687596ff3e3bb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-155dd044a64f55be", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/xian/processor.py:478"}, "properties": {"repobilityId": "1e2263c82b268fca", "scanner": "scanner-primary", "fingerprint": "155dd044a64f55be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7900a6d5a3c4a897", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/methods/query.py:227"}, "properties": {"repobilityId": "29876d3f50349c1f", "scanner": "scanner-primary", "fingerprint": "7900a6d5a3c4a897", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fc88b2d7953ca34b", "level": "note", "message": {"text": "Legacy-named symbol `xian_vm_v1` in src/xian/utils/state_patches.py:52"}, "properties": {"repobilityId": "7ed40361781d6776", "scanner": "scanner-primary", "fingerprint": "fc88b2d7953ca34b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "111892fa61687f8a", "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": "6f0b25a1c5afb2a7", "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": "345a1f140cda3584", "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": "4439b32f45e4fefd", "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": "c06da9fd03bd8fce", "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": "9c4b996157ff16a7", "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": "c7d744a5093fd317", "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": "65e16b19a71fd905", "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": "d7a30b24ddc12932", "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": "9a5b6a802be0d0f5", "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": "01a47004ca08f9a4", "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": "ff123f29b85cf0b3", "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": "52803232cb31464f", "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": "014781dd94b03e97", "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": "b77d5ac42f98442e", "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": "f5442ef92f965989", "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": "97754aa96ad7ba09", "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": "bc39736d3b68858e", "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": "9fc34ef3475c3faa", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "eefa5b1122f948ed", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}