{"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-1c02daef7a9ff230", "name": "Possibly dead Python function: crawl_source", "shortDescription": {"text": "Possibly dead Python function: crawl_source"}, "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-40a2bdb37d4a15fe", "name": "Possibly dead Python function: hl_place_trigger", "shortDescription": {"text": "Possibly dead Python function: hl_place_trigger"}, "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-f9b91b5272d6bc92", "name": "Possibly dead Python function: calc_rsi", "shortDescription": {"text": "Possibly dead Python function: calc_rsi"}, "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-85faae2ee8bcb901", "name": "Possibly dead Python function: calc_stochastic", "shortDescription": {"text": "Possibly dead Python function: calc_stochastic"}, "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-23fff76cc4ec02b9", "name": "Possibly dead Python function: calc_williams_r", "shortDescription": {"text": "Possibly dead Python function: calc_williams_r"}, "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-73b0825d36e882fb", "name": "Possibly dead Python function: calc_cci", "shortDescription": {"text": "Possibly dead Python function: calc_cci"}, "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-ceb9554e5bd2d927", "name": "Possibly dead Python function: calc_mfi", "shortDescription": {"text": "Possibly dead Python function: calc_mfi"}, "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-d3bac885f5728e04", "name": "Possibly dead Python function: calc_roc", "shortDescription": {"text": "Possibly dead Python function: calc_roc"}, "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-85722d31d3276044", "name": "Possibly dead Python function: calc_macd", "shortDescription": {"text": "Possibly dead Python function: calc_macd"}, "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-f3b373eaa98dfff3", "name": "Possibly dead Python function: calc_adx", "shortDescription": {"text": "Possibly dead Python function: calc_adx"}, "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-72a3252f69d97003", "name": "Possibly dead Python function: calc_aroon", "shortDescription": {"text": "Possibly dead Python function: calc_aroon"}, "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-fd2d3155aadd9495", "name": "Possibly dead Python function: calc_vortex", "shortDescription": {"text": "Possibly dead Python function: calc_vortex"}, "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-6f0aa3962ef0dba7", "name": "Possibly dead Python function: calc_sma", "shortDescription": {"text": "Possibly dead Python function: calc_sma"}, "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-dc7568c0da294b83", "name": "Possibly dead Python function: calc_ema", "shortDescription": {"text": "Possibly dead Python function: calc_ema"}, "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-a2a182f9c835a7d5", "name": "Possibly dead Python function: calc_vwap", "shortDescription": {"text": "Possibly dead Python function: calc_vwap"}, "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-13e081c1510256dc", "name": "Possibly dead Python function: calc_bbands", "shortDescription": {"text": "Possibly dead Python function: calc_bbands"}, "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-f78f89147d054335", "name": "Possibly dead Python function: calc_bbwidth", "shortDescription": {"text": "Possibly dead Python function: calc_bbwidth"}, "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-1efbacfc09bea120", "name": "Possibly dead Python function: calc_keltner", "shortDescription": {"text": "Possibly dead Python function: calc_keltner"}, "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-4970c448b7d31383", "name": "Possibly dead Python function: calc_donchian", "shortDescription": {"text": "Possibly dead Python function: calc_donchian"}, "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-2f1fe3f5a5d02929", "name": "Possibly dead Python function: calc_atr", "shortDescription": {"text": "Possibly dead Python function: calc_atr"}, "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-e0e726e215c0afb6", "name": "Possibly dead Python function: calc_obv", "shortDescription": {"text": "Possibly dead Python function: calc_obv"}, "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-406f92b3954c2951", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-28f60e4ddf716018", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-d4820933277e47db", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-89fb3addfbb51d25", "name": "Possibly dead Python function: is_preprocessor_available", "shortDescription": {"text": "Possibly dead Python function: is_preprocessor_available"}, "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-b5ab5935b3491a68", "name": "Possibly dead Python function: list_available_preprocessors", "shortDescription": {"text": "Possibly dead Python function: list_available_preprocessors"}, "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-60e698ec651a0712", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-9ffd02eb6b24cf13", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-dc59306d8353dad6", "name": "Possibly dead Python function: to_compact", "shortDescription": {"text": "Possibly dead Python function: to_compact"}, "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-dc27ab3668a869cd", "name": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "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-a012f5ebc5d77107", "name": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:146", "shortDescription": {"text": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:146"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f111ff0ed53851e", "name": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:146", "shortDescription": {"text": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:146"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b8e51c4fca128873", "name": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:61", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:61"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c98612bb402ec9b9", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:258", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:258"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-467bc3c7499acaf8", "name": "Insecure pattern 'subprocess_shell_true' in harness/repl.py:6179", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in harness/repl.py:6179"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cdc1e156b1bd2ed7", "name": "Insecure pattern 'exec_used' in harness/cli/tips.py:304", "shortDescription": {"text": "Insecure pattern 'exec_used' in harness/cli/tips.py:304"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a14560c3320043ae", "name": "Insecure pattern 'subprocess_shell_true' in harness/tools/transcription_tools.py:410", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in harness/tools/transcription_tools.py:410"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4fea7ce968e9f1f8", "name": "Insecure pattern 'eval_used' in harness/tools/skills_guard.py:294", "shortDescription": {"text": "Insecure pattern 'eval_used' in harness/tools/skills_guard.py:294"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5bdbdbb4ae86a693", "name": "Insecure pattern 'exec_used' in harness/tools/skills_guard.py:297", "shortDescription": {"text": "Insecure pattern 'exec_used' in harness/tools/skills_guard.py:297"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c176cf81ef57aaa3", "name": "Insecure pattern 'subprocess_shell_true' in harness/tools/environments/docker.py:566", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in harness/tools/environments/docker.py:566"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84750cabd2f12579", "name": "Very large file: tests/test_state.py (1914 lines)", "shortDescription": {"text": "Very large file: tests/test_state.py (1914 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-2d834643af8c16ca", "name": "Very large file: tests/cli/test_runtime_provider_resolution.py (1501 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_runtime_provider_resolution.py (1501 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-fc2601840dc51b18", "name": "Very large file: tests/cli/test_commands.py (1326 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_commands.py (1326 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-54cb1f27db6634ac", "name": "Very large file: tests/cli/test_gateway_service.py (1987 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_gateway_service.py (1987 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-ff5180d00f6d023f", "name": "Very large file: tests/cli/test_auth_commands.py (1476 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_auth_commands.py (1476 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-cf68b4dedd8108ea", "name": "Very large file: tests/cli/test_web_server.py (1672 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_web_server.py (1672 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-58d38ae4e3157656", "name": "Very large file: tests/cli/test_update_gateway_restart.py (1263 lines)", "shortDescription": {"text": "Very large file: tests/cli/test_update_gateway_restart.py (1263 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-b7fc545e31555fbb", "name": "Very large file: tests/agent/test_auxiliary_client.py (1205 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_auxiliary_client.py (1205 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-ad6fd10e2227fa98", "name": "Very large file: tests/agent/test_bedrock_adapter.py (1232 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_bedrock_adapter.py (1232 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-d848ee9f82ac0272", "name": "Very large file: tests/agent/test_anthropic_adapter.py (1749 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_anthropic_adapter.py (1749 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-da6cab15ef8b831a", "name": "Very large file: tests/run_agent/test_run_agent.py (4682 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_run_agent.py (4682 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-e0d8f6f8a3d2df7a", "name": "Very large file: tests/run_agent/test_streaming.py (1357 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_streaming.py (1357 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-11abd7b076d79645", "name": "Very large file: tests/cron/test_scheduler.py (1746 lines)", "shortDescription": {"text": "Very large file: tests/cron/test_scheduler.py (1746 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-78590c3f90974ff9", "name": "Very large file: tests/tools/test_voice_cli_integration.py (1296 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_voice_cli_integration.py (1296 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-87d07e8a14b1b18d", "name": "Very large file: tests/tools/test_send_message_tool.py (1326 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_send_message_tool.py (1326 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-285d555d79527542", "name": "Very large file: tests/tools/test_tirith_security.py (998 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_tirith_security.py (998 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-8695e1b7f70431df", "name": "Very large file: tests/tools/test_skills_hub.py (1361 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_skills_hub.py (1361 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-78859b21b1164278", "name": "Very large file: tests/tools/test_delegate.py (2026 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_delegate.py (2026 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-f853ba80e9def9c0", "name": "Very large file: tests/tools/test_transcription_tools.py (1256 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_transcription_tools.py (1256 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-17b6ff63b7ba2de0", "name": "Very large file: tests/tools/test_mcp_tool.py (3152 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_mcp_tool.py (3152 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-5e90549e5d25476d", "name": "Very large file: tests/gateway/test_voice_command.py (2708 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_voice_command.py (2708 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-ec3864190cbe9197", "name": "Very large file: tests/gateway/test_stream_consumer.py (1334 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_stream_consumer.py (1334 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-f879a417b8f898b6", "name": "Very large file: tests/gateway/test_api_server.py (2184 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_api_server.py (2184 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-e6f2958b3f0f96e0", "name": "Very large file: tests/gateway/test_slack.py (1923 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_slack.py (1923 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-ae2419a65b7cc6f6", "name": "Very large file: scripts/install.sh (1436 lines)", "shortDescription": {"text": "Very large file: scripts/install.sh (1436 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-f2d59916a455925b", "name": "Very large file: harness/run_agent.py (12000 lines)", "shortDescription": {"text": "Very large file: harness/run_agent.py (12000 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-1c703f2f0daa202d", "name": "Very large file: harness/repl.py (11094 lines)", "shortDescription": {"text": "Very large file: harness/repl.py (11094 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-a851747ce1bb3dae", "name": "Very large file: harness/state.py (1607 lines)", "shortDescription": {"text": "Very large file: harness/state.py (1607 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-3fcd2f2a674fb3c6", "name": "Very large file: harness/cli/tools_config.py (2103 lines)", "shortDescription": {"text": "Very large file: harness/cli/tools_config.py (2103 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-4da63c391200bba2", "name": "Very large file: harness/cli/commands.py (1419 lines)", "shortDescription": {"text": "Very large file: harness/cli/commands.py (1419 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-6cd4ba297c78d0cf", "name": "Very large file: harness/cli/config.py (4033 lines)", "shortDescription": {"text": "Very large file: harness/cli/config.py (4033 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-f0a2383823d8deee", "name": "Very large file: harness/cli/auth.py (3513 lines)", "shortDescription": {"text": "Very large file: harness/cli/auth.py (3513 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-41fac6f33b073226", "name": "Very large file: harness/cli/skills_hub.py (1384 lines)", "shortDescription": {"text": "Very large file: harness/cli/skills_hub.py (1384 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-7fbaa9d1e88cd32a", "name": "Very large file: harness/cli/model_switch.py (1377 lines)", "shortDescription": {"text": "Very large file: harness/cli/model_switch.py (1377 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-01ccddc149763298", "name": "Very large file: harness/cli/gateway.py (3210 lines)", "shortDescription": {"text": "Very large file: harness/cli/gateway.py (3210 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-9c5fee46f8fc9198", "name": "Very large file: harness/cli/web_server.py (2832 lines)", "shortDescription": {"text": "Very large file: harness/cli/web_server.py (2832 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-f17d96cd937dec6a", "name": "Very large file: harness/cli/setup.py (3508 lines)", "shortDescription": {"text": "Very large file: harness/cli/setup.py (3508 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-24bb6ab4d64ba06d", "name": "Very large file: harness/cli/models.py (2726 lines)", "shortDescription": {"text": "Very large file: harness/cli/models.py (2726 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-03ba369e6c1c0430", "name": "Very large file: harness/cli/doctor.py (1170 lines)", "shortDescription": {"text": "Very large file: harness/cli/doctor.py (1170 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-a08ea7e20bd05560", "name": "Very large file: harness/cli/main.py (8899 lines)", "shortDescription": {"text": "Very large file: harness/cli/main.py (8899 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-63fa7db76b0507ad", "name": "Very large file: harness/agent/context_compressor.py (1284 lines)", "shortDescription": {"text": "Very large file: harness/agent/context_compressor.py (1284 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-1d1d70cc059500f8", "name": "Very large file: harness/agent/credential_pool.py (1348 lines)", "shortDescription": {"text": "Very large file: harness/agent/credential_pool.py (1348 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-8d946af6613190dc", "name": "Very large file: harness/agent/anthropic_adapter.py (1601 lines)", "shortDescription": {"text": "Very large file: harness/agent/anthropic_adapter.py (1601 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-cbbff1dd7bfa3fec", "name": "Very large file: harness/agent/auxiliary_client.py (3109 lines)", "shortDescription": {"text": "Very large file: harness/agent/auxiliary_client.py (3109 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-26a4833b89dacc05", "name": "Very large file: harness/cron/scheduler.py (1576 lines)", "shortDescription": {"text": "Very large file: harness/cron/scheduler.py (1576 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-faafcf1be9eec94f", "name": "Very large file: harness/tools/mcp_tool.py (2681 lines)", "shortDescription": {"text": "Very large file: harness/tools/mcp_tool.py (2681 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-f683fe9ca4ef7ebd", "name": "Very large file: harness/tools/web_tools.py (2101 lines)", "shortDescription": {"text": "Very large file: harness/tools/web_tools.py (2101 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-3d57a0cd728c93fb", "name": "Very large file: harness/tools/delegate_tool.py (2168 lines)", "shortDescription": {"text": "Very large file: harness/tools/delegate_tool.py (2168 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-b58bdc5315cbf4a1", "name": "Very large file: harness/tools/browser_tool.py (2514 lines)", "shortDescription": {"text": "Very large file: harness/tools/browser_tool.py (2514 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-533826ed04910de8", "name": "Very large file: harness/tools/skills_hub.py (3054 lines)", "shortDescription": {"text": "Very large file: harness/tools/skills_hub.py (3054 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-21850a38b05f5de8", "name": "Very large file: harness/tools/code_execution_tool.py (1579 lines)", "shortDescription": {"text": "Very large file: harness/tools/code_execution_tool.py (1579 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-1057e234ac425945", "name": "Very large file: harness/tools/tts_tool.py (1515 lines)", "shortDescription": {"text": "Very large file: harness/tools/tts_tool.py (1515 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-d819cc2fd55f7688", "name": "Very large file: harness/tools/skills_tool.py (1445 lines)", "shortDescription": {"text": "Very large file: harness/tools/skills_tool.py (1445 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-6aa659f76ac23f91", "name": "Very large file: harness/tools/file_operations.py (1251 lines)", "shortDescription": {"text": "Very large file: harness/tools/file_operations.py (1251 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-e185099f80b828c3", "name": "Very large file: harness/tools/terminal_tool.py (2076 lines)", "shortDescription": {"text": "Very large file: harness/tools/terminal_tool.py (2076 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-83db13bc2fe10a14", "name": "Very large file: harness/gateway/session.py (1277 lines)", "shortDescription": {"text": "Very large file: harness/gateway/session.py (1277 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-bb022280c28b3d76", "name": "Very large file: harness/gateway/run.py (11361 lines)", "shortDescription": {"text": "Very large file: harness/gateway/run.py (11361 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-53c513f6d1e2b1e5", "name": "Very large file: harness/gateway/platforms/api_server.py (2613 lines)", "shortDescription": {"text": "Very large file: harness/gateway/platforms/api_server.py (2613 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-ffed674de4d27678", "name": "Very large file: harness/gateway/platforms/telegram.py (3295 lines)", "shortDescription": {"text": "Very large file: harness/gateway/platforms/telegram.py (3295 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-3970973d8f05e48e", "name": "Very large file: harness/gateway/platforms/base.py (2701 lines)", "shortDescription": {"text": "Very large file: harness/gateway/platforms/base.py (2701 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-caea6dc797ba9cb4", "name": "Very large file: harness/gateway/platforms/discord.py (3931 lines)", "shortDescription": {"text": "Very large file: harness/gateway/platforms/discord.py (3931 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-3a133325fdfe928c", "name": "Very large file: harness/gateway/platforms/slack.py (1744 lines)", "shortDescription": {"text": "Very large file: harness/gateway/platforms/slack.py (1744 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 3258 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 50 placeholder/mock markers across 24 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "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-6587456e54cfe2c7", "name": "Commented-code block (5 lines) in tests/conftest.py:189", "shortDescription": {"text": "Commented-code block (5 lines) in tests/conftest.py:189"}, "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-4dbf557d4564f75b", "name": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_logging.py:130", "shortDescription": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_logging.py:130"}, "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-34d604673304ba09", "name": "Legacy-named symbol `test_migration_from_v2` in tests/test_state.py:1184", "shortDescription": {"text": "Legacy-named symbol `test_migration_from_v2` in tests/test_state.py:1184"}, "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-02f1afd1a86bf64e", "name": "Legacy-named symbol `user_legacy` in tests/cli/test_gateway_service.py:1712", "shortDescription": {"text": "Legacy-named symbol `user_legacy` in tests/cli/test_gateway_service.py:1712"}, "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-dc2883e2208ea2cb", "name": "Commented-code block (5 lines) in tests/cli/test_heartbeat_seed.py:15", "shortDescription": {"text": "Commented-code block (5 lines) in tests/cli/test_heartbeat_seed.py:15"}, "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-0ccda2e09e379766", "name": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:221", "shortDescription": {"text": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:221"}, "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-c0400b1246581269", "name": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/cli/test_model_switch_opencode_anthropic.py:80", "shortDescription": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/cli/test_model_switch_opencode_anthropic.py:80"}, "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-12a16c5b29aa5201", "name": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:28", "shortDescription": {"text": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:28"}, "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-baac74205df710b0", "name": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/cli/test_api_key_providers.py:861", "shortDescription": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/cli/test_api_key_providers.py:861"}, "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-b62987a9700cb693", "name": "Legacy-named symbol `run_backup` in tests/cli/test_backup.py:137", "shortDescription": {"text": "Legacy-named symbol `run_backup` in tests/cli/test_backup.py:137"}, "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-a75c4251d20d3b0f", "name": "Legacy-named symbol `very_old` in tests/cli/test_debug.py:866", "shortDescription": {"text": "Legacy-named symbol `very_old` in tests/cli/test_debug.py:866"}, "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-f02eb93abda44c4e", "name": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:127", "shortDescription": {"text": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:127"}, "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-b167abc331c91326", "name": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:537", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:537"}, "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-782bc149780ae17c", "name": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:73", "shortDescription": {"text": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:73"}, "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-326255cb0db4fbaa", "name": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:277", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:277"}, "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-13bdaa2bfa238d44", "name": "Legacy-named symbol `sig_old` in tests/agent/test_anthropic_adapter.py:1380", "shortDescription": {"text": "Legacy-named symbol `sig_old` in tests/agent/test_anthropic_adapter.py:1380"}, "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-8470b1f020b2c93a", "name": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:42"}, "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-17e10dd3e7ec5e5b", "name": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:544", "shortDescription": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:544"}, "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-6f6b86c6e29cb86f", "name": "Legacy-named symbol `fake_legacy` in tests/cron/test_scheduler_synthetic.py:102", "shortDescription": {"text": "Legacy-named symbol `fake_legacy` in tests/cron/test_scheduler_synthetic.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-c363cd97308e3393", "name": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:489", "shortDescription": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:489"}, "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-1c7c1a960a2a9eb5", "name": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20", "shortDescription": {"text": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20"}, "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-8baa66867a0de516", "name": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:201", "shortDescription": {"text": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:201"}, "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-5703a638e3b6538a", "name": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:263", "shortDescription": {"text": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:263"}, "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-327078e56146d170", "name": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:243", "shortDescription": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:243"}, "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-df2ff7f4a240da57", "name": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:81", "shortDescription": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:81"}, "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-bec0875d0bc57d38", "name": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:30", "shortDescription": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:30"}, "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-90b44429190627f0", "name": "Commented-code block (6 lines) in tests/tools/test_file_state_registry.py:269", "shortDescription": {"text": "Commented-code block (6 lines) in tests/tools/test_file_state_registry.py:269"}, "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-ffc1cb4ae297056a", "name": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:606", "shortDescription": {"text": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:606"}, "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-9a91448bce48696a", "name": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:1443", "shortDescription": {"text": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:1443"}, "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-ccd05b934db8b9e2", "name": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4", "shortDescription": {"text": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4"}, "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-118ec6ea45becb21", "name": "Legacy-named symbol `_scope_my_pkg_v2` in tests/tools/test_mcp_tool.py:3007", "shortDescription": {"text": "Legacy-named symbol `_scope_my_pkg_v2` in tests/tools/test_mcp_tool.py:3007"}, "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-2fa28d8c5b8d2c91", "name": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.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-87dc360b9e2d528d", "name": "Commented-code block (6 lines) in tests/gateway/test_config_cwd_bridge.py:119", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_config_cwd_bridge.py:119"}, "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-abc209376c7eaabd", "name": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:269", "shortDescription": {"text": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:269"}, "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-eb2ec959ffb37f2e", "name": "Commented-code block (5 lines) in tests/gateway/test_internal_event_bypass_pairing.py:361", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_internal_event_bypass_pairing.py:361"}, "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-6960c59f2fb810a0", "name": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.py:84", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.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-63a1317a3b524dbe", "name": "Legacy-named symbol `sid_legacy` in tests/gateway/test_async_memory_flush.py:241", "shortDescription": {"text": "Legacy-named symbol `sid_legacy` in tests/gateway/test_async_memory_flush.py:241"}, "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-1cef9575b4a3bfa2", "name": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:764", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:764"}, "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-d7f6dba5ea1e6097", "name": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:351", "shortDescription": {"text": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:351"}, "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-e630a29a9ee2fb55", "name": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:43", "shortDescription": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:43"}, "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-c98ec40276ae5c5c", "name": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:188", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:188"}, "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-1eb554fea793bd7f", "name": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:151"}, "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-d7f42c44717df8e6", "name": "Commented-code block (5 lines) in tests/gateway/test_discord_slash_commands.py:964", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_discord_slash_commands.py:964"}, "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-3966e23de6fe0f85", "name": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:105", "shortDescription": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:105"}, "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-76410a05f70e1861", "name": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:176", "shortDescription": {"text": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:176"}, "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-d419858e6173b3f9", "name": "Commented-code block (5 lines) in tests/gateway/test_running_agent_session_toggles.py:93", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_running_agent_session_toggles.py:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7fcc4f20076957ab", "name": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:165", "shortDescription": {"text": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:165"}, "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-77d6747deb62064e", "name": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:114", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:114"}, "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-db0b35250468506e", "name": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:328", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:328"}, "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-b025b14ce2a128a3", "name": "Legacy-named symbol `test_fetch_snapshots_to_v2` in tests/trading/test_dispatchers_v2.py:42", "shortDescription": {"text": "Legacy-named symbol `test_fetch_snapshots_to_v2` in tests/trading/test_dispatchers_v2.py:42"}, "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-74651acb1d509d83", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:77"}, "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-f47591d06df8459b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:451", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:451"}, "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-92d8dd2cbea72fb0", "name": "Commented-code block (6 lines) in scripts/whatsapp-bridge/bridge.js:375", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/whatsapp-bridge/bridge.js:375"}, "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-164a9a4bb3ec4425", "name": "Commented-code block (6 lines) in trading/integrations/hyperliquid/venue.py:35", "shortDescription": {"text": "Commented-code block (6 lines) in trading/integrations/hyperliquid/venue.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-023106706e15bb70", "name": "Commented-code block (5 lines) in trading/integrations/ta/_calc.py:215", "shortDescription": {"text": "Commented-code block (5 lines) in trading/integrations/ta/_calc.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-32227a4c92fe1efb", "name": "Commented-code block (6 lines) in trading/integrations/flow/_calc.py:104", "shortDescription": {"text": "Commented-code block (6 lines) in trading/integrations/flow/_calc.py:104"}, "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-d16df48607f73951", "name": "Commented-code block (5 lines) in trading/dispatchers/register_prediction.py:113", "shortDescription": {"text": "Commented-code block (5 lines) in trading/dispatchers/register_prediction.py:113"}, "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-7620e67175050d56", "name": "Commented-code block (6 lines) in trading/dispatchers/record_data_point_observation.py:97", "shortDescription": {"text": "Commented-code block (6 lines) in trading/dispatchers/record_data_point_observation.py:97"}, "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-161568295f89ae4b", "name": "Commented-code block (5 lines) in trading/lifecycle/write.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in trading/lifecycle/write.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-4ec9c3280e15f607", "name": "Commented-code block (5 lines) in trading/perception/core/venue_registry.py:31", "shortDescription": {"text": "Commented-code block (5 lines) in trading/perception/core/venue_registry.py:31"}, "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-64c8e61ce49e8675", "name": "Commented-code block (6 lines) in trading/perception/core/data_point_registry.py:34", "shortDescription": {"text": "Commented-code block (6 lines) in trading/perception/core/data_point_registry.py:34"}, "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-b5c6ca25ca646583", "name": "Legacy-named symbol `children_copy` in harness/run_agent.py:3572", "shortDescription": {"text": "Legacy-named symbol `children_copy` in harness/run_agent.py:3572"}, "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-2cdc7c4882e0269d", "name": "Commented-code block (5 lines) in harness/run_agent.py:470", "shortDescription": {"text": "Commented-code block (5 lines) in harness/run_agent.py:470"}, "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-9b5d82466325e5c2", "name": "Commented-code block (8 lines) in harness/spawn.py:69", "shortDescription": {"text": "Commented-code block (8 lines) in harness/spawn.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-72d4ea710bcbb7a6", "name": "Commented-code block (5 lines) in harness/model_tools.py:121", "shortDescription": {"text": "Commented-code block (5 lines) in harness/model_tools.py:121"}, "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-11462df6dee7ef06", "name": "Legacy-named symbol `cfg_backup` in harness/log.py:209", "shortDescription": {"text": "Legacy-named symbol `cfg_backup` in harness/log.py:209"}, "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-fb1fa64cf95875f3", "name": "Commented-code block (7 lines) in harness/toolsets.py:66", "shortDescription": {"text": "Commented-code block (7 lines) in harness/toolsets.py:66"}, "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-2eaf01c44f8b3e5d", "name": "Commented-code block (6 lines) in harness/repl.py:443", "shortDescription": {"text": "Commented-code block (6 lines) in harness/repl.py:443"}, "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-175b561fe9a14874", "name": "Commented-code block (5 lines) in harness/state.py:146", "shortDescription": {"text": "Commented-code block (5 lines) in harness/state.py:146"}, "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-c956bc2d5ea5d5e9", "name": "Commented-code block (10 lines) in harness/cli/plugins.py:152", "shortDescription": {"text": "Commented-code block (10 lines) in harness/cli/plugins.py:152"}, "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-6c54acc8fddff9f9", "name": "Legacy-named symbol `run_backup` in harness/cli/backup.py:114", "shortDescription": {"text": "Legacy-named symbol `run_backup` in harness/cli/backup.py:114"}, "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-e9d57cf6783b0934", "name": "Commented-code block (5 lines) in harness/cli/tools_config.py:523", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/tools_config.py:523"}, "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-6af9b2e2d569b4e9", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/tools_config.py:385", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/tools_config.py:385"}, "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-5e55706d46bdb0fa", "name": "Commented-code block (5 lines) in harness/cli/commands.py:992", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/commands.py:992"}, "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-608e811096d2be20", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/uninstall.py:176", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/uninstall.py:176"}, "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-9a767602885cfe59", "name": "Legacy-named symbol `eleven_multilingual_v2` in harness/cli/config.py:639", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in harness/cli/config.py:639"}, "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-d07a4153961a1b9d", "name": "Commented-code block (8 lines) in harness/cli/config.py:356", "shortDescription": {"text": "Commented-code block (8 lines) in harness/cli/config.py:356"}, "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-38f1b97fa7f0567b", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/config.py:3805", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/config.py:3805"}, "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-c9724b9a6042d74a", "name": "Commented-code block (5 lines) in harness/cli/auth.py:361", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/auth.py:361"}, "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-8821ef61f1f10bd5", "name": "Stub function `print` (body is just `pass`/`return`) \u2014 harness/cli/skills_hub.py:569", "shortDescription": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 harness/cli/skills_hub.py:569"}, "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-b0cb8de0061548de", "name": "Commented-code block (8 lines) in harness/cli/model_switch.py:854", "shortDescription": {"text": "Commented-code block (8 lines) in harness/cli/model_switch.py:854"}, "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-9b7d6c86d2cd0340", "name": "Commented-code block (5 lines) in harness/cli/gateway.py:1027", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/gateway.py:1027"}, "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-5a59401fe35a07ef", "name": "Commented-code block (7 lines) in harness/cli/plugins_cmd.py:913", "shortDescription": {"text": "Commented-code block (7 lines) in harness/cli/plugins_cmd.py:913"}, "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-f07494961d3fcbae", "name": "Commented-code block (5 lines) in harness/cli/runtime_provider.py:486", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/runtime_provider.py:486"}, "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-4c6b0ff3c7ae3297", "name": "Commented-code block (6 lines) in harness/cli/web_server.py:134", "shortDescription": {"text": "Commented-code block (6 lines) in harness/cli/web_server.py:134"}, "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-6f5e687310338a16", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/web_server.py:640", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/web_server.py:640"}, "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-eb2e30f42a4d8f70", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/setup.py:912", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/setup.py:912"}, "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-c550159a467daca9", "name": "Commented-code block (5 lines) in harness/cli/models.py:322", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/models.py:322"}, "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-15fa7ad3742e53c3", "name": "Commented-code block (6 lines) in harness/cli/doctor.py:317", "shortDescription": {"text": "Commented-code block (6 lines) in harness/cli/doctor.py:317"}, "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-4cbafe260aeba982", "name": "Commented-code block (5 lines) in harness/cli/platforms.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/platforms.py:20"}, "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-03b269df68d807f9", "name": "Commented-code block (5 lines) in harness/cli/hooks.py:108", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/hooks.py:108"}, "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-48206bfa4720b82d", "name": "Legacy-named symbol `_add_v1` in harness/cli/main.py:2539", "shortDescription": {"text": "Legacy-named symbol `_add_v1` in harness/cli/main.py:2539"}, "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-9f8b976f58eda168", "name": "Commented-code block (5 lines) in harness/cli/main.py:1019", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/main.py:1019"}, "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-3101be6b1b0956d6", "name": "Network/subprocess call without timeout or try/except \u2014 harness/cli/main.py:891", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/main.py:891"}, "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-59d6ba9e89678a6f", "name": "Commented-code block (5 lines) in harness/cli/env_loader.py:88", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/env_loader.py:88"}, "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-d330d41783cfd3f6", "name": "Commented-code block (5 lines) in harness/cli/auth_commands.py:155", "shortDescription": {"text": "Commented-code block (5 lines) in harness/cli/auth_commands.py:155"}, "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-b810e3c6431715c1", "name": "Commented-code block (5 lines) in harness/agent/codex_responses_adapter.py:253", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/codex_responses_adapter.py:253"}, "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-1c26e3eafe8725c2", "name": "Commented-code block (6 lines) in harness/agent/context_compressor.py:56", "shortDescription": {"text": "Commented-code block (6 lines) in harness/agent/context_compressor.py:56"}, "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-a51b1aa751bd3bc9", "name": "Commented-code block (5 lines) in harness/agent/gemini_cloudcode_adapter.py:792", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/gemini_cloudcode_adapter.py:792"}, "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-85ea028fd311ff07", "name": "Commented-code block (5 lines) in harness/agent/credential_pool.py:1092", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/credential_pool.py:1092"}, "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-a8113f13cf607e96", "name": "Commented-code block (5 lines) in harness/agent/bedrock_adapter.py:94", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/bedrock_adapter.py:94"}, "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-6be83bfd84da6d7f", "name": "Commented-code block (6 lines) in harness/agent/error_classifier.py:223", "shortDescription": {"text": "Commented-code block (6 lines) in harness/agent/error_classifier.py:223"}, "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-dcf7d2e523fd8c66", "name": "Commented-code block (8 lines) in harness/agent/anthropic_adapter.py:31", "shortDescription": {"text": "Commented-code block (8 lines) in harness/agent/anthropic_adapter.py:31"}, "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-fd4d44dc7d62f4ec", "name": "Commented-code block (6 lines) in harness/agent/usage_pricing.py:536", "shortDescription": {"text": "Commented-code block (6 lines) in harness/agent/usage_pricing.py:536"}, "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-b7d714224bc317f8", "name": "Commented-code block (6 lines) in harness/agent/shell_hooks.py:86", "shortDescription": {"text": "Commented-code block (6 lines) in harness/agent/shell_hooks.py:86"}, "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-c4d8cbdf85159ccb", "name": "Commented-code block (5 lines) in harness/agent/auxiliary_client.py:99", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/auxiliary_client.py:99"}, "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-de4fbd280269ec67", "name": "Commented-code block (5 lines) in harness/agent/display.py:713", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/display.py:713"}, "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-790eaedca3ea6f67", "name": "Commented-code block (6 lines) in harness/agent/model_metadata.py:158", "shortDescription": {"text": "Commented-code block (6 lines) in harness/agent/model_metadata.py:158"}, "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-1ec478f6a1b09ff5", "name": "Commented-code block (5 lines) in harness/agent/prompt_builder.py:284", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/prompt_builder.py:284"}, "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-a22ab8fd1c627bc2", "name": "Commented-code block (5 lines) in harness/agent/transports/types.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in harness/agent/transports/types.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-8d655caaa6a4c117", "name": "Commented-code block (6 lines) in harness/cron/scheduler.py:960", "shortDescription": {"text": "Commented-code block (6 lines) in harness/cron/scheduler.py:960"}, "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-ff8878f915d26388", "name": "Legacy-named symbol `is_old` in harness/cron/jobs.py:623", "shortDescription": {"text": "Legacy-named symbol `is_old` in harness/cron/jobs.py:623"}, "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-1a76d88d5aabbd4d", "name": "Commented-code block (5 lines) in harness/tools/mcp_tool.py:798", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/mcp_tool.py:798"}, "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-7ed5337a34ec2fbe", "name": "Network/subprocess call without timeout or try/except \u2014 harness/tools/transcription_tools.py:410", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/tools/transcription_tools.py:410"}, "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-09453c0f98128f6e", "name": "Commented-code block (6 lines) in harness/tools/session_search_tool.py:462", "shortDescription": {"text": "Commented-code block (6 lines) in harness/tools/session_search_tool.py:462"}, "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-041fba2e48c78b12", "name": "Legacy-named symbol `deleted_user_copy` in harness/tools/skills_sync.py:369", "shortDescription": {"text": "Legacy-named symbol `deleted_user_copy` in harness/tools/skills_sync.py:369"}, "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-65dba4df15c79bff", "name": "Commented-code block (9 lines) in harness/tools/skills_sync.py:209", "shortDescription": {"text": "Commented-code block (9 lines) in harness/tools/skills_sync.py:209"}, "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-25cdbfc4c2e758ae", "name": "Commented-code block (5 lines) in harness/tools/checkpoint_manager.py:236", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/checkpoint_manager.py:236"}, "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-ea482a4ac8294186", "name": "Commented-code block (15 lines) in harness/tools/file_tools.py:184", "shortDescription": {"text": "Commented-code block (15 lines) in harness/tools/file_tools.py:184"}, "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-bf0c756e3b43e304", "name": "Commented-code block (5 lines) in harness/tools/send_message_tool.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/send_message_tool.py:24"}, "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-190738cd2f050079", "name": "Commented-code block (5 lines) in harness/tools/delegate_tool.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/delegate_tool.py:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1c71d7d4e3ab27a", "name": "Commented-code block (10 lines) in harness/tools/fuzzy_match.py:96", "shortDescription": {"text": "Commented-code block (10 lines) in harness/tools/fuzzy_match.py:96"}, "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-3c66a5232dd4ddfc", "name": "Commented-code block (5 lines) in harness/tools/tirith_security.py:317", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/tirith_security.py:317"}, "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-8092daca8c39f4ac", "name": "Commented-code block (9 lines) in harness/tools/mcp_oauth_manager.py:253", "shortDescription": {"text": "Commented-code block (9 lines) in harness/tools/mcp_oauth_manager.py:253"}, "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-927d7fc80a51a3b6", "name": "Commented-code block (6 lines) in harness/tools/browser_tool.py:496", "shortDescription": {"text": "Commented-code block (6 lines) in harness/tools/browser_tool.py:496"}, "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-0d5dc71365b723e3", "name": "Legacy-named symbol `clawhub_catalog_v1` in harness/tools/skills_hub.py:1707", "shortDescription": {"text": "Legacy-named symbol `clawhub_catalog_v1` in harness/tools/skills_hub.py:1707"}, "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-a7f7cb8571075d9e", "name": "Commented-code block (5 lines) in harness/tools/code_execution_tool.py:1052", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/code_execution_tool.py:1052"}, "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-d0655c074e9e47cc", "name": "Legacy-named symbol `eleven_multilingual_v2` in harness/tools/tts_tool.py:94", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in harness/tools/tts_tool.py:94"}, "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-8d36037f735a3269", "name": "Commented-code block (5 lines) in harness/tools/tts_tool.py:723", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/tts_tool.py:723"}, "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-b455d95ec30ddb72", "name": "Commented-code block (6 lines) in harness/tools/mcp_oauth.py:200", "shortDescription": {"text": "Commented-code block (6 lines) in harness/tools/mcp_oauth.py:200"}, "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-bb7dee28209ffb51", "name": "Commented-code block (7 lines) in harness/tools/image_generation_tool.py:52", "shortDescription": {"text": "Commented-code block (7 lines) in harness/tools/image_generation_tool.py:52"}, "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-a81ef5e17640c0a5", "name": "Commented-code block (5 lines) in harness/tools/file_operations.py:787", "shortDescription": {"text": "Commented-code block (5 lines) in harness/tools/file_operations.py:787"}, "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-6da2cf8b9072ad5e", "name": "Commented-code block (7 lines) in harness/tools/approval.py:583", "shortDescription": {"text": "Commented-code block (7 lines) in harness/tools/approval.py:583"}, "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-12ca3a83dfb1a951", "name": "Commented-code block (7 lines) in harness/tools/terminal_tool.py:151", "shortDescription": {"text": "Commented-code block (7 lines) in harness/tools/terminal_tool.py:151"}, "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-d859b4e278e3e1b6", "name": "Commented-code block (6 lines) in harness/tools/environments/local.py:259", "shortDescription": {"text": "Commented-code block (6 lines) in harness/tools/environments/local.py:259"}, "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-d9318f02621ee42b", "name": "Commented-code block (11 lines) in harness/tools/environments/docker.py:146", "shortDescription": {"text": "Commented-code block (11 lines) in harness/tools/environments/docker.py:146"}, "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-551a182125e2b937", "name": "Commented-code block (8 lines) in harness/tools/environments/ssh.py:51", "shortDescription": {"text": "Commented-code block (8 lines) in harness/tools/environments/ssh.py:51"}, "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-b885d5ad4c4642a1", "name": "Commented-code block (9 lines) in harness/tools/environments/base.py:443", "shortDescription": {"text": "Commented-code block (9 lines) in harness/tools/environments/base.py:443"}, "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-eb43cf19b16cccbe", "name": "Commented-code block (5 lines) in harness/gateway/session_context.py:65", "shortDescription": {"text": "Commented-code block (5 lines) in harness/gateway/session_context.py:65"}, "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-9d02942c68053516", "name": "Commented-code block (5 lines) in harness/gateway/config.py:247", "shortDescription": {"text": "Commented-code block (5 lines) in harness/gateway/config.py:247"}, "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-df8afc56e2f1280a", "name": "Commented-code block (5 lines) in harness/gateway/stream_consumer.py:103", "shortDescription": {"text": "Commented-code block (5 lines) in harness/gateway/stream_consumer.py:103"}, "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-6c67754920e8b243", "name": "Commented-code block (8 lines) in harness/gateway/status.py:619", "shortDescription": {"text": "Commented-code block (8 lines) in harness/gateway/status.py:619"}, "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-986e3dac8292b377", "name": "Commented-code block (7 lines) in harness/gateway/session.py:241", "shortDescription": {"text": "Commented-code block (7 lines) in harness/gateway/session.py:241"}, "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-ae91fb780e9f9e51", "name": "Commented-code block (5 lines) in harness/gateway/run.py:262", "shortDescription": {"text": "Commented-code block (5 lines) in harness/gateway/run.py:262"}, "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-79ab8fb09cdf59cd", "name": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11065", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11065"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40f85e86fd33afd0", "name": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11076", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11076"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3a1b151dfe93e77", "name": "Commented-code block (7 lines) in harness/gateway/platforms/api_server.py:921", "shortDescription": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/api_server.py:921"}, "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-5ec7825582ef585e", "name": "Commented-code block (9 lines) in harness/gateway/platforms/telegram.py:255", "shortDescription": {"text": "Commented-code block (9 lines) in harness/gateway/platforms/telegram.py:255"}, "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-18352dc4bb7cf02b", "name": "Commented-code block (7 lines) in harness/gateway/platforms/base.py:699", "shortDescription": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/base.py:699"}, "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-3d797707adf4c198", "name": "Commented-code block (5 lines) in harness/gateway/platforms/discord.py:611", "shortDescription": {"text": "Commented-code block (5 lines) in harness/gateway/platforms/discord.py:611"}, "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-b56e63537cc71422", "name": "Legacy-named symbol `files_upload_v2` in harness/gateway/platforms/slack.py:456", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in harness/gateway/platforms/slack.py:456"}, "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-d9082e8abd203bd6", "name": "Commented-code block (7 lines) in harness/gateway/platforms/slack.py:1072", "shortDescription": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/slack.py:1072"}, "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-5e1fc9991bd61f4d", "name": "Stub function `handle_app_mention` (body is just `pass`/`return`) \u2014 harness/gateway/platforms/slack.py:199", "shortDescription": {"text": "Stub function `handle_app_mention` (body is just `pass`/`return`) \u2014 harness/gateway/platforms/slack.py:199"}, "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-1f4799a54fe55142", "name": "Commented-code block (7 lines) in harness/gateway/platforms/webhook.py:84", "shortDescription": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/webhook.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-7df3fb80c512223d", "name": "270 env vars used in code but missing from .env.example", "shortDescription": {"text": "270 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ACP_AGENT_WALLET`, `AI_GATEWAY_API_KEY`, `AI_GATEWAY_BASE_URL`, `ANTHROPIC_API_KEY`, `ANTHROPIC_TOKEN`, `API_SERVER_CORS_ORIGINS`, `API_SERVER_ENABLED`, `API_SERVER_HOST` + 262 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "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:\ntrading/integrations/dgclaw/data_points.py:dgclaw_forums, trading/integrations/dgclaw/data_points.py:dgclaw_forum\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-9dad557909b86499", "name": "Near-duplicate function bodies in 10 places", "shortDescription": {"text": "Near-duplicate function bodies in 10 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntrading/integrations/ta/preprocessors/ema.py:to_native, trading/integrations/ta/preprocessors/bbands.py:to_native, trading/integrations/ta/preprocessors/macd.py:to_native, trading/integrations/ta/preprocessors/atr.py:to_native\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntrading/integrations/ta/preprocessors/psar.py:to_native, trading/integrations/ta/preprocessors/obv.py:to_native, trading/integrations/ta/preprocessors/aroon.py:to_native\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:\ntrading/perception/core/identity_registry.py:reset, trading/perception/core/venue_registry.py:reset, trading/perception/core/data_point_registry.py:reset, trading/perception/core/event_registry.py:reset\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-c44b803a66c34ba9", "name": "FastAPI POST `restart_gateway` without auth dependency \u2014 harness/cli/web_server.py:659", "shortDescription": {"text": "FastAPI POST `restart_gateway` without auth dependency \u2014 harness/cli/web_server.py:659"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a3adaf0d7feb4212", "name": "FastAPI POST `update_hermes` without auth dependency \u2014 harness/cli/web_server.py:674", "shortDescription": {"text": "FastAPI POST `update_hermes` without auth dependency \u2014 harness/cli/web_server.py:674"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff8ccdbf95a767f8", "name": "FastAPI PUT `update_config` without auth dependency \u2014 harness/cli/web_server.py:962", "shortDescription": {"text": "FastAPI PUT `update_config` without auth dependency \u2014 harness/cli/web_server.py:962"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5900372e0cea7623", "name": "FastAPI PUT `set_env_var` without auth dependency \u2014 harness/cli/web_server.py:991", "shortDescription": {"text": "FastAPI PUT `set_env_var` without auth dependency \u2014 harness/cli/web_server.py:991"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-341a6387a56e981d", "name": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 harness/cli/web_server.py:1001", "shortDescription": {"text": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 harness/cli/web_server.py:1001"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46e4bfdf5ee1817e", "name": "FastAPI POST `reveal_env_var` without auth dependency \u2014 harness/cli/web_server.py:1015", "shortDescription": {"text": "FastAPI POST `reveal_env_var` without auth dependency \u2014 harness/cli/web_server.py:1015"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-012563938b4161c6", "name": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 harness/cli/web_server.py:1293", "shortDescription": {"text": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 harness/cli/web_server.py:1293"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b026f4d6d618ed36", "name": "FastAPI POST `start_oauth_login` without auth dependency \u2014 harness/cli/web_server.py:1835", "shortDescription": {"text": "FastAPI POST `start_oauth_login` without auth dependency \u2014 harness/cli/web_server.py:1835"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3e66abb927668c2", "name": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 harness/cli/web_server.py:1867", "shortDescription": {"text": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 harness/cli/web_server.py:1867"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e32f5cf72e8bafb", "name": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 harness/cli/web_server.py:1895", "shortDescription": {"text": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 harness/cli/web_server.py:1895"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae4af322ed73072a", "name": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 harness/cli/web_server.py:1939", "shortDescription": {"text": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 harness/cli/web_server.py:1939"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a87f63d541ce701", "name": "FastAPI POST `create_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2040", "shortDescription": {"text": "FastAPI POST `create_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2040"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e1646100ea591a9", "name": "FastAPI PUT `update_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2052", "shortDescription": {"text": "FastAPI PUT `update_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2052"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f75bdab67b5aaff", "name": "FastAPI POST `pause_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2061", "shortDescription": {"text": "FastAPI POST `pause_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2061"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3bca80ca60f20a50", "name": "FastAPI POST `resume_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2070", "shortDescription": {"text": "FastAPI POST `resume_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2070"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98f887652c017163", "name": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2079", "shortDescription": {"text": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2079"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-623d633f4763b60c", "name": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2088", "shortDescription": {"text": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2088"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d8c2827e92cd947a", "name": "FastAPI PUT `toggle_skill` without auth dependency \u2014 harness/cli/web_server.py:2118", "shortDescription": {"text": "FastAPI PUT `toggle_skill` without auth dependency \u2014 harness/cli/web_server.py:2118"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c7e8ebe3136fabc", "name": "FastAPI PUT `update_config_raw` without auth dependency \u2014 harness/cli/web_server.py:2180", "shortDescription": {"text": "FastAPI PUT `update_config_raw` without auth dependency \u2014 harness/cli/web_server.py:2180"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7250f6adaaa8aaee", "name": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 harness/cli/web_server.py:2599", "shortDescription": {"text": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 harness/cli/web_server.py:2599"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-963710f42a2c8219", "name": "Unused endpoint: GET /api/status", "shortDescription": {"text": "Unused endpoint: GET /api/status"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4083768260d4a820", "name": "Unused endpoint: POST /api/gateway/restart", "shortDescription": {"text": "Unused endpoint: POST /api/gateway/restart"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/gateway/restart` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9fc2abbfd0eff67", "name": "Unused endpoint: POST /api/hermes/update", "shortDescription": {"text": "Unused endpoint: POST /api/hermes/update"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/hermes/update` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc2a64713e3ba710", "name": "Unused endpoint: GET /api/actions/{name}/status", "shortDescription": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/actions/{name}/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf2e6e2188a510ee", "name": "Unused endpoint: GET /api/sessions", "shortDescription": {"text": "Unused endpoint: GET /api/sessions"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ae0da226f234c4e", "name": "Unused endpoint: GET /api/sessions/search", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/search"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/sessions/search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7aa4b2518cbbbfa2", "name": "Unused endpoint: GET /api/config", "shortDescription": {"text": "Unused endpoint: GET /api/config"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f265efee78815c9c", "name": "Unused endpoint: GET /api/config/defaults", "shortDescription": {"text": "Unused endpoint: GET /api/config/defaults"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/config/defaults` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3df459b886bf814", "name": "Unused endpoint: GET /api/config/schema", "shortDescription": {"text": "Unused endpoint: GET /api/config/schema"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/config/schema` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-def8762309fb2ecd", "name": "Unused endpoint: GET /api/model/info", "shortDescription": {"text": "Unused endpoint: GET /api/model/info"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/model/info` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22923df0fba6d7e8", "name": "Unused endpoint: PUT /api/config", "shortDescription": {"text": "Unused endpoint: PUT /api/config"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7565b3d2505e70e", "name": "Unused endpoint: GET /api/env", "shortDescription": {"text": "Unused endpoint: GET /api/env"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4627a78bce493dad", "name": "Unused endpoint: PUT /api/env", "shortDescription": {"text": "Unused endpoint: PUT /api/env"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60740ae29f26a801", "name": "Unused endpoint: DELETE /api/env", "shortDescription": {"text": "Unused endpoint: DELETE /api/env"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `DELETE /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9396e8dc7a5e36ce", "name": "Unused endpoint: POST /api/env/reveal", "shortDescription": {"text": "Unused endpoint: POST /api/env/reveal"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/env/reveal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65e17379ca9ada31", "name": "Unused endpoint: GET /api/providers/oauth", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/providers/oauth` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbd2f0eaa1a58b5a", "name": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `DELETE /api/providers/oauth/{provider_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-796c2da313969aed", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/start` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d3c1410ce59a120", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/submit` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42dcf4e222d9eb9a", "name": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/providers/oauth/{provider_id}/poll/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e82e4f8bdc25ea20", "name": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `DELETE /api/providers/oauth/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47dfa881a4926912", "name": "Unused endpoint: GET /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-587d4512fde14873", "name": "Unused endpoint: GET /api/sessions/{session_id}/messages", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/sessions/{session_id}/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-710e260b0cccd592", "name": "Unused endpoint: DELETE /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `DELETE /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3bf72f059406b13", "name": "Unused endpoint: GET /api/logs", "shortDescription": {"text": "Unused endpoint: GET /api/logs"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/logs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1b3b0ab05f41d96", "name": "Unused endpoint: GET /api/cron/jobs", "shortDescription": {"text": "Unused endpoint: GET /api/cron/jobs"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/cron/jobs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4245b126ce91043a", "name": "Unused endpoint: GET /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: GET /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5a29a861d68ae13", "name": "Unused endpoint: POST /api/cron/jobs", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/cron/jobs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5488a9ac7aa50f30", "name": "Unused endpoint: PUT /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: PUT /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f56baeca02d3e05", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/pause` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-664b2f011335d30f", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/resume` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5bf7978d0cc4502e", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/trigger` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38c475547c90236e", "name": "Unused endpoint: DELETE /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `DELETE /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cbc08e97a8f0293", "name": "Unused endpoint: GET /api/skills", "shortDescription": {"text": "Unused endpoint: GET /api/skills"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/skills` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfeacbbd0da19806", "name": "Unused endpoint: PUT /api/skills/toggle", "shortDescription": {"text": "Unused endpoint: PUT /api/skills/toggle"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/skills/toggle` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f51e3dc1eac4136", "name": "Unused endpoint: GET /api/tools/toolsets", "shortDescription": {"text": "Unused endpoint: GET /api/tools/toolsets"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/tools/toolsets` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77ec25bb4cb6da91", "name": "Unused endpoint: GET /api/config/raw", "shortDescription": {"text": "Unused endpoint: GET /api/config/raw"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/config/raw` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d5450525d0de690", "name": "Unused endpoint: PUT /api/config/raw", "shortDescription": {"text": "Unused endpoint: PUT /api/config/raw"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/config/raw` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-717ded8e19fba821", "name": "Unused endpoint: GET /api/analytics/usage", "shortDescription": {"text": "Unused endpoint: GET /api/analytics/usage"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/analytics/usage` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b1d5926fda286fa", "name": "Unused endpoint: GET /{full_path:path}", "shortDescription": {"text": "Unused endpoint: GET /{full_path:path}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /{full_path:path}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc79f8e87faf7564", "name": "Unused endpoint: GET /api/dashboard/themes", "shortDescription": {"text": "Unused endpoint: GET /api/dashboard/themes"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/dashboard/themes` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89fd880c92a3cf4e", "name": "Unused endpoint: PUT /api/dashboard/theme", "shortDescription": {"text": "Unused endpoint: PUT /api/dashboard/theme"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `PUT /api/dashboard/theme` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09aeaa2a398cc2d1", "name": "Unused endpoint: GET /api/dashboard/plugins", "shortDescription": {"text": "Unused endpoint: GET /api/dashboard/plugins"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/dashboard/plugins` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57b1eaaa7c0d5fac", "name": "Unused endpoint: GET /api/dashboard/plugins/rescan", "shortDescription": {"text": "Unused endpoint: GET /api/dashboard/plugins/rescan"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /api/dashboard/plugins/rescan` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77319cccd83520cc", "name": "Unused endpoint: GET /dashboard-plugins/{plugin_name}/{file_path:path}", "shortDescription": {"text": "Unused endpoint: GET /dashboard-plugins/{plugin_name}/{file_path:path}"}, "fullDescription": {"text": "`harness/cli/web_server.py` declares `GET /dashboard-plugins/{plugin_name}/{file_path:path}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e934dba02d2877a1", "name": "Unused endpoint: GET /messages", "shortDescription": {"text": "Unused endpoint: GET /messages"}, "fullDescription": {"text": "`scripts/whatsapp-bridge/bridge.js` declares `GET /messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f222a275ed687b3", "name": "Unused endpoint: POST /send", "shortDescription": {"text": "Unused endpoint: POST /send"}, "fullDescription": {"text": "`scripts/whatsapp-bridge/bridge.js` declares `POST /send` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b1260fff9b74e7d", "name": "Unused endpoint: POST /edit", "shortDescription": {"text": "Unused endpoint: POST /edit"}, "fullDescription": {"text": "`scripts/whatsapp-bridge/bridge.js` declares `POST /edit` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79c318fa6e4c6da5", "name": "Unused endpoint: POST /send-media", "shortDescription": {"text": "Unused endpoint: POST /send-media"}, "fullDescription": {"text": "`scripts/whatsapp-bridge/bridge.js` declares `POST /send-media` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9c0225beb33c8842", "name": "Unused endpoint: POST /typing", "shortDescription": {"text": "Unused endpoint: POST /typing"}, "fullDescription": {"text": "`scripts/whatsapp-bridge/bridge.js` declares `POST /typing` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19325"}, "properties": {"repository": "sevnightingale/plutus-agent", "repoUrl": "https://github.com/sevnightingale/plutus-agent", "branch": "main"}, "results": [{"ruleId": "scanner-1c02daef7a9ff230", "level": "note", "message": {"text": "Possibly dead Python function: crawl_source"}, "properties": {"repobilityId": "2dd6022379f97114", "scanner": "scanner-primary", "fingerprint": "1c02daef7a9ff230", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build_skills_index.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40a2bdb37d4a15fe", "level": "note", "message": {"text": "Possibly dead Python function: hl_place_trigger"}, "properties": {"repobilityId": "b7b9efd226480dc9", "scanner": "scanner-primary", "fingerprint": "40a2bdb37d4a15fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/hyperliquid/venue.py:497"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9b91b5272d6bc92", "level": "note", "message": {"text": "Possibly dead Python function: calc_rsi"}, "properties": {"repobilityId": "acecc8031092cd99", "scanner": "scanner-primary", "fingerprint": "f9b91b5272d6bc92", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:35"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85faae2ee8bcb901", "level": "note", "message": {"text": "Possibly dead Python function: calc_stochastic"}, "properties": {"repobilityId": "4fad0ce972691a61", "scanner": "scanner-primary", "fingerprint": "85faae2ee8bcb901", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:41"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23fff76cc4ec02b9", "level": "note", "message": {"text": "Possibly dead Python function: calc_williams_r"}, "properties": {"repobilityId": "4ff593db347a0fea", "scanner": "scanner-primary", "fingerprint": "23fff76cc4ec02b9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:50"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-73b0825d36e882fb", "level": "note", "message": {"text": "Possibly dead Python function: calc_cci"}, "properties": {"repobilityId": "6dff77108e36454c", "scanner": "scanner-primary", "fingerprint": "73b0825d36e882fb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:57"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ceb9554e5bd2d927", "level": "note", "message": {"text": "Possibly dead Python function: calc_mfi"}, "properties": {"repobilityId": "ff5337893880ae28", "scanner": "scanner-primary", "fingerprint": "ceb9554e5bd2d927", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:64"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3bac885f5728e04", "level": "note", "message": {"text": "Possibly dead Python function: calc_roc"}, "properties": {"repobilityId": "7c5b24c40a6e7f65", "scanner": "scanner-primary", "fingerprint": "d3bac885f5728e04", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85722d31d3276044", "level": "note", "message": {"text": "Possibly dead Python function: calc_macd"}, "properties": {"repobilityId": "08d5ebd74108d777", "scanner": "scanner-primary", "fingerprint": "85722d31d3276044", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:81"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3b373eaa98dfff3", "level": "note", "message": {"text": "Possibly dead Python function: calc_adx"}, "properties": {"repobilityId": "9197ceafa0f6e2cc", "scanner": "scanner-primary", "fingerprint": "f3b373eaa98dfff3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72a3252f69d97003", "level": "note", "message": {"text": "Possibly dead Python function: calc_aroon"}, "properties": {"repobilityId": "2ac0245a5b5bdc5f", "scanner": "scanner-primary", "fingerprint": "72a3252f69d97003", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:103"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd2d3155aadd9495", "level": "note", "message": {"text": "Possibly dead Python function: calc_vortex"}, "properties": {"repobilityId": "107a69008e94e3ea", "scanner": "scanner-primary", "fingerprint": "fd2d3155aadd9495", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:122"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f0aa3962ef0dba7", "level": "note", "message": {"text": "Possibly dead Python function: calc_sma"}, "properties": {"repobilityId": "deee09ba31f5f8c0", "scanner": "scanner-primary", "fingerprint": "6f0aa3962ef0dba7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:133"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc7568c0da294b83", "level": "note", "message": {"text": "Possibly dead Python function: calc_ema"}, "properties": {"repobilityId": "ecb662cf3206f798", "scanner": "scanner-primary", "fingerprint": "dc7568c0da294b83", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:140"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a2a182f9c835a7d5", "level": "note", "message": {"text": "Possibly dead Python function: calc_vwap"}, "properties": {"repobilityId": "cb1e81812b0b65bc", "scanner": "scanner-primary", "fingerprint": "a2a182f9c835a7d5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:147"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13e081c1510256dc", "level": "note", "message": {"text": "Possibly dead Python function: calc_bbands"}, "properties": {"repobilityId": "60e3d8cbfed1ed55", "scanner": "scanner-primary", "fingerprint": "13e081c1510256dc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:158"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f78f89147d054335", "level": "note", "message": {"text": "Possibly dead Python function: calc_bbwidth"}, "properties": {"repobilityId": "fbcb314bbf00fae9", "scanner": "scanner-primary", "fingerprint": "f78f89147d054335", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:168"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1efbacfc09bea120", "level": "note", "message": {"text": "Possibly dead Python function: calc_keltner"}, "properties": {"repobilityId": "9c151c7456b956d3", "scanner": "scanner-primary", "fingerprint": "1efbacfc09bea120", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:175"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4970c448b7d31383", "level": "note", "message": {"text": "Possibly dead Python function: calc_donchian"}, "properties": {"repobilityId": "afe8d0354040b617", "scanner": "scanner-primary", "fingerprint": "4970c448b7d31383", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:188"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f1fe3f5a5d02929", "level": "note", "message": {"text": "Possibly dead Python function: calc_atr"}, "properties": {"repobilityId": "15cead6509726e2e", "scanner": "scanner-primary", "fingerprint": "2f1fe3f5a5d02929", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:197"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e0e726e215c0afb6", "level": "note", "message": {"text": "Possibly dead Python function: calc_obv"}, "properties": {"repobilityId": "2ac480e6d9bfdd38", "scanner": "scanner-primary", "fingerprint": "e0e726e215c0afb6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/_calc.py:206"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-406f92b3954c2951", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "406f92b3954c2951", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/vortex.py:648"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28f60e4ddf716018", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "28f60e4ddf716018", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/ema.py:583"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d4820933277e47db", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "d4820933277e47db", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/donchian.py:518"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89fb3addfbb51d25", "level": "note", "message": {"text": "Possibly dead Python function: is_preprocessor_available"}, "properties": {"repobilityId": "372fd6049531921f", "scanner": "scanner-primary", "fingerprint": "89fb3addfbb51d25", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/__init__.py:68"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5ab5935b3491a68", "level": "note", "message": {"text": "Possibly dead Python function: list_available_preprocessors"}, "properties": {"repobilityId": "5590bd46246cfb19", "scanner": "scanner-primary", "fingerprint": "b5ab5935b3491a68", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/__init__.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60e698ec651a0712", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "60e698ec651a0712", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/rsi.py:336"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ffd02eb6b24cf13", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "9ffd02eb6b24cf13", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/bbands.py:568"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc59306d8353dad6", "level": "note", "message": {"text": "Possibly dead Python function: to_compact"}, "properties": {"repobilityId": "d316530e01a36cac", "scanner": "scanner-primary", "fingerprint": "dc59306d8353dad6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trading/integrations/ta/preprocessors/trix.py:497"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc27ab3668a869cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:150"}, "properties": {"repobilityId": "e949edfa4764d3dd", "scanner": "scanner-primary", "fingerprint": "dc27ab3668a869cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"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-a012f5ebc5d77107", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:146"}, "properties": {"repobilityId": "71c29025b7cf6f91", "scanner": "scanner-primary", "fingerprint": "a012f5ebc5d77107", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-6f111ff0ed53851e", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:146"}, "properties": {"repobilityId": "3b8f87d79b1a5cf5", "scanner": "scanner-primary", "fingerprint": "6f111ff0ed53851e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-b8e51c4fca128873", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:61"}, "properties": {"repobilityId": "49966405b6b3935d", "scanner": "scanner-primary", "fingerprint": "b8e51c4fca128873", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-c98612bb402ec9b9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:258"}, "properties": {"repobilityId": "631cc569ce41afeb", "scanner": "scanner-primary", "fingerprint": "c98612bb402ec9b9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 258}}}]}, {"ruleId": "scanner-467bc3c7499acaf8", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in harness/repl.py:6179"}, "properties": {"repobilityId": "119a5b99fe5c4ec0", "scanner": "scanner-primary", "fingerprint": "467bc3c7499acaf8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/repl.py"}, "region": {"startLine": 6179}}}]}, {"ruleId": "scanner-cdc1e156b1bd2ed7", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in harness/cli/tips.py:304"}, "properties": {"repobilityId": "3d2409416e1aa58e", "scanner": "scanner-primary", "fingerprint": "cdc1e156b1bd2ed7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/tips.py"}, "region": {"startLine": 304}}}]}, {"ruleId": "scanner-a14560c3320043ae", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in harness/tools/transcription_tools.py:410"}, "properties": {"repobilityId": "25ee6bfa2106e979", "scanner": "scanner-primary", "fingerprint": "a14560c3320043ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/tools/transcription_tools.py"}, "region": {"startLine": 410}}}]}, {"ruleId": "scanner-4fea7ce968e9f1f8", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in harness/tools/skills_guard.py:294"}, "properties": {"repobilityId": "d2a8dc45455d3288", "scanner": "scanner-primary", "fingerprint": "4fea7ce968e9f1f8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/tools/skills_guard.py"}, "region": {"startLine": 294}}}]}, {"ruleId": "scanner-5bdbdbb4ae86a693", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in harness/tools/skills_guard.py:297"}, "properties": {"repobilityId": "0a690ccfea4f4e4f", "scanner": "scanner-primary", "fingerprint": "5bdbdbb4ae86a693", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/tools/skills_guard.py"}, "region": {"startLine": 297}}}]}, {"ruleId": "scanner-c176cf81ef57aaa3", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in harness/tools/environments/docker.py:566"}, "properties": {"repobilityId": "33af8bd9c78282b4", "scanner": "scanner-primary", "fingerprint": "c176cf81ef57aaa3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/tools/environments/docker.py"}, "region": {"startLine": 566}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84750cabd2f12579", "level": "note", "message": {"text": "Very large file: tests/test_state.py (1914 lines)"}, "properties": {"repobilityId": "958cad6f8146c55d", "scanner": "scanner-primary", "fingerprint": "84750cabd2f12579", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d834643af8c16ca", "level": "note", "message": {"text": "Very large file: tests/cli/test_runtime_provider_resolution.py (1501 lines)"}, "properties": {"repobilityId": "9c89470aab41bf7e", "scanner": "scanner-primary", "fingerprint": "2d834643af8c16ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fc2601840dc51b18", "level": "note", "message": {"text": "Very large file: tests/cli/test_commands.py (1326 lines)"}, "properties": {"repobilityId": "1c0a34eff4971ce9", "scanner": "scanner-primary", "fingerprint": "fc2601840dc51b18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-54cb1f27db6634ac", "level": "note", "message": {"text": "Very large file: tests/cli/test_gateway_service.py (1987 lines)"}, "properties": {"repobilityId": "02fde6e9fa89e6ed", "scanner": "scanner-primary", "fingerprint": "54cb1f27db6634ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ff5180d00f6d023f", "level": "note", "message": {"text": "Very large file: tests/cli/test_auth_commands.py (1476 lines)"}, "properties": {"repobilityId": "a60bab7e6751a353", "scanner": "scanner-primary", "fingerprint": "ff5180d00f6d023f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cf68b4dedd8108ea", "level": "note", "message": {"text": "Very large file: tests/cli/test_web_server.py (1672 lines)"}, "properties": {"repobilityId": "aa951239bb92b382", "scanner": "scanner-primary", "fingerprint": "cf68b4dedd8108ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-58d38ae4e3157656", "level": "note", "message": {"text": "Very large file: tests/cli/test_update_gateway_restart.py (1263 lines)"}, "properties": {"repobilityId": "b2bd53b176c4061f", "scanner": "scanner-primary", "fingerprint": "58d38ae4e3157656", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b7fc545e31555fbb", "level": "note", "message": {"text": "Very large file: tests/agent/test_auxiliary_client.py (1205 lines)"}, "properties": {"repobilityId": "3ccdfd063d798f84", "scanner": "scanner-primary", "fingerprint": "b7fc545e31555fbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad6fd10e2227fa98", "level": "note", "message": {"text": "Very large file: tests/agent/test_bedrock_adapter.py (1232 lines)"}, "properties": {"repobilityId": "19fa1ff5885b0599", "scanner": "scanner-primary", "fingerprint": "ad6fd10e2227fa98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d848ee9f82ac0272", "level": "note", "message": {"text": "Very large file: tests/agent/test_anthropic_adapter.py (1749 lines)"}, "properties": {"repobilityId": "4894fb548a256a11", "scanner": "scanner-primary", "fingerprint": "d848ee9f82ac0272", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-da6cab15ef8b831a", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_run_agent.py (4682 lines)"}, "properties": {"repobilityId": "daab8712614cd7c6", "scanner": "scanner-primary", "fingerprint": "da6cab15ef8b831a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0d8f6f8a3d2df7a", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_streaming.py (1357 lines)"}, "properties": {"repobilityId": "33f77e6e522804bc", "scanner": "scanner-primary", "fingerprint": "e0d8f6f8a3d2df7a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-11abd7b076d79645", "level": "note", "message": {"text": "Very large file: tests/cron/test_scheduler.py (1746 lines)"}, "properties": {"repobilityId": "fe623458cdd001c5", "scanner": "scanner-primary", "fingerprint": "11abd7b076d79645", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-78590c3f90974ff9", "level": "note", "message": {"text": "Very large file: tests/tools/test_voice_cli_integration.py (1296 lines)"}, "properties": {"repobilityId": "ae0930df4deb0d56", "scanner": "scanner-primary", "fingerprint": "78590c3f90974ff9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87d07e8a14b1b18d", "level": "note", "message": {"text": "Very large file: tests/tools/test_send_message_tool.py (1326 lines)"}, "properties": {"repobilityId": "c878a9c5cdb2cc56", "scanner": "scanner-primary", "fingerprint": "87d07e8a14b1b18d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-285d555d79527542", "level": "note", "message": {"text": "Very large file: tests/tools/test_tirith_security.py (998 lines)"}, "properties": {"repobilityId": "f774e5541b509150", "scanner": "scanner-primary", "fingerprint": "285d555d79527542", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8695e1b7f70431df", "level": "note", "message": {"text": "Very large file: tests/tools/test_skills_hub.py (1361 lines)"}, "properties": {"repobilityId": "5b03090a3c639fb1", "scanner": "scanner-primary", "fingerprint": "8695e1b7f70431df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-78859b21b1164278", "level": "note", "message": {"text": "Very large file: tests/tools/test_delegate.py (2026 lines)"}, "properties": {"repobilityId": "4ac037cc3c725d32", "scanner": "scanner-primary", "fingerprint": "78859b21b1164278", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f853ba80e9def9c0", "level": "note", "message": {"text": "Very large file: tests/tools/test_transcription_tools.py (1256 lines)"}, "properties": {"repobilityId": "c2ce6610fe5444a4", "scanner": "scanner-primary", "fingerprint": "f853ba80e9def9c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-17b6ff63b7ba2de0", "level": "note", "message": {"text": "Very large file: tests/tools/test_mcp_tool.py (3152 lines)"}, "properties": {"repobilityId": "7e46ce0fadc02210", "scanner": "scanner-primary", "fingerprint": "17b6ff63b7ba2de0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e90549e5d25476d", "level": "note", "message": {"text": "Very large file: tests/gateway/test_voice_command.py (2708 lines)"}, "properties": {"repobilityId": "ca7933a2f1ad0810", "scanner": "scanner-primary", "fingerprint": "5e90549e5d25476d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ec3864190cbe9197", "level": "note", "message": {"text": "Very large file: tests/gateway/test_stream_consumer.py (1334 lines)"}, "properties": {"repobilityId": "55e267f0dd84efad", "scanner": "scanner-primary", "fingerprint": "ec3864190cbe9197", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f879a417b8f898b6", "level": "note", "message": {"text": "Very large file: tests/gateway/test_api_server.py (2184 lines)"}, "properties": {"repobilityId": "e546f99237d4ed08", "scanner": "scanner-primary", "fingerprint": "f879a417b8f898b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6f2958b3f0f96e0", "level": "note", "message": {"text": "Very large file: tests/gateway/test_slack.py (1923 lines)"}, "properties": {"repobilityId": "bbdde7270ce13531", "scanner": "scanner-primary", "fingerprint": "e6f2958b3f0f96e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ae2419a65b7cc6f6", "level": "note", "message": {"text": "Very large file: scripts/install.sh (1436 lines)"}, "properties": {"repobilityId": "3177819a6548cd68", "scanner": "scanner-primary", "fingerprint": "ae2419a65b7cc6f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2d59916a455925b", "level": "note", "message": {"text": "Very large file: harness/run_agent.py (12000 lines)"}, "properties": {"repobilityId": "beefbdcc8d5f43a5", "scanner": "scanner-primary", "fingerprint": "f2d59916a455925b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c703f2f0daa202d", "level": "note", "message": {"text": "Very large file: harness/repl.py (11094 lines)"}, "properties": {"repobilityId": "c918445c4c20144b", "scanner": "scanner-primary", "fingerprint": "1c703f2f0daa202d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a851747ce1bb3dae", "level": "note", "message": {"text": "Very large file: harness/state.py (1607 lines)"}, "properties": {"repobilityId": "a75f61f6096aef4d", "scanner": "scanner-primary", "fingerprint": "a851747ce1bb3dae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3fcd2f2a674fb3c6", "level": "note", "message": {"text": "Very large file: harness/cli/tools_config.py (2103 lines)"}, "properties": {"repobilityId": "e085ee3751b82da2", "scanner": "scanner-primary", "fingerprint": "3fcd2f2a674fb3c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4da63c391200bba2", "level": "note", "message": {"text": "Very large file: harness/cli/commands.py (1419 lines)"}, "properties": {"repobilityId": "bbc54c0fe77db8cf", "scanner": "scanner-primary", "fingerprint": "4da63c391200bba2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6cd4ba297c78d0cf", "level": "note", "message": {"text": "Very large file: harness/cli/config.py (4033 lines)"}, "properties": {"repobilityId": "a45ceb2a56e9bea8", "scanner": "scanner-primary", "fingerprint": "6cd4ba297c78d0cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0a2383823d8deee", "level": "note", "message": {"text": "Very large file: harness/cli/auth.py (3513 lines)"}, "properties": {"repobilityId": "ebd3452352810fde", "scanner": "scanner-primary", "fingerprint": "f0a2383823d8deee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-41fac6f33b073226", "level": "note", "message": {"text": "Very large file: harness/cli/skills_hub.py (1384 lines)"}, "properties": {"repobilityId": "5f29f4f98690f748", "scanner": "scanner-primary", "fingerprint": "41fac6f33b073226", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7fbaa9d1e88cd32a", "level": "note", "message": {"text": "Very large file: harness/cli/model_switch.py (1377 lines)"}, "properties": {"repobilityId": "1d748644d53fdb2c", "scanner": "scanner-primary", "fingerprint": "7fbaa9d1e88cd32a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-01ccddc149763298", "level": "note", "message": {"text": "Very large file: harness/cli/gateway.py (3210 lines)"}, "properties": {"repobilityId": "87affa100dcb7f9c", "scanner": "scanner-primary", "fingerprint": "01ccddc149763298", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9c5fee46f8fc9198", "level": "note", "message": {"text": "Very large file: harness/cli/web_server.py (2832 lines)"}, "properties": {"repobilityId": "88bc347c222d649d", "scanner": "scanner-primary", "fingerprint": "9c5fee46f8fc9198", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f17d96cd937dec6a", "level": "note", "message": {"text": "Very large file: harness/cli/setup.py (3508 lines)"}, "properties": {"repobilityId": "bd4884bc6e3dd4f5", "scanner": "scanner-primary", "fingerprint": "f17d96cd937dec6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24bb6ab4d64ba06d", "level": "note", "message": {"text": "Very large file: harness/cli/models.py (2726 lines)"}, "properties": {"repobilityId": "338a4cf3fdf760c2", "scanner": "scanner-primary", "fingerprint": "24bb6ab4d64ba06d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-03ba369e6c1c0430", "level": "note", "message": {"text": "Very large file: harness/cli/doctor.py (1170 lines)"}, "properties": {"repobilityId": "df271c0ce8004010", "scanner": "scanner-primary", "fingerprint": "03ba369e6c1c0430", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a08ea7e20bd05560", "level": "note", "message": {"text": "Very large file: harness/cli/main.py (8899 lines)"}, "properties": {"repobilityId": "246bde5d18556b8e", "scanner": "scanner-primary", "fingerprint": "a08ea7e20bd05560", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63fa7db76b0507ad", "level": "note", "message": {"text": "Very large file: harness/agent/context_compressor.py (1284 lines)"}, "properties": {"repobilityId": "0859b4c7356388df", "scanner": "scanner-primary", "fingerprint": "63fa7db76b0507ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d1d70cc059500f8", "level": "note", "message": {"text": "Very large file: harness/agent/credential_pool.py (1348 lines)"}, "properties": {"repobilityId": "1d23f85cd26ec6f5", "scanner": "scanner-primary", "fingerprint": "1d1d70cc059500f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8d946af6613190dc", "level": "note", "message": {"text": "Very large file: harness/agent/anthropic_adapter.py (1601 lines)"}, "properties": {"repobilityId": "02710cf34afbd534", "scanner": "scanner-primary", "fingerprint": "8d946af6613190dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cbbff1dd7bfa3fec", "level": "note", "message": {"text": "Very large file: harness/agent/auxiliary_client.py (3109 lines)"}, "properties": {"repobilityId": "e72db1914f4acae5", "scanner": "scanner-primary", "fingerprint": "cbbff1dd7bfa3fec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-26a4833b89dacc05", "level": "note", "message": {"text": "Very large file: harness/cron/scheduler.py (1576 lines)"}, "properties": {"repobilityId": "a65e8a00cc7e053c", "scanner": "scanner-primary", "fingerprint": "26a4833b89dacc05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-faafcf1be9eec94f", "level": "note", "message": {"text": "Very large file: harness/tools/mcp_tool.py (2681 lines)"}, "properties": {"repobilityId": "3b10500a112d4bb2", "scanner": "scanner-primary", "fingerprint": "faafcf1be9eec94f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f683fe9ca4ef7ebd", "level": "note", "message": {"text": "Very large file: harness/tools/web_tools.py (2101 lines)"}, "properties": {"repobilityId": "85634ba041f0dba3", "scanner": "scanner-primary", "fingerprint": "f683fe9ca4ef7ebd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d57a0cd728c93fb", "level": "note", "message": {"text": "Very large file: harness/tools/delegate_tool.py (2168 lines)"}, "properties": {"repobilityId": "62624cae04fd38a7", "scanner": "scanner-primary", "fingerprint": "3d57a0cd728c93fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b58bdc5315cbf4a1", "level": "note", "message": {"text": "Very large file: harness/tools/browser_tool.py (2514 lines)"}, "properties": {"repobilityId": "1fc45e63559bebeb", "scanner": "scanner-primary", "fingerprint": "b58bdc5315cbf4a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-533826ed04910de8", "level": "note", "message": {"text": "Very large file: harness/tools/skills_hub.py (3054 lines)"}, "properties": {"repobilityId": "6533cea989bace80", "scanner": "scanner-primary", "fingerprint": "533826ed04910de8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21850a38b05f5de8", "level": "note", "message": {"text": "Very large file: harness/tools/code_execution_tool.py (1579 lines)"}, "properties": {"repobilityId": "b0b79d25a36f7399", "scanner": "scanner-primary", "fingerprint": "21850a38b05f5de8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1057e234ac425945", "level": "note", "message": {"text": "Very large file: harness/tools/tts_tool.py (1515 lines)"}, "properties": {"repobilityId": "d0d51424c428c74e", "scanner": "scanner-primary", "fingerprint": "1057e234ac425945", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d819cc2fd55f7688", "level": "note", "message": {"text": "Very large file: harness/tools/skills_tool.py (1445 lines)"}, "properties": {"repobilityId": "2564598b582ca4dd", "scanner": "scanner-primary", "fingerprint": "d819cc2fd55f7688", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6aa659f76ac23f91", "level": "note", "message": {"text": "Very large file: harness/tools/file_operations.py (1251 lines)"}, "properties": {"repobilityId": "7ea626aa0d44ccb4", "scanner": "scanner-primary", "fingerprint": "6aa659f76ac23f91", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e185099f80b828c3", "level": "note", "message": {"text": "Very large file: harness/tools/terminal_tool.py (2076 lines)"}, "properties": {"repobilityId": "c76d80fc10f6e493", "scanner": "scanner-primary", "fingerprint": "e185099f80b828c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83db13bc2fe10a14", "level": "note", "message": {"text": "Very large file: harness/gateway/session.py (1277 lines)"}, "properties": {"repobilityId": "9a2a51e44b4ab584", "scanner": "scanner-primary", "fingerprint": "83db13bc2fe10a14", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb022280c28b3d76", "level": "note", "message": {"text": "Very large file: harness/gateway/run.py (11361 lines)"}, "properties": {"repobilityId": "8756cf6a5de141b2", "scanner": "scanner-primary", "fingerprint": "bb022280c28b3d76", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-53c513f6d1e2b1e5", "level": "note", "message": {"text": "Very large file: harness/gateway/platforms/api_server.py (2613 lines)"}, "properties": {"repobilityId": "b0db90e1053645e5", "scanner": "scanner-primary", "fingerprint": "53c513f6d1e2b1e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffed674de4d27678", "level": "note", "message": {"text": "Very large file: harness/gateway/platforms/telegram.py (3295 lines)"}, "properties": {"repobilityId": "67e8e010ba9546d4", "scanner": "scanner-primary", "fingerprint": "ffed674de4d27678", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3970973d8f05e48e", "level": "note", "message": {"text": "Very large file: harness/gateway/platforms/base.py (2701 lines)"}, "properties": {"repobilityId": "a0e1966a9000efad", "scanner": "scanner-primary", "fingerprint": "3970973d8f05e48e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-caea6dc797ba9cb4", "level": "note", "message": {"text": "Very large file: harness/gateway/platforms/discord.py (3931 lines)"}, "properties": {"repobilityId": "39ec3c70ceec23d9", "scanner": "scanner-primary", "fingerprint": "caea6dc797ba9cb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3a133325fdfe928c", "level": "note", "message": {"text": "Very large file: harness/gateway/platforms/slack.py (1744 lines)"}, "properties": {"repobilityId": "0d82ad1330ed66ed", "scanner": "scanner-primary", "fingerprint": "3a133325fdfe928c", "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": "8612187ef4a673c6", "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": "48a6b376a0ab8c97", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "80e812c061339195", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "f9e0f18c7e173e95", "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": "dba9b78eb6d0474d", "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": "abfe2e7a9ef4c401", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-6587456e54cfe2c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/conftest.py:189"}, "properties": {"repobilityId": "78e6095fc9b09a7a", "scanner": "scanner-primary", "fingerprint": "6587456e54cfe2c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4dbf557d4564f75b", "level": "note", "message": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_logging.py:130"}, "properties": {"repobilityId": "650a558a680bb246", "scanner": "scanner-primary", "fingerprint": "4dbf557d4564f75b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-34d604673304ba09", "level": "note", "message": {"text": "Legacy-named symbol `test_migration_from_v2` in tests/test_state.py:1184"}, "properties": {"repobilityId": "1627904d0262611a", "scanner": "scanner-primary", "fingerprint": "34d604673304ba09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-02f1afd1a86bf64e", "level": "note", "message": {"text": "Legacy-named symbol `user_legacy` in tests/cli/test_gateway_service.py:1712"}, "properties": {"repobilityId": "63a474b2a14e3bd0", "scanner": "scanner-primary", "fingerprint": "02f1afd1a86bf64e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc2883e2208ea2cb", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/cli/test_heartbeat_seed.py:15"}, "properties": {"repobilityId": "73be8aa64b763427", "scanner": "scanner-primary", "fingerprint": "dc2883e2208ea2cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ccda2e09e379766", "level": "note", "message": {"text": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:221"}, "properties": {"repobilityId": "3f01227948917dca", "scanner": "scanner-primary", "fingerprint": "0ccda2e09e379766", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c0400b1246581269", "level": "note", "message": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/cli/test_model_switch_opencode_anthropic.py:80"}, "properties": {"repobilityId": "71b34006dbecbe07", "scanner": "scanner-primary", "fingerprint": "c0400b1246581269", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12a16c5b29aa5201", "level": "note", "message": {"text": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:28"}, "properties": {"repobilityId": "d4cdc0d072871af5", "scanner": "scanner-primary", "fingerprint": "12a16c5b29aa5201", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-baac74205df710b0", "level": "note", "message": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/cli/test_api_key_providers.py:861"}, "properties": {"repobilityId": "5e686e415dd56a8b", "scanner": "scanner-primary", "fingerprint": "baac74205df710b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b62987a9700cb693", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in tests/cli/test_backup.py:137"}, "properties": {"repobilityId": "70ec484548c186d5", "scanner": "scanner-primary", "fingerprint": "b62987a9700cb693", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a75c4251d20d3b0f", "level": "note", "message": {"text": "Legacy-named symbol `very_old` in tests/cli/test_debug.py:866"}, "properties": {"repobilityId": "fc0cab4c1409cb88", "scanner": "scanner-primary", "fingerprint": "a75c4251d20d3b0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f02eb93abda44c4e", "level": "note", "message": {"text": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:127"}, "properties": {"repobilityId": "7279420f346b1618", "scanner": "scanner-primary", "fingerprint": "f02eb93abda44c4e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b167abc331c91326", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:537"}, "properties": {"repobilityId": "996033503e06ff51", "scanner": "scanner-primary", "fingerprint": "b167abc331c91326", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-782bc149780ae17c", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:73"}, "properties": {"repobilityId": "5fb179433177cc45", "scanner": "scanner-primary", "fingerprint": "782bc149780ae17c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-326255cb0db4fbaa", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:277"}, "properties": {"repobilityId": "c5e68c7e4d40693a", "scanner": "scanner-primary", "fingerprint": "326255cb0db4fbaa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13bdaa2bfa238d44", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in tests/agent/test_anthropic_adapter.py:1380"}, "properties": {"repobilityId": "3852d391d847ff8d", "scanner": "scanner-primary", "fingerprint": "13bdaa2bfa238d44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8470b1f020b2c93a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:42"}, "properties": {"repobilityId": "d1f38ba3ba0b8ae8", "scanner": "scanner-primary", "fingerprint": "8470b1f020b2c93a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17e10dd3e7ec5e5b", "level": "note", "message": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:544"}, "properties": {"repobilityId": "285b20b9f69423f1", "scanner": "scanner-primary", "fingerprint": "17e10dd3e7ec5e5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6f6b86c6e29cb86f", "level": "note", "message": {"text": "Legacy-named symbol `fake_legacy` in tests/cron/test_scheduler_synthetic.py:102"}, "properties": {"repobilityId": "d34dc69dbcad60e9", "scanner": "scanner-primary", "fingerprint": "6f6b86c6e29cb86f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c363cd97308e3393", "level": "note", "message": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:489"}, "properties": {"repobilityId": "2f55a06e8532834f", "scanner": "scanner-primary", "fingerprint": "c363cd97308e3393", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1c7c1a960a2a9eb5", "level": "note", "message": {"text": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20"}, "properties": {"repobilityId": "8f9d07a9d5ae980b", "scanner": "scanner-primary", "fingerprint": "1c7c1a960a2a9eb5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8baa66867a0de516", "level": "note", "message": {"text": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:201"}, "properties": {"repobilityId": "38b2c70468a64b13", "scanner": "scanner-primary", "fingerprint": "8baa66867a0de516", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5703a638e3b6538a", "level": "note", "message": {"text": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:263"}, "properties": {"repobilityId": "bece58d5c8b688ce", "scanner": "scanner-primary", "fingerprint": "5703a638e3b6538a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-327078e56146d170", "level": "note", "message": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:243"}, "properties": {"repobilityId": "8da1b315806924cd", "scanner": "scanner-primary", "fingerprint": "327078e56146d170", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df2ff7f4a240da57", "level": "note", "message": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:81"}, "properties": {"repobilityId": "2c95b2c07559a211", "scanner": "scanner-primary", "fingerprint": "df2ff7f4a240da57", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bec0875d0bc57d38", "level": "note", "message": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:30"}, "properties": {"repobilityId": "5d40e4b4f6cefbc0", "scanner": "scanner-primary", "fingerprint": "bec0875d0bc57d38", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-90b44429190627f0", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/tools/test_file_state_registry.py:269"}, "properties": {"repobilityId": "3f23107b8a145e06", "scanner": "scanner-primary", "fingerprint": "90b44429190627f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffc1cb4ae297056a", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:606"}, "properties": {"repobilityId": "a8983c35eed96eaf", "scanner": "scanner-primary", "fingerprint": "ffc1cb4ae297056a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9a91448bce48696a", "level": "note", "message": {"text": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:1443"}, "properties": {"repobilityId": "6f14e688013ae6bf", "scanner": "scanner-primary", "fingerprint": "9a91448bce48696a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ccd05b934db8b9e2", "level": "note", "message": {"text": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4"}, "properties": {"repobilityId": "5bbce25bc4c36e70", "scanner": "scanner-primary", "fingerprint": "ccd05b934db8b9e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-118ec6ea45becb21", "level": "note", "message": {"text": "Legacy-named symbol `_scope_my_pkg_v2` in tests/tools/test_mcp_tool.py:3007"}, "properties": {"repobilityId": "a7d840d20524afa9", "scanner": "scanner-primary", "fingerprint": "118ec6ea45becb21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2fa28d8c5b8d2c91", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.py:87"}, "properties": {"repobilityId": "2b5c823fa549111a", "scanner": "scanner-primary", "fingerprint": "2fa28d8c5b8d2c91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87dc360b9e2d528d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_config_cwd_bridge.py:119"}, "properties": {"repobilityId": "b8373d8bcf3ca7ee", "scanner": "scanner-primary", "fingerprint": "87dc360b9e2d528d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abc209376c7eaabd", "level": "none", "message": {"text": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:269"}, "properties": {"repobilityId": "1569ef424ae9af74", "scanner": "scanner-primary", "fingerprint": "abc209376c7eaabd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb2ec959ffb37f2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_internal_event_bypass_pairing.py:361"}, "properties": {"repobilityId": "48785b69b659a35f", "scanner": "scanner-primary", "fingerprint": "eb2ec959ffb37f2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6960c59f2fb810a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.py:84"}, "properties": {"repobilityId": "58cafc28ed59cad2", "scanner": "scanner-primary", "fingerprint": "6960c59f2fb810a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63a1317a3b524dbe", "level": "note", "message": {"text": "Legacy-named symbol `sid_legacy` in tests/gateway/test_async_memory_flush.py:241"}, "properties": {"repobilityId": "3f8e9ca4ac31fa9c", "scanner": "scanner-primary", "fingerprint": "63a1317a3b524dbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1cef9575b4a3bfa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:764"}, "properties": {"repobilityId": "b77c90a68668a413", "scanner": "scanner-primary", "fingerprint": "1cef9575b4a3bfa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7f6dba5ea1e6097", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:351"}, "properties": {"repobilityId": "dc67702c58b16f70", "scanner": "scanner-primary", "fingerprint": "d7f6dba5ea1e6097", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e630a29a9ee2fb55", "level": "note", "message": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:43"}, "properties": {"repobilityId": "09f790ce6d1b6711", "scanner": "scanner-primary", "fingerprint": "e630a29a9ee2fb55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c98ec40276ae5c5c", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:188"}, "properties": {"repobilityId": "80868143f3a00df0", "scanner": "scanner-primary", "fingerprint": "c98ec40276ae5c5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1eb554fea793bd7f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:151"}, "properties": {"repobilityId": "102432faa66617e4", "scanner": "scanner-primary", "fingerprint": "1eb554fea793bd7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7f42c44717df8e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_discord_slash_commands.py:964"}, "properties": {"repobilityId": "8f93473f1f85b9a9", "scanner": "scanner-primary", "fingerprint": "d7f42c44717df8e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3966e23de6fe0f85", "level": "note", "message": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:105"}, "properties": {"repobilityId": "9b6db8fe02c378ca", "scanner": "scanner-primary", "fingerprint": "3966e23de6fe0f85", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-76410a05f70e1861", "level": "note", "message": {"text": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:176"}, "properties": {"repobilityId": "1414788d9a84e5bb", "scanner": "scanner-primary", "fingerprint": "76410a05f70e1861", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d419858e6173b3f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_running_agent_session_toggles.py:93"}, "properties": {"repobilityId": "afd6671849191ed4", "scanner": "scanner-primary", "fingerprint": "d419858e6173b3f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fcc4f20076957ab", "level": "note", "message": {"text": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:165"}, "properties": {"repobilityId": "ea43fdedeafd5a15", "scanner": "scanner-primary", "fingerprint": "7fcc4f20076957ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-77d6747deb62064e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:114"}, "properties": {"repobilityId": "73843e87301f6196", "scanner": "scanner-primary", "fingerprint": "77d6747deb62064e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db0b35250468506e", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:328"}, "properties": {"repobilityId": "2c1677fde98e2d01", "scanner": "scanner-primary", "fingerprint": "db0b35250468506e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b025b14ce2a128a3", "level": "note", "message": {"text": "Legacy-named symbol `test_fetch_snapshots_to_v2` in tests/trading/test_dispatchers_v2.py:42"}, "properties": {"repobilityId": "e0a36eaadabc056f", "scanner": "scanner-primary", "fingerprint": "b025b14ce2a128a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-74651acb1d509d83", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:77"}, "properties": {"repobilityId": "97e527e17b6d2549", "scanner": "scanner-primary", "fingerprint": "74651acb1d509d83", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f47591d06df8459b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:451"}, "properties": {"repobilityId": "73b727693aed8080", "scanner": "scanner-primary", "fingerprint": "f47591d06df8459b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-92d8dd2cbea72fb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/whatsapp-bridge/bridge.js:375"}, "properties": {"repobilityId": "148f745cdf92beff", "scanner": "scanner-primary", "fingerprint": "92d8dd2cbea72fb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-164a9a4bb3ec4425", "level": "none", "message": {"text": "Commented-code block (6 lines) in trading/integrations/hyperliquid/venue.py:35"}, "properties": {"repobilityId": "e527034c24deecb4", "scanner": "scanner-primary", "fingerprint": "164a9a4bb3ec4425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-023106706e15bb70", "level": "none", "message": {"text": "Commented-code block (5 lines) in trading/integrations/ta/_calc.py:215"}, "properties": {"repobilityId": "0adc84674e2238b5", "scanner": "scanner-primary", "fingerprint": "023106706e15bb70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32227a4c92fe1efb", "level": "none", "message": {"text": "Commented-code block (6 lines) in trading/integrations/flow/_calc.py:104"}, "properties": {"repobilityId": "e923623726dba119", "scanner": "scanner-primary", "fingerprint": "32227a4c92fe1efb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d16df48607f73951", "level": "none", "message": {"text": "Commented-code block (5 lines) in trading/dispatchers/register_prediction.py:113"}, "properties": {"repobilityId": "286713ba473f6330", "scanner": "scanner-primary", "fingerprint": "d16df48607f73951", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7620e67175050d56", "level": "none", "message": {"text": "Commented-code block (6 lines) in trading/dispatchers/record_data_point_observation.py:97"}, "properties": {"repobilityId": "f98fdff27909ba46", "scanner": "scanner-primary", "fingerprint": "7620e67175050d56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-161568295f89ae4b", "level": "none", "message": {"text": "Commented-code block (5 lines) in trading/lifecycle/write.py:25"}, "properties": {"repobilityId": "b84315e5394dbd7b", "scanner": "scanner-primary", "fingerprint": "161568295f89ae4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ec9c3280e15f607", "level": "none", "message": {"text": "Commented-code block (5 lines) in trading/perception/core/venue_registry.py:31"}, "properties": {"repobilityId": "38f11200521c8aa2", "scanner": "scanner-primary", "fingerprint": "4ec9c3280e15f607", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64c8e61ce49e8675", "level": "none", "message": {"text": "Commented-code block (6 lines) in trading/perception/core/data_point_registry.py:34"}, "properties": {"repobilityId": "8731850b3d48c038", "scanner": "scanner-primary", "fingerprint": "64c8e61ce49e8675", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5c6ca25ca646583", "level": "note", "message": {"text": "Legacy-named symbol `children_copy` in harness/run_agent.py:3572"}, "properties": {"repobilityId": "cf8050854bc24553", "scanner": "scanner-primary", "fingerprint": "b5c6ca25ca646583", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2cdc7c4882e0269d", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/run_agent.py:470"}, "properties": {"repobilityId": "b023ff8de7e98b47", "scanner": "scanner-primary", "fingerprint": "2cdc7c4882e0269d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b5d82466325e5c2", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/spawn.py:69"}, "properties": {"repobilityId": "22b17c7eb08000ba", "scanner": "scanner-primary", "fingerprint": "9b5d82466325e5c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72d4ea710bcbb7a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/model_tools.py:121"}, "properties": {"repobilityId": "3aaa05a90f7c2820", "scanner": "scanner-primary", "fingerprint": "72d4ea710bcbb7a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11462df6dee7ef06", "level": "note", "message": {"text": "Legacy-named symbol `cfg_backup` in harness/log.py:209"}, "properties": {"repobilityId": "f743f4bf32a214c2", "scanner": "scanner-primary", "fingerprint": "11462df6dee7ef06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fb1fa64cf95875f3", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/toolsets.py:66"}, "properties": {"repobilityId": "ad8dee402d0f5c1a", "scanner": "scanner-primary", "fingerprint": "fb1fa64cf95875f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2eaf01c44f8b3e5d", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/repl.py:443"}, "properties": {"repobilityId": "37115d3ed1d78632", "scanner": "scanner-primary", "fingerprint": "2eaf01c44f8b3e5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-175b561fe9a14874", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/state.py:146"}, "properties": {"repobilityId": "5e2b75d096adcea6", "scanner": "scanner-primary", "fingerprint": "175b561fe9a14874", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c956bc2d5ea5d5e9", "level": "none", "message": {"text": "Commented-code block (10 lines) in harness/cli/plugins.py:152"}, "properties": {"repobilityId": "ad051b6f95d50d31", "scanner": "scanner-primary", "fingerprint": "c956bc2d5ea5d5e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c54acc8fddff9f9", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in harness/cli/backup.py:114"}, "properties": {"repobilityId": "2114f03fe0d5f06a", "scanner": "scanner-primary", "fingerprint": "6c54acc8fddff9f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9d57cf6783b0934", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/tools_config.py:523"}, "properties": {"repobilityId": "9f9fbd1de3f77f40", "scanner": "scanner-primary", "fingerprint": "e9d57cf6783b0934", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6af9b2e2d569b4e9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/tools_config.py:385"}, "properties": {"repobilityId": "67bb2cea98ad9cd2", "scanner": "scanner-primary", "fingerprint": "6af9b2e2d569b4e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5e55706d46bdb0fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/commands.py:992"}, "properties": {"repobilityId": "d4bf10d3ff6ceb9a", "scanner": "scanner-primary", "fingerprint": "5e55706d46bdb0fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-608e811096d2be20", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/uninstall.py:176"}, "properties": {"repobilityId": "2830c97e6e97d9f0", "scanner": "scanner-primary", "fingerprint": "608e811096d2be20", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9a767602885cfe59", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in harness/cli/config.py:639"}, "properties": {"repobilityId": "d72eb310b6a43fd9", "scanner": "scanner-primary", "fingerprint": "9a767602885cfe59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d07a4153961a1b9d", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/cli/config.py:356"}, "properties": {"repobilityId": "0bfca7705cb39ad1", "scanner": "scanner-primary", "fingerprint": "d07a4153961a1b9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38f1b97fa7f0567b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/config.py:3805"}, "properties": {"repobilityId": "4e846947346a3b12", "scanner": "scanner-primary", "fingerprint": "38f1b97fa7f0567b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c9724b9a6042d74a", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/auth.py:361"}, "properties": {"repobilityId": "77c295f5f4224bb6", "scanner": "scanner-primary", "fingerprint": "c9724b9a6042d74a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8821ef61f1f10bd5", "level": "note", "message": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 harness/cli/skills_hub.py:569"}, "properties": {"repobilityId": "eedd12655a49c0e1", "scanner": "scanner-primary", "fingerprint": "8821ef61f1f10bd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b0cb8de0061548de", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/cli/model_switch.py:854"}, "properties": {"repobilityId": "efd3991fa26243c5", "scanner": "scanner-primary", "fingerprint": "b0cb8de0061548de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b7d6c86d2cd0340", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/gateway.py:1027"}, "properties": {"repobilityId": "dda1a4350857b92d", "scanner": "scanner-primary", "fingerprint": "9b7d6c86d2cd0340", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a59401fe35a07ef", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/cli/plugins_cmd.py:913"}, "properties": {"repobilityId": "8b02eb5c9f82b705", "scanner": "scanner-primary", "fingerprint": "5a59401fe35a07ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f07494961d3fcbae", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/runtime_provider.py:486"}, "properties": {"repobilityId": "be6eb2d0689339f7", "scanner": "scanner-primary", "fingerprint": "f07494961d3fcbae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c6b0ff3c7ae3297", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/cli/web_server.py:134"}, "properties": {"repobilityId": "394ff335243e4dd5", "scanner": "scanner-primary", "fingerprint": "4c6b0ff3c7ae3297", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f5e687310338a16", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/web_server.py:640"}, "properties": {"repobilityId": "0ace058fd51931d0", "scanner": "scanner-primary", "fingerprint": "6f5e687310338a16", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb2e30f42a4d8f70", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/setup.py:912"}, "properties": {"repobilityId": "7c397bc2b3dd55ed", "scanner": "scanner-primary", "fingerprint": "eb2e30f42a4d8f70", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c550159a467daca9", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/models.py:322"}, "properties": {"repobilityId": "c2507e4cbe782b4b", "scanner": "scanner-primary", "fingerprint": "c550159a467daca9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15fa7ad3742e53c3", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/cli/doctor.py:317"}, "properties": {"repobilityId": "840b023abd415ea6", "scanner": "scanner-primary", "fingerprint": "15fa7ad3742e53c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cbafe260aeba982", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/platforms.py:20"}, "properties": {"repobilityId": "c9e597ff6deb7ee6", "scanner": "scanner-primary", "fingerprint": "4cbafe260aeba982", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03b269df68d807f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/hooks.py:108"}, "properties": {"repobilityId": "d188800f9006ab1a", "scanner": "scanner-primary", "fingerprint": "03b269df68d807f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48206bfa4720b82d", "level": "note", "message": {"text": "Legacy-named symbol `_add_v1` in harness/cli/main.py:2539"}, "properties": {"repobilityId": "528de5593223b18d", "scanner": "scanner-primary", "fingerprint": "48206bfa4720b82d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f8b976f58eda168", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/main.py:1019"}, "properties": {"repobilityId": "4dc412370192b858", "scanner": "scanner-primary", "fingerprint": "9f8b976f58eda168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3101be6b1b0956d6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/cli/main.py:891"}, "properties": {"repobilityId": "6b6c8238fde725af", "scanner": "scanner-primary", "fingerprint": "3101be6b1b0956d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-59d6ba9e89678a6f", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/env_loader.py:88"}, "properties": {"repobilityId": "bc7d1cb475d05429", "scanner": "scanner-primary", "fingerprint": "59d6ba9e89678a6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d330d41783cfd3f6", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/cli/auth_commands.py:155"}, "properties": {"repobilityId": "627ef65083c63399", "scanner": "scanner-primary", "fingerprint": "d330d41783cfd3f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b810e3c6431715c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/codex_responses_adapter.py:253"}, "properties": {"repobilityId": "9373888ed39021d6", "scanner": "scanner-primary", "fingerprint": "b810e3c6431715c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c26e3eafe8725c2", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/agent/context_compressor.py:56"}, "properties": {"repobilityId": "a2d5ab68d60ffb02", "scanner": "scanner-primary", "fingerprint": "1c26e3eafe8725c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a51b1aa751bd3bc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/gemini_cloudcode_adapter.py:792"}, "properties": {"repobilityId": "916b17618c38e11e", "scanner": "scanner-primary", "fingerprint": "a51b1aa751bd3bc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85ea028fd311ff07", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/credential_pool.py:1092"}, "properties": {"repobilityId": "bc8e78c4ce6b3996", "scanner": "scanner-primary", "fingerprint": "85ea028fd311ff07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8113f13cf607e96", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/bedrock_adapter.py:94"}, "properties": {"repobilityId": "6fbe30b4e66079ba", "scanner": "scanner-primary", "fingerprint": "a8113f13cf607e96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6be83bfd84da6d7f", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/agent/error_classifier.py:223"}, "properties": {"repobilityId": "4cd0b02fc4c06190", "scanner": "scanner-primary", "fingerprint": "6be83bfd84da6d7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcf7d2e523fd8c66", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/agent/anthropic_adapter.py:31"}, "properties": {"repobilityId": "d0c033e57961faa7", "scanner": "scanner-primary", "fingerprint": "dcf7d2e523fd8c66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd4d44dc7d62f4ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/agent/usage_pricing.py:536"}, "properties": {"repobilityId": "978e28d01bd6b3fc", "scanner": "scanner-primary", "fingerprint": "fd4d44dc7d62f4ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7d714224bc317f8", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/agent/shell_hooks.py:86"}, "properties": {"repobilityId": "3c294a4ca16ec45e", "scanner": "scanner-primary", "fingerprint": "b7d714224bc317f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4d8cbdf85159ccb", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/auxiliary_client.py:99"}, "properties": {"repobilityId": "eeaf9f5d38339f83", "scanner": "scanner-primary", "fingerprint": "c4d8cbdf85159ccb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de4fbd280269ec67", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/display.py:713"}, "properties": {"repobilityId": "d6084ecc01a511b4", "scanner": "scanner-primary", "fingerprint": "de4fbd280269ec67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-790eaedca3ea6f67", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/agent/model_metadata.py:158"}, "properties": {"repobilityId": "12889c80e001ddd0", "scanner": "scanner-primary", "fingerprint": "790eaedca3ea6f67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ec478f6a1b09ff5", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/prompt_builder.py:284"}, "properties": {"repobilityId": "1523ae51b1f004fc", "scanner": "scanner-primary", "fingerprint": "1ec478f6a1b09ff5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a22ab8fd1c627bc2", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/agent/transports/types.py:40"}, "properties": {"repobilityId": "adbc26c0579d2615", "scanner": "scanner-primary", "fingerprint": "a22ab8fd1c627bc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d655caaa6a4c117", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/cron/scheduler.py:960"}, "properties": {"repobilityId": "856f47a94fc05bc4", "scanner": "scanner-primary", "fingerprint": "8d655caaa6a4c117", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff8878f915d26388", "level": "note", "message": {"text": "Legacy-named symbol `is_old` in harness/cron/jobs.py:623"}, "properties": {"repobilityId": "bce5bf3b13a64312", "scanner": "scanner-primary", "fingerprint": "ff8878f915d26388", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a76d88d5aabbd4d", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/mcp_tool.py:798"}, "properties": {"repobilityId": "60e3a766f900d367", "scanner": "scanner-primary", "fingerprint": "1a76d88d5aabbd4d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ed5337a34ec2fbe", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 harness/tools/transcription_tools.py:410"}, "properties": {"repobilityId": "ec51461004d61486", "scanner": "scanner-primary", "fingerprint": "7ed5337a34ec2fbe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-09453c0f98128f6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/tools/session_search_tool.py:462"}, "properties": {"repobilityId": "04e047daa02b2b93", "scanner": "scanner-primary", "fingerprint": "09453c0f98128f6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-041fba2e48c78b12", "level": "note", "message": {"text": "Legacy-named symbol `deleted_user_copy` in harness/tools/skills_sync.py:369"}, "properties": {"repobilityId": "5210b6201ebef877", "scanner": "scanner-primary", "fingerprint": "041fba2e48c78b12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-65dba4df15c79bff", "level": "none", "message": {"text": "Commented-code block (9 lines) in harness/tools/skills_sync.py:209"}, "properties": {"repobilityId": "8cfc522d6cf9a3c4", "scanner": "scanner-primary", "fingerprint": "65dba4df15c79bff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25cdbfc4c2e758ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/checkpoint_manager.py:236"}, "properties": {"repobilityId": "13ee92cc0b43dd24", "scanner": "scanner-primary", "fingerprint": "25cdbfc4c2e758ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea482a4ac8294186", "level": "none", "message": {"text": "Commented-code block (15 lines) in harness/tools/file_tools.py:184"}, "properties": {"repobilityId": "e55082e4b90c4d4c", "scanner": "scanner-primary", "fingerprint": "ea482a4ac8294186", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf0c756e3b43e304", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/send_message_tool.py:24"}, "properties": {"repobilityId": "640dd3ed2b5a1ad1", "scanner": "scanner-primary", "fingerprint": "bf0c756e3b43e304", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-190738cd2f050079", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/delegate_tool.py:54"}, "properties": {"repobilityId": "05fc9be429592625", "scanner": "scanner-primary", "fingerprint": "190738cd2f050079", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1c71d7d4e3ab27a", "level": "none", "message": {"text": "Commented-code block (10 lines) in harness/tools/fuzzy_match.py:96"}, "properties": {"repobilityId": "891cf5680d3e6c5e", "scanner": "scanner-primary", "fingerprint": "d1c71d7d4e3ab27a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c66a5232dd4ddfc", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/tirith_security.py:317"}, "properties": {"repobilityId": "a010b4228b1c1163", "scanner": "scanner-primary", "fingerprint": "3c66a5232dd4ddfc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8092daca8c39f4ac", "level": "none", "message": {"text": "Commented-code block (9 lines) in harness/tools/mcp_oauth_manager.py:253"}, "properties": {"repobilityId": "63df86f514b8d367", "scanner": "scanner-primary", "fingerprint": "8092daca8c39f4ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-927d7fc80a51a3b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/tools/browser_tool.py:496"}, "properties": {"repobilityId": "b626f685947f2c54", "scanner": "scanner-primary", "fingerprint": "927d7fc80a51a3b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d5dc71365b723e3", "level": "note", "message": {"text": "Legacy-named symbol `clawhub_catalog_v1` in harness/tools/skills_hub.py:1707"}, "properties": {"repobilityId": "6b4634b69375aa4e", "scanner": "scanner-primary", "fingerprint": "0d5dc71365b723e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a7f7cb8571075d9e", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/code_execution_tool.py:1052"}, "properties": {"repobilityId": "871f7ad1a4ae5ec1", "scanner": "scanner-primary", "fingerprint": "a7f7cb8571075d9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0655c074e9e47cc", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in harness/tools/tts_tool.py:94"}, "properties": {"repobilityId": "f9ad4e7546d72fba", "scanner": "scanner-primary", "fingerprint": "d0655c074e9e47cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d36037f735a3269", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/tts_tool.py:723"}, "properties": {"repobilityId": "54e8bebb6c15450d", "scanner": "scanner-primary", "fingerprint": "8d36037f735a3269", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b455d95ec30ddb72", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/tools/mcp_oauth.py:200"}, "properties": {"repobilityId": "87ae0b88baa90f65", "scanner": "scanner-primary", "fingerprint": "b455d95ec30ddb72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb7dee28209ffb51", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/tools/image_generation_tool.py:52"}, "properties": {"repobilityId": "f86f13dcf9aba51c", "scanner": "scanner-primary", "fingerprint": "bb7dee28209ffb51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a81ef5e17640c0a5", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/tools/file_operations.py:787"}, "properties": {"repobilityId": "478e04dccbd31b9d", "scanner": "scanner-primary", "fingerprint": "a81ef5e17640c0a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6da2cf8b9072ad5e", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/tools/approval.py:583"}, "properties": {"repobilityId": "df3e4d9c4c558cb5", "scanner": "scanner-primary", "fingerprint": "6da2cf8b9072ad5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12ca3a83dfb1a951", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/tools/terminal_tool.py:151"}, "properties": {"repobilityId": "ab7effe40c2999e3", "scanner": "scanner-primary", "fingerprint": "12ca3a83dfb1a951", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d859b4e278e3e1b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in harness/tools/environments/local.py:259"}, "properties": {"repobilityId": "ef0ea4d13719ffb8", "scanner": "scanner-primary", "fingerprint": "d859b4e278e3e1b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9318f02621ee42b", "level": "none", "message": {"text": "Commented-code block (11 lines) in harness/tools/environments/docker.py:146"}, "properties": {"repobilityId": "18e3ba50ff2aff94", "scanner": "scanner-primary", "fingerprint": "d9318f02621ee42b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-551a182125e2b937", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/tools/environments/ssh.py:51"}, "properties": {"repobilityId": "35b5b94c61597864", "scanner": "scanner-primary", "fingerprint": "551a182125e2b937", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b885d5ad4c4642a1", "level": "none", "message": {"text": "Commented-code block (9 lines) in harness/tools/environments/base.py:443"}, "properties": {"repobilityId": "c0acee6b2317fd7d", "scanner": "scanner-primary", "fingerprint": "b885d5ad4c4642a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb43cf19b16cccbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/gateway/session_context.py:65"}, "properties": {"repobilityId": "de37af0d366bb5ea", "scanner": "scanner-primary", "fingerprint": "eb43cf19b16cccbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d02942c68053516", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/gateway/config.py:247"}, "properties": {"repobilityId": "114412d818106e08", "scanner": "scanner-primary", "fingerprint": "9d02942c68053516", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df8afc56e2f1280a", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/gateway/stream_consumer.py:103"}, "properties": {"repobilityId": "b801533fad6695ad", "scanner": "scanner-primary", "fingerprint": "df8afc56e2f1280a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c67754920e8b243", "level": "none", "message": {"text": "Commented-code block (8 lines) in harness/gateway/status.py:619"}, "properties": {"repobilityId": "666c69aad1f9ac66", "scanner": "scanner-primary", "fingerprint": "6c67754920e8b243", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-986e3dac8292b377", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/gateway/session.py:241"}, "properties": {"repobilityId": "e43bdca6e8909b9a", "scanner": "scanner-primary", "fingerprint": "986e3dac8292b377", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae91fb780e9f9e51", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/gateway/run.py:262"}, "properties": {"repobilityId": "475d78f89e210f99", "scanner": "scanner-primary", "fingerprint": "ae91fb780e9f9e51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79ab8fb09cdf59cd", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11065"}, "properties": {"repobilityId": "3a12c3bff3418c5e", "scanner": "scanner-primary", "fingerprint": "79ab8fb09cdf59cd", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/gateway/run.py"}, "region": {"startLine": 11065}}}]}, {"ruleId": "scanner-40f85e86fd33afd0", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 harness/gateway/run.py:11076"}, "properties": {"repobilityId": "7957dbef69ae6a05", "scanner": "scanner-primary", "fingerprint": "40f85e86fd33afd0", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/gateway/run.py"}, "region": {"startLine": 11076}}}]}, {"ruleId": "scanner-e3a1b151dfe93e77", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/api_server.py:921"}, "properties": {"repobilityId": "08d9e324581f56ae", "scanner": "scanner-primary", "fingerprint": "e3a1b151dfe93e77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ec7825582ef585e", "level": "none", "message": {"text": "Commented-code block (9 lines) in harness/gateway/platforms/telegram.py:255"}, "properties": {"repobilityId": "9fdd780aaed6c796", "scanner": "scanner-primary", "fingerprint": "5ec7825582ef585e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18352dc4bb7cf02b", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/base.py:699"}, "properties": {"repobilityId": "f1dc9d1a4a1f684d", "scanner": "scanner-primary", "fingerprint": "18352dc4bb7cf02b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d797707adf4c198", "level": "none", "message": {"text": "Commented-code block (5 lines) in harness/gateway/platforms/discord.py:611"}, "properties": {"repobilityId": "000ff574ba8ca5ce", "scanner": "scanner-primary", "fingerprint": "3d797707adf4c198", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b56e63537cc71422", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in harness/gateway/platforms/slack.py:456"}, "properties": {"repobilityId": "174c73d0b65a96d5", "scanner": "scanner-primary", "fingerprint": "b56e63537cc71422", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d9082e8abd203bd6", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/slack.py:1072"}, "properties": {"repobilityId": "803ba3fe488ddc64", "scanner": "scanner-primary", "fingerprint": "d9082e8abd203bd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e1fc9991bd61f4d", "level": "note", "message": {"text": "Stub function `handle_app_mention` (body is just `pass`/`return`) \u2014 harness/gateway/platforms/slack.py:199"}, "properties": {"repobilityId": "c86b3163be7972bf", "scanner": "scanner-primary", "fingerprint": "5e1fc9991bd61f4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-1f4799a54fe55142", "level": "none", "message": {"text": "Commented-code block (7 lines) in harness/gateway/platforms/webhook.py:84"}, "properties": {"repobilityId": "b9cddf4fc6d3ba09", "scanner": "scanner-primary", "fingerprint": "1f4799a54fe55142", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7df3fb80c512223d", "level": "note", "message": {"text": "270 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "64374fa0090339ee", "scanner": "scanner-primary", "fingerprint": "7df3fb80c512223d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "cb1c3169176fa87a", "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": "42c801011dde856e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "afa3220a8f77593f", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "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": "a3b398597cfa3bd2", "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": "3c2644b6fd528739", "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": "c70fbecce39eed83", "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": "e5bf4c95757f75c8", "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": "795641d38142f84b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "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": "1933f0ff045d19c2", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "8632cb5ad4ff99ea", "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": "87bda3ac0467a4d6", "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": "518ca42370045e5c", "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": "0e520524a41dc84c", "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": "49cddc709e9820bf", "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": "5d662ebf8ace6036", "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": "fcdbddf2cd9fd905", "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": "27a2d257dd09d804", "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": "7be83c796ab0d99e", "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": "879898ae75a587cd", "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": "14f3cf09f0a33732", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c44b803a66c34ba9", "level": "error", "message": {"text": "FastAPI POST `restart_gateway` without auth dependency \u2014 harness/cli/web_server.py:659"}, "properties": {"repobilityId": "24df5705ed696061", "scanner": "scanner-primary", "fingerprint": "c44b803a66c34ba9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 659}}}]}, {"ruleId": "scanner-a3adaf0d7feb4212", "level": "error", "message": {"text": "FastAPI POST `update_hermes` without auth dependency \u2014 harness/cli/web_server.py:674"}, "properties": {"repobilityId": "6e9d60cae1b33fb2", "scanner": "scanner-primary", "fingerprint": "a3adaf0d7feb4212", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 674}}}]}, {"ruleId": "scanner-ff8ccdbf95a767f8", "level": "error", "message": {"text": "FastAPI PUT `update_config` without auth dependency \u2014 harness/cli/web_server.py:962"}, "properties": {"repobilityId": "249b779d77f9fbbd", "scanner": "scanner-primary", "fingerprint": "ff8ccdbf95a767f8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 962}}}]}, {"ruleId": "scanner-5900372e0cea7623", "level": "error", "message": {"text": "FastAPI PUT `set_env_var` without auth dependency \u2014 harness/cli/web_server.py:991"}, "properties": {"repobilityId": "e5611f3cbef0cdbc", "scanner": "scanner-primary", "fingerprint": "5900372e0cea7623", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 991}}}]}, {"ruleId": "scanner-341a6387a56e981d", "level": "error", "message": {"text": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 harness/cli/web_server.py:1001"}, "properties": {"repobilityId": "88fea0fef493a0c5", "scanner": "scanner-primary", "fingerprint": "341a6387a56e981d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1001}}}]}, {"ruleId": "scanner-46e4bfdf5ee1817e", "level": "error", "message": {"text": "FastAPI POST `reveal_env_var` without auth dependency \u2014 harness/cli/web_server.py:1015"}, "properties": {"repobilityId": "d72413a0a847991b", "scanner": "scanner-primary", "fingerprint": "46e4bfdf5ee1817e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1015}}}]}, {"ruleId": "scanner-012563938b4161c6", "level": "error", "message": {"text": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 harness/cli/web_server.py:1293"}, "properties": {"repobilityId": "6b7e73cc140f4dd4", "scanner": "scanner-primary", "fingerprint": "012563938b4161c6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1293}}}]}, {"ruleId": "scanner-b026f4d6d618ed36", "level": "error", "message": {"text": "FastAPI POST `start_oauth_login` without auth dependency \u2014 harness/cli/web_server.py:1835"}, "properties": {"repobilityId": "1ab1bb38dd55c85d", "scanner": "scanner-primary", "fingerprint": "b026f4d6d618ed36", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1835}}}]}, {"ruleId": "scanner-b3e66abb927668c2", "level": "error", "message": {"text": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 harness/cli/web_server.py:1867"}, "properties": {"repobilityId": "435cb6e48f1243c5", "scanner": "scanner-primary", "fingerprint": "b3e66abb927668c2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1867}}}]}, {"ruleId": "scanner-5e32f5cf72e8bafb", "level": "error", "message": {"text": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 harness/cli/web_server.py:1895"}, "properties": {"repobilityId": "7a269b81396394e8", "scanner": "scanner-primary", "fingerprint": "5e32f5cf72e8bafb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1895}}}]}, {"ruleId": "scanner-ae4af322ed73072a", "level": "error", "message": {"text": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 harness/cli/web_server.py:1939"}, "properties": {"repobilityId": "c448b9cd8913d56f", "scanner": "scanner-primary", "fingerprint": "ae4af322ed73072a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 1939}}}]}, {"ruleId": "scanner-6a87f63d541ce701", "level": "error", "message": {"text": "FastAPI POST `create_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2040"}, "properties": {"repobilityId": "70dac048c85e4853", "scanner": "scanner-primary", "fingerprint": "6a87f63d541ce701", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2040}}}]}, {"ruleId": "scanner-3e1646100ea591a9", "level": "error", "message": {"text": "FastAPI PUT `update_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2052"}, "properties": {"repobilityId": "38215c6614ff4e37", "scanner": "scanner-primary", "fingerprint": "3e1646100ea591a9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2052}}}]}, {"ruleId": "scanner-5f75bdab67b5aaff", "level": "error", "message": {"text": "FastAPI POST `pause_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2061"}, "properties": {"repobilityId": "0b31ec83ef6e1b6d", "scanner": "scanner-primary", "fingerprint": "5f75bdab67b5aaff", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2061}}}]}, {"ruleId": "scanner-3bca80ca60f20a50", "level": "error", "message": {"text": "FastAPI POST `resume_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2070"}, "properties": {"repobilityId": "699c552dc90e67bf", "scanner": "scanner-primary", "fingerprint": "3bca80ca60f20a50", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2070}}}]}, {"ruleId": "scanner-98f887652c017163", "level": "error", "message": {"text": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2079"}, "properties": {"repobilityId": "0e9c9d3469c11c7a", "scanner": "scanner-primary", "fingerprint": "98f887652c017163", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2079}}}]}, {"ruleId": "scanner-623d633f4763b60c", "level": "error", "message": {"text": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 harness/cli/web_server.py:2088"}, "properties": {"repobilityId": "bd26843069deae0f", "scanner": "scanner-primary", "fingerprint": "623d633f4763b60c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2088}}}]}, {"ruleId": "scanner-d8c2827e92cd947a", "level": "error", "message": {"text": "FastAPI PUT `toggle_skill` without auth dependency \u2014 harness/cli/web_server.py:2118"}, "properties": {"repobilityId": "b9b664a0518017c6", "scanner": "scanner-primary", "fingerprint": "d8c2827e92cd947a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2118}}}]}, {"ruleId": "scanner-2c7e8ebe3136fabc", "level": "error", "message": {"text": "FastAPI PUT `update_config_raw` without auth dependency \u2014 harness/cli/web_server.py:2180"}, "properties": {"repobilityId": "7f834a6a8dbfb2e5", "scanner": "scanner-primary", "fingerprint": "2c7e8ebe3136fabc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2180}}}]}, {"ruleId": "scanner-7250f6adaaa8aaee", "level": "error", "message": {"text": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 harness/cli/web_server.py:2599"}, "properties": {"repobilityId": "6435e767aac51240", "scanner": "scanner-primary", "fingerprint": "7250f6adaaa8aaee", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "harness/cli/web_server.py"}, "region": {"startLine": 2599}}}]}, {"ruleId": "scanner-963710f42a2c8219", "level": "note", "message": {"text": "Unused endpoint: GET /api/status"}, "properties": {"repobilityId": "d5ca8ca12b09ccbe", "scanner": "scanner-primary", "fingerprint": "963710f42a2c8219", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4083768260d4a820", "level": "note", "message": {"text": "Unused endpoint: POST /api/gateway/restart"}, "properties": {"repobilityId": "89767b079fe4dd30", "scanner": "scanner-primary", "fingerprint": "4083768260d4a820", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a9fc2abbfd0eff67", "level": "note", "message": {"text": "Unused endpoint: POST /api/hermes/update"}, "properties": {"repobilityId": "683bc6212602546c", "scanner": "scanner-primary", "fingerprint": "a9fc2abbfd0eff67", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc2a64713e3ba710", "level": "note", "message": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "properties": {"repobilityId": "f783f26fb365cf7f", "scanner": "scanner-primary", "fingerprint": "dc2a64713e3ba710", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf2e6e2188a510ee", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions"}, "properties": {"repobilityId": "b8706c3bdd4a3cd8", "scanner": "scanner-primary", "fingerprint": "bf2e6e2188a510ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1ae0da226f234c4e", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/search"}, "properties": {"repobilityId": "6b774a2e0b5f1fb5", "scanner": "scanner-primary", "fingerprint": "1ae0da226f234c4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7aa4b2518cbbbfa2", "level": "note", "message": {"text": "Unused endpoint: GET /api/config"}, "properties": {"repobilityId": "3f654247e9cdd094", "scanner": "scanner-primary", "fingerprint": "7aa4b2518cbbbfa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f265efee78815c9c", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/defaults"}, "properties": {"repobilityId": "2055e790751091a4", "scanner": "scanner-primary", "fingerprint": "f265efee78815c9c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b3df459b886bf814", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/schema"}, "properties": {"repobilityId": "414417bcca44e307", "scanner": "scanner-primary", "fingerprint": "b3df459b886bf814", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-def8762309fb2ecd", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/info"}, "properties": {"repobilityId": "4ead0375e0dc8807", "scanner": "scanner-primary", "fingerprint": "def8762309fb2ecd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-22923df0fba6d7e8", "level": "note", "message": {"text": "Unused endpoint: PUT /api/config"}, "properties": {"repobilityId": "c83144008925312f", "scanner": "scanner-primary", "fingerprint": "22923df0fba6d7e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7565b3d2505e70e", "level": "note", "message": {"text": "Unused endpoint: GET /api/env"}, "properties": {"repobilityId": "119d00119f5e3550", "scanner": "scanner-primary", "fingerprint": "c7565b3d2505e70e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4627a78bce493dad", "level": "note", "message": {"text": "Unused endpoint: PUT /api/env"}, "properties": {"repobilityId": "53ca875a356c1d8e", "scanner": "scanner-primary", "fingerprint": "4627a78bce493dad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-60740ae29f26a801", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/env"}, "properties": {"repobilityId": "a9b2c6ce0d0d9a54", "scanner": "scanner-primary", "fingerprint": "60740ae29f26a801", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9396e8dc7a5e36ce", "level": "note", "message": {"text": "Unused endpoint: POST /api/env/reveal"}, "properties": {"repobilityId": "b8d0fb771deff0ca", "scanner": "scanner-primary", "fingerprint": "9396e8dc7a5e36ce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-65e17379ca9ada31", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth"}, "properties": {"repobilityId": "dec79d46899bfd14", "scanner": "scanner-primary", "fingerprint": "65e17379ca9ada31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbd2f0eaa1a58b5a", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "properties": {"repobilityId": "79a592fb45b2046e", "scanner": "scanner-primary", "fingerprint": "bbd2f0eaa1a58b5a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-796c2da313969aed", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "properties": {"repobilityId": "f4740b81832531d1", "scanner": "scanner-primary", "fingerprint": "796c2da313969aed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6d3c1410ce59a120", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "properties": {"repobilityId": "1344904f2cd084ab", "scanner": "scanner-primary", "fingerprint": "6d3c1410ce59a120", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42dcf4e222d9eb9a", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "properties": {"repobilityId": "aeef76515413134d", "scanner": "scanner-primary", "fingerprint": "42dcf4e222d9eb9a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e82e4f8bdc25ea20", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "properties": {"repobilityId": "0c3f52f415e2da05", "scanner": "scanner-primary", "fingerprint": "e82e4f8bdc25ea20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-47dfa881a4926912", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "properties": {"repobilityId": "e0b9f77d59d4fb77", "scanner": "scanner-primary", "fingerprint": "47dfa881a4926912", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-587d4512fde14873", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "properties": {"repobilityId": "17665b3369c08e98", "scanner": "scanner-primary", "fingerprint": "587d4512fde14873", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-710e260b0cccd592", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "properties": {"repobilityId": "a02888aca1f5223d", "scanner": "scanner-primary", "fingerprint": "710e260b0cccd592", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f3bf72f059406b13", "level": "note", "message": {"text": "Unused endpoint: GET /api/logs"}, "properties": {"repobilityId": "2a096c9d94fe1aee", "scanner": "scanner-primary", "fingerprint": "f3bf72f059406b13", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f1b3b0ab05f41d96", "level": "note", "message": {"text": "Unused endpoint: GET /api/cron/jobs"}, "properties": {"repobilityId": "11ad56275d3125f8", "scanner": "scanner-primary", "fingerprint": "f1b3b0ab05f41d96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4245b126ce91043a", "level": "note", "message": {"text": "Unused endpoint: GET /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "4d28f066c643a543", "scanner": "scanner-primary", "fingerprint": "4245b126ce91043a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f5a29a861d68ae13", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs"}, "properties": {"repobilityId": "07fc991f49f762ae", "scanner": "scanner-primary", "fingerprint": "f5a29a861d68ae13", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5488a9ac7aa50f30", "level": "note", "message": {"text": "Unused endpoint: PUT /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "0b48595afdcd7d62", "scanner": "scanner-primary", "fingerprint": "5488a9ac7aa50f30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f56baeca02d3e05", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause"}, "properties": {"repobilityId": "f10cf7cd4b19767d", "scanner": "scanner-primary", "fingerprint": "3f56baeca02d3e05", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-664b2f011335d30f", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume"}, "properties": {"repobilityId": "bd891a8f51fab397", "scanner": "scanner-primary", "fingerprint": "664b2f011335d30f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5bf7978d0cc4502e", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger"}, "properties": {"repobilityId": "2942b4cb5e67a59e", "scanner": "scanner-primary", "fingerprint": "5bf7978d0cc4502e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-38c475547c90236e", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "5e6858c6ddcbd642", "scanner": "scanner-primary", "fingerprint": "38c475547c90236e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2cbc08e97a8f0293", "level": "note", "message": {"text": "Unused endpoint: GET /api/skills"}, "properties": {"repobilityId": "5c9b0622b1f449d5", "scanner": "scanner-primary", "fingerprint": "2cbc08e97a8f0293", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cfeacbbd0da19806", "level": "note", "message": {"text": "Unused endpoint: PUT /api/skills/toggle"}, "properties": {"repobilityId": "e03cfb9019ce2c5d", "scanner": "scanner-primary", "fingerprint": "cfeacbbd0da19806", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6f51e3dc1eac4136", "level": "note", "message": {"text": "Unused endpoint: GET /api/tools/toolsets"}, "properties": {"repobilityId": "4b99368569cbd87e", "scanner": "scanner-primary", "fingerprint": "6f51e3dc1eac4136", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-77ec25bb4cb6da91", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/raw"}, "properties": {"repobilityId": "e458ec2d55cf990b", "scanner": "scanner-primary", "fingerprint": "77ec25bb4cb6da91", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0d5450525d0de690", "level": "note", "message": {"text": "Unused endpoint: PUT /api/config/raw"}, "properties": {"repobilityId": "fe36ea06ecfa2387", "scanner": "scanner-primary", "fingerprint": "0d5450525d0de690", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-717ded8e19fba821", "level": "note", "message": {"text": "Unused endpoint: GET /api/analytics/usage"}, "properties": {"repobilityId": "b8e5de8153db160a", "scanner": "scanner-primary", "fingerprint": "717ded8e19fba821", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b1d5926fda286fa", "level": "note", "message": {"text": "Unused endpoint: GET /{full_path:path}"}, "properties": {"repobilityId": "c18fb4f3dc6db044", "scanner": "scanner-primary", "fingerprint": "1b1d5926fda286fa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc79f8e87faf7564", "level": "note", "message": {"text": "Unused endpoint: GET /api/dashboard/themes"}, "properties": {"repobilityId": "0ae40c723357bf30", "scanner": "scanner-primary", "fingerprint": "dc79f8e87faf7564", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-89fd880c92a3cf4e", "level": "note", "message": {"text": "Unused endpoint: PUT /api/dashboard/theme"}, "properties": {"repobilityId": "bc6fdea4d368ddda", "scanner": "scanner-primary", "fingerprint": "89fd880c92a3cf4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-09aeaa2a398cc2d1", "level": "note", "message": {"text": "Unused endpoint: GET /api/dashboard/plugins"}, "properties": {"repobilityId": "30fdb9ef41864e4c", "scanner": "scanner-primary", "fingerprint": "09aeaa2a398cc2d1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-57b1eaaa7c0d5fac", "level": "note", "message": {"text": "Unused endpoint: GET /api/dashboard/plugins/rescan"}, "properties": {"repobilityId": "3ab949c3d6247cc3", "scanner": "scanner-primary", "fingerprint": "57b1eaaa7c0d5fac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-77319cccd83520cc", "level": "note", "message": {"text": "Unused endpoint: GET /dashboard-plugins/{plugin_name}/{file_path:path}"}, "properties": {"repobilityId": "1b9720f368830b79", "scanner": "scanner-primary", "fingerprint": "77319cccd83520cc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e934dba02d2877a1", "level": "note", "message": {"text": "Unused endpoint: GET /messages"}, "properties": {"repobilityId": "52929d8489519ed1", "scanner": "scanner-primary", "fingerprint": "e934dba02d2877a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2f222a275ed687b3", "level": "note", "message": {"text": "Unused endpoint: POST /send"}, "properties": {"repobilityId": "26dab18901e069b3", "scanner": "scanner-primary", "fingerprint": "2f222a275ed687b3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2b1260fff9b74e7d", "level": "note", "message": {"text": "Unused endpoint: POST /edit"}, "properties": {"repobilityId": "d41ce0c93b9b3804", "scanner": "scanner-primary", "fingerprint": "2b1260fff9b74e7d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79c318fa6e4c6da5", "level": "note", "message": {"text": "Unused endpoint: POST /send-media"}, "properties": {"repobilityId": "01b5d007b76384cb", "scanner": "scanner-primary", "fingerprint": "79c318fa6e4c6da5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9c0225beb33c8842", "level": "note", "message": {"text": "Unused endpoint: POST /typing"}, "properties": {"repobilityId": "c77cc4456a216a71", "scanner": "scanner-primary", "fingerprint": "9c0225beb33c8842", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}