{"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-263692fa035a3cab", "name": "Possibly dead Python function: handbrake_gui_installed", "shortDescription": {"text": "Possibly dead Python function: handbrake_gui_installed"}, "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-a47a8d0ded07d707", "name": "Possibly dead Python function: notify_tray_complete", "shortDescription": {"text": "Possibly dead Python function: notify_tray_complete"}, "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-b7fe004b029b87a8", "name": "Possibly dead Python function: notify_tray_failure", "shortDescription": {"text": "Possibly dead Python function: notify_tray_failure"}, "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-835591226211f514", "name": "Possibly dead Python function: handle_utilSettings", "shortDescription": {"text": "Possibly dead Python function: handle_utilSettings"}, "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-08777c7382010409", "name": "Possibly dead Python function: handle_utilCopyLog", "shortDescription": {"text": "Possibly dead Python function: handle_utilCopyLog"}, "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-bbf6d2d30db8d2b4", "name": "Possibly dead Python function: handle_utilBrowse", "shortDescription": {"text": "Possibly dead Python function: handle_utilBrowse"}, "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-8a18dba47e449b43", "name": "Possibly dead Python function: wrapper", "shortDescription": {"text": "Possibly dead Python function: wrapper"}, "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-370af0f522ac75de", "name": "Possibly dead Python function: set_config", "shortDescription": {"text": "Possibly dead Python function: set_config"}, "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-3fffd1a126d78c4b", "name": "Possibly dead Python function: set_mode", "shortDescription": {"text": "Possibly dead Python function: set_mode"}, "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-ee8b7ac7321c2d36", "name": "Possibly dead Python function: test_backends", "shortDescription": {"text": "Possibly dead Python function: test_backends"}, "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-5f68d67dab14646b", "name": "Possibly dead Python function: dump_ring_buffer", "shortDescription": {"text": "Possibly dead Python function: dump_ring_buffer"}, "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-49c46746f9b20f00", "name": "Possibly dead Python function: ask_yes_no", "shortDescription": {"text": "Possibly dead Python function: ask_yes_no"}, "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-dbd0d33fb17e0a77", "name": "Possibly dead Python function: run_now", "shortDescription": {"text": "Possibly dead Python function: run_now"}, "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-1799cb8a15fc5273", "name": "Possibly dead Python function: run_preview", "shortDescription": {"text": "Possibly dead Python function: run_preview"}, "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-e6e4d5240c0ea6fb", "name": "Insecure pattern 'dangerous_innerhtml' in docs/design/themes/theme-preview.html:288", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/design/themes/theme-preview.html:288"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 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-c16df569d39b5afa", "name": "Very large file: tests/test_behavior_guards.py (3771 lines)", "shortDescription": {"text": "Very large file: tests/test_behavior_guards.py (3771 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-078dfdadcb85809d", "name": "Very large file: controller/controller.py (4250 lines)", "shortDescription": {"text": "Very large file: controller/controller.py (4250 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-d30a9f075ce1f01c", "name": "Very large file: engine/ripper_engine.py (2536 lines)", "shortDescription": {"text": "Very large file: engine/ripper_engine.py (2536 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 13 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 19 placeholder/mock markers across 12 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-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-44c221c86f909e66", "name": "Commented-code block (7 lines) in main.py:273", "shortDescription": {"text": "Commented-code block (7 lines) in main.py:273"}, "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-6e704ebebfec549a", "name": "Stub function `set_status` (body is just `pass`/`return`) \u2014 main.py:86", "shortDescription": {"text": "Stub function `set_status` (body is just `pass`/`return`) \u2014 main.py:86"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-15a58d61220dc28f", "name": "Legacy-named symbol `safe_copy` in tests/test_transcode_queue_builder.py:102", "shortDescription": {"text": "Legacy-named symbol `safe_copy` in tests/test_transcode_queue_builder.py:102"}, "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-7ef0312445edff60", "name": "Commented-code block (5 lines) in tests/test_pyside6_workflow_launchers.py:296", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_pyside6_workflow_launchers.py:296"}, "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-d5f37f9605664542", "name": "Commented-code block (7 lines) in tests/test_pyside6_setup_wizard_shell.py:69", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_pyside6_setup_wizard_shell.py:69"}, "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-a15b63e8243d6cac", "name": "Commented-code block (5 lines) in tests/test_phase_3g_audit.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_phase_3g_audit.py:25"}, "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-d94086f81b277967", "name": "Legacy-named symbol `test_contract_audio_codec_none_for_copy` in tests/test_post_encode_verifier.py:203", "shortDescription": {"text": "Legacy-named symbol `test_contract_audio_codec_none_for_copy` in tests/test_post_encode_verifier.py:203"}, "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-9399be78c0c3f3ef", "name": "Commented-code block (5 lines) in tests/test_updater.py:324", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_updater.py:324"}, "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-3f17cb19ef4a9c8e", "name": "Commented-code block (7 lines) in tests/test_app_display_name.py:133", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_app_display_name.py:133"}, "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-4d63a43a78f4e516", "name": "Commented-code block (11 lines) in tests/test_security_hardening.py:215", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_security_hardening.py:215"}, "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-39cbc1ccd0779b96", "name": "Commented-code block (5 lines) in tests/test_abort_propagation.py:397", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_abort_propagation.py:397"}, "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-cf75dec5656c0672", "name": "Commented-code block (5 lines) in gui_qt/app.py:137", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/app.py:137"}, "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-65c715582fe0e324", "name": "Commented-code block (5 lines) in gui_qt/splash.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/splash.py:40"}, "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-9127001021d834ba", "name": "Commented-code block (6 lines) in gui_qt/main_window.py:87", "shortDescription": {"text": "Commented-code block (6 lines) in gui_qt/main_window.py:87"}, "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-cf5a2adda8d880a3", "name": "Commented-code block (5 lines) in gui_qt/log_pane.py:83", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/log_pane.py:83"}, "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-7f23b71be927546e", "name": "Commented-code block (8 lines) in gui_qt/workflow_launchers.py:57", "shortDescription": {"text": "Commented-code block (8 lines) in gui_qt/workflow_launchers.py:57"}, "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-542b1e822c55cf5c", "name": "Commented-code block (6 lines) in gui_qt/utility_handlers.py:84", "shortDescription": {"text": "Commented-code block (6 lines) in gui_qt/utility_handlers.py:84"}, "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-eb10e58db13988f0", "name": "Commented-code block (5 lines) in gui_qt/setup_wizard.py:143", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/setup_wizard.py:143"}, "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-2f09617c5f55b332", "name": "Commented-code block (5 lines) in gui_qt/qss_render.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/qss_render.py:25"}, "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-5841d88ed231c546", "name": "Commented-code block (5 lines) in gui_qt/status_bar.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/status_bar.py:43"}, "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-08204c9a0d0dd643", "name": "Commented-code block (5 lines) in gui_qt/settings/tab_appearance.py:319", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/settings/tab_appearance.py:319"}, "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-141fa5c31f34b0fe", "name": "Commented-code block (5 lines) in gui_qt/settings/tab_paths.py:179", "shortDescription": {"text": "Commented-code block (5 lines) in gui_qt/settings/tab_paths.py:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2d5ae39758cf80e", "name": "Commented-code block (8 lines) in gui_qt/settings/dialog.py:61", "shortDescription": {"text": "Commented-code block (8 lines) in gui_qt/settings/dialog.py:61"}, "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-33933917480d266f", "name": "Commented-code block (6 lines) in docs/design/themes/tweaks-panel.jsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in docs/design/themes/tweaks-panel.jsx:12"}, "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-a649fe6fbf4b0408", "name": "Commented-code block (5 lines) in docs/design/themes/themes.jsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in docs/design/themes/themes.jsx:1"}, "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-3dd5bf18e7fc4f87", "name": "Stub function `generate_session_summary` (body is just `pass`/`return`) \u2014 shared/ai_diagnostics.py:181", "shortDescription": {"text": "Stub function `generate_session_summary` (body is just `pass`/`return`) \u2014 shared/ai_diagnostics.py:181"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b59bc595592bb6e7", "name": "Legacy-named symbol `safe_copy` in shared/runtime.py:230", "shortDescription": {"text": "Legacy-named symbol `safe_copy` in shared/runtime.py:230"}, "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-92cbc738f838d7de", "name": "Commented-code block (7 lines) in shared/runtime.py:129", "shortDescription": {"text": "Commented-code block (7 lines) in shared/runtime.py:129"}, "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-091c66a81abd677b", "name": "Commented-code block (7 lines) in controller/controller.py:116", "shortDescription": {"text": "Commented-code block (7 lines) in controller/controller.py:116"}, "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-8c8b001f19563303", "name": "Stub function `_discard_log` (body is just `pass`/`return`) \u2014 controller/controller.py:1575", "shortDescription": {"text": "Stub function `_discard_log` (body is just `pass`/`return`) \u2014 controller/controller.py:1575"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d46a41fc39bc9d5", "name": "Commented-code block (5 lines) in controller/session.py:84", "shortDescription": {"text": "Commented-code block (5 lines) in controller/session.py:84"}, "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-ab17e0891fceec8e", "name": "Network/subprocess call without timeout or try/except \u2014 controller/legacy_compat.py:999", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 controller/legacy_compat.py:999"}, "fullDescription": {"text": "`subprocess.Popen(...)` 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-a73715e430431381", "name": "Commented-code block (6 lines) in utils/updater.py:215", "shortDescription": {"text": "Commented-code block (6 lines) in utils/updater.py:215"}, "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-7226914c7c0248b6", "name": "Commented-code block (6 lines) in utils/parsing.py:63", "shortDescription": {"text": "Commented-code block (6 lines) in utils/parsing.py:63"}, "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-14c25931e903b24a", "name": "Legacy-named symbol `too_old` in transcode/encoder_probe.py:62", "shortDescription": {"text": "Legacy-named symbol `too_old` in transcode/encoder_probe.py:62"}, "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-82c624a67c338c0f", "name": "Commented-code block (6 lines) in transcode/ffmpeg_builder.py:118", "shortDescription": {"text": "Commented-code block (6 lines) in transcode/ffmpeg_builder.py:118"}, "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-bccc2f34a721e745", "name": "Legacy-named symbol `safe_copy` in transcode/engine.py:18", "shortDescription": {"text": "Legacy-named symbol `safe_copy` in transcode/engine.py:18"}, "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-cd608233b354f11b", "name": "Network/subprocess call without timeout or try/except \u2014 transcode/recommend.py:17", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 transcode/recommend.py:17"}, "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-df38cd0206112824", "name": "Legacy-named symbol `switched_from_copy` in transcode/fallback.py:156", "shortDescription": {"text": "Legacy-named symbol `switched_from_copy` in transcode/fallback.py:156"}, "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-cf1aba209f36c9e6", "name": "Network/subprocess call without timeout or try/except \u2014 transcode/recommendations.py:393", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 transcode/recommendations.py:393"}, "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-6cef5d5820d233c6", "name": "Network/subprocess call without timeout or try/except \u2014 engine/scan_ops.py:151", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 engine/scan_ops.py:151"}, "fullDescription": {"text": "`subprocess.Popen(...)` 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-bf64c8c2c235fb4b", "name": "Commented-code block (7 lines) in engine/ripper_engine.py:547", "shortDescription": {"text": "Commented-code block (7 lines) in engine/ripper_engine.py:547"}, "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-876c1bf65a683b17", "name": "Commented-code block (7 lines) in engine/rip_ops.py:27", "shortDescription": {"text": "Commented-code block (7 lines) in engine/rip_ops.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-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:\nconfig.py:resolve_ffprobe, config.py:resolve_ffmpeg, config.py:resolve_handbrake\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:\ngui_qt/preview_widget.py:player, gui_qt/preview_widget.py:play\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-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ngui_qt/setup_wizard.py:keyPressEvent, gui_qt/setup_wizard.py:keyPressEvent, gui_qt/setup_wizard.py:keyPressEvent, gui_qt/setup_wizard.py:keyPressEvent\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ngui_qt/settings/dialog.py:keyPressEvent, gui_qt/dialogs/list_picker.py:keyPressEvent, gui_qt/dialogs/session_setup.py:keyPressEvent, gui_qt/dialogs/session_setup.py:keyPressEvent\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/21888"}, "properties": {"repository": "unexpear/JellyRip", "repoUrl": "https://github.com/unexpear/JellyRip", "branch": "main"}, "results": [{"ruleId": "scanner-263692fa035a3cab", "level": "note", "message": {"text": "Possibly dead Python function: handbrake_gui_installed"}, "properties": {"repobilityId": "d807249069ea279c", "scanner": "scanner-primary", "fingerprint": "263692fa035a3cab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "config.py:267"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a47a8d0ded07d707", "level": "note", "message": {"text": "Possibly dead Python function: notify_tray_complete"}, "properties": {"repobilityId": "91c3553a3e52b86b", "scanner": "scanner-primary", "fingerprint": "a47a8d0ded07d707", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/main_window.py:595"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7fe004b029b87a8", "level": "note", "message": {"text": "Possibly dead Python function: notify_tray_failure"}, "properties": {"repobilityId": "44b88f43f39af293", "scanner": "scanner-primary", "fingerprint": "b7fe004b029b87a8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/main_window.py:605"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-835591226211f514", "level": "note", "message": {"text": "Possibly dead Python function: handle_utilSettings"}, "properties": {"repobilityId": "0d76a995618fda57", "scanner": "scanner-primary", "fingerprint": "835591226211f514", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/utility_handlers.py:112"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-08777c7382010409", "level": "note", "message": {"text": "Possibly dead Python function: handle_utilCopyLog"}, "properties": {"repobilityId": "1333132457c20e29", "scanner": "scanner-primary", "fingerprint": "08777c7382010409", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/utility_handlers.py:153"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bbf6d2d30db8d2b4", "level": "note", "message": {"text": "Possibly dead Python function: handle_utilBrowse"}, "properties": {"repobilityId": "9c4ebc93d72a6ca3", "scanner": "scanner-primary", "fingerprint": "bbf6d2d30db8d2b4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/utility_handlers.py:173"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a18dba47e449b43", "level": "note", "message": {"text": "Possibly dead Python function: wrapper"}, "properties": {"repobilityId": "1dc9acbcc8ce537d", "scanner": "scanner-primary", "fingerprint": "8a18dba47e449b43", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gui_qt/thread_safety.py:105"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-370af0f522ac75de", "level": "note", "message": {"text": "Possibly dead Python function: set_config"}, "properties": {"repobilityId": "d5eb053b4cba53a3", "scanner": "scanner-primary", "fingerprint": "370af0f522ac75de", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/ai_diagnostics.py:71"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3fffd1a126d78c4b", "level": "note", "message": {"text": "Possibly dead Python function: set_mode"}, "properties": {"repobilityId": "1ae7e9ca22646872", "scanner": "scanner-primary", "fingerprint": "3fffd1a126d78c4b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/ai_diagnostics.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee8b7ac7321c2d36", "level": "note", "message": {"text": "Possibly dead Python function: test_backends"}, "properties": {"repobilityId": "85a8db1bcef08d00", "scanner": "scanner-primary", "fingerprint": "ee8b7ac7321c2d36", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/ai_diagnostics.py:89"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5f68d67dab14646b", "level": "note", "message": {"text": "Possibly dead Python function: dump_ring_buffer"}, "properties": {"repobilityId": "91496a1d7154a77a", "scanner": "scanner-primary", "fingerprint": "5f68d67dab14646b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/ai_diagnostics.py:158"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-49c46746f9b20f00", "level": "note", "message": {"text": "Possibly dead Python function: ask_yes_no"}, "properties": {"repobilityId": "7b120a9521904736", "scanner": "scanner-primary", "fingerprint": "49c46746f9b20f00", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui/dialogs.py:18"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dbd0d33fb17e0a77", "level": "note", "message": {"text": "Possibly dead Python function: run_now"}, "properties": {"repobilityId": "15b77e943c457267", "scanner": "scanner-primary", "fingerprint": "dbd0d33fb17e0a77", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "controller/controller.py:455"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1799cb8a15fc5273", "level": "note", "message": {"text": "Possibly dead Python function: run_preview"}, "properties": {"repobilityId": "1d8f2941826ac254", "scanner": "scanner-primary", "fingerprint": "1799cb8a15fc5273", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "controller/legacy_compat.py:916"}, "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-e6e4d5240c0ea6fb", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/design/themes/theme-preview.html:288"}, "properties": {"repobilityId": "766be68a127f222e", "scanner": "scanner-primary", "fingerprint": "e6e4d5240c0ea6fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/design/themes/theme-preview.html"}, "region": {"startLine": 288}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b7984a0d98960fe", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1b0add4759a308ec", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-c16df569d39b5afa", "level": "note", "message": {"text": "Very large file: tests/test_behavior_guards.py (3771 lines)"}, "properties": {"repobilityId": "2124a1f226ffbed0", "scanner": "scanner-primary", "fingerprint": "c16df569d39b5afa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-078dfdadcb85809d", "level": "note", "message": {"text": "Very large file: controller/controller.py (4250 lines)"}, "properties": {"repobilityId": "1b414e66d1f8499b", "scanner": "scanner-primary", "fingerprint": "078dfdadcb85809d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d30a9f075ce1f01c", "level": "note", "message": {"text": "Very large file: engine/ripper_engine.py (2536 lines)"}, "properties": {"repobilityId": "61fc4e58a5f45354", "scanner": "scanner-primary", "fingerprint": "d30a9f075ce1f01c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "e3b0e499ca47f889", "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": "ec8a649c5d82d757", "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": "80028ed2bd666801", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "6a651bb0101a42b4", "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": "a3c80c621cd9a39d", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-44c221c86f909e66", "level": "none", "message": {"text": "Commented-code block (7 lines) in main.py:273"}, "properties": {"repobilityId": "96d1e2f767e6f057", "scanner": "scanner-primary", "fingerprint": "44c221c86f909e66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e704ebebfec549a", "level": "note", "message": {"text": "Stub function `set_status` (body is just `pass`/`return`) \u2014 main.py:86"}, "properties": {"repobilityId": "62e9407a9fb92c87", "scanner": "scanner-primary", "fingerprint": "6e704ebebfec549a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-15a58d61220dc28f", "level": "note", "message": {"text": "Legacy-named symbol `safe_copy` in tests/test_transcode_queue_builder.py:102"}, "properties": {"repobilityId": "6fc54a680375db7a", "scanner": "scanner-primary", "fingerprint": "15a58d61220dc28f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7ef0312445edff60", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_pyside6_workflow_launchers.py:296"}, "properties": {"repobilityId": "76a9329ff662cb19", "scanner": "scanner-primary", "fingerprint": "7ef0312445edff60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5f37f9605664542", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_pyside6_setup_wizard_shell.py:69"}, "properties": {"repobilityId": "d2fabce160ab688b", "scanner": "scanner-primary", "fingerprint": "d5f37f9605664542", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a15b63e8243d6cac", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_phase_3g_audit.py:25"}, "properties": {"repobilityId": "701f61975e5164b1", "scanner": "scanner-primary", "fingerprint": "a15b63e8243d6cac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d94086f81b277967", "level": "note", "message": {"text": "Legacy-named symbol `test_contract_audio_codec_none_for_copy` in tests/test_post_encode_verifier.py:203"}, "properties": {"repobilityId": "92d408f763c5c9b7", "scanner": "scanner-primary", "fingerprint": "d94086f81b277967", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9399be78c0c3f3ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_updater.py:324"}, "properties": {"repobilityId": "de0bce8037d87447", "scanner": "scanner-primary", "fingerprint": "9399be78c0c3f3ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f17cb19ef4a9c8e", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_app_display_name.py:133"}, "properties": {"repobilityId": "b169b0fca93fe61e", "scanner": "scanner-primary", "fingerprint": "3f17cb19ef4a9c8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d63a43a78f4e516", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_security_hardening.py:215"}, "properties": {"repobilityId": "20c6ed9cd416b727", "scanner": "scanner-primary", "fingerprint": "4d63a43a78f4e516", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39cbc1ccd0779b96", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_abort_propagation.py:397"}, "properties": {"repobilityId": "44488af09b9e9f65", "scanner": "scanner-primary", "fingerprint": "39cbc1ccd0779b96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf75dec5656c0672", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/app.py:137"}, "properties": {"repobilityId": "78561cdb00774f04", "scanner": "scanner-primary", "fingerprint": "cf75dec5656c0672", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65c715582fe0e324", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/splash.py:40"}, "properties": {"repobilityId": "959b1024e74fe45d", "scanner": "scanner-primary", "fingerprint": "65c715582fe0e324", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9127001021d834ba", "level": "none", "message": {"text": "Commented-code block (6 lines) in gui_qt/main_window.py:87"}, "properties": {"repobilityId": "412043f1401c3087", "scanner": "scanner-primary", "fingerprint": "9127001021d834ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf5a2adda8d880a3", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/log_pane.py:83"}, "properties": {"repobilityId": "7236ab2a7ed64d7f", "scanner": "scanner-primary", "fingerprint": "cf5a2adda8d880a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f23b71be927546e", "level": "none", "message": {"text": "Commented-code block (8 lines) in gui_qt/workflow_launchers.py:57"}, "properties": {"repobilityId": "da87c109788898fa", "scanner": "scanner-primary", "fingerprint": "7f23b71be927546e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-542b1e822c55cf5c", "level": "none", "message": {"text": "Commented-code block (6 lines) in gui_qt/utility_handlers.py:84"}, "properties": {"repobilityId": "9b8abb320c533e88", "scanner": "scanner-primary", "fingerprint": "542b1e822c55cf5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb10e58db13988f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/setup_wizard.py:143"}, "properties": {"repobilityId": "7b88cf00fadbc815", "scanner": "scanner-primary", "fingerprint": "eb10e58db13988f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f09617c5f55b332", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/qss_render.py:25"}, "properties": {"repobilityId": "a000212e0c15ce87", "scanner": "scanner-primary", "fingerprint": "2f09617c5f55b332", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5841d88ed231c546", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/status_bar.py:43"}, "properties": {"repobilityId": "b671bfe5472d5faf", "scanner": "scanner-primary", "fingerprint": "5841d88ed231c546", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08204c9a0d0dd643", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/settings/tab_appearance.py:319"}, "properties": {"repobilityId": "9519978a7973152e", "scanner": "scanner-primary", "fingerprint": "08204c9a0d0dd643", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-141fa5c31f34b0fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in gui_qt/settings/tab_paths.py:179"}, "properties": {"repobilityId": "c50ce30a3e4e68ab", "scanner": "scanner-primary", "fingerprint": "141fa5c31f34b0fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2d5ae39758cf80e", "level": "none", "message": {"text": "Commented-code block (8 lines) in gui_qt/settings/dialog.py:61"}, "properties": {"repobilityId": "98879a67bb5afd6f", "scanner": "scanner-primary", "fingerprint": "e2d5ae39758cf80e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33933917480d266f", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/design/themes/tweaks-panel.jsx:12"}, "properties": {"repobilityId": "73acaa5c5f1552de", "scanner": "scanner-primary", "fingerprint": "33933917480d266f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a649fe6fbf4b0408", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/design/themes/themes.jsx:1"}, "properties": {"repobilityId": "391d7d2646e897f0", "scanner": "scanner-primary", "fingerprint": "a649fe6fbf4b0408", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dd5bf18e7fc4f87", "level": "note", "message": {"text": "Stub function `generate_session_summary` (body is just `pass`/`return`) \u2014 shared/ai_diagnostics.py:181"}, "properties": {"repobilityId": "77e5ce502700acfb", "scanner": "scanner-primary", "fingerprint": "3dd5bf18e7fc4f87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b59bc595592bb6e7", "level": "note", "message": {"text": "Legacy-named symbol `safe_copy` in shared/runtime.py:230"}, "properties": {"repobilityId": "97e982a596fc1d9a", "scanner": "scanner-primary", "fingerprint": "b59bc595592bb6e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-92cbc738f838d7de", "level": "none", "message": {"text": "Commented-code block (7 lines) in shared/runtime.py:129"}, "properties": {"repobilityId": "75534e3085528284", "scanner": "scanner-primary", "fingerprint": "92cbc738f838d7de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-091c66a81abd677b", "level": "none", "message": {"text": "Commented-code block (7 lines) in controller/controller.py:116"}, "properties": {"repobilityId": "48cc8d462103a811", "scanner": "scanner-primary", "fingerprint": "091c66a81abd677b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c8b001f19563303", "level": "note", "message": {"text": "Stub function `_discard_log` (body is just `pass`/`return`) \u2014 controller/controller.py:1575"}, "properties": {"repobilityId": "8be5553f8f50286b", "scanner": "scanner-primary", "fingerprint": "8c8b001f19563303", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2d46a41fc39bc9d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in controller/session.py:84"}, "properties": {"repobilityId": "9b371e5aa257e519", "scanner": "scanner-primary", "fingerprint": "2d46a41fc39bc9d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab17e0891fceec8e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 controller/legacy_compat.py:999"}, "properties": {"repobilityId": "bb1bbca9b0436a43", "scanner": "scanner-primary", "fingerprint": "ab17e0891fceec8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a73715e430431381", "level": "none", "message": {"text": "Commented-code block (6 lines) in utils/updater.py:215"}, "properties": {"repobilityId": "d861715b870d174b", "scanner": "scanner-primary", "fingerprint": "a73715e430431381", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7226914c7c0248b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in utils/parsing.py:63"}, "properties": {"repobilityId": "9ffdaa538a09dc01", "scanner": "scanner-primary", "fingerprint": "7226914c7c0248b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14c25931e903b24a", "level": "note", "message": {"text": "Legacy-named symbol `too_old` in transcode/encoder_probe.py:62"}, "properties": {"repobilityId": "9363e56eaf80f61e", "scanner": "scanner-primary", "fingerprint": "14c25931e903b24a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-82c624a67c338c0f", "level": "none", "message": {"text": "Commented-code block (6 lines) in transcode/ffmpeg_builder.py:118"}, "properties": {"repobilityId": "6d8c45e93dd45946", "scanner": "scanner-primary", "fingerprint": "82c624a67c338c0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bccc2f34a721e745", "level": "note", "message": {"text": "Legacy-named symbol `safe_copy` in transcode/engine.py:18"}, "properties": {"repobilityId": "37ef60a2649363dc", "scanner": "scanner-primary", "fingerprint": "bccc2f34a721e745", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cd608233b354f11b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 transcode/recommend.py:17"}, "properties": {"repobilityId": "78f5b184fe72359b", "scanner": "scanner-primary", "fingerprint": "cd608233b354f11b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-df38cd0206112824", "level": "note", "message": {"text": "Legacy-named symbol `switched_from_copy` in transcode/fallback.py:156"}, "properties": {"repobilityId": "597a9f1b9ed4830b", "scanner": "scanner-primary", "fingerprint": "df38cd0206112824", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cf1aba209f36c9e6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 transcode/recommendations.py:393"}, "properties": {"repobilityId": "3d0e32d7dbac2d28", "scanner": "scanner-primary", "fingerprint": "cf1aba209f36c9e6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6cef5d5820d233c6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 engine/scan_ops.py:151"}, "properties": {"repobilityId": "726397215b23b6da", "scanner": "scanner-primary", "fingerprint": "6cef5d5820d233c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf64c8c2c235fb4b", "level": "none", "message": {"text": "Commented-code block (7 lines) in engine/ripper_engine.py:547"}, "properties": {"repobilityId": "4d3ca030cf97c3d5", "scanner": "scanner-primary", "fingerprint": "bf64c8c2c235fb4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-876c1bf65a683b17", "level": "none", "message": {"text": "Commented-code block (7 lines) in engine/rip_ops.py:27"}, "properties": {"repobilityId": "3b3e8eb5770408ae", "scanner": "scanner-primary", "fingerprint": "876c1bf65a683b17", "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": "6de45760548eb914", "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": "d6b73d7d606d50ea", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "11550bf85c728675", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "b4b3f88ae06713ac", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "8e2866c9a8d1ddbf", "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": "f4d1ca069d7e0598", "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": "c942d33c3fbfdaa3", "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": "aadb12636499ce37", "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": "ca059187bb45df0e", "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": "c41702fac512abaf", "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": "abede02c40a270c0", "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": "a73b78d34de4bbaa", "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": "6c18b4132becbd86", "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": "82abae47e43f2fc2", "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": "4e60936735f1c7ac", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}