{"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-a418d1112bf13a6d", "name": "Possibly dead Python function: tf", "shortDescription": {"text": "Possibly dead Python function: tf"}, "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-3e5f86ff7cac0266", "name": "Possibly dead Python function: bf", "shortDescription": {"text": "Possibly dead Python function: bf"}, "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-1df2c25169c12041", "name": "Possibly dead Python function: ag", "shortDescription": {"text": "Possibly dead Python function: ag"}, "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-75931d1275df4eb6", "name": "Possibly dead Python function: apply_lever_drop_fresh_local", "shortDescription": {"text": "Possibly dead Python function: apply_lever_drop_fresh_local"}, "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-22be175d71f3c69e", "name": "Possibly dead Python function: apply_lever_drop_extra_param", "shortDescription": {"text": "Possibly dead Python function: apply_lever_drop_extra_param"}, "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-e217cdee0edcb3c1", "name": "Possibly dead Python function: apply_lever_strip_register_kw", "shortDescription": {"text": "Possibly dead Python function: apply_lever_strip_register_kw"}, "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-e656f63a5f766536", "name": "Possibly dead Python function: apply_lever_add_register_kw", "shortDescription": {"text": "Possibly dead Python function: apply_lever_add_register_kw"}, "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-620d2b1ec3775cd0", "name": "Possibly dead Python function: apply_lever_swap_first_two_decls", "shortDescription": {"text": "Possibly dead Python function: apply_lever_swap_first_two_decls"}, "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-45396fe2eb9b6254", "name": "Possibly dead Python function: apply_lever_volatile_arg", "shortDescription": {"text": "Possibly dead Python function: apply_lever_volatile_arg"}, "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-0e658c58f9f66ca9", "name": "Possibly dead Python function: replacer", "shortDescription": {"text": "Possibly dead Python function: replacer"}, "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-e58335bd7b3bbbdf", "name": "Possibly dead Python function: extract_elf_relocs", "shortDescription": {"text": "Possibly dead Python function: extract_elf_relocs"}, "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-2ac82b72aaaf9ee3", "name": "Possibly dead Python function: find_occurrences", "shortDescription": {"text": "Possibly dead Python function: find_occurrences"}, "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-2a9dfdae6d332f8b", "name": "Possibly dead Python function: tlb_cb", "shortDescription": {"text": "Possibly dead Python function: tlb_cb"}, "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-fc43c862bfdf8941", "name": "Possibly dead Python function: re_comment_replacer", "shortDescription": {"text": "Possibly dead Python function: re_comment_replacer"}, "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-e154b052ef93847a", "name": "Possibly dead Python function: repl_float_hex", "shortDescription": {"text": "Possibly dead Python function: repl_float_hex"}, "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-64f384140e1e3c98", "name": "Insecure pattern 'python_os_system' in tools/asm-processor/asm_processor.py:1186", "shortDescription": {"text": "Insecure pattern 'python_os_system' in tools/asm-processor/asm_processor.py:1186"}, "fullDescription": {"text": "Found a known-risky pattern (python_os_system). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "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-6ba9bfab5f283202", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9defc90086f4160", "name": "Very large file: tools/asm-processor/asm_processor.py (1563 lines)", "shortDescription": {"text": "Very large file: tools/asm-processor/asm_processor.py (1563 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 63 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 230 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-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 51 placeholder/mock markers across 17 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e201e069dedc46b4", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/find-clean-leaf.py:41", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-clean-leaf.py:41"}, "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-f9704b72325ae108", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/disasm-func.py:55", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/disasm-func.py:55"}, "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-f31decb3ac0e4a29", "name": "Legacy-named symbol `func_size_old` in scripts/inject-suffix-bytes.py:22", "shortDescription": {"text": "Legacy-named symbol `func_size_old` in scripts/inject-suffix-bytes.py:22"}, "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-6e17fc190ae01ba9", "name": "Commented-code block (15 lines) in scripts/inject-suffix-bytes.py:232", "shortDescription": {"text": "Commented-code block (15 lines) in scripts/inject-suffix-bytes.py:232"}, "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-a42af913add0e6d9", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze-extra-insn.py:92", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze-extra-insn.py:92"}, "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-edd617005597e6b7", "name": "Commented-code block (10 lines) in scripts/m2c-lift-fields.py:33", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/m2c-lift-fields.py:33"}, "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-bec2d6e99b1ccd95", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/find-size-mismatch.py:39", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-size-mismatch.py:39"}, "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-ec4774626130dfdf", "name": "Commented-code block (6 lines) in scripts/uso-auto-lift.py:89", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/uso-auto-lift.py:89"}, "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-f9f66a3ce52b5e92", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-auto-lift.py:12", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-auto-lift.py:12"}, "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-5d8d80562cfe9694", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-objdump-to-m2c.py:11", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-objdump-to-m2c.py:11"}, "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-a9120d98cdeecc4c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/lever-sweep.py:95", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/lever-sweep.py:95"}, "fullDescription": {"text": "`subprocess.check_output(...)` 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-a7a7d930d93441e8", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-jumptable-to-m2c.py:23", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-jumptable-to-m2c.py:23"}, "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-3ff92b77cb73c4e5", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/find-incomplete-functions.py:54", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-incomplete-functions.py:54"}, "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-1bb1feedd23f1adf", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-reloc-encode.py:96", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-reloc-encode.py:96"}, "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-752b77f9f180ea5f", "name": "Commented-code block (6 lines) in scripts/refresh-expected-baseline.py:196", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/refresh-expected-baseline.py:196"}, "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-f8816e903c4ad9fe", "name": "Commented-code block (5 lines) in scripts/generate-uso-asm.py:50", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/generate-uso-asm.py:50"}, "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-3bdbdade6011a7b9", "name": "Commented-code block (6 lines) in scripts/truncate-elf-text.py:55", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/truncate-elf-text.py:55"}, "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-cf17c1a84f6e2729", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/classify-caps.py:156", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/classify-caps.py:156"}, "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-a76ab91d2dbcfd3b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/find-fixable-nearmisses.py:21", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-fixable-nearmisses.py:21"}, "fullDescription": {"text": "`subprocess.check_output(...)` 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-1a482ac8629c0fa0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/auto-fix-arg-save.py:161", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/auto-fix-arg-save.py:161"}, "fullDescription": {"text": "`subprocess.check_output(...)` 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-566c76517c652ae1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/harvest-permuter-matches.py:41", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/harvest-permuter-matches.py:41"}, "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-f6af3d08fd8f66e8", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/decomp-uso-cf.py:51", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/decomp-uso-cf.py:51"}, "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-b834cc6a0513441f", "name": "Commented-code block (6 lines) in scripts/inject-prefix-bytes.py:218", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/inject-prefix-bytes.py:218"}, "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-4f6214243b551546", "name": "Legacy-named symbol `to_copy` in tools/asm-processor/asm_processor.py:1098", "shortDescription": {"text": "Legacy-named symbol `to_copy` in tools/asm-processor/asm_processor.py:1098"}, "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-9faa9414da002277", "name": "Commented-code block (8 lines) in tools/asm-processor/asm_processor.py:696", "shortDescription": {"text": "Commented-code block (8 lines) in tools/asm-processor/asm_processor.py:696"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/inject-suffix-bytes.py:section_name, scripts/replace-function-body.py:section_name, scripts/inject-prefix-bytes.py:section_name\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/inject-suffix-bytes.py:iter_symtab, scripts/inject-prefix-bytes.py:iter_symtab\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/24590"}, "properties": {"repository": "bigyoshi51/1080-decomp", "repoUrl": "https://github.com/bigyoshi51/1080-decomp", "branch": "main"}, "results": [{"ruleId": "scanner-a418d1112bf13a6d", "level": "note", "message": {"text": "Possibly dead Python function: tf"}, "properties": {"repobilityId": "37c6c13bfdd602f6", "scanner": "scanner-primary", "fingerprint": "a418d1112bf13a6d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/uso-auto-lift.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e5f86ff7cac0266", "level": "note", "message": {"text": "Possibly dead Python function: bf"}, "properties": {"repobilityId": "2bf9517316c46dd1", "scanner": "scanner-primary", "fingerprint": "3e5f86ff7cac0266", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/uso-auto-lift.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1df2c25169c12041", "level": "note", "message": {"text": "Possibly dead Python function: ag"}, "properties": {"repobilityId": "53a2f442ec183e39", "scanner": "scanner-primary", "fingerprint": "1df2c25169c12041", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/uso-auto-lift.py:49"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75931d1275df4eb6", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_drop_fresh_local"}, "properties": {"repobilityId": "99e45e3cdcc3ebc6", "scanner": "scanner-primary", "fingerprint": "75931d1275df4eb6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:120"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22be175d71f3c69e", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_drop_extra_param"}, "properties": {"repobilityId": "ea6f609fc482bf28", "scanner": "scanner-primary", "fingerprint": "22be175d71f3c69e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:140"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e217cdee0edcb3c1", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_strip_register_kw"}, "properties": {"repobilityId": "e9c2a05126d11336", "scanner": "scanner-primary", "fingerprint": "e217cdee0edcb3c1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:167"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e656f63a5f766536", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_add_register_kw"}, "properties": {"repobilityId": "3d30e6d11cb197a4", "scanner": "scanner-primary", "fingerprint": "e656f63a5f766536", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-620d2b1ec3775cd0", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_swap_first_two_decls"}, "properties": {"repobilityId": "fc7e4ffb0a52d4da", "scanner": "scanner-primary", "fingerprint": "620d2b1ec3775cd0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:185"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45396fe2eb9b6254", "level": "note", "message": {"text": "Possibly dead Python function: apply_lever_volatile_arg"}, "properties": {"repobilityId": "69a0a812451ccfb1", "scanner": "scanner-primary", "fingerprint": "45396fe2eb9b6254", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lever-sweep.py:199"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e658c58f9f66ca9", "level": "note", "message": {"text": "Possibly dead Python function: replacer"}, "properties": {"repobilityId": "4c6d041d83cc4187", "scanner": "scanner-primary", "fingerprint": "0e658c58f9f66ca9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/convert-trailing-nop-wraps.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e58335bd7b3bbbdf", "level": "note", "message": {"text": "Possibly dead Python function: extract_elf_relocs"}, "properties": {"repobilityId": "7dbcaeab790b58ff", "scanner": "scanner-primary", "fingerprint": "e58335bd7b3bbbdf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/uso-reloc-encode.py:84"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2ac82b72aaaf9ee3", "level": "note", "message": {"text": "Possibly dead Python function: find_occurrences"}, "properties": {"repobilityId": "23bead9168b16c35", "scanner": "scanner-primary", "fingerprint": "2ac82b72aaaf9ee3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/refresh-expected-baseline.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a9dfdae6d332f8b", "level": "note", "message": {"text": "Possibly dead Python function: tlb_cb"}, "properties": {"repobilityId": "9e0cb9de3df80fb2", "scanner": "scanner-primary", "fingerprint": "2a9dfdae6d332f8b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/uso-emu-resolve.py:50"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc43c862bfdf8941", "level": "note", "message": {"text": "Possibly dead Python function: re_comment_replacer"}, "properties": {"repobilityId": "c1e3ab63263b13bb", "scanner": "scanner-primary", "fingerprint": "fc43c862bfdf8941", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/asm-processor/asm_processor.py:422"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e154b052ef93847a", "level": "note", "message": {"text": "Possibly dead Python function: repl_float_hex"}, "properties": {"repobilityId": "ade93f2198a03ca4", "scanner": "scanner-primary", "fingerprint": "e154b052ef93847a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/asm-processor/asm_processor.py:900"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64f384140e1e3c98", "level": "error", "message": {"text": "Insecure pattern 'python_os_system' in tools/asm-processor/asm_processor.py:1186"}, "properties": {"repobilityId": "284775818fbf09fe", "scanner": "scanner-primary", "fingerprint": "64f384140e1e3c98", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "python_os_system"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/asm-processor/asm_processor.py"}, "region": {"startLine": 1186}}}]}, {"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-6ba9bfab5f283202", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5a380bb21c7e59ac", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-d9defc90086f4160", "level": "note", "message": {"text": "Very large file: tools/asm-processor/asm_processor.py (1563 lines)"}, "properties": {"repobilityId": "a145a65af2c1f2c6", "scanner": "scanner-primary", "fingerprint": "d9defc90086f4160", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "37bf1144df10b8c0", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "4077840aa36edd0c", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "b27093c6dc19aaa8", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "2416ad14f0576ea2", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-e201e069dedc46b4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-clean-leaf.py:41"}, "properties": {"repobilityId": "7b9bf57e18aacb10", "scanner": "scanner-primary", "fingerprint": "e201e069dedc46b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f9704b72325ae108", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/disasm-func.py:55"}, "properties": {"repobilityId": "2236ce42c5efa94e", "scanner": "scanner-primary", "fingerprint": "f9704b72325ae108", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f31decb3ac0e4a29", "level": "note", "message": {"text": "Legacy-named symbol `func_size_old` in scripts/inject-suffix-bytes.py:22"}, "properties": {"repobilityId": "abaf9d0f134fc218", "scanner": "scanner-primary", "fingerprint": "f31decb3ac0e4a29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6e17fc190ae01ba9", "level": "none", "message": {"text": "Commented-code block (15 lines) in scripts/inject-suffix-bytes.py:232"}, "properties": {"repobilityId": "698882484da1f5ed", "scanner": "scanner-primary", "fingerprint": "6e17fc190ae01ba9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a42af913add0e6d9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/analyze-extra-insn.py:92"}, "properties": {"repobilityId": "5c9242eae1084cef", "scanner": "scanner-primary", "fingerprint": "a42af913add0e6d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-edd617005597e6b7", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/m2c-lift-fields.py:33"}, "properties": {"repobilityId": "da6ab2bb4e002ebe", "scanner": "scanner-primary", "fingerprint": "edd617005597e6b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bec2d6e99b1ccd95", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-size-mismatch.py:39"}, "properties": {"repobilityId": "cfa645df56e54afd", "scanner": "scanner-primary", "fingerprint": "bec2d6e99b1ccd95", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ec4774626130dfdf", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/uso-auto-lift.py:89"}, "properties": {"repobilityId": "4dc4cf66583be7be", "scanner": "scanner-primary", "fingerprint": "ec4774626130dfdf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9f66a3ce52b5e92", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-auto-lift.py:12"}, "properties": {"repobilityId": "b1a2b5d978355544", "scanner": "scanner-primary", "fingerprint": "f9f66a3ce52b5e92", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d8d80562cfe9694", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-objdump-to-m2c.py:11"}, "properties": {"repobilityId": "f0d872a3f8f1eb89", "scanner": "scanner-primary", "fingerprint": "5d8d80562cfe9694", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9120d98cdeecc4c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/lever-sweep.py:95"}, "properties": {"repobilityId": "5c16d96a43424513", "scanner": "scanner-primary", "fingerprint": "a9120d98cdeecc4c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a7a7d930d93441e8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-jumptable-to-m2c.py:23"}, "properties": {"repobilityId": "666b09ddbad5c958", "scanner": "scanner-primary", "fingerprint": "a7a7d930d93441e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3ff92b77cb73c4e5", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-incomplete-functions.py:54"}, "properties": {"repobilityId": "565f6ad7a972c743", "scanner": "scanner-primary", "fingerprint": "3ff92b77cb73c4e5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1bb1feedd23f1adf", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/uso-reloc-encode.py:96"}, "properties": {"repobilityId": "bcca0649061bb6db", "scanner": "scanner-primary", "fingerprint": "1bb1feedd23f1adf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-752b77f9f180ea5f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/refresh-expected-baseline.py:196"}, "properties": {"repobilityId": "6f0e51e2cd31655b", "scanner": "scanner-primary", "fingerprint": "752b77f9f180ea5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8816e903c4ad9fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/generate-uso-asm.py:50"}, "properties": {"repobilityId": "c658effbb29a2010", "scanner": "scanner-primary", "fingerprint": "f8816e903c4ad9fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bdbdade6011a7b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/truncate-elf-text.py:55"}, "properties": {"repobilityId": "63412bf8655e9f53", "scanner": "scanner-primary", "fingerprint": "3bdbdade6011a7b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf17c1a84f6e2729", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/classify-caps.py:156"}, "properties": {"repobilityId": "2e250df78dab66b4", "scanner": "scanner-primary", "fingerprint": "cf17c1a84f6e2729", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a76ab91d2dbcfd3b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find-fixable-nearmisses.py:21"}, "properties": {"repobilityId": "1ab6d2bca7a33c53", "scanner": "scanner-primary", "fingerprint": "a76ab91d2dbcfd3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1a482ac8629c0fa0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/auto-fix-arg-save.py:161"}, "properties": {"repobilityId": "a95da1532a0e418b", "scanner": "scanner-primary", "fingerprint": "1a482ac8629c0fa0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-566c76517c652ae1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/harvest-permuter-matches.py:41"}, "properties": {"repobilityId": "e35a7eb2c1eb4524", "scanner": "scanner-primary", "fingerprint": "566c76517c652ae1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6af3d08fd8f66e8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/decomp-uso-cf.py:51"}, "properties": {"repobilityId": "7140e4e64a01c9b5", "scanner": "scanner-primary", "fingerprint": "f6af3d08fd8f66e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b834cc6a0513441f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/inject-prefix-bytes.py:218"}, "properties": {"repobilityId": "f68b6071fe3ed1e5", "scanner": "scanner-primary", "fingerprint": "b834cc6a0513441f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f6214243b551546", "level": "note", "message": {"text": "Legacy-named symbol `to_copy` in tools/asm-processor/asm_processor.py:1098"}, "properties": {"repobilityId": "a37ed55790fe9de5", "scanner": "scanner-primary", "fingerprint": "4f6214243b551546", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9faa9414da002277", "level": "none", "message": {"text": "Commented-code block (8 lines) in tools/asm-processor/asm_processor.py:696"}, "properties": {"repobilityId": "92a442c8f599d361", "scanner": "scanner-primary", "fingerprint": "9faa9414da002277", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "a204f3312654fd07", "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": "c7cf7beee78dccf3", "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": "ecbbbdba4c6b937a", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "6e42a7496e449799", "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": "167baa3907050204", "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": "d409e8953449f6b2", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "716530d50f6fc9ff", "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": "19e5fad39bf50a87", "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": "fde7e0bf1e2acb94", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "85fc5b643f46d026", "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": "31fb32a05d8a1a9b", "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": "edc390c70016442c", "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": "4a67cf05ef017c2f", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "2504190968202e7c", "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": "789c7addf346ddeb", "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": "119c0609c186f3cd", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "dee0c5b182ad8dfe", "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": "aa0a4d459519cb6a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}