{"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-454aa13d805c02b8", "name": "Possibly dead Python function: as_vector", "shortDescription": {"text": "Possibly dead Python function: as_vector"}, "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-79e034334b79d5fe", "name": "Possibly dead Python function: probe", "shortDescription": {"text": "Possibly dead Python function: probe"}, "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-0998d788a4234ec1", "name": "Possibly dead Python function: lint_ctx_purity", "shortDescription": {"text": "Possibly dead Python function: lint_ctx_purity"}, "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-946b304691906d76", "name": "Possibly dead Python function: may_reach", "shortDescription": {"text": "Possibly dead Python function: may_reach"}, "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-db2abea9f9c1a3c3", "name": "Possibly dead Python function: must_reach", "shortDescription": {"text": "Possibly dead Python function: must_reach"}, "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-880c1bf0760c69a4", "name": "Possibly dead Python function: exact_reach", "shortDescription": {"text": "Possibly dead Python function: exact_reach"}, "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-f6b99a26331085d7", "name": "Possibly dead Python function: sf_classifier_cv_accuracy", "shortDescription": {"text": "Possibly dead Python function: sf_classifier_cv_accuracy"}, "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-8a449792f4e1b972", "name": "Possibly dead Python function: sf6_gain_loss_asymmetry", "shortDescription": {"text": "Possibly dead Python function: sf6_gain_loss_asymmetry"}, "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-2c0d953e8b2d1811", "name": "Possibly dead Python function: apply_masking", "shortDescription": {"text": "Possibly dead Python function: apply_masking"}, "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-efd5b10b6e14cb45", "name": "Possibly dead Python function: wrap", "shortDescription": {"text": "Possibly dead Python function: wrap"}, "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-a73af626d9ac0fdb", "name": "Possibly dead Python function: run_intervention", "shortDescription": {"text": "Possibly dead Python function: run_intervention"}, "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-50ef6153e1ecdd1b", "name": "Possibly dead Python function: susceptibility_features", "shortDescription": {"text": "Possibly dead Python function: susceptibility_features"}, "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-36baf2baa22672f0", "name": "Possibly dead Python function: calibrate_baseline", "shortDescription": {"text": "Possibly dead Python function: calibrate_baseline"}, "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-31e82303bf2fc5e3", "name": "Possibly dead Python function: apply_intervention", "shortDescription": {"text": "Possibly dead Python function: apply_intervention"}, "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-470c4fe0f27ef5a2", "name": "Possibly dead Python function: simulate", "shortDescription": {"text": "Possibly dead Python function: simulate"}, "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-cbc1c750380bbc45", "name": "Possibly dead Python function: describe_complexity", "shortDescription": {"text": "Possibly dead Python function: describe_complexity"}, "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-a7ea0ce7cb52ab00", "name": "Possibly dead Python function: calibrate_baseline", "shortDescription": {"text": "Possibly dead Python function: calibrate_baseline"}, "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-40b94cc6530fc575", "name": "Possibly dead Python function: apply_intervention", "shortDescription": {"text": "Possibly dead Python function: apply_intervention"}, "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-31968917f676aeb7", "name": "Possibly dead Python function: simulate", "shortDescription": {"text": "Possibly dead Python function: simulate"}, "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-c6872f42cfb004b2", "name": "Possibly dead Python function: describe_complexity", "shortDescription": {"text": "Possibly dead Python function: describe_complexity"}, "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-80d51b890c098fe7", "name": "Possibly dead Python function: calibrate_baseline", "shortDescription": {"text": "Possibly dead Python function: calibrate_baseline"}, "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-f0724c81a3e848a8", "name": "Possibly dead Python function: apply_intervention", "shortDescription": {"text": "Possibly dead Python function: apply_intervention"}, "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-41bc04e903c48191", "name": "Possibly dead Python function: simulate", "shortDescription": {"text": "Possibly dead Python function: simulate"}, "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-b56b338c1620f26b", "name": "Possibly dead Python function: describe_complexity", "shortDescription": {"text": "Possibly dead Python function: describe_complexity"}, "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-bd89ae11506b7c2e", "name": "Possibly dead Python function: calibrate_baseline", "shortDescription": {"text": "Possibly dead Python function: calibrate_baseline"}, "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-1ff8cba9d3ba0069", "name": "Possibly dead Python function: apply_intervention", "shortDescription": {"text": "Possibly dead Python function: apply_intervention"}, "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-fd62563811b57427", "name": "Possibly dead Python function: simulate", "shortDescription": {"text": "Possibly dead Python function: simulate"}, "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-f6ce710a7d697466", "name": "Possibly dead Python function: describe_complexity", "shortDescription": {"text": "Possibly dead Python function: describe_complexity"}, "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-7db0642426be7ee1", "name": "Possibly dead Python function: calibrate_baseline", "shortDescription": {"text": "Possibly dead Python function: calibrate_baseline"}, "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-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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@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": "medium", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 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-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntoy/models/lm.py:calibrate_baseline, toy/models/ci.py:calibrate_baseline, toy/models/zi.py:calibrate_baseline, toy/models/fw.py:calibrate_baseline\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntoy/models/lm.py:simulate, toy/models/ci.py:simulate, toy/models/zi.py:simulate, toy/models/sg.py:simulate\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-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:\ntoy/models/types.py:content_hash, toy/models/types.py:content_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}}]}}, "automationDetails": {"id": "repobility/23391"}, "properties": {"repository": "yuitokyouni/PROV-ABM-atlas", "repoUrl": "https://github.com/yuitokyouni/PROV-ABM-atlas", "branch": "main"}, "results": [{"ruleId": "scanner-454aa13d805c02b8", "level": "note", "message": {"text": "Possibly dead Python function: as_vector"}, "properties": {"repobilityId": "d65bff8397ab4b37", "scanner": "scanner-primary", "fingerprint": "454aa13d805c02b8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "atlas/protocols.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-79e034334b79d5fe", "level": "note", "message": {"text": "Possibly dead Python function: probe"}, "properties": {"repobilityId": "90ebf24a9b031ee2", "scanner": "scanner-primary", "fingerprint": "79e034334b79d5fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "atlas/protocols.py:59"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0998d788a4234ec1", "level": "note", "message": {"text": "Possibly dead Python function: lint_ctx_purity"}, "properties": {"repobilityId": "a9dc027415b5495a", "scanner": "scanner-primary", "fingerprint": "0998d788a4234ec1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "provabm/capture.py:115"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-946b304691906d76", "level": "note", "message": {"text": "Possibly dead Python function: may_reach"}, "properties": {"repobilityId": "89bba741be999f44", "scanner": "scanner-primary", "fingerprint": "946b304691906d76", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "provabm/reach.py:74"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db2abea9f9c1a3c3", "level": "note", "message": {"text": "Possibly dead Python function: must_reach"}, "properties": {"repobilityId": "577e77f426759ec0", "scanner": "scanner-primary", "fingerprint": "db2abea9f9c1a3c3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "provabm/reach.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-880c1bf0760c69a4", "level": "note", "message": {"text": "Possibly dead Python function: exact_reach"}, "properties": {"repobilityId": "85013f154279744c", "scanner": "scanner-primary", "fingerprint": "880c1bf0760c69a4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "provabm/reach.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f6b99a26331085d7", "level": "note", "message": {"text": "Possibly dead Python function: sf_classifier_cv_accuracy"}, "properties": {"repobilityId": "be9b897081953dbc", "scanner": "scanner-primary", "fingerprint": "f6b99a26331085d7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/classifiers.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a449792f4e1b972", "level": "note", "message": {"text": "Possibly dead Python function: sf6_gain_loss_asymmetry"}, "properties": {"repobilityId": "0375ce753e040129", "scanner": "scanner-primary", "fingerprint": "8a449792f4e1b972", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/sf_battery.py:110"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c0d953e8b2d1811", "level": "note", "message": {"text": "Possibly dead Python function: apply_masking"}, "properties": {"repobilityId": "9051e8a73d79aae6", "scanner": "scanner-primary", "fingerprint": "2c0d953e8b2d1811", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/observation.py:74"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-efd5b10b6e14cb45", "level": "note", "message": {"text": "Possibly dead Python function: wrap"}, "properties": {"repobilityId": "67bfdfc1acedae4b", "scanner": "scanner-primary", "fingerprint": "efd5b10b6e14cb45", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/market.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a73af626d9ac0fdb", "level": "note", "message": {"text": "Possibly dead Python function: run_intervention"}, "properties": {"repobilityId": "64c4a161944ca98a", "scanner": "scanner-primary", "fingerprint": "a73af626d9ac0fdb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/intervention.py:23"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50ef6153e1ecdd1b", "level": "note", "message": {"text": "Possibly dead Python function: susceptibility_features"}, "properties": {"repobilityId": "6be1ef081aadc55c", "scanner": "scanner-primary", "fingerprint": "50ef6153e1ecdd1b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/analysis.py:13"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36baf2baa22672f0", "level": "note", "message": {"text": "Possibly dead Python function: calibrate_baseline"}, "properties": {"repobilityId": "e991b0764bcbb556", "scanner": "scanner-primary", "fingerprint": "36baf2baa22672f0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/lm.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31e82303bf2fc5e3", "level": "note", "message": {"text": "Possibly dead Python function: apply_intervention"}, "properties": {"repobilityId": "124d73466a04ee04", "scanner": "scanner-primary", "fingerprint": "31e82303bf2fc5e3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/lm.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-470c4fe0f27ef5a2", "level": "note", "message": {"text": "Possibly dead Python function: simulate"}, "properties": {"repobilityId": "cd588d2a41af1421", "scanner": "scanner-primary", "fingerprint": "470c4fe0f27ef5a2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/lm.py:130"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cbc1c750380bbc45", "level": "note", "message": {"text": "Possibly dead Python function: describe_complexity"}, "properties": {"repobilityId": "9c7419e6b2153c80", "scanner": "scanner-primary", "fingerprint": "cbc1c750380bbc45", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/lm.py:153"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a7ea0ce7cb52ab00", "level": "note", "message": {"text": "Possibly dead Python function: calibrate_baseline"}, "properties": {"repobilityId": "e991b0764bcbb556", "scanner": "scanner-primary", "fingerprint": "a7ea0ce7cb52ab00", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/ci.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40b94cc6530fc575", "level": "note", "message": {"text": "Possibly dead Python function: apply_intervention"}, "properties": {"repobilityId": "124d73466a04ee04", "scanner": "scanner-primary", "fingerprint": "40b94cc6530fc575", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/ci.py:93"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31968917f676aeb7", "level": "note", "message": {"text": "Possibly dead Python function: simulate"}, "properties": {"repobilityId": "cd588d2a41af1421", "scanner": "scanner-primary", "fingerprint": "31968917f676aeb7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/ci.py:127"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6872f42cfb004b2", "level": "note", "message": {"text": "Possibly dead Python function: describe_complexity"}, "properties": {"repobilityId": "9c7419e6b2153c80", "scanner": "scanner-primary", "fingerprint": "c6872f42cfb004b2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/ci.py:148"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80d51b890c098fe7", "level": "note", "message": {"text": "Possibly dead Python function: calibrate_baseline"}, "properties": {"repobilityId": "e991b0764bcbb556", "scanner": "scanner-primary", "fingerprint": "80d51b890c098fe7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/types.py:161"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0724c81a3e848a8", "level": "note", "message": {"text": "Possibly dead Python function: apply_intervention"}, "properties": {"repobilityId": "124d73466a04ee04", "scanner": "scanner-primary", "fingerprint": "f0724c81a3e848a8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/types.py:165"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41bc04e903c48191", "level": "note", "message": {"text": "Possibly dead Python function: simulate"}, "properties": {"repobilityId": "cd588d2a41af1421", "scanner": "scanner-primary", "fingerprint": "41bc04e903c48191", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/types.py:169"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b56b338c1620f26b", "level": "note", "message": {"text": "Possibly dead Python function: describe_complexity"}, "properties": {"repobilityId": "9c7419e6b2153c80", "scanner": "scanner-primary", "fingerprint": "b56b338c1620f26b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/types.py:171"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd89ae11506b7c2e", "level": "note", "message": {"text": "Possibly dead Python function: calibrate_baseline"}, "properties": {"repobilityId": "e991b0764bcbb556", "scanner": "scanner-primary", "fingerprint": "bd89ae11506b7c2e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/zi.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ff8cba9d3ba0069", "level": "note", "message": {"text": "Possibly dead Python function: apply_intervention"}, "properties": {"repobilityId": "124d73466a04ee04", "scanner": "scanner-primary", "fingerprint": "1ff8cba9d3ba0069", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/zi.py:78"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd62563811b57427", "level": "note", "message": {"text": "Possibly dead Python function: simulate"}, "properties": {"repobilityId": "cd588d2a41af1421", "scanner": "scanner-primary", "fingerprint": "fd62563811b57427", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/zi.py:104"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f6ce710a7d697466", "level": "note", "message": {"text": "Possibly dead Python function: describe_complexity"}, "properties": {"repobilityId": "9c7419e6b2153c80", "scanner": "scanner-primary", "fingerprint": "f6ce710a7d697466", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/zi.py:125"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7db0642426be7ee1", "level": "note", "message": {"text": "Possibly dead Python function: calibrate_baseline"}, "properties": {"repobilityId": "e991b0764bcbb556", "scanner": "scanner-primary", "fingerprint": "7db0642426be7ee1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toy/models/sg.py:57"}, "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-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-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9847e08b01c7192f", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "075d48319b207709", "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": "8d391d8f7a7bcf7b", "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": "f5c57797bba9dceb", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "0a2c6625d779deff", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "aaf9a23300de8438", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6411e1e4e70fa241", "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": "2e180014077aa980", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}