{"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-6f0255812f739ff4", "name": "Possibly dead Python function: clear_per_episode_learning_rates", "shortDescription": {"text": "Possibly dead Python function: clear_per_episode_learning_rates"}, "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-1584d8134efd5d2f", "name": "Possibly dead Python function: load_config_from_snapshot", "shortDescription": {"text": "Possibly dead Python function: load_config_from_snapshot"}, "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-aafcdca3d7f8f6c8", "name": "Possibly dead Python function: run_episode", "shortDescription": {"text": "Possibly dead Python function: run_episode"}, "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-f01e136af694bc85", "name": "Possibly dead Python function: phase_of", "shortDescription": {"text": "Possibly dead Python function: phase_of"}, "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-d5567053e65691d3", "name": "Possibly dead Python function: f", "shortDescription": {"text": "Possibly dead Python function: f"}, "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-43d0379107fb1b72", "name": "Possibly dead Python function: wire", "shortDescription": {"text": "Possibly dead Python function: wire"}, "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-4944e807f5b90a93", "name": "Possibly dead Python function: g1", "shortDescription": {"text": "Possibly dead Python function: g1"}, "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-ed7ca19118789a5b", "name": "Possibly dead Python function: g2", "shortDescription": {"text": "Possibly dead Python function: g2"}, "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-a08df4f7b717c581", "name": "Possibly dead Python function: g3", "shortDescription": {"text": "Possibly dead Python function: g3"}, "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-3bf2a64a11c609f0", "name": "Possibly dead Python function: g4", "shortDescription": {"text": "Possibly dead Python function: g4"}, "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-265ebb035d510ba1", "name": "Possibly dead Python function: g7", "shortDescription": {"text": "Possibly dead Python function: g7"}, "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-f94926e38e4152d3", "name": "Possibly dead Python function: g8", "shortDescription": {"text": "Possibly dead Python function: g8"}, "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-4131b239da7b6018", "name": "Possibly dead Python function: h5_ladder", "shortDescription": {"text": "Possibly dead Python function: h5_ladder"}, "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-ebaa9af07d0d8110", "name": "Possibly dead Python function: h6_screen", "shortDescription": {"text": "Possibly dead Python function: h6_screen"}, "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-8661c6afa88bb966", "name": "Possibly dead Python function: h6_frontier", "shortDescription": {"text": "Possibly dead Python function: h6_frontier"}, "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-2b5ce64f2d67f7cd", "name": "Possibly dead Python function: h7_map", "shortDescription": {"text": "Possibly dead Python function: h7_map"}, "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-2af29296e100a780", "name": "Possibly dead Python function: lost_patients", "shortDescription": {"text": "Possibly dead Python function: lost_patients"}, "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-527bf9f93cafff17", "name": "Possibly dead Python function: glut_peak_excess", "shortDescription": {"text": "Possibly dead Python function: glut_peak_excess"}, "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-97ae3cf8e63ad235", "name": "Possibly dead Python function: gate1", "shortDescription": {"text": "Possibly dead Python function: gate1"}, "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-5927f631b84c4330", "name": "Possibly dead Python function: gate2", "shortDescription": {"text": "Possibly dead Python function: gate2"}, "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-13a4a6db12360b9f", "name": "Possibly dead Python function: gate3", "shortDescription": {"text": "Possibly dead Python function: gate3"}, "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-7a9e615b53a22c76", "name": "Possibly dead Python function: gate4", "shortDescription": {"text": "Possibly dead Python function: gate4"}, "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-937f38a6e107dd41", "name": "Possibly dead Python function: gate5", "shortDescription": {"text": "Possibly dead Python function: gate5"}, "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-7a2052350bda0633", "name": "Possibly dead Python function: gate6", "shortDescription": {"text": "Possibly dead Python function: gate6"}, "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-9d8ca5406bfd2b91", "name": "Possibly dead Python function: allocate_equally", "shortDescription": {"text": "Possibly dead Python function: allocate_equally"}, "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-e46af579ff89e1cf", "name": "Possibly dead Python function: calc_backlog", "shortDescription": {"text": "Possibly dead Python function: calc_backlog"}, "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-1aa4f991fbd1a295", "name": "Possibly dead Python function: encode", "shortDescription": {"text": "Possibly dead Python function: encode"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "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 177 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-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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 ci. 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-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-1f7a583eef7520c7", "name": "Legacy-named symbol `reward_components_v2` in gen_reward_components_v2.py:14", "shortDescription": {"text": "Legacy-named symbol `reward_components_v2` in gen_reward_components_v2.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-69d1f1e7b861ca0e", "name": "Legacy-named symbol `gen_reward_components_v2` in regen_plots.py:29", "shortDescription": {"text": "Legacy-named symbol `gen_reward_components_v2` in regen_plots.py:29"}, "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-9e344927abe80cbd", "name": "Network/subprocess call without timeout or try/except \u2014 regen_plots.py:28", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 regen_plots.py:28"}, "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-937d0dae8cd80e83", "name": "Legacy-named symbol `policies_v2` in value_decomposition_study/run_vds.py:33", "shortDescription": {"text": "Legacy-named symbol `policies_v2` in value_decomposition_study/run_vds.py:33"}, "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-63a91e3c4d8907a4", "name": "Commented-code block (5 lines) in value_decomposition_study/policies_v2.py:179", "shortDescription": {"text": "Commented-code block (5 lines) in value_decomposition_study/policies_v2.py:179"}, "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-e67b516434dfffff", "name": "Commented-code block (6 lines) in simulator/decision_maker.py:365", "shortDescription": {"text": "Commented-code block (6 lines) in simulator/decision_maker.py:365"}, "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-c0ac496ee9c46243", "name": "Stub function `make_decision` (body is just `pass`/`return`) \u2014 simulator/decision_maker.py:195", "shortDescription": {"text": "Stub function `make_decision` (body is just `pass`/`return`) \u2014 simulator/decision_maker.py:195"}, "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-b3eb91ca773d0f5b", "name": "Stub function `generate_patient` (body is just `pass`/`return`) \u2014 simulator/patient_model.py:53", "shortDescription": {"text": "Stub function `generate_patient` (body is just `pass`/`return`) \u2014 simulator/patient_model.py:53"}, "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-b9d3944c387b7226", "name": "Stub function `happen` (body is just `pass`/`return`) \u2014 simulator/disruption.py:8", "shortDescription": {"text": "Stub function `happen` (body is just `pass`/`return`) \u2014 simulator/disruption.py:8"}, "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-f9c5f271ac9f75f4", "name": "Commented-code block (5 lines) in simulator/psychsim_decision_maker.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in simulator/psychsim_decision_maker.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6447c3907c532d7c", "name": "Commented-code block (6 lines) in understanding_study/alloc_policies.py:93", "shortDescription": {"text": "Commented-code block (6 lines) in understanding_study/alloc_policies.py:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nds_world.py:update, ds_world.py:update\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-46969939caf8120b", "name": "Near-duplicate function bodies in 9 places", "shortDescription": {"text": "Near-duplicate function bodies in 9 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntest_pipeline.py:setUp, test_pipeline.py:setUp, test_pipeline.py:setUp, test_pipeline.py:setUp\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:\nvalue_decomposition_study/run_vds.py:f, value_decomposition_study/run_vds.py:f, value_decomposition_study/run_vds.py:f, value_decomposition_study/run_vds.py:f\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:\nTest/study_scalability.py:run_study, Test/study_mab_ablation.py:run_study, Test/study_state_space.py:run_study\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-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsimulator/patient_model.py:generate_patient, simulator/patient_model.py:generate_patient, simulator/patient_model.py:generate_patient, simulator/patient_model.py:generate_patient\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/18182"}, "properties": {"repository": "riordanaa/PSC-Policy-Experiments", "repoUrl": "https://github.com/riordanaa/PSC-Policy-Experiments", "branch": "main"}, "results": [{"ruleId": "scanner-6f0255812f739ff4", "level": "note", "message": {"text": "Possibly dead Python function: clear_per_episode_learning_rates"}, "properties": {"repobilityId": "df004e62a107cbc5", "scanner": "scanner-primary", "fingerprint": "6f0255812f739ff4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ds_world.py:243"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1584d8134efd5d2f", "level": "note", "message": {"text": "Possibly dead Python function: load_config_from_snapshot"}, "properties": {"repobilityId": "ada4a6aff4eea6e4", "scanner": "scanner-primary", "fingerprint": "1584d8134efd5d2f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "config.py:338"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aafcdca3d7f8f6c8", "level": "note", "message": {"text": "Possibly dead Python function: run_episode"}, "properties": {"repobilityId": "654680786719edd1", "scanner": "scanner-primary", "fingerprint": "aafcdca3d7f8f6c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "run_r5_diagnostic.py:137"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f01e136af694bc85", "level": "note", "message": {"text": "Possibly dead Python function: phase_of"}, "properties": {"repobilityId": "fadf2ef373c9d803", "scanner": "scanner-primary", "fingerprint": "f01e136af694bc85", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gen_reward_components_v2.py:61"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d5567053e65691d3", "level": "note", "message": {"text": "Possibly dead Python function: f"}, "properties": {"repobilityId": "353d09b5558cba0b", "scanner": "scanner-primary", "fingerprint": "d5567053e65691d3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/run_vds.py:182"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43d0379107fb1b72", "level": "note", "message": {"text": "Possibly dead Python function: wire"}, "properties": {"repobilityId": "64e608ff35a49b44", "scanner": "scanner-primary", "fingerprint": "43d0379107fb1b72", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/run_vds.py:241"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4944e807f5b90a93", "level": "note", "message": {"text": "Possibly dead Python function: g1"}, "properties": {"repobilityId": "b735d136ab0caf8f", "scanner": "scanner-primary", "fingerprint": "4944e807f5b90a93", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:49"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed7ca19118789a5b", "level": "note", "message": {"text": "Possibly dead Python function: g2"}, "properties": {"repobilityId": "442c268190d398af", "scanner": "scanner-primary", "fingerprint": "ed7ca19118789a5b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a08df4f7b717c581", "level": "note", "message": {"text": "Possibly dead Python function: g3"}, "properties": {"repobilityId": "38f4491cd9efa03c", "scanner": "scanner-primary", "fingerprint": "a08df4f7b717c581", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3bf2a64a11c609f0", "level": "note", "message": {"text": "Possibly dead Python function: g4"}, "properties": {"repobilityId": "a2a58edaf9de0764", "scanner": "scanner-primary", "fingerprint": "3bf2a64a11c609f0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:97"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-265ebb035d510ba1", "level": "note", "message": {"text": "Possibly dead Python function: g7"}, "properties": {"repobilityId": "f44b8355113a8792", "scanner": "scanner-primary", "fingerprint": "265ebb035d510ba1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:117"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f94926e38e4152d3", "level": "note", "message": {"text": "Possibly dead Python function: g8"}, "properties": {"repobilityId": "087715cf512302f9", "scanner": "scanner-primary", "fingerprint": "f94926e38e4152d3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/gates_vds.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4131b239da7b6018", "level": "note", "message": {"text": "Possibly dead Python function: h5_ladder"}, "properties": {"repobilityId": "6d08f0540f6e6df9", "scanner": "scanner-primary", "fingerprint": "4131b239da7b6018", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/analyze_phase2.py:64"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ebaa9af07d0d8110", "level": "note", "message": {"text": "Possibly dead Python function: h6_screen"}, "properties": {"repobilityId": "7ad3fc681c7fcea7", "scanner": "scanner-primary", "fingerprint": "ebaa9af07d0d8110", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/analyze_phase2.py:71"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8661c6afa88bb966", "level": "note", "message": {"text": "Possibly dead Python function: h6_frontier"}, "properties": {"repobilityId": "bae097e58e1c049b", "scanner": "scanner-primary", "fingerprint": "8661c6afa88bb966", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/analyze_phase2.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b5ce64f2d67f7cd", "level": "note", "message": {"text": "Possibly dead Python function: h7_map"}, "properties": {"repobilityId": "80dd54336162067c", "scanner": "scanner-primary", "fingerprint": "2b5ce64f2d67f7cd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/analyze_phase2.py:90"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2af29296e100a780", "level": "note", "message": {"text": "Possibly dead Python function: lost_patients"}, "properties": {"repobilityId": "9aad51dce9133804", "scanner": "scanner-primary", "fingerprint": "2af29296e100a780", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/audit/audit_phase1.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-527bf9f93cafff17", "level": "note", "message": {"text": "Possibly dead Python function: glut_peak_excess"}, "properties": {"repobilityId": "14ba23a80cb08e73", "scanner": "scanner-primary", "fingerprint": "527bf9f93cafff17", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "value_decomposition_study/audit/audit_phase1.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97ae3cf8e63ad235", "level": "note", "message": {"text": "Possibly dead Python function: gate1"}, "properties": {"repobilityId": "a5189f7ffef8cf2f", "scanner": "scanner-primary", "fingerprint": "97ae3cf8e63ad235", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:39"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5927f631b84c4330", "level": "note", "message": {"text": "Possibly dead Python function: gate2"}, "properties": {"repobilityId": "79a141857e0322f3", "scanner": "scanner-primary", "fingerprint": "5927f631b84c4330", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:57"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13a4a6db12360b9f", "level": "note", "message": {"text": "Possibly dead Python function: gate3"}, "properties": {"repobilityId": "8c0126b2ffb3179d", "scanner": "scanner-primary", "fingerprint": "13a4a6db12360b9f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7a9e615b53a22c76", "level": "note", "message": {"text": "Possibly dead Python function: gate4"}, "properties": {"repobilityId": "e462edbdc3849ace", "scanner": "scanner-primary", "fingerprint": "7a9e615b53a22c76", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-937f38a6e107dd41", "level": "note", "message": {"text": "Possibly dead Python function: gate5"}, "properties": {"repobilityId": "35b26639582aea1a", "scanner": "scanner-primary", "fingerprint": "937f38a6e107dd41", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7a2052350bda0633", "level": "note", "message": {"text": "Possibly dead Python function: gate6"}, "properties": {"repobilityId": "b8ff038e545c7a31", "scanner": "scanner-primary", "fingerprint": "7a2052350bda0633", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "routing_study/verify.py:121"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d8ca5406bfd2b91", "level": "note", "message": {"text": "Possibly dead Python function: allocate_equally"}, "properties": {"repobilityId": "b3638c7109c88942", "scanner": "scanner-primary", "fingerprint": "9d8ca5406bfd2b91", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "simulator/decision_maker.py:466"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e46af579ff89e1cf", "level": "note", "message": {"text": "Possibly dead Python function: calc_backlog"}, "properties": {"repobilityId": "6d0f392c558ddcda", "scanner": "scanner-primary", "fingerprint": "e46af579ff89e1cf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "simulator/agent.py:513"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1aa4f991fbd1a295", "level": "note", "message": {"text": "Possibly dead Python function: encode"}, "properties": {"repobilityId": "f5f1c62c3fd6a4cd", "scanner": "scanner-primary", "fingerprint": "1aa4f991fbd1a295", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "simulator/simulation_encoder.py:16"}, "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-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9a826a9174bdc15e", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "810646ae6359fa5e", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "5c53e7c4e7919981", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "ca22970d25a1d0db", "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": "c438dcbb37c4bae5", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-1f7a583eef7520c7", "level": "note", "message": {"text": "Legacy-named symbol `reward_components_v2` in gen_reward_components_v2.py:14"}, "properties": {"repobilityId": "5997edb41c8e62ab", "scanner": "scanner-primary", "fingerprint": "1f7a583eef7520c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-69d1f1e7b861ca0e", "level": "note", "message": {"text": "Legacy-named symbol `gen_reward_components_v2` in regen_plots.py:29"}, "properties": {"repobilityId": "dcd036bfd33faf59", "scanner": "scanner-primary", "fingerprint": "69d1f1e7b861ca0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9e344927abe80cbd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 regen_plots.py:28"}, "properties": {"repobilityId": "5b41b56c048fb8a7", "scanner": "scanner-primary", "fingerprint": "9e344927abe80cbd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-937d0dae8cd80e83", "level": "note", "message": {"text": "Legacy-named symbol `policies_v2` in value_decomposition_study/run_vds.py:33"}, "properties": {"repobilityId": "19aaa2b6cbafc05d", "scanner": "scanner-primary", "fingerprint": "937d0dae8cd80e83", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-63a91e3c4d8907a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in value_decomposition_study/policies_v2.py:179"}, "properties": {"repobilityId": "326fe6e09359ad18", "scanner": "scanner-primary", "fingerprint": "63a91e3c4d8907a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e67b516434dfffff", "level": "none", "message": {"text": "Commented-code block (6 lines) in simulator/decision_maker.py:365"}, "properties": {"repobilityId": "fe46c2823cd3328f", "scanner": "scanner-primary", "fingerprint": "e67b516434dfffff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0ac496ee9c46243", "level": "note", "message": {"text": "Stub function `make_decision` (body is just `pass`/`return`) \u2014 simulator/decision_maker.py:195"}, "properties": {"repobilityId": "1861a4dc5783356d", "scanner": "scanner-primary", "fingerprint": "c0ac496ee9c46243", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b3eb91ca773d0f5b", "level": "note", "message": {"text": "Stub function `generate_patient` (body is just `pass`/`return`) \u2014 simulator/patient_model.py:53"}, "properties": {"repobilityId": "ea72b1d9b5b8e1fe", "scanner": "scanner-primary", "fingerprint": "b3eb91ca773d0f5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b9d3944c387b7226", "level": "note", "message": {"text": "Stub function `happen` (body is just `pass`/`return`) \u2014 simulator/disruption.py:8"}, "properties": {"repobilityId": "98bd1a7ca4cc8da7", "scanner": "scanner-primary", "fingerprint": "b9d3944c387b7226", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f9c5f271ac9f75f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in simulator/psychsim_decision_maker.py:35"}, "properties": {"repobilityId": "f6ed56954ab9310d", "scanner": "scanner-primary", "fingerprint": "f9c5f271ac9f75f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6447c3907c532d7c", "level": "none", "message": {"text": "Commented-code block (6 lines) in understanding_study/alloc_policies.py:93"}, "properties": {"repobilityId": "c55fe1811bd47821", "scanner": "scanner-primary", "fingerprint": "6447c3907c532d7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "768263e19ce69f90", "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": "5c4c5091fbb24e89", "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": "159c77ad62238198", "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": "258c92e9375110a9", "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": "1efcf248abe2ce13", "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": "1c69860543008cc9", "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": "dc195cf8a651fc7e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-46969939caf8120b", "level": "note", "message": {"text": "Near-duplicate function bodies in 9 places"}, "properties": {"repobilityId": "1a02ca19aa0bfb22", "scanner": "scanner-primary", "fingerprint": "46969939caf8120b", "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": "7d910831a7aa7cbd", "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": "1b9d8d6682cfc44d", "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": "01a272d9206c01e9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "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": "a6c6ced07e75ccd8", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "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": "6ac112ddc34bf81d", "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": "35cc30886c3aed33", "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": "28c69619d5552699", "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": "3c2d27657744cc09", "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": "ddf2b89638627fb6", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-46969939caf8120b", "level": "note", "message": {"text": "Near-duplicate function bodies in 9 places"}, "properties": {"repobilityId": "c17f8ab297f56728", "scanner": "scanner-primary", "fingerprint": "46969939caf8120b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "60e5551b75b50b38", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "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": "3cf29bbcf93659c0", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}