{"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-e76f71c86eb485a1", "name": "Possibly dead Python function: fixup_word_16", "shortDescription": {"text": "Possibly dead Python function: fixup_word_16"}, "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-1eb2c24763491526", "name": "Possibly dead Python function: nop", "shortDescription": {"text": "Possibly dead Python function: nop"}, "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-90153dae23d729a7", "name": "Possibly dead Python function: rst", "shortDescription": {"text": "Possibly dead Python function: rst"}, "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-f68e43c46cf2d360", "name": "Possibly dead Python function: halt", "shortDescription": {"text": "Possibly dead Python function: halt"}, "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-d36497f7ca19b904", "name": "Possibly dead Python function: di", "shortDescription": {"text": "Possibly dead Python function: di"}, "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-e6e1b8c498cc9778", "name": "Possibly dead Python function: ei", "shortDescription": {"text": "Possibly dead Python function: ei"}, "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-ff825db6d486c0cf", "name": "Possibly dead Python function: ld_ix_nn", "shortDescription": {"text": "Possibly dead Python function: ld_ix_nn"}, "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-2acf069b38b7e962", "name": "Possibly dead Python function: ld_iy_nn", "shortDescription": {"text": "Possibly dead Python function: ld_iy_nn"}, "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-84b33a135853edec", "name": "Possibly dead Python function: ld_bc_label", "shortDescription": {"text": "Possibly dead Python function: ld_bc_label"}, "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-4905ab2a9558eb22", "name": "Possibly dead Python function: ld_d_n", "shortDescription": {"text": "Possibly dead Python function: ld_d_n"}, "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-f09afc21f25909bf", "name": "Possibly dead Python function: ld_e_n", "shortDescription": {"text": "Possibly dead Python function: ld_e_n"}, "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-1d2fac08e79583d0", "name": "Possibly dead Python function: ld_l_n", "shortDescription": {"text": "Possibly dead Python function: ld_l_n"}, "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-7e4011892e77a426", "name": "Possibly dead Python function: ld_hl_n", "shortDescription": {"text": "Possibly dead Python function: ld_hl_n"}, "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-65a96eee4dc025bc", "name": "Possibly dead Python function: ld_mem_label_de", "shortDescription": {"text": "Possibly dead Python function: ld_mem_label_de"}, "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-7918b12e0b644125", "name": "Possibly dead Python function: ld_mem_label_bc", "shortDescription": {"text": "Possibly dead Python function: ld_mem_label_bc"}, "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-b67107c89c210f0b", "name": "Possibly dead Python function: ld_bc_mem_label", "shortDescription": {"text": "Possibly dead Python function: ld_bc_mem_label"}, "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-651126c0dfd11f4e", "name": "Possibly dead Python function: ld_mem_label_sp", "shortDescription": {"text": "Possibly dead Python function: ld_mem_label_sp"}, "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-92bd5edf03888795", "name": "Possibly dead Python function: ld_sp_mem_label", "shortDescription": {"text": "Possibly dead Python function: ld_sp_mem_label"}, "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-7d688a25520f24b7", "name": "Possibly dead Python function: ld_a_bc", "shortDescription": {"text": "Possibly dead Python function: ld_a_bc"}, "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-25b890b92373612b", "name": "Possibly dead Python function: ld_b_c", "shortDescription": {"text": "Possibly dead Python function: ld_b_c"}, "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-2c776c4678c5ed74", "name": "Possibly dead Python function: ld_b_e", "shortDescription": {"text": "Possibly dead Python function: ld_b_e"}, "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-6a364e9764e97e24", "name": "Possibly dead Python function: ld_b_h", "shortDescription": {"text": "Possibly dead Python function: ld_b_h"}, "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-550fc09b81190017", "name": "Possibly dead Python function: ld_c_l", "shortDescription": {"text": "Possibly dead Python function: ld_c_l"}, "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-360c67095ebcadf5", "name": "Possibly dead Python function: ld_d_h", "shortDescription": {"text": "Possibly dead Python function: ld_d_h"}, "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-dab18d14042a47ac", "name": "Possibly dead Python function: ld_e_c", "shortDescription": {"text": "Possibly dead Python function: ld_e_c"}, "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-900afbfa6ddc4e48", "name": "Possibly dead Python function: ld_e_l", "shortDescription": {"text": "Possibly dead Python function: ld_e_l"}, "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-6d673f8c1ad62666", "name": "Possibly dead Python function: ld_l_c", "shortDescription": {"text": "Possibly dead Python function: ld_l_c"}, "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-7f1aa5dafdcd0753", "name": "Possibly dead Python function: ld_l_d", "shortDescription": {"text": "Possibly dead Python function: ld_l_d"}, "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-a381b235dd18bca9", "name": "Possibly dead Python function: ld_l_e", "shortDescription": {"text": "Possibly dead Python function: ld_l_e"}, "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-f9571d54dc8c11a8", "name": "Very large file: buildchat84.py (2280 lines)", "shortDescription": {"text": "Very large file: buildchat84.py (2280 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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "3 tests / 19 src (ratio 0.16)."}, "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 152 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-1f3d18146b9d3b17", "name": "Commented-code block (6 lines) in faithgate.py:27", "shortDescription": {"text": "Commented-code block (6 lines) in faithgate.py:27"}, "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-8ccc2461ce10112a", "name": "Commented-code block (6 lines) in train.py:492", "shortDescription": {"text": "Commented-code block (6 lines) in train.py:492"}, "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-074c1f0ea89100db", "name": "Legacy-named symbol `from_legacy` in loadmodel.py:19", "shortDescription": {"text": "Legacy-named symbol `from_legacy` in loadmodel.py:19"}, "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-2b1aa6782495ff63", "name": "Commented-code block (5 lines) in libez80.py:270", "shortDescription": {"text": "Commented-code block (5 lines) in libez80.py:270"}, "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-ef9d35576f9f66a8", "name": "Commented-code block (8 lines) in buildchat84.py:115", "shortDescription": {"text": "Commented-code block (8 lines) in buildchat84.py:115"}, "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-492c7df36340680d", "name": "Commented-code block (5 lines) in libqat.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in libqat.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-95dbc83329960fd5", "name": "Legacy-named symbol `from_legacy` in modelspec.py:195", "shortDescription": {"text": "Legacy-named symbol `from_legacy` in modelspec.py:195"}, "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-c891e55405df67b4", "name": "Commented-code block (5 lines) in prepare_data.py:174", "shortDescription": {"text": "Commented-code block (5 lines) in prepare_data.py:174"}, "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-15a66b5165d38278", "name": "Commented-code block (5 lines) in label_intents.py:90", "shortDescription": {"text": "Commented-code block (5 lines) in label_intents.py:90"}, "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-d422a078710fa5a6", "name": "Commented-code block (6 lines) in sizes.py:28", "shortDescription": {"text": "Commented-code block (6 lines) in sizes.py:28"}, "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-16d5fdbff5273f38", "name": "Commented-code block (6 lines) in ez80research/evaluate.py:54", "shortDescription": {"text": "Commented-code block (6 lines) in ez80research/evaluate.py:54"}, "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-d32d236116a6b708", "name": "Network/subprocess call without timeout or try/except \u2014 ez80research/evaluate.py:189", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 ez80research/evaluate.py:189"}, "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-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:\nlibez80.py:ld_hl_nn, libez80.py:ld_hl_n\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/21548"}, "properties": {"repository": "tornadus/ez80ai", "repoUrl": "https://github.com/tornadus/ez80ai", "branch": "main"}, "results": [{"ruleId": "scanner-e76f71c86eb485a1", "level": "note", "message": {"text": "Possibly dead Python function: fixup_word_16"}, "properties": {"repobilityId": "5698d895204b160a", "scanner": "scanner-primary", "fingerprint": "e76f71c86eb485a1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:129"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1eb2c24763491526", "level": "note", "message": {"text": "Possibly dead Python function: nop"}, "properties": {"repobilityId": "62c10b095abe0784", "scanner": "scanner-primary", "fingerprint": "1eb2c24763491526", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:168"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-90153dae23d729a7", "level": "note", "message": {"text": "Possibly dead Python function: rst"}, "properties": {"repobilityId": "9b2d63e61abed999", "scanner": "scanner-primary", "fingerprint": "90153dae23d729a7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:172"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f68e43c46cf2d360", "level": "note", "message": {"text": "Possibly dead Python function: halt"}, "properties": {"repobilityId": "4e070af07168d206", "scanner": "scanner-primary", "fingerprint": "f68e43c46cf2d360", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:173"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d36497f7ca19b904", "level": "note", "message": {"text": "Possibly dead Python function: di"}, "properties": {"repobilityId": "0a0a0593b32e7a61", "scanner": "scanner-primary", "fingerprint": "d36497f7ca19b904", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6e1b8c498cc9778", "level": "note", "message": {"text": "Possibly dead Python function: ei"}, "properties": {"repobilityId": "f8c0397ed75d6426", "scanner": "scanner-primary", "fingerprint": "e6e1b8c498cc9778", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:175"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ff825db6d486c0cf", "level": "note", "message": {"text": "Possibly dead Python function: ld_ix_nn"}, "properties": {"repobilityId": "76fcb3088bcbe371", "scanner": "scanner-primary", "fingerprint": "ff825db6d486c0cf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:239"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2acf069b38b7e962", "level": "note", "message": {"text": "Possibly dead Python function: ld_iy_nn"}, "properties": {"repobilityId": "b086aa91c2d2fd7b", "scanner": "scanner-primary", "fingerprint": "2acf069b38b7e962", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:240"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84b33a135853edec", "level": "note", "message": {"text": "Possibly dead Python function: ld_bc_label"}, "properties": {"repobilityId": "f1d05b1a913cda68", "scanner": "scanner-primary", "fingerprint": "84b33a135853edec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:246"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4905ab2a9558eb22", "level": "note", "message": {"text": "Possibly dead Python function: ld_d_n"}, "properties": {"repobilityId": "b0fec0d333463c8d", "scanner": "scanner-primary", "fingerprint": "4905ab2a9558eb22", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:255"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f09afc21f25909bf", "level": "note", "message": {"text": "Possibly dead Python function: ld_e_n"}, "properties": {"repobilityId": "cee0ec5fa7fa27a1", "scanner": "scanner-primary", "fingerprint": "f09afc21f25909bf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:256"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d2fac08e79583d0", "level": "note", "message": {"text": "Possibly dead Python function: ld_l_n"}, "properties": {"repobilityId": "12aed091f3a7ebc4", "scanner": "scanner-primary", "fingerprint": "1d2fac08e79583d0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:258"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e4011892e77a426", "level": "note", "message": {"text": "Possibly dead Python function: ld_hl_n"}, "properties": {"repobilityId": "56ace2c2b26dc223", "scanner": "scanner-primary", "fingerprint": "7e4011892e77a426", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:259"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65a96eee4dc025bc", "level": "note", "message": {"text": "Possibly dead Python function: ld_mem_label_de"}, "properties": {"repobilityId": "0ddd6d5c1e278b77", "scanner": "scanner-primary", "fingerprint": "65a96eee4dc025bc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:275"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7918b12e0b644125", "level": "note", "message": {"text": "Possibly dead Python function: ld_mem_label_bc"}, "properties": {"repobilityId": "01295d477896a265", "scanner": "scanner-primary", "fingerprint": "7918b12e0b644125", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:276"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b67107c89c210f0b", "level": "note", "message": {"text": "Possibly dead Python function: ld_bc_mem_label"}, "properties": {"repobilityId": "428dffd5478981a2", "scanner": "scanner-primary", "fingerprint": "b67107c89c210f0b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:277"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-651126c0dfd11f4e", "level": "note", "message": {"text": "Possibly dead Python function: ld_mem_label_sp"}, "properties": {"repobilityId": "6aaa6ea4d16d85c7", "scanner": "scanner-primary", "fingerprint": "651126c0dfd11f4e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:279"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92bd5edf03888795", "level": "note", "message": {"text": "Possibly dead Python function: ld_sp_mem_label"}, "properties": {"repobilityId": "10580c9cf0df0805", "scanner": "scanner-primary", "fingerprint": "92bd5edf03888795", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:280"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d688a25520f24b7", "level": "note", "message": {"text": "Possibly dead Python function: ld_a_bc"}, "properties": {"repobilityId": "9f55a37c68431958", "scanner": "scanner-primary", "fingerprint": "7d688a25520f24b7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:289"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25b890b92373612b", "level": "note", "message": {"text": "Possibly dead Python function: ld_b_c"}, "properties": {"repobilityId": "f368fe905d2de815", "scanner": "scanner-primary", "fingerprint": "25b890b92373612b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:303"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c776c4678c5ed74", "level": "note", "message": {"text": "Possibly dead Python function: ld_b_e"}, "properties": {"repobilityId": "8984a18ba273ef10", "scanner": "scanner-primary", "fingerprint": "2c776c4678c5ed74", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:304"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a364e9764e97e24", "level": "note", "message": {"text": "Possibly dead Python function: ld_b_h"}, "properties": {"repobilityId": "eb687df154862485", "scanner": "scanner-primary", "fingerprint": "6a364e9764e97e24", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-550fc09b81190017", "level": "note", "message": {"text": "Possibly dead Python function: ld_c_l"}, "properties": {"repobilityId": "7bfe64534dd94049", "scanner": "scanner-primary", "fingerprint": "550fc09b81190017", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:307"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-360c67095ebcadf5", "level": "note", "message": {"text": "Possibly dead Python function: ld_d_h"}, "properties": {"repobilityId": "0765b169dac7ee32", "scanner": "scanner-primary", "fingerprint": "360c67095ebcadf5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:309"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dab18d14042a47ac", "level": "note", "message": {"text": "Possibly dead Python function: ld_e_c"}, "properties": {"repobilityId": "038b21aba2e13c43", "scanner": "scanner-primary", "fingerprint": "dab18d14042a47ac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:311"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-900afbfa6ddc4e48", "level": "note", "message": {"text": "Possibly dead Python function: ld_e_l"}, "properties": {"repobilityId": "d2df847ff9437b07", "scanner": "scanner-primary", "fingerprint": "900afbfa6ddc4e48", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:312"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d673f8c1ad62666", "level": "note", "message": {"text": "Possibly dead Python function: ld_l_c"}, "properties": {"repobilityId": "61a8312f1849ee51", "scanner": "scanner-primary", "fingerprint": "6d673f8c1ad62666", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:316"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f1aa5dafdcd0753", "level": "note", "message": {"text": "Possibly dead Python function: ld_l_d"}, "properties": {"repobilityId": "9e62339c2582cc7b", "scanner": "scanner-primary", "fingerprint": "7f1aa5dafdcd0753", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:317"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a381b235dd18bca9", "level": "note", "message": {"text": "Possibly dead Python function: ld_l_e"}, "properties": {"repobilityId": "2959df885b05c4ab", "scanner": "scanner-primary", "fingerprint": "a381b235dd18bca9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "libez80.py:318"}, "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-f9571d54dc8c11a8", "level": "note", "message": {"text": "Very large file: buildchat84.py (2280 lines)"}, "properties": {"repobilityId": "b83d6eb790470826", "scanner": "scanner-primary", "fingerprint": "f9571d54dc8c11a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "533cebb03d96a7dd", "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": "c7746d4adaff1dd8", "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": "6f23235614c4efce", "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": "13090dd2e3d548fe", "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": "18e78d4bb377a542", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-1f3d18146b9d3b17", "level": "none", "message": {"text": "Commented-code block (6 lines) in faithgate.py:27"}, "properties": {"repobilityId": "3785e8f816193c33", "scanner": "scanner-primary", "fingerprint": "1f3d18146b9d3b17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ccc2461ce10112a", "level": "none", "message": {"text": "Commented-code block (6 lines) in train.py:492"}, "properties": {"repobilityId": "5ec654805c73ca59", "scanner": "scanner-primary", "fingerprint": "8ccc2461ce10112a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-074c1f0ea89100db", "level": "note", "message": {"text": "Legacy-named symbol `from_legacy` in loadmodel.py:19"}, "properties": {"repobilityId": "0c232e29bdc3b7f8", "scanner": "scanner-primary", "fingerprint": "074c1f0ea89100db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2b1aa6782495ff63", "level": "none", "message": {"text": "Commented-code block (5 lines) in libez80.py:270"}, "properties": {"repobilityId": "9420612d04493a74", "scanner": "scanner-primary", "fingerprint": "2b1aa6782495ff63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef9d35576f9f66a8", "level": "none", "message": {"text": "Commented-code block (8 lines) in buildchat84.py:115"}, "properties": {"repobilityId": "cd91a1e1d1bd9e20", "scanner": "scanner-primary", "fingerprint": "ef9d35576f9f66a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-492c7df36340680d", "level": "none", "message": {"text": "Commented-code block (5 lines) in libqat.py:35"}, "properties": {"repobilityId": "658f45800fb21ff1", "scanner": "scanner-primary", "fingerprint": "492c7df36340680d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95dbc83329960fd5", "level": "note", "message": {"text": "Legacy-named symbol `from_legacy` in modelspec.py:195"}, "properties": {"repobilityId": "bcd30441f7511706", "scanner": "scanner-primary", "fingerprint": "95dbc83329960fd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c891e55405df67b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in prepare_data.py:174"}, "properties": {"repobilityId": "f4405be4ce582e41", "scanner": "scanner-primary", "fingerprint": "c891e55405df67b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15a66b5165d38278", "level": "none", "message": {"text": "Commented-code block (5 lines) in label_intents.py:90"}, "properties": {"repobilityId": "f8526a1c913b9c85", "scanner": "scanner-primary", "fingerprint": "15a66b5165d38278", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d422a078710fa5a6", "level": "none", "message": {"text": "Commented-code block (6 lines) in sizes.py:28"}, "properties": {"repobilityId": "ebd26876c0a74ff9", "scanner": "scanner-primary", "fingerprint": "d422a078710fa5a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16d5fdbff5273f38", "level": "none", "message": {"text": "Commented-code block (6 lines) in ez80research/evaluate.py:54"}, "properties": {"repobilityId": "b9916f482c3d23a6", "scanner": "scanner-primary", "fingerprint": "16d5fdbff5273f38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d32d236116a6b708", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 ez80research/evaluate.py:189"}, "properties": {"repobilityId": "acdeaf974d17cb90", "scanner": "scanner-primary", "fingerprint": "d32d236116a6b708", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "85710cf7d80a0982", "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": "cd3ad37d78f50278", "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": "06d9ae1876039409", "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": "abb2f1eac928b562", "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": "8f0546252d4641e2", "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": "da73eac030884482", "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": "b52a7e7794ab8f2d", "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": "17161c3ac18f0760", "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": "84e6cb0e5d034522", "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": "b666881415f3de09", "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": "599a975ac147a0e6", "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": "5a47695730bb463c", "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": "f5531d3b3721cd91", "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": "3f05ede5dc231871", "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": "16df59a2385a1cbc", "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": "8d356fa453742ecf", "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": "5ed089050f185118", "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": "d9bb10ab0f0f01fa", "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": "97673f5826d2c937", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}