{"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-717b9c1351c1af02", "name": "Possibly dead Python function: load_hashdb_from_dag", "shortDescription": {"text": "Possibly dead Python function: load_hashdb_from_dag"}, "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-d31c4dc1c04d4992", "name": "Possibly dead Python function: refresh_names", "shortDescription": {"text": "Possibly dead Python function: refresh_names"}, "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-33263b58be54b3c1", "name": "Possibly dead Python function: cmd_repack", "shortDescription": {"text": "Possibly dead Python function: cmd_repack"}, "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-dd45cf852a882aff", "name": "Possibly dead Python function: cmd_repack_dir", "shortDescription": {"text": "Possibly dead Python function: cmd_repack_dir"}, "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-35fb0e74a87572dd", "name": "Possibly dead Python function: cmd_build_hashdb", "shortDescription": {"text": "Possibly dead Python function: cmd_build_hashdb"}, "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-96f03ac434fc4825", "name": "Possibly dead Python function: cmd_info", "shortDescription": {"text": "Possibly dead Python function: cmd_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-717e0410e0e8c710", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-cd04eeb81ba93656", "name": "Possibly dead Python function: cmd_extract", "shortDescription": {"text": "Possibly dead Python function: cmd_extract"}, "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-3a55eb8ef66a316e", "name": "Possibly dead Python function: cmd_csv", "shortDescription": {"text": "Possibly dead Python function: cmd_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-ac9e54f3d8ba78f9", "name": "Possibly dead Python function: cmd_hash", "shortDescription": {"text": "Possibly dead Python function: cmd_hash"}, "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-c139d7f9e2ea09d4", "name": "Possibly dead Python function: cmd_dag", "shortDescription": {"text": "Possibly dead Python function: cmd_dag"}, "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-e5d31e1fa64e3663", "name": "Possibly dead Python function: cmd_loc_export", "shortDescription": {"text": "Possibly dead Python function: cmd_loc_export"}, "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-457c49af3c17221a", "name": "Possibly dead Python function: cmd_loc_import", "shortDescription": {"text": "Possibly dead Python function: cmd_loc_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-66cb9bf17823ae96", "name": "Possibly dead Python function: cmd_patch", "shortDescription": {"text": "Possibly dead Python function: cmd_patch"}, "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-f062536bfd43461b", "name": "Possibly dead Python function: load_hashdb_from_dag", "shortDescription": {"text": "Possibly dead Python function: load_hashdb_from_dag"}, "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-5cc6d228a652bf3e", "name": "Possibly dead Python function: refresh_names", "shortDescription": {"text": "Possibly dead Python function: refresh_names"}, "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-c88ce86696919a5d", "name": "Possibly dead Python function: cmd_repack", "shortDescription": {"text": "Possibly dead Python function: cmd_repack"}, "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-ea16c44f989cb7b9", "name": "Possibly dead Python function: cmd_repack_dir", "shortDescription": {"text": "Possibly dead Python function: cmd_repack_dir"}, "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-344d2d812427cc70", "name": "Possibly dead Python function: cmd_build_hashdb", "shortDescription": {"text": "Possibly dead Python function: cmd_build_hashdb"}, "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-7ff52f9a1083e78d", "name": "Possibly dead Python function: cmd_info", "shortDescription": {"text": "Possibly dead Python function: cmd_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-2e83a708a4ed75fa", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-f30be4daafa0ae19", "name": "Possibly dead Python function: cmd_extract", "shortDescription": {"text": "Possibly dead Python function: cmd_extract"}, "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-4ebc9bb6c59182ca", "name": "Possibly dead Python function: cmd_csv", "shortDescription": {"text": "Possibly dead Python function: cmd_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-fbe5b24e006dad37", "name": "Possibly dead Python function: cmd_hash", "shortDescription": {"text": "Possibly dead Python function: cmd_hash"}, "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-c696c4970cd47763", "name": "Possibly dead Python function: cmd_dag", "shortDescription": {"text": "Possibly dead Python function: cmd_dag"}, "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-340e55e2b120f064", "name": "Possibly dead Python function: cmd_loc_export", "shortDescription": {"text": "Possibly dead Python function: cmd_loc_export"}, "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-f3de14feb02e1c5e", "name": "Possibly dead Python function: cmd_loc_import", "shortDescription": {"text": "Possibly dead Python function: cmd_loc_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-f33d0f161b4fdfb9", "name": "Possibly dead Python function: cmd_patch", "shortDescription": {"text": "Possibly dead Python function: cmd_patch"}, "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-8bccbaf5a6b5f5d1", "name": "Possibly dead Python function: cmd_info", "shortDescription": {"text": "Possibly dead Python function: cmd_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-91840bcbcdc782df", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-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-9f58afb570677880", "name": "Very large file: smps5tool.py (1599 lines)", "shortDescription": {"text": "Very large file: smps5tool.py (1599 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-1c8112150e3cd2f3", "name": "Very large file: smps4tool.py (1498 lines)", "shortDescription": {"text": "Very large file: smps4tool.py (1498 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-6a53f43f7adf69af", "name": "Very large file: smps4tool_mm.py (1523 lines)", "shortDescription": {"text": "Very large file: smps4tool_mm.py (1523 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": "0 test file(s) for 5 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 234 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9eb83b9bdb8b98c", "name": "Legacy-named symbol `no_backup` in smps5tool.py:1262", "shortDescription": {"text": "Legacy-named symbol `no_backup` in smps5tool.py:1262"}, "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-56b0859d95743354", "name": "Commented-code block (5 lines) in smps5tool.py:1056", "shortDescription": {"text": "Commented-code block (5 lines) in smps5tool.py:1056"}, "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-a09fcded1cef7b96", "name": "Legacy-named symbol `no_backup` in smps4tool.py:1190", "shortDescription": {"text": "Legacy-named symbol `no_backup` in smps4tool.py:1190"}, "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-f3050c0801c08926", "name": "Commented-code block (5 lines) in smps4tool.py:987", "shortDescription": {"text": "Commented-code block (5 lines) in smps4tool.py:987"}, "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-e02da8be5a2ea432", "name": "Legacy-named symbol `no_backup` in smps2tool.py:542", "shortDescription": {"text": "Legacy-named symbol `no_backup` in smps2tool.py:542"}, "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-5f0c8ac6b765d3e2", "name": "Commented-code block (5 lines) in smps2tool.py:203", "shortDescription": {"text": "Commented-code block (5 lines) in smps2tool.py:203"}, "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-56aab059064688b7", "name": "Legacy-named symbol `no_backup` in smps4tool_mm.py:1215", "shortDescription": {"text": "Legacy-named symbol `no_backup` in smps4tool_mm.py:1215"}, "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-5f92778d07e5709c", "name": "Commented-code block (5 lines) in smps4tool_mm.py:1011", "shortDescription": {"text": "Commented-code block (5 lines) in smps4tool_mm.py:1011"}, "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-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:\nsmps5tool.py:sm_hash, smps4tool.py:sm_hash, smps4tool_mm.py:sm_hash\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsmps5tool.py:load_hashdb_from_dag, smps5tool.py:load, smps4tool.py:load_hashdb_from_dag, smps4tool.py:load\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/30675"}, "properties": {"repository": "zerlkung/SMPCTool-PS4_python", "repoUrl": "https://github.com/zerlkung/SMPCTool-PS4_python", "branch": "main"}, "results": [{"ruleId": "scanner-717b9c1351c1af02", "level": "note", "message": {"text": "Possibly dead Python function: load_hashdb_from_dag"}, "properties": {"repobilityId": "0b0f8b8abd1ae2a3", "scanner": "scanner-primary", "fingerprint": "717b9c1351c1af02", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:378"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d31c4dc1c04d4992", "level": "note", "message": {"text": "Possibly dead Python function: refresh_names"}, "properties": {"repobilityId": "c38e7d017ab5e7c1", "scanner": "scanner-primary", "fingerprint": "d31c4dc1c04d4992", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:486"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33263b58be54b3c1", "level": "note", "message": {"text": "Possibly dead Python function: cmd_repack"}, "properties": {"repobilityId": "6bd9e8414d0b4293", "scanner": "scanner-primary", "fingerprint": "33263b58be54b3c1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1014"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd45cf852a882aff", "level": "note", "message": {"text": "Possibly dead Python function: cmd_repack_dir"}, "properties": {"repobilityId": "92517d8c57d8ad15", "scanner": "scanner-primary", "fingerprint": "dd45cf852a882aff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1033"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35fb0e74a87572dd", "level": "note", "message": {"text": "Possibly dead Python function: cmd_build_hashdb"}, "properties": {"repobilityId": "e29f4539e8a540cb", "scanner": "scanner-primary", "fingerprint": "35fb0e74a87572dd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1143"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-96f03ac434fc4825", "level": "note", "message": {"text": "Possibly dead Python function: cmd_info"}, "properties": {"repobilityId": "641d6a86288803b5", "scanner": "scanner-primary", "fingerprint": "96f03ac434fc4825", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1147"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-717e0410e0e8c710", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "717e0410e0e8c710", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1162"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd04eeb81ba93656", "level": "note", "message": {"text": "Possibly dead Python function: cmd_extract"}, "properties": {"repobilityId": "a2c702c18254303f", "scanner": "scanner-primary", "fingerprint": "cd04eeb81ba93656", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1176"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a55eb8ef66a316e", "level": "note", "message": {"text": "Possibly dead Python function: cmd_csv"}, "properties": {"repobilityId": "40017a4edf776916", "scanner": "scanner-primary", "fingerprint": "3a55eb8ef66a316e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac9e54f3d8ba78f9", "level": "note", "message": {"text": "Possibly dead Python function: cmd_hash"}, "properties": {"repobilityId": "2910ad11a8735be6", "scanner": "scanner-primary", "fingerprint": "ac9e54f3d8ba78f9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1215"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c139d7f9e2ea09d4", "level": "note", "message": {"text": "Possibly dead Python function: cmd_dag"}, "properties": {"repobilityId": "4852eda34f24cce6", "scanner": "scanner-primary", "fingerprint": "c139d7f9e2ea09d4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1219"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5d31e1fa64e3663", "level": "note", "message": {"text": "Possibly dead Python function: cmd_loc_export"}, "properties": {"repobilityId": "a6be6b47bd4b092d", "scanner": "scanner-primary", "fingerprint": "e5d31e1fa64e3663", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1241"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-457c49af3c17221a", "level": "note", "message": {"text": "Possibly dead Python function: cmd_loc_import"}, "properties": {"repobilityId": "a9b3367d9870d670", "scanner": "scanner-primary", "fingerprint": "457c49af3c17221a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66cb9bf17823ae96", "level": "note", "message": {"text": "Possibly dead Python function: cmd_patch"}, "properties": {"repobilityId": "7b3d9d4422e3138c", "scanner": "scanner-primary", "fingerprint": "66cb9bf17823ae96", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps5tool.py:1247"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f062536bfd43461b", "level": "note", "message": {"text": "Possibly dead Python function: load_hashdb_from_dag"}, "properties": {"repobilityId": "0b0f8b8abd1ae2a3", "scanner": "scanner-primary", "fingerprint": "f062536bfd43461b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:354"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5cc6d228a652bf3e", "level": "note", "message": {"text": "Possibly dead Python function: refresh_names"}, "properties": {"repobilityId": "c38e7d017ab5e7c1", "scanner": "scanner-primary", "fingerprint": "5cc6d228a652bf3e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:451"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c88ce86696919a5d", "level": "note", "message": {"text": "Possibly dead Python function: cmd_repack"}, "properties": {"repobilityId": "6bd9e8414d0b4293", "scanner": "scanner-primary", "fingerprint": "c88ce86696919a5d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:945"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea16c44f989cb7b9", "level": "note", "message": {"text": "Possibly dead Python function: cmd_repack_dir"}, "properties": {"repobilityId": "92517d8c57d8ad15", "scanner": "scanner-primary", "fingerprint": "ea16c44f989cb7b9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:964"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-344d2d812427cc70", "level": "note", "message": {"text": "Possibly dead Python function: cmd_build_hashdb"}, "properties": {"repobilityId": "e29f4539e8a540cb", "scanner": "scanner-primary", "fingerprint": "344d2d812427cc70", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1070"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ff52f9a1083e78d", "level": "note", "message": {"text": "Possibly dead Python function: cmd_info"}, "properties": {"repobilityId": "641d6a86288803b5", "scanner": "scanner-primary", "fingerprint": "7ff52f9a1083e78d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1074"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e83a708a4ed75fa", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "2e83a708a4ed75fa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1089"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f30be4daafa0ae19", "level": "note", "message": {"text": "Possibly dead Python function: cmd_extract"}, "properties": {"repobilityId": "a2c702c18254303f", "scanner": "scanner-primary", "fingerprint": "f30be4daafa0ae19", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1103"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ebc9bb6c59182ca", "level": "note", "message": {"text": "Possibly dead Python function: cmd_csv"}, "properties": {"repobilityId": "40017a4edf776916", "scanner": "scanner-primary", "fingerprint": "4ebc9bb6c59182ca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1137"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fbe5b24e006dad37", "level": "note", "message": {"text": "Possibly dead Python function: cmd_hash"}, "properties": {"repobilityId": "2910ad11a8735be6", "scanner": "scanner-primary", "fingerprint": "fbe5b24e006dad37", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1142"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c696c4970cd47763", "level": "note", "message": {"text": "Possibly dead Python function: cmd_dag"}, "properties": {"repobilityId": "4852eda34f24cce6", "scanner": "scanner-primary", "fingerprint": "c696c4970cd47763", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1146"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-340e55e2b120f064", "level": "note", "message": {"text": "Possibly dead Python function: cmd_loc_export"}, "properties": {"repobilityId": "a6be6b47bd4b092d", "scanner": "scanner-primary", "fingerprint": "340e55e2b120f064", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1168"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3de14feb02e1c5e", "level": "note", "message": {"text": "Possibly dead Python function: cmd_loc_import"}, "properties": {"repobilityId": "a9b3367d9870d670", "scanner": "scanner-primary", "fingerprint": "f3de14feb02e1c5e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1171"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f33d0f161b4fdfb9", "level": "note", "message": {"text": "Possibly dead Python function: cmd_patch"}, "properties": {"repobilityId": "7b3d9d4422e3138c", "scanner": "scanner-primary", "fingerprint": "f33d0f161b4fdfb9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps4tool.py:1174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8bccbaf5a6b5f5d1", "level": "note", "message": {"text": "Possibly dead Python function: cmd_info"}, "properties": {"repobilityId": "641d6a86288803b5", "scanner": "scanner-primary", "fingerprint": "8bccbaf5a6b5f5d1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps2tool.py:454"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91840bcbcdc782df", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "91840bcbcdc782df", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "smps2tool.py:473"}, "region": {"startLine": 1}}}]}, {"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-9f58afb570677880", "level": "note", "message": {"text": "Very large file: smps5tool.py (1599 lines)"}, "properties": {"repobilityId": "e019e6ac53582c40", "scanner": "scanner-primary", "fingerprint": "9f58afb570677880", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c8112150e3cd2f3", "level": "note", "message": {"text": "Very large file: smps4tool.py (1498 lines)"}, "properties": {"repobilityId": "626699640e6f9f04", "scanner": "scanner-primary", "fingerprint": "1c8112150e3cd2f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a53f43f7adf69af", "level": "note", "message": {"text": "Very large file: smps4tool_mm.py (1523 lines)"}, "properties": {"repobilityId": "03dd3df4772231a2", "scanner": "scanner-primary", "fingerprint": "6a53f43f7adf69af", "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-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3f527c7930ec77ca", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9f425d0ab0315515", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "665da2960f9d40b7", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "e561a78f1f0a355e", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9eb83b9bdb8b98c", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in smps5tool.py:1262"}, "properties": {"repobilityId": "b7893ccfb99ab0f9", "scanner": "scanner-primary", "fingerprint": "b9eb83b9bdb8b98c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-56b0859d95743354", "level": "none", "message": {"text": "Commented-code block (5 lines) in smps5tool.py:1056"}, "properties": {"repobilityId": "6e92d21e19c3254f", "scanner": "scanner-primary", "fingerprint": "56b0859d95743354", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a09fcded1cef7b96", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in smps4tool.py:1190"}, "properties": {"repobilityId": "b0d865a7fa5a2f51", "scanner": "scanner-primary", "fingerprint": "a09fcded1cef7b96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f3050c0801c08926", "level": "none", "message": {"text": "Commented-code block (5 lines) in smps4tool.py:987"}, "properties": {"repobilityId": "4f8d35315ef57778", "scanner": "scanner-primary", "fingerprint": "f3050c0801c08926", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e02da8be5a2ea432", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in smps2tool.py:542"}, "properties": {"repobilityId": "446e272a80e7d80f", "scanner": "scanner-primary", "fingerprint": "e02da8be5a2ea432", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5f0c8ac6b765d3e2", "level": "none", "message": {"text": "Commented-code block (5 lines) in smps2tool.py:203"}, "properties": {"repobilityId": "cfbf30da2ac4ea1c", "scanner": "scanner-primary", "fingerprint": "5f0c8ac6b765d3e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56aab059064688b7", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in smps4tool_mm.py:1215"}, "properties": {"repobilityId": "ab9045485482ef2a", "scanner": "scanner-primary", "fingerprint": "56aab059064688b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5f92778d07e5709c", "level": "none", "message": {"text": "Commented-code block (5 lines) in smps4tool_mm.py:1011"}, "properties": {"repobilityId": "93ef1765a58e6d02", "scanner": "scanner-primary", "fingerprint": "5f92778d07e5709c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "2a21908991417af7", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "20a7f1a6022b0210", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "86261b3563d3ff5b", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "6968c96ac6be6d3e", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "1c4743703fecaabc", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "d5d037e1b6e512ff", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "16c6888391486dee", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "b7d647f395309987", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "aa3c9753858a4ef3", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "895c59e4a041e2a8", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "6dcb25b8c66a1dd9", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "c1ea57e9d9195fe6", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "19bb7c8dc355cd2b", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "5d0bf6997c422a9a", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "57f53dfaf1885d98", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "e25c0162223250a8", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "c5085c7d6a75d42e", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "92e0f2112c00c30f", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "a1084e4ee3e6e799", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "56e62f6e19ad375e", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}