{"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": "AIC003", "name": "Duplicated implementation block across source files", "shortDescription": {"text": "Duplicated implementation block across source files"}, "fullDescription": {"text": "Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations."}, "properties": {"scanner": "repobility-ai-code-hygiene", "category": "quality", "severity": "medium", "confidence": 0.86, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/333"}, "properties": {"repository": "mcneel/RhinoMCP", "repoUrl": "https://github.com/mcneel/RhinoMCP", "branch": "main"}, "results": [{"ruleId": "AIC003", "level": "warning", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 10521, "scanner": "repobility-ai-code-hygiene", "fingerprint": "740a33e2db7432479b7db09a7d2e8d062e0c812f5f0b04ab1349e811cb6aab95", "category": "quality", "severity": "medium", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "rhino/plugin/Tools/ListObjectsTool.cs", "duplicate_line": 63, "correlation_key": "fp|740a33e2db7432479b7db09a7d2e8d062e0c812f5f0b04ab1349e811cb6aab95"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rhino/plugin/Tools/SetSelectionTool.cs"}, "region": {"startLine": 66}}}]}, {"ruleId": "AIC003", "level": "warning", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 10520, "scanner": "repobility-ai-code-hygiene", "fingerprint": "1f381fb241c7dd1cec899eaa5476a2023952d683159260c7018aa40cdefe6661", "category": "quality", "severity": "medium", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "rhino/plugin/Resources/GH1/GH1_GraphOps.cs", "duplicate_line": 34, "correlation_key": "fp|1f381fb241c7dd1cec899eaa5476a2023952d683159260c7018aa40cdefe6661"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rhino/plugin/Tools/GH1/GH1_ConnectTool.cs"}, "region": {"startLine": 98}}}]}]}]}