{"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-8ceabde69ff7c636", "name": "Possibly dead Python function: run_log_file", "shortDescription": {"text": "Possibly dead Python function: run_log_file"}, "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-2f7a46dd347f10ce", "name": "Possibly dead Python function: cmd_signals", "shortDescription": {"text": "Possibly dead Python function: cmd_signals"}, "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-b26c64bc7864d048", "name": "Possibly dead Python function: cmd_trades", "shortDescription": {"text": "Possibly dead Python function: cmd_trades"}, "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-4ff81a6cd7a47f2a", "name": "Possibly dead Python function: cmd_log", "shortDescription": {"text": "Possibly dead Python function: cmd_log"}, "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-c31b9d6f0412d710", "name": "Possibly dead Python function: cmd_report", "shortDescription": {"text": "Possibly dead Python function: cmd_report"}, "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-73a0a80aa6f35c8f", "name": "Possibly dead Python function: cmd_buy", "shortDescription": {"text": "Possibly dead Python function: cmd_buy"}, "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-8a6e3e1ff88c5bb9", "name": "Possibly dead Python function: cmd_sell", "shortDescription": {"text": "Possibly dead Python function: cmd_sell"}, "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-529b8bcccac1f42c", "name": "Possibly dead Python function: cmd_pause", "shortDescription": {"text": "Possibly dead Python function: cmd_pause"}, "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-2872326e46fa3d63", "name": "Possibly dead Python function: cmd_resume", "shortDescription": {"text": "Possibly dead Python function: cmd_resume"}, "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-c5bc6498189bb64a", "name": "Possibly dead Python function: place_limit_buy", "shortDescription": {"text": "Possibly dead Python function: place_limit_buy"}, "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-8e14525412d63220", "name": "Possibly dead Python function: check_order_filled", "shortDescription": {"text": "Possibly dead Python function: check_order_filled"}, "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-3dd07bf6375ffd87", "name": "Possibly dead Python function: handle_request", "shortDescription": {"text": "Possibly dead Python function: handle_request"}, "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-1158caa96d6e89bf", "name": "Possibly dead Python function: handle_response", "shortDescription": {"text": "Possibly dead Python function: handle_response"}, "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-3a301b714a70a1e1", "name": "Possibly dead Python function: check_1_process_liveness", "shortDescription": {"text": "Possibly dead Python function: check_1_process_liveness"}, "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-f1ded8822e49075b", "name": "Possibly dead Python function: check_2_heartbeat", "shortDescription": {"text": "Possibly dead Python function: check_2_heartbeat"}, "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-594d5193152d7dad", "name": "Possibly dead Python function: check_3_signal_coverage", "shortDescription": {"text": "Possibly dead Python function: check_3_signal_coverage"}, "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-a549b11773adfba4", "name": "Possibly dead Python function: check_4_llm_inference", "shortDescription": {"text": "Possibly dead Python function: check_4_llm_inference"}, "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-0841908825d913a9", "name": "Possibly dead Python function: check_5_layer2_agent", "shortDescription": {"text": "Possibly dead Python function: check_5_layer2_agent"}, "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-3c6185bc99b17d54", "name": "Possibly dead Python function: check_6_telegram", "shortDescription": {"text": "Possibly dead Python function: check_6_telegram"}, "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-d0606d5aa7b5edac", "name": "Possibly dead Python function: check_7_data_freshness", "shortDescription": {"text": "Possibly dead Python function: check_7_data_freshness"}, "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-0c85c07f064d9b1b", "name": "Possibly dead Python function: check_8_singleton_locks", "shortDescription": {"text": "Possibly dead Python function: check_8_singleton_locks"}, "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-d34e6a919a36df6a", "name": "Possibly dead Python function: check_9_api_connectivity", "shortDescription": {"text": "Possibly dead Python function: check_9_api_connectivity"}, "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-296df2a2fe35fdc2", "name": "Possibly dead Python function: check_10_dashboard", "shortDescription": {"text": "Possibly dead Python function: check_10_dashboard"}, "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-234284c6a10e96d7", "name": "Possibly dead Python function: stub_consensus", "shortDescription": {"text": "Possibly dead Python function: stub_consensus"}, "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-6ad6a3f516018463", "name": "Possibly dead Python function: benchmark_qwen3_single", "shortDescription": {"text": "Possibly dead Python function: benchmark_qwen3_single"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ebfd8afcdc7f40e2", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/prophecy.html:82", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/prophecy.html:82"}, "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-c37a87622e5cb6e8", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/index_legacy.html:1044", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/index_legacy.html:1044"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9797b59b396d54c1", "name": "Very large file: tests/test_signal_engine.py (1666 lines)", "shortDescription": {"text": "Very large file: tests/test_signal_engine.py (1666 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-d52687289e6f37f3", "name": "Very large file: tests/test_dashboard.py (1962 lines)", "shortDescription": {"text": "Very large file: tests/test_dashboard.py (1962 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-f30487053884115d", "name": "Very large file: tests/test_fish_engine.py (1453 lines)", "shortDescription": {"text": "Very large file: tests/test_fish_engine.py (1453 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-be21b8ac7b32e9de", "name": "Very large file: tests/test_risk_management.py (1334 lines)", "shortDescription": {"text": "Very large file: tests/test_risk_management.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-c5091f847cbd2552", "name": "Very large file: tests/test_agent_invocation.py (2464 lines)", "shortDescription": {"text": "Very large file: tests/test_agent_invocation.py (2464 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-4622d9c3731cfb79", "name": "Very large file: tests/test_signal_engine_core.py (1922 lines)", "shortDescription": {"text": "Very large file: tests/test_signal_engine_core.py (1922 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-d3d9459f0e3bdac0", "name": "Very large file: tests/test_golddigger.py (1374 lines)", "shortDescription": {"text": "Very large file: tests/test_golddigger.py (1374 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-c04665121bae108a", "name": "Very large file: tests/test_fin_evolve.py (1419 lines)", "shortDescription": {"text": "Very large file: tests/test_fin_evolve.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-ebece6814108f8e5", "name": "Very large file: tests/test_trigger_core.py (1867 lines)", "shortDescription": {"text": "Very large file: tests/test_trigger_core.py (1867 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-6da892c8121dafca", "name": "Very large file: tests/test_reporting_core.py (1295 lines)", "shortDescription": {"text": "Very large file: tests/test_reporting_core.py (1295 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-c474fc24daea3bd4", "name": "Very large file: tests/test_metals_swing_trader.py (1088 lines)", "shortDescription": {"text": "Very large file: tests/test_metals_swing_trader.py (1088 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-741cc2a646efd83c", "name": "Very large file: dashboard/app.py (2568 lines)", "shortDescription": {"text": "Very large file: dashboard/app.py (2568 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-a055cd0f42553da9", "name": "Very large file: portfolio/agent_invocation.py (2092 lines)", "shortDescription": {"text": "Very large file: portfolio/agent_invocation.py (2092 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-ed30076e7d17c0ac", "name": "Very large file: portfolio/fin_fish.py (1457 lines)", "shortDescription": {"text": "Very large file: portfolio/fin_fish.py (1457 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-1bac85319e93b58f", "name": "Very large file: portfolio/loop_contract.py (2648 lines)", "shortDescription": {"text": "Very large file: portfolio/loop_contract.py (2648 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-2bdeb7c94fa1c66d", "name": "Very large file: portfolio/signal_engine.py (4853 lines)", "shortDescription": {"text": "Very large file: portfolio/signal_engine.py (4853 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-312051ee643cbc39", "name": "Very large file: portfolio/accuracy_stats.py (2201 lines)", "shortDescription": {"text": "Very large file: portfolio/accuracy_stats.py (2201 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-fa72e39598599501", "name": "Very large file: portfolio/fin_snipe_manager.py (1765 lines)", "shortDescription": {"text": "Very large file: portfolio/fin_snipe_manager.py (1765 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-5e3235751e205a18", "name": "Very large file: portfolio/reporting.py (1361 lines)", "shortDescription": {"text": "Very large file: portfolio/reporting.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-95ebe8a944156477", "name": "Very large file: portfolio/avanza_session.py (1609 lines)", "shortDescription": {"text": "Very large file: portfolio/avanza_session.py (1609 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-405428257d40be0d", "name": "Very large file: portfolio/grid_fisher.py (2402 lines)", "shortDescription": {"text": "Very large file: portfolio/grid_fisher.py (2402 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-5701a87916cf63da", "name": "Very large file: portfolio/main.py (1686 lines)", "shortDescription": {"text": "Very large file: portfolio/main.py (1686 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 1544 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 29 placeholder/mock markers across 22 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-887b1a0347c88c74", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-silver.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-silver.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11626ef8de0dd9ce", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-eth.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-eth.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0af45e3113b1aef3", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-logs.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-logs.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc3171ed8c62815c", "name": "Agent authority lacks a verifier contract: .claude/commands/time.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/time.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f23aab153ed71701", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-trades.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-trades.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-665fa02779ebe2cc", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-crypto.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-crypto.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5295fe0e6af00ff8", "name": "Agent authority lacks a verifier contract: .claude/commands/avanza-search.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/avanza-search.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4c7bda965b84fa85", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-metals.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-metals.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2ec23c095991e96", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-oil.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-oil.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-182d60a3f08f45d2", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-portfolio.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-portfolio.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b4649cb97e05b8b9", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-signals.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-signals.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35b491e956313679", "name": "Agent authority lacks a verifier contract: .claude/commands/sysmon.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/sysmon.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4b73db2f8db14fec", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-analyze.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-analyze.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fdf6152e5606ee53", "name": "Agent authority lacks a verifier contract: .claude/commands/fin-mstr.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-mstr.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e96147c60c7ca361", "name": "Agent authority lacks a verifier contract: .claude/commands/digest-project.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/digest-project.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0715b9c4bb46f4f5", "name": "Commented-code block (5 lines) in prophecy/cost.py:95", "shortDescription": {"text": "Commented-code block (5 lines) in prophecy/cost.py:95"}, "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-a49041825656bd27", "name": "Commented-code block (8 lines) in prophecy/config.py:32", "shortDescription": {"text": "Commented-code block (8 lines) in prophecy/config.py:32"}, "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-4f1c922535e8243b", "name": "Commented-code block (5 lines) in prophecy/outcomes.py:277", "shortDescription": {"text": "Commented-code block (5 lines) in prophecy/outcomes.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-70c6f97cf28ba321", "name": "Legacy-named symbol `test_save_creates_backup` in tests/test_portfolio_mgr_core.py:429", "shortDescription": {"text": "Legacy-named symbol `test_save_creates_backup` in tests/test_portfolio_mgr_core.py:429"}, "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-5de45b9b57ee5b09", "name": "Commented-code block (6 lines) in tests/test_signal_engine.py:16", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_signal_engine.py:16"}, "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-aa44aaa808a55b18", "name": "Commented-code block (5 lines) in tests/test_signals_structure.py:363", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_signals_structure.py:363"}, "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-3beb35598b5c03f9", "name": "Commented-code block (6 lines) in tests/test_api_pickups.py:25", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_api_pickups.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-2f8c6851fd2d639b", "name": "Legacy-named symbol `test_none_when_stale_too_old` in tests/test_shared_state_cache.py:148", "shortDescription": {"text": "Legacy-named symbol `test_none_when_stale_too_old` in tests/test_shared_state_cache.py:148"}, "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-16bb7799ee6185c6", "name": "Commented-code block (11 lines) in tests/test_ticker_accuracy.py:555", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_ticker_accuracy.py:555"}, "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-0dc5cf838794fcd0", "name": "Commented-code block (11 lines) in tests/test_signal_improvements.py:131", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_signal_improvements.py:131"}, "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-c77d9427e4738903", "name": "Commented-code block (9 lines) in tests/test_signal_hold_bias_reduction.py:324", "shortDescription": {"text": "Commented-code block (9 lines) in tests/test_signal_hold_bias_reduction.py:324"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cc951e5ff8bd1c8", "name": "Legacy-named symbol `p_old` in tests/test_accuracy_degradation_significance.py:63", "shortDescription": {"text": "Legacy-named symbol `p_old` in tests/test_accuracy_degradation_significance.py:63"}, "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-6bae5c2e28e069cc", "name": "Commented-code block (11 lines) in tests/test_metals.py:207", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_metals.py:207"}, "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-0a1736e6b2dc8968", "name": "Commented-code block (6 lines) in tests/test_avanza.py:658", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_avanza.py:658"}, "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-8beae9e73a156d29", "name": "Commented-code block (7 lines) in tests/test_avanza_orders.py:659", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_avanza_orders.py:659"}, "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-9ec333d805dce8fe", "name": "Commented-code block (7 lines) in tests/test_grid_fisher_reconcile.py:158", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_grid_fisher_reconcile.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-7d9effd25a9285df", "name": "Commented-code block (7 lines) in tests/test_accuracy_degradation.py:130", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_accuracy_degradation.py:130"}, "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-e2bee9af5c1c731c", "name": "Commented-code block (5 lines) in tests/test_crypto_swing_config.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_crypto_swing_config.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-2e7c9b56e244bc9a", "name": "Commented-code block (13 lines) in tests/test_consensus.py:40", "shortDescription": {"text": "Commented-code block (13 lines) in tests/test_consensus.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-6f92dbebace7ed72", "name": "Commented-code block (6 lines) in tests/test_signal_pipeline.py:130", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_signal_pipeline.py:130"}, "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-d6f44743b6898884", "name": "Commented-code block (9 lines) in tests/test_ic_computation.py:140", "shortDescription": {"text": "Commented-code block (9 lines) in tests/test_ic_computation.py:140"}, "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-289c06241bd3aeb8", "name": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_completion.py:606", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_completion.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-53b2bc35f49a36b5", "name": "Legacy-named symbol `test_get_all_fundamentals_returns_copy` in tests/test_alpha_vantage.py:172", "shortDescription": {"text": "Legacy-named symbol `test_get_all_fundamentals_returns_copy` in tests/test_alpha_vantage.py:172"}, "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-d545456432790842", "name": "Commented-code block (8 lines) in tests/test_forecast_circuit_breaker.py:86", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_forecast_circuit_breaker.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-c0913fcdb40a2a5a", "name": "Commented-code block (7 lines) in tests/test_signals_calendar.py:423", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_signals_calendar.py:423"}, "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-49895b325c9f0b4c", "name": "Commented-code block (10 lines) in tests/test_perception_gate.py:162", "shortDescription": {"text": "Commented-code block (10 lines) in tests/test_perception_gate.py:162"}, "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-df585f0ebde718f6", "name": "Commented-code block (5 lines) in tests/test_fin_snipe_manager.py:588", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_fin_snipe_manager.py:588"}, "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-293c92419d4596f3", "name": "Commented-code block (5 lines) in tests/test_market_timing.py:956", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_market_timing.py:956"}, "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-1ad5f17b84eee307", "name": "Legacy-named symbol `ts_old` in tests/test_risk_management.py:598", "shortDescription": {"text": "Legacy-named symbol `ts_old` in tests/test_risk_management.py:598"}, "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-1ff56ba0d524f705", "name": "Commented-code block (8 lines) in tests/test_risk_management.py:1022", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_risk_management.py:1022"}, "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-5f876f60e8d053c1", "name": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_invocation.py:98", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_invocation.py:98"}, "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-f208dbb9ddaef457", "name": "Commented-code block (5 lines) in tests/test_agent_invocation.py:211", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_agent_invocation.py:211"}, "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-62ce86ad3f03f34e", "name": "Commented-code block (5 lines) in tests/test_batch2_fixes.py:245", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_batch2_fixes.py:245"}, "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-f21b6f63e2df9288", "name": "Commented-code block (5 lines) in tests/test_signals_news_event.py:197", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_signals_news_event.py:197"}, "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-045b9f49f006c131", "name": "Legacy-named symbol `index_legacy` in tests/test_dashboard_legacy_route.py:3", "shortDescription": {"text": "Legacy-named symbol `index_legacy` in tests/test_dashboard_legacy_route.py:3"}, "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-37d6ac939203c0f1", "name": "Legacy-named symbol `test_creates_first_backup` in tests/test_portfolio_mgr.py:77", "shortDescription": {"text": "Legacy-named symbol `test_creates_first_backup` in tests/test_portfolio_mgr.py:77"}, "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-97459d638906a53c", "name": "Legacy-named symbol `test_result_is_copy` in tests/test_signals_claude_fundamental.py:589", "shortDescription": {"text": "Legacy-named symbol `test_result_is_copy` in tests/test_signals_claude_fundamental.py:589"}, "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-e80a06c6c43c0fd4", "name": "Commented-code block (6 lines) in tests/test_signal_cot_positioning.py:253", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_signal_cot_positioning.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-cfaec40339bd6b86", "name": "Commented-code block (6 lines) in tests/test_macro_regime_integration.py:59", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_macro_regime_integration.py:59"}, "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-71b6052f1540d674", "name": "Commented-code block (6 lines) in tests/test_kelly_sizing.py:297", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_kelly_sizing.py:297"}, "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-6ff960238111d5cb", "name": "Legacy-named symbol `test_build_bundle_is_usable_false_when_source_old` in tests/test_mstr_loop_data_provider.py:211", "shortDescription": {"text": "Legacy-named symbol `test_build_bundle_is_usable_false_when_source_old` in tests/test_mstr_loop_data_provider.py:211"}, "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-5e214dde39f1f381", "name": "Commented-code block (6 lines) in tests/test_warrant_portfolio.py:383", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_warrant_portfolio.py:383"}, "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-41153e6bd973a914", "name": "Commented-code block (8 lines) in tests/test_mstr_loop_execution.py:26", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_mstr_loop_execution.py:26"}, "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-38118357ad22d1f5", "name": "Commented-code block (5 lines) in tests/test_equity_curve_fifo.py:411", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_equity_curve_fifo.py:411"}, "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-e60849cf92ff77fa", "name": "Commented-code block (6 lines) in tests/test_accuracy_degradation_writer_safety.py:76", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_accuracy_degradation_writer_safety.py:76"}, "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-2d77d2ba1dadd0ed", "name": "Legacy-named symbol `test_recent_entry_has_higher_weight_than_old` in tests/test_ewma_accuracy.py:212", "shortDescription": {"text": "Legacy-named symbol `test_recent_entry_has_higher_weight_than_old` in tests/test_ewma_accuracy.py:212"}, "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-60d6dabc0da24496", "name": "Commented-code block (5 lines) in tests/test_regime_accuracy.py:357", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_regime_accuracy.py:357"}, "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-1e8f3724e0cbd28c", "name": "Commented-code block (5 lines) in tests/test_signal_engine_core.py:900", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_signal_engine_core.py:900"}, "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-27565cbec506565a", "name": "Commented-code block (5 lines) in tests/test_adversarial_review_fixes.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_adversarial_review_fixes.py:132"}, "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-c0f6245bdbb18992", "name": "Commented-code block (7 lines) in tests/test_futures_flow.py:272", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_futures_flow.py:272"}, "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-398ffb579f61e539", "name": "Commented-code block (5 lines) in tests/test_accuracy_stats.py:797", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_accuracy_stats.py:797"}, "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-89054830dad37442", "name": "Commented-code block (12 lines) in tests/test_resilience_improvements.py:264", "shortDescription": {"text": "Commented-code block (12 lines) in tests/test_resilience_improvements.py:264"}, "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-3530f61a85f853b3", "name": "Legacy-named symbol `index_legacy` in tests/test_dashboard_frontend.py:5", "shortDescription": {"text": "Legacy-named symbol `index_legacy` in tests/test_dashboard_frontend.py:5"}, "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-3e932dd32849ff6d", "name": "Commented-code block (11 lines) in tests/test_metals_llm_orphan.py:88", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_metals_llm_orphan.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-0cd8a50919be637f", "name": "Commented-code block (5 lines) in tests/test_safety_guards.py:204", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_safety_guards.py:204"}, "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-62ff9372425c86e9", "name": "Commented-code block (5 lines) in tests/test_metals_loop_pre_sell_cancel.py:947", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_metals_loop_pre_sell_cancel.py:947"}, "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-06828f7034962e6d", "name": "Legacy-named symbol `test_instruments_is_oil_usd_only_in_v1` in tests/test_oil_swing_config.py:10", "shortDescription": {"text": "Legacy-named symbol `test_instruments_is_oil_usd_only_in_v1` in tests/test_oil_swing_config.py:10"}, "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-9744067e06a76258", "name": "Commented-code block (5 lines) in tests/test_swing_low_cash_mode.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_swing_low_cash_mode.py:132"}, "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-0cd68427a5b983e3", "name": "Legacy-named symbol `nLegacy` in tests/test_dashboard_house.py:67", "shortDescription": {"text": "Legacy-named symbol `nLegacy` in tests/test_dashboard_house.py:67"}, "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-baf4d72f860eafcc", "name": "Commented-code block (5 lines) in tests/test_dashboard_house.py:134", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_dashboard_house.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-db08d3b928edb734", "name": "Commented-code block (5 lines) in tests/test_bert_sentiment.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_bert_sentiment.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87af2c34209c9f9f", "name": "Commented-code block (6 lines) in tests/test_claude_auth_detection.py:125", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_claude_auth_detection.py:125"}, "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-532f01b51c4f2fd0", "name": "Legacy-named symbol `test_forecast_chronos_dispatches_v2` in tests/test_model_upgrades.py:54", "shortDescription": {"text": "Legacy-named symbol `test_forecast_chronos_dispatches_v2` in tests/test_model_upgrades.py:54"}, "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-13d862e4435a151d", "name": "Commented-code block (7 lines) in tests/test_portfolio_math.py:364", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_portfolio_math.py:364"}, "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-9e8bd5520a1695ca", "name": "Legacy-named symbol `v_old` in tests/test_loop_contract_alert_cooldown.py:75", "shortDescription": {"text": "Legacy-named symbol `v_old` in tests/test_loop_contract_alert_cooldown.py:75"}, "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-924084a80c130ba3", "name": "Commented-code block (5 lines) in tests/test_adversarial_review_round12.py:56", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_adversarial_review_round12.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-21a91798b1c15187", "name": "Legacy-named symbol `test_returns_dict_copy` in tests/test_signal_registry.py:52", "shortDescription": {"text": "Legacy-named symbol `test_returns_dict_copy` in tests/test_signal_registry.py:52"}, "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-869753ea58be6603", "name": "Legacy-named symbol `test_llm_too_old` in tests/test_llm_batch.py:586", "shortDescription": {"text": "Legacy-named symbol `test_llm_too_old` in tests/test_llm_batch.py:586"}, "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-9ed1e5f3c9c3fb2b", "name": "Commented-code block (6 lines) in tests/test_llm_batch.py:679", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_llm_batch.py:679"}, "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-13593dd46aea891b", "name": "Commented-code block (5 lines) in tests/test_oil_grid_signal.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_oil_grid_signal.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-a7a4f96c7acb35d9", "name": "Legacy-named symbol `v_old` in tests/test_loop_contract_accuracy_dispatcher.py:162", "shortDescription": {"text": "Legacy-named symbol `v_old` in tests/test_loop_contract_accuracy_dispatcher.py:162"}, "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-f6d02b817d490693", "name": "Commented-code block (5 lines) in tests/test_orb_predictor.py:553", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_orb_predictor.py:553"}, "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-95bf3b7fb6a4ff7a", "name": "Commented-code block (5 lines) in tests/test_silver_fast_tick.py:360", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_silver_fast_tick.py:360"}, "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-2fc3483c6184871b", "name": "Legacy-named symbol `test_long_allowed_when_peak_old` in tests/test_fish_engine_bug_fixes.py:147", "shortDescription": {"text": "Legacy-named symbol `test_long_allowed_when_peak_old` in tests/test_fish_engine_bug_fixes.py:147"}, "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-d8d9dc26e2577901", "name": "Commented-code block (5 lines) in tests/test_accuracy_cache_timestamps.py:186", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_accuracy_cache_timestamps.py:186"}, "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-3727a79b37673c8d", "name": "Commented-code block (6 lines) in tests/test_signals_mean_reversion.py:720", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_signals_mean_reversion.py:720"}, "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-c216bbf0240dc6b7", "name": "Commented-code block (6 lines) in tests/test_metals_swing_trader.py:10", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_metals_swing_trader.py:10"}, "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-1110354928e9eaee", "name": "Commented-code block (8 lines) in tests/test_signal_engine_per_asset_voters.py:129", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_signal_engine_per_asset_voters.py:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b58add57671720d6", "name": "Commented-code block (6 lines) in tests/_state_reset.py:87", "shortDescription": {"text": "Commented-code block (6 lines) in tests/_state_reset.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-8fd98a9623184b3d", "name": "Commented-code block (5 lines) in tests/test_file_utils.py:295", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_file_utils.py:295"}, "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-e359fe86bfe7efd1", "name": "Commented-code block (6 lines) in tests/test_topn_gate.py:268", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_topn_gate.py:268"}, "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-f4227362571b6d87", "name": "Commented-code block (5 lines) in tests/test_outcome_tracker_backfill.py:311", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_outcome_tracker_backfill.py:311"}, "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-cd693fdb8f31f61a", "name": "Commented-code block (9 lines) in tests/test_telegram_poller_offset.py:363", "shortDescription": {"text": "Commented-code block (9 lines) in tests/test_telegram_poller_offset.py:363"}, "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-8dd010abb71f9315", "name": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/run_codex.py:17", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/run_codex.py:17"}, "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-980883caa3767528", "name": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/make_branches.py:15", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/make_branches.py:15"}, "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-05e03505724378be", "name": "Commented-code block (5 lines) in docs/adversarial-review-2026-05-13/_build_baselines.py:209", "shortDescription": {"text": "Commented-code block (5 lines) in docs/adversarial-review-2026-05-13/_build_baselines.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-ff16321f3c606435", "name": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_build_baselines.py:192", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_build_baselines.py:192"}, "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-d6c1ba2998964ea2", "name": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex.py:50", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex.py:50"}, "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-2b192ca7693c7d76", "name": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex_exec.py:217", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex_exec.py:217"}, "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-96d118813e345341", "name": "Commented-code block (7 lines) in scripts/backfill_accuracy_snapshots.py:102", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/backfill_accuracy_snapshots.py:102"}, "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-f19d7ec4fb569318", "name": "Commented-code block (8 lines) in scripts/fix_agent_dispatcher.py:60", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fix_agent_dispatcher.py:60"}, "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-e8a8a48015e454aa", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/pf.py:500", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pf.py:500"}, "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-983a68f65eb5760e", "name": "Commented-code block (7 lines) in scripts/resolve_loop_audit_errors.py:77", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/resolve_loop_audit_errors.py:77"}, "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-e25122a9c643b14f", "name": "Commented-code block (5 lines) in scripts/fish_straddle.py:180", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fish_straddle.py:180"}, "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-facb4eeec96a5424", "name": "Commented-code block (6 lines) in scripts/audit_accuracy_drops.py:157", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/audit_accuracy_drops.py:157"}, "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-8b85b717e2d700d5", "name": "Legacy-named symbol `orig_state_backup` in scripts/iskbet_replay.py:406", "shortDescription": {"text": "Legacy-named symbol `orig_state_backup` in scripts/iskbet_replay.py:406"}, "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-80539640377b8e8a", "name": "Commented-code block (5 lines) in scripts/backtest_new_signals.py:227", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backtest_new_signals.py:227"}, "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-55df3a4ccfea66cc", "name": "Legacy-named symbol `unsent_old` in scripts/health_check.py:289", "shortDescription": {"text": "Legacy-named symbol `unsent_old` in scripts/health_check.py:289"}, "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-889441f81efa5ff2", "name": "Legacy-named symbol `e2e_degradation_backup` in scripts/_e2e_degradation_check.py:27", "shortDescription": {"text": "Legacy-named symbol `e2e_degradation_backup` in scripts/_e2e_degradation_check.py:27"}, "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-5223df09ff54608e", "name": "Commented-code block (7 lines) in scripts/check_critical_errors.py:36", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/check_critical_errors.py:36"}, "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-5684d966fc0e7fe1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_mutation_test.py:66", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_mutation_test.py:66"}, "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-00c65dacd948010f", "name": "Commented-code block (6 lines) in scripts/fin_fish_monitor.py:411", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/fin_fish_monitor.py:411"}, "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-f74d203f93b4f2e9", "name": "Commented-code block (5 lines) in scripts/process_pending_pickups.py:62", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/process_pending_pickups.py:62"}, "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-e38b55cfac113148", "name": "Commented-code block (5 lines) in scripts/review_shadow_signals.py:66", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/review_shadow_signals.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-95c16b989636661a", "name": "Commented-code block (6 lines) in scripts/chronos_bolt_benchmark.py:46", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/chronos_bolt_benchmark.py:46"}, "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-f7ee0739bd8f9c84", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/restart_loop.py:18", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/restart_loop.py:18"}, "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-ba091ce4739b96b9", "name": "Commented-code block (5 lines) in scripts/setup_gh_pages.py:33", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/setup_gh_pages.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93b1110c34e221bd", "name": "Commented-code block (7 lines) in scripts/replay_consensus.py:106", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/replay_consensus.py:106"}, "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-4b9903fc4c64dda5", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/archive/layer2_invoke.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/archive/layer2_invoke.py:77"}, "fullDescription": {"text": "`requests.post(...)` 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-106e872a3d965950", "name": "Commented-code block (5 lines) in dashboard/house_blueprint.py:414", "shortDescription": {"text": "Commented-code block (5 lines) in dashboard/house_blueprint.py:414"}, "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-f944354df42ced12", "name": "Commented-code block (5 lines) in dashboard/system_status.py:28", "shortDescription": {"text": "Commented-code block (5 lines) in dashboard/system_status.py:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e1ec2e6bdd3b7d71", "name": "Commented-code block (5 lines) in dashboard/auth.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in dashboard/auth.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2253feda7a310c06", "name": "Legacy-named symbol `jsonl_tail_v2` in dashboard/app.py:197", "shortDescription": {"text": "Legacy-named symbol `jsonl_tail_v2` in dashboard/app.py:197"}, "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-bf7f3f6b8db5d392", "name": "Commented-code block (9 lines) in dashboard/app.py:52", "shortDescription": {"text": "Commented-code block (9 lines) in dashboard/app.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-2f43bd56f5f1dae8", "name": "Commented-code block (9 lines) in dashboard/trading_status.py:45", "shortDescription": {"text": "Commented-code block (9 lines) in dashboard/trading_status.py:45"}, "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-a63500c33bfdf32e", "name": "Commented-code block (8 lines) in dashboard/cf_access.py:49", "shortDescription": {"text": "Commented-code block (8 lines) in dashboard/cf_access.py:49"}, "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-c302cdc0f91e6e2d", "name": "Network/subprocess call without timeout or try/except \u2014 dashboard/cf_access.py:51", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboard/cf_access.py:51"}, "fullDescription": {"text": "`requests.get(...)` 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-e766d46f4fa43435", "name": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard/static/js/fetch.js:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard/static/js/fetch.js:5"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-015de2ff9409592c", "name": "Commented-code block (5 lines) in dashboard/static/js/render/accuracy.js:27", "shortDescription": {"text": "Commented-code block (5 lines) in dashboard/static/js/render/accuracy.js:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16aa6034cde026f0", "name": "Commented-code block (6 lines) in portfolio/grid_fisher_config.py:35", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/grid_fisher_config.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-539f245b9516cb68", "name": "Commented-code block (10 lines) in portfolio/avanza_account_check.py:39", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/avanza_account_check.py:39"}, "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-90481c6b18762126", "name": "Commented-code block (5 lines) in portfolio/shadow_registry.py:268", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/shadow_registry.py:268"}, "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-22b355dd38bc8b5d", "name": "Commented-code block (5 lines) in portfolio/news_keywords.py:276", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/news_keywords.py:276"}, "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-ce338f2efe6b74d3", "name": "Commented-code block (8 lines) in portfolio/signal_history.py:22", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/signal_history.py:22"}, "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-ba7183a4ad15323a", "name": "Commented-code block (9 lines) in portfolio/http_retry.py:18", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/http_retry.py:18"}, "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-ec00f71c769ece00", "name": "Commented-code block (8 lines) in portfolio/warrant_portfolio.py:230", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/warrant_portfolio.py:230"}, "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-49065d3a0c491cbe", "name": "Commented-code block (6 lines) in portfolio/portfolio_validator.py:259", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/portfolio_validator.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-6bd31196a59842de", "name": "Commented-code block (5 lines) in portfolio/signal_db.py:235", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/signal_db.py:235"}, "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-9d655c05f3c58e9c", "name": "Commented-code block (5 lines) in portfolio/market_timing.py:15", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/market_timing.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-d600faa6ab7bf82c", "name": "Commented-code block (5 lines) in portfolio/sentiment_shadow_backfill.py:72", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/sentiment_shadow_backfill.py:72"}, "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-c8a3bd143acdd246", "name": "Commented-code block (10 lines) in portfolio/outcome_tracker.py:139", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/outcome_tracker.py:139"}, "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-45b41733aae3371c", "name": "Commented-code block (6 lines) in portfolio/trade_guards.py:190", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/trade_guards.py:190"}, "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-f7d523c5e5daaad2", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/agent_invocation.py:24", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/agent_invocation.py:24"}, "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-ac0697eea31f3926", "name": "Commented-code block (6 lines) in portfolio/agent_invocation.py:31", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/agent_invocation.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-cfd377863eae0783", "name": "Commented-code block (6 lines) in portfolio/loop_health.py:40", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/loop_health.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-1d47bf3674a7c822", "name": "Commented-code block (5 lines) in portfolio/ministral_trader.py:192", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/ministral_trader.py:192"}, "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-5b9c3462e782c14d", "name": "Commented-code block (10 lines) in portfolio/file_utils.py:11", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/file_utils.py:11"}, "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-71a6c365b968637d", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/telegram_notifications.py:22", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/telegram_notifications.py:22"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf7cfc52b60684a9", "name": "Commented-code block (7 lines) in portfolio/price_source.py:53", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/price_source.py:53"}, "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-21756dc6863efc28", "name": "Commented-code block (9 lines) in portfolio/telegram_poller.py:20", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/telegram_poller.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-083c09fe360013a3", "name": "Commented-code block (9 lines) in portfolio/avanza_control.py:398", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/avanza_control.py:398"}, "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-f2a3d0b7406df9e0", "name": "Commented-code block (5 lines) in portfolio/onchain_data.py:57", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/onchain_data.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-502b87eee6e2f998", "name": "Commented-code block (12 lines) in portfolio/loop_contract.py:36", "shortDescription": {"text": "Commented-code block (12 lines) in portfolio/loop_contract.py:36"}, "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-c109187b2b8d6a34", "name": "Commented-code block (5 lines) in portfolio/fear_greed.py:100", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/fear_greed.py:100"}, "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-311f960411a1e5b9", "name": "Commented-code block (9 lines) in portfolio/crypto_macro_data.py:126", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/crypto_macro_data.py:126"}, "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-5f015358a4c1a4bd", "name": "Commented-code block (6 lines) in portfolio/sentiment.py:291", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/sentiment.py:291"}, "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-248602d3563043e7", "name": "Commented-code block (5 lines) in portfolio/llama_server.py:69", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/llama_server.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-5ce4b932125aaab6", "name": "Commented-code block (6 lines) in portfolio/ministral_signal.py:63", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/ministral_signal.py:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0599da444b059895", "name": "Commented-code block (7 lines) in portfolio/llm_probability_log.py:64", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/llm_probability_log.py:64"}, "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-a93fc85db65ef2ed", "name": "Commented-code block (10 lines) in portfolio/tickers.py:68", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/tickers.py:68"}, "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-31112208efb56473", "name": "Commented-code block (6 lines) in portfolio/accuracy_degradation.py:61", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/accuracy_degradation.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c13b0780679ec60b", "name": "Commented-code block (8 lines) in portfolio/funding_rate.py:23", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/funding_rate.py:23"}, "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-27cc1c564afcab70", "name": "Commented-code block (7 lines) in portfolio/signal_engine.py:39", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/signal_engine.py:39"}, "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-6121b108f6a5b3b7", "name": "Commented-code block (13 lines) in portfolio/accuracy_stats.py:18", "shortDescription": {"text": "Commented-code block (13 lines) in portfolio/accuracy_stats.py:18"}, "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-70171255a540d549", "name": "Commented-code block (11 lines) in portfolio/bert_sentiment.py:216", "shortDescription": {"text": "Commented-code block (11 lines) in portfolio/bert_sentiment.py:216"}, "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-8c3277d9cc840729", "name": "Commented-code block (8 lines) in portfolio/fin_snipe_manager.py:424", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/fin_snipe_manager.py:424"}, "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-41c5995bc7c5b4b3", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/daily_digest.py:19", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/daily_digest.py:19"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6daa4da21b246a0", "name": "Commented-code block (7 lines) in portfolio/forecast_accuracy.py:22", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/forecast_accuracy.py:22"}, "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-12f187c3c409501b", "name": "Commented-code block (6 lines) in portfolio/qwen3_signal.py:79", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/qwen3_signal.py:79"}, "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-95c7bf78ed1b65af", "name": "Commented-code block (6 lines) in portfolio/fin_evolve.py:157", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/fin_evolve.py:157"}, "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-b80cdccdf0851ac0", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/digest.py:18", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/digest.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-937a2cfc7d2a8f9c", "name": "Commented-code block (11 lines) in portfolio/trigger.py:94", "shortDescription": {"text": "Commented-code block (11 lines) in portfolio/trigger.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-00eeb78c568867f0", "name": "Commented-code block (5 lines) in portfolio/multi_agent_layer2.py:163", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/multi_agent_layer2.py:163"}, "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-31bb797e7b3d93bf", "name": "Commented-code block (6 lines) in portfolio/reporting.py:28", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/reporting.py:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82ddff05f3b975f7", "name": "Commented-code block (9 lines) in portfolio/data_collector.py:325", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/data_collector.py:325"}, "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-fafc2ae9fdb6e277", "name": "Commented-code block (8 lines) in portfolio/oil_grid_signal.py:170", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/oil_grid_signal.py:170"}, "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-c2642ea0cdbfcee4", "name": "Commented-code block (6 lines) in portfolio/avanza_session.py:38", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/avanza_session.py:38"}, "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-4d39766d2826f5f7", "name": "Commented-code block (7 lines) in portfolio/avanza_client.py:25", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/avanza_client.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-9dcb46867669f959", "name": "Commented-code block (6 lines) in portfolio/iskbets.py:317", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/iskbets.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-87183ad557618f96", "name": "Legacy-named symbol `confirmed_legacy` in portfolio/avanza_orders.py:205", "shortDescription": {"text": "Legacy-named symbol `confirmed_legacy` in portfolio/avanza_orders.py:205"}, "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-f5011dc3328abfd6", "name": "Commented-code block (5 lines) in portfolio/avanza_orders.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/avanza_orders.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0bf41eef5a41b78", "name": "Commented-code block (6 lines) in portfolio/local_llm_report.py:280", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/local_llm_report.py:280"}, "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-baf2b0b237ac6218", "name": "Commented-code block (7 lines) in portfolio/equity_curve.py:391", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/equity_curve.py:391"}, "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-8382d2bce4d511e6", "name": "Commented-code block (14 lines) in portfolio/qwen3_trader.py:98", "shortDescription": {"text": "Commented-code block (14 lines) in portfolio/qwen3_trader.py:98"}, "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-22c3eff68d8fd978", "name": "Commented-code block (6 lines) in portfolio/llm_outcome_backfill.py:55", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/llm_outcome_backfill.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac7741318e8469e5", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/autonomous.py:28", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/autonomous.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-41f01429debe8229", "name": "Commented-code block (8 lines) in portfolio/autonomous.py:422", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/autonomous.py:422"}, "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-d404b643f78a3f0e", "name": "Commented-code block (8 lines) in portfolio/claude_gate.py:54", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/claude_gate.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-4f8c4da6740ff186", "name": "Network/subprocess call without timeout or try/except \u2014 portfolio/claude_gate.py:8", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 portfolio/claude_gate.py:8"}, "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-537f0d89997a692c", "name": "Commented-code block (5 lines) in portfolio/llm_prewarmer.py:137", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/llm_prewarmer.py:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-889719540ebc690c", "name": "Commented-code block (6 lines) in portfolio/ic_computation.py:19", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/ic_computation.py:19"}, "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-78c2c611f8bb546a", "name": "Commented-code block (6 lines) in portfolio/monte_carlo_risk.py:14", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/monte_carlo_risk.py:14"}, "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-22b381655c74aed8", "name": "Commented-code block (7 lines) in portfolio/avanza_resilient_page.py:64", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/avanza_resilient_page.py:64"}, "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-438dc73f9dcdbefd", "name": "Legacy-named symbol `_prune_old` in portfolio/alert_budget.py:32", "shortDescription": {"text": "Legacy-named symbol `_prune_old` in portfolio/alert_budget.py:32"}, "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-de6d9b0ffd0dd5ac", "name": "Commented-code block (5 lines) in portfolio/llm_batch.py:32", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/llm_batch.py:32"}, "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-5e7b07bdcfa38c21", "name": "Legacy-named symbol `_forecast_chronos_v2` in portfolio/forecast_signal.py:133", "shortDescription": {"text": "Legacy-named symbol `_forecast_chronos_v2` in portfolio/forecast_signal.py:133"}, "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-bf979030a0d0b67d", "name": "Commented-code block (5 lines) in portfolio/forecast_signal.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/forecast_signal.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-b90c3daf06f0801f", "name": "Commented-code block (5 lines) in portfolio/loop_processes.py:73", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/loop_processes.py:73"}, "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-bd685fd1400a32c4", "name": "Commented-code block (7 lines) in portfolio/shared_state.py:173", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/shared_state.py:173"}, "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-350a40dd8929d1b8", "name": "Commented-code block (5 lines) in portfolio/ticker_accuracy.py:31", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/ticker_accuracy.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-00fceb87ccde174a", "name": "Commented-code block (5 lines) in portfolio/grid_fisher.py:60", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/grid_fisher.py:60"}, "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-90ec2b9889b9bfe6", "name": "Commented-code block (6 lines) in portfolio/kelly_sizing.py:246", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/kelly_sizing.py:246"}, "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-d65a78c5720477ef", "name": "Commented-code block (8 lines) in portfolio/config_validator.py:15", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/config_validator.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-c01f2ed135b6b439", "name": "Legacy-named symbol `escape_markdown_v1` in portfolio/main.py:231", "shortDescription": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/main.py:231"}, "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-a89d8cb51d1884ee", "name": "Commented-code block (5 lines) in portfolio/main.py:293", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/main.py:293"}, "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-b0d182dcc17894ad", "name": "Commented-code block (8 lines) in portfolio/macro_context.py:132", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/macro_context.py:132"}, "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-f007204859ed0a8c", "name": "Commented-code block (10 lines) in portfolio/risk_management.py:30", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/risk_management.py:30"}, "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-7b93d39e9f77a32c", "name": "Commented-code block (5 lines) in portfolio/signal_registry.py:236", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/signal_registry.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-34b28b01ffd572d9", "name": "Commented-code block (5 lines) in portfolio/monte_carlo.py:13", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/monte_carlo.py:13"}, "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-c52a21185074fad3", "name": "Network/subprocess call without timeout or try/except \u2014 portfolio/subprocess_utils.py:4", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 portfolio/subprocess_utils.py:4"}, "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-0b693b41dc8a9eb0", "name": "Commented-code block (6 lines) in portfolio/meta_learner.py:53", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/meta_learner.py:53"}, "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-802c32aa00f4df43", "name": "Commented-code block (7 lines) in portfolio/bigbet.py:169", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/bigbet.py:169"}, "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-2b247a97c5e72502", "name": "Commented-code block (6 lines) in portfolio/signals/cryptotrader_lm.py:152", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/signals/cryptotrader_lm.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-043effbbb663fccd", "name": "Commented-code block (7 lines) in portfolio/signals/forecast.py:52", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/signals/forecast.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-50f19bd311503ce0", "name": "Commented-code block (11 lines) in portfolio/signals/phi4_mini_reasoning.py:108", "shortDescription": {"text": "Commented-code block (11 lines) in portfolio/signals/phi4_mini_reasoning.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-2d4fa8cf47d2a115", "name": "Commented-code block (10 lines) in portfolio/signals/mean_reversion.py:219", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/signals/mean_reversion.py:219"}, "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-320363c39325374e", "name": "Commented-code block (9 lines) in portfolio/signals/metals_cross_asset.py:44", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/signals/metals_cross_asset.py:44"}, "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-ec8dbb60891689fb", "name": "Commented-code block (5 lines) in portfolio/signals/volatility.py:427", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/signals/volatility.py:427"}, "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-a03bf0d6a9128318", "name": "Commented-code block (7 lines) in portfolio/signals/futures_flow.py:63", "shortDescription": {"text": "Commented-code block (7 lines) in portfolio/signals/futures_flow.py:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2409b2f6d6de5cf", "name": "Commented-code block (5 lines) in portfolio/signals/credit_spread.py:299", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/signals/credit_spread.py:299"}, "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-52901db3b1634048", "name": "Commented-code block (10 lines) in portfolio/signals/news_event.py:258", "shortDescription": {"text": "Commented-code block (10 lines) in portfolio/signals/news_event.py:258"}, "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-ce1920c90b4dd53a", "name": "Commented-code block (5 lines) in portfolio/signals/crypto_macro.py:41", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/signals/crypto_macro.py:41"}, "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-2f026bf107cfce0d", "name": "Commented-code block (6 lines) in portfolio/signals/finance_llama.py:60", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/signals/finance_llama.py:60"}, "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-943f20d79ee6c23f", "name": "Commented-code block (6 lines) in portfolio/signals/cot_positioning.py:27", "shortDescription": {"text": "Commented-code block (6 lines) in portfolio/signals/cot_positioning.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8949d8c62f43a940", "name": "Commented-code block (11 lines) in portfolio/signals/econ_calendar.py:275", "shortDescription": {"text": "Commented-code block (11 lines) in portfolio/signals/econ_calendar.py:275"}, "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-5cfc0cfcb638800c", "name": "Commented-code block (8 lines) in portfolio/golddigger/data_provider.py:39", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio/golddigger/data_provider.py:39"}, "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-86033a7246fbbd6c", "name": "Commented-code block (9 lines) in portfolio/golddigger/runner.py:349", "shortDescription": {"text": "Commented-code block (9 lines) in portfolio/golddigger/runner.py:349"}, "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-833d0c87dbc245e4", "name": "Commented-code block (5 lines) in portfolio/mstr_loop/config.py:21", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/config.py:21"}, "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-427f81cb651acfe2", "name": "Commented-code block (5 lines) in portfolio/mstr_loop/execution.py:169", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/execution.py:169"}, "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-c27c44e3783d1434", "name": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/premium_arb.py:43", "shortDescription": {"text": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/premium_arb.py:43"}, "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-d876fcdeb2883dff", "name": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/overnight_gap.py:42", "shortDescription": {"text": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/overnight_gap.py:42"}, "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-6fe013212fed5a71", "name": "Commented-code block (5 lines) in portfolio/mstr_loop/strategies/momentum_rider.py:122", "shortDescription": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/strategies/momentum_rider.py:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nmodels/trading_hero_infer.py:load_model, models/cryptobert_infer.py:load_model\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:\nscripts/fish_monitor_live.py:detect, scripts/fish_monitor_live.py:detect, scripts/fish_monitor_live.py:detect\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nportfolio/fin_fish.py:compute_fishing_levels_bull, portfolio/fin_fish.py:compute_fishing_levels_bear, portfolio/fin_fish.py:compute_fishing_levels, portfolio/fin_fish.py:compute_fishing_plan\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-9006cc5c76b95600", "name": "Flask mutation route `api_validate_portfolio` without `@login_required` \u2014 dashboard/app.py:1172", "shortDescription": {"text": "Flask mutation route `api_validate_portfolio` without `@login_required` \u2014 dashboard/app.py:1172"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1a6d91f2236825bf", "name": "Unused endpoint: ANY /", "shortDescription": {"text": "Unused endpoint: ANY /"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /` 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-d729c2ddd49818f3", "name": "Unused endpoint: ANY /runs", "shortDescription": {"text": "Unused endpoint: ANY /runs"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /runs` 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-bce505017933d398", "name": "Unused endpoint: ANY /runs/<run_id>", "shortDescription": {"text": "Unused endpoint: ANY /runs/<run_id>"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /runs/<run_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-a280bcb6db94ace2", "name": "Unused endpoint: ANY /runs/<run_id>/_manifest.json", "shortDescription": {"text": "Unused endpoint: ANY /runs/<run_id>/_manifest.json"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /runs/<run_id>/_manifest.json` 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-f49d327ef05b0e89", "name": "Unused endpoint: ANY /runs/<run_id>/<slug>", "shortDescription": {"text": "Unused endpoint: ANY /runs/<run_id>/<slug>"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /runs/<run_id>/<slug>` 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-4de865fe7c8adbb5", "name": "Unused endpoint: ANY /runs/<run_id>/<slug>/raw", "shortDescription": {"text": "Unused endpoint: ANY /runs/<run_id>/<slug>/raw"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /runs/<run_id>/<slug>/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-6ae3afafcc548879", "name": "Unused endpoint: ANY /heatmap", "shortDescription": {"text": "Unused endpoint: ANY /heatmap"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /heatmap` 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-0f32e52e0c58e2fd", "name": "Unused endpoint: ANY /k10", "shortDescription": {"text": "Unused endpoint: ANY /k10"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /k10` 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-6a99e3f21c08dede", "name": "Unused endpoint: ANY /api/runs", "shortDescription": {"text": "Unused endpoint: ANY /api/runs"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /api/runs` 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-2b3a9d33312f6757", "name": "Unused endpoint: ANY /api/runs/<run_id>", "shortDescription": {"text": "Unused endpoint: ANY /api/runs/<run_id>"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /api/runs/<run_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-06be57d21d35a00d", "name": "Unused endpoint: ANY /api/runs/<run_id>/<slug>", "shortDescription": {"text": "Unused endpoint: ANY /api/runs/<run_id>/<slug>"}, "fullDescription": {"text": "`dashboard/house_blueprint.py` declares `ANY /api/runs/<run_id>/<slug>` 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-74c83a5baac22f39", "name": "Unused endpoint: ANY /legacy", "shortDescription": {"text": "Unused endpoint: ANY /legacy"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /legacy` 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-c9e449c3b9e73b73", "name": "Unused endpoint: ANY /logout", "shortDescription": {"text": "Unused endpoint: ANY /logout"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /logout` 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-7d69112501a1dc8b", "name": "Unused endpoint: ANY /go/<slug>", "shortDescription": {"text": "Unused endpoint: ANY /go/<slug>"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /go/<slug>` 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-e258d1973c46d268", "name": "Unused endpoint: ANY /api/summary", "shortDescription": {"text": "Unused endpoint: ANY /api/summary"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/summary` 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-b8e77e1314875d93", "name": "Unused endpoint: ANY /api/signals", "shortDescription": {"text": "Unused endpoint: ANY /api/signals"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/signals` 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-64a025ea08d3a390", "name": "Unused endpoint: ANY /api/portfolio", "shortDescription": {"text": "Unused endpoint: ANY /api/portfolio"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/portfolio` 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-6b9930cc6bcd4821", "name": "Unused endpoint: ANY /api/portfolio-bold", "shortDescription": {"text": "Unused endpoint: ANY /api/portfolio-bold"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/portfolio-bold` 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-b79b29cb7230f6a1", "name": "Unused endpoint: ANY /api/grid-fisher", "shortDescription": {"text": "Unused endpoint: ANY /api/grid-fisher"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/grid-fisher` 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-535814a5113020f6", "name": "Unused endpoint: ANY /api/mstr_loop", "shortDescription": {"text": "Unused endpoint: ANY /api/mstr_loop"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/mstr_loop` 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-b2f001ecd7e6aca8", "name": "Unused endpoint: ANY /api/invocations", "shortDescription": {"text": "Unused endpoint: ANY /api/invocations"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/invocations` 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-c2c861c746c94c2e", "name": "Unused endpoint: ANY /api/telegrams", "shortDescription": {"text": "Unused endpoint: ANY /api/telegrams"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/telegrams` 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-c94ec1af59092ffb", "name": "Unused endpoint: ANY /api/signal-log", "shortDescription": {"text": "Unused endpoint: ANY /api/signal-log"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/signal-log` 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-a61b5dde7055173d", "name": "Unused endpoint: ANY /api/accuracy", "shortDescription": {"text": "Unused endpoint: ANY /api/accuracy"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/accuracy` 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-11545b4c6e20b137", "name": "Unused endpoint: ANY /api/iskbets", "shortDescription": {"text": "Unused endpoint: ANY /api/iskbets"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/iskbets` 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-221d8409c81f9ddf", "name": "Unused endpoint: ANY /api/lora-status", "shortDescription": {"text": "Unused endpoint: ANY /api/lora-status"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/lora-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-e389edbed175879f", "name": "Unused endpoint: ANY /api/validate-portfolio", "shortDescription": {"text": "Unused endpoint: ANY /api/validate-portfolio"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/validate-portfolio` 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-666f3f0b57095c26", "name": "Unused endpoint: ANY /api/equity-curve", "shortDescription": {"text": "Unused endpoint: ANY /api/equity-curve"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/equity-curve` 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-fce74c2915ffd17b", "name": "Unused endpoint: ANY /api/signal-heatmap", "shortDescription": {"text": "Unused endpoint: ANY /api/signal-heatmap"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/signal-heatmap` 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-53872dbc33201dd1", "name": "Unused endpoint: ANY /api/triggers", "shortDescription": {"text": "Unused endpoint: ANY /api/triggers"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/triggers` 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-1b63e5646562a463", "name": "Unused endpoint: ANY /api/accuracy-history", "shortDescription": {"text": "Unused endpoint: ANY /api/accuracy-history"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/accuracy-history` 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-321285e61be76ec0", "name": "Unused endpoint: ANY /api/calibration", "shortDescription": {"text": "Unused endpoint: ANY /api/calibration"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/calibration` 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-7d9af77cc6d29237", "name": "Unused endpoint: ANY /api/local-llm-trends", "shortDescription": {"text": "Unused endpoint: ANY /api/local-llm-trends"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/local-llm-trends` 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-8dcf1354373cca30", "name": "Unused endpoint: ANY /api/metals-accuracy", "shortDescription": {"text": "Unused endpoint: ANY /api/metals-accuracy"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/metals-accuracy` 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-5ea62f9003417398", "name": "Unused endpoint: ANY /api/llm-leaderboard", "shortDescription": {"text": "Unused endpoint: ANY /api/llm-leaderboard"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/llm-leaderboard` 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-669aad044ad1df79", "name": "Unused endpoint: ANY /api/trades", "shortDescription": {"text": "Unused endpoint: ANY /api/trades"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/trades` 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-f5b4c4ab68ecfabe", "name": "Unused endpoint: ANY /api/decisions", "shortDescription": {"text": "Unused endpoint: ANY /api/decisions"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/decisions` 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-8ece8c987ff9c424", "name": "Unused endpoint: ANY /api/health", "shortDescription": {"text": "Unused endpoint: ANY /api/health"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/health` 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-9a01c9bd73f54efc", "name": "Unused endpoint: ANY /api/warrants", "shortDescription": {"text": "Unused endpoint: ANY /api/warrants"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/warrants` 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-ded9c57bc3dd3e69", "name": "Unused endpoint: ANY /api/prophecy", "shortDescription": {"text": "Unused endpoint: ANY /api/prophecy"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/prophecy` 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-6e829b6eb12aa3ed", "name": "Unused endpoint: ANY /prophecy", "shortDescription": {"text": "Unused endpoint: ANY /prophecy"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /prophecy` 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-6cc06a8033cc5e77", "name": "Unused endpoint: ANY /api/risk", "shortDescription": {"text": "Unused endpoint: ANY /api/risk"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/risk` 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-a048d7d47621db1c", "name": "Unused endpoint: ANY /api/metals", "shortDescription": {"text": "Unused endpoint: ANY /api/metals"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/metals` 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-1de283cd5ca9d983", "name": "Unused endpoint: ANY /api/crypto", "shortDescription": {"text": "Unused endpoint: ANY /api/crypto"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/crypto` 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-d0f2a89f1efc6ab5", "name": "Unused endpoint: ANY /api/btc", "shortDescription": {"text": "Unused endpoint: ANY /api/btc"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/btc` 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-8a9f871ce2cb7d8b", "name": "Unused endpoint: ANY /api/eth", "shortDescription": {"text": "Unused endpoint: ANY /api/eth"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/eth` 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-987272f867ca0245", "name": "Unused endpoint: ANY /api/loop_health", "shortDescription": {"text": "Unused endpoint: ANY /api/loop_health"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/loop_health` 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-7d0db4a82bac4232", "name": "Unused endpoint: ANY /api/loop-processes", "shortDescription": {"text": "Unused endpoint: ANY /api/loop-processes"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/loop-processes` 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-1cc3b6453ec81248", "name": "Unused endpoint: ANY /api/pickups", "shortDescription": {"text": "Unused endpoint: ANY /api/pickups"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/pickups` 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-e5c147ad072cba73", "name": "Unused endpoint: ANY /api/oil", "shortDescription": {"text": "Unused endpoint: ANY /api/oil"}, "fullDescription": {"text": "`dashboard/app.py` declares `ANY /api/oil` 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/22846"}, "properties": {"repository": "Wojnach/finance-analyzer", "repoUrl": "https://github.com/Wojnach/finance-analyzer", "branch": "main"}, "results": [{"ruleId": "scanner-8ceabde69ff7c636", "level": "note", "message": {"text": "Possibly dead Python function: run_log_file"}, "properties": {"repobilityId": "01a4c077e51b520b", "scanner": "scanner-primary", "fingerprint": "8ceabde69ff7c636", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prophecy/config.py:78"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f7a46dd347f10ce", "level": "note", "message": {"text": "Possibly dead Python function: cmd_signals"}, "properties": {"repobilityId": "199166e4c1f67f61", "scanner": "scanner-primary", "fingerprint": "2f7a46dd347f10ce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:207"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b26c64bc7864d048", "level": "note", "message": {"text": "Possibly dead Python function: cmd_trades"}, "properties": {"repobilityId": "10d9b61d9900485f", "scanner": "scanner-primary", "fingerprint": "b26c64bc7864d048", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:263"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ff81a6cd7a47f2a", "level": "note", "message": {"text": "Possibly dead Python function: cmd_log"}, "properties": {"repobilityId": "b9defd6c5d024220", "scanner": "scanner-primary", "fingerprint": "4ff81a6cd7a47f2a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:296"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c31b9d6f0412d710", "level": "note", "message": {"text": "Possibly dead Python function: cmd_report"}, "properties": {"repobilityId": "e07177dc4040e77f", "scanner": "scanner-primary", "fingerprint": "c31b9d6f0412d710", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:333"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-73a0a80aa6f35c8f", "level": "note", "message": {"text": "Possibly dead Python function: cmd_buy"}, "properties": {"repobilityId": "4b8e152668ec293b", "scanner": "scanner-primary", "fingerprint": "73a0a80aa6f35c8f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:354"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a6e3e1ff88c5bb9", "level": "note", "message": {"text": "Possibly dead Python function: cmd_sell"}, "properties": {"repobilityId": "d3540ecf743ca4f9", "scanner": "scanner-primary", "fingerprint": "8a6e3e1ff88c5bb9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:432"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-529b8bcccac1f42c", "level": "note", "message": {"text": "Possibly dead Python function: cmd_pause"}, "properties": {"repobilityId": "91caa55bcba25bb6", "scanner": "scanner-primary", "fingerprint": "529b8bcccac1f42c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:499"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2872326e46fa3d63", "level": "note", "message": {"text": "Possibly dead Python function: cmd_resume"}, "properties": {"repobilityId": "446f8414d55507a8", "scanner": "scanner-primary", "fingerprint": "2872326e46fa3d63", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pf.py:511"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c5bc6498189bb64a", "level": "note", "message": {"text": "Possibly dead Python function: place_limit_buy"}, "properties": {"repobilityId": "3f543db0caaa162e", "scanner": "scanner-primary", "fingerprint": "c5bc6498189bb64a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fish_straddle.py:79"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e14525412d63220", "level": "note", "message": {"text": "Possibly dead Python function: check_order_filled"}, "properties": {"repobilityId": "c1fbf49570eb23ef", "scanner": "scanner-primary", "fingerprint": "8e14525412d63220", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fish_straddle.py:101"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3dd07bf6375ffd87", "level": "note", "message": {"text": "Possibly dead Python function: handle_request"}, "properties": {"repobilityId": "d9622bac4e22d36b", "scanner": "scanner-primary", "fingerprint": "3dd07bf6375ffd87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/avanza_login.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1158caa96d6e89bf", "level": "note", "message": {"text": "Possibly dead Python function: handle_response"}, "properties": {"repobilityId": "2b2ed5b764a1cba2", "scanner": "scanner-primary", "fingerprint": "1158caa96d6e89bf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/avanza_login.py:96"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a301b714a70a1e1", "level": "note", "message": {"text": "Possibly dead Python function: check_1_process_liveness"}, "properties": {"repobilityId": "c44391e5129fb70b", "scanner": "scanner-primary", "fingerprint": "3a301b714a70a1e1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:107"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1ded8822e49075b", "level": "note", "message": {"text": "Possibly dead Python function: check_2_heartbeat"}, "properties": {"repobilityId": "9f969b08d9534c5d", "scanner": "scanner-primary", "fingerprint": "f1ded8822e49075b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-594d5193152d7dad", "level": "note", "message": {"text": "Possibly dead Python function: check_3_signal_coverage"}, "properties": {"repobilityId": "eecb3c440f1270cb", "scanner": "scanner-primary", "fingerprint": "594d5193152d7dad", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:173"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a549b11773adfba4", "level": "note", "message": {"text": "Possibly dead Python function: check_4_llm_inference"}, "properties": {"repobilityId": "ea64765ccf266649", "scanner": "scanner-primary", "fingerprint": "a549b11773adfba4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:219"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0841908825d913a9", "level": "note", "message": {"text": "Possibly dead Python function: check_5_layer2_agent"}, "properties": {"repobilityId": "82e52dba39eb00cb", "scanner": "scanner-primary", "fingerprint": "0841908825d913a9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:262"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c6185bc99b17d54", "level": "note", "message": {"text": "Possibly dead Python function: check_6_telegram"}, "properties": {"repobilityId": "fa0de283d80ee34b", "scanner": "scanner-primary", "fingerprint": "3c6185bc99b17d54", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:284"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0606d5aa7b5edac", "level": "note", "message": {"text": "Possibly dead Python function: check_7_data_freshness"}, "properties": {"repobilityId": "6dc1ac6653babe3b", "scanner": "scanner-primary", "fingerprint": "d0606d5aa7b5edac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:317"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c85c07f064d9b1b", "level": "note", "message": {"text": "Possibly dead Python function: check_8_singleton_locks"}, "properties": {"repobilityId": "72591c5291f33106", "scanner": "scanner-primary", "fingerprint": "0c85c07f064d9b1b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:340"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d34e6a919a36df6a", "level": "note", "message": {"text": "Possibly dead Python function: check_9_api_connectivity"}, "properties": {"repobilityId": "d8de93462654c74c", "scanner": "scanner-primary", "fingerprint": "d34e6a919a36df6a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:384"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-296df2a2fe35fdc2", "level": "note", "message": {"text": "Possibly dead Python function: check_10_dashboard"}, "properties": {"repobilityId": "9470c56f90428c5e", "scanner": "scanner-primary", "fingerprint": "296df2a2fe35fdc2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check.py:413"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-234284c6a10e96d7", "level": "note", "message": {"text": "Possibly dead Python function: stub_consensus"}, "properties": {"repobilityId": "0d4f369507cf6722", "scanner": "scanner-primary", "fingerprint": "234284c6a10e96d7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/_e2e_degradation_check.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ad6a3f516018463", "level": "note", "message": {"text": "Possibly dead Python function: benchmark_qwen3_single"}, "properties": {"repobilityId": "407eef346b632a8f", "scanner": "scanner-primary", "fingerprint": "6ad6a3f516018463", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/benchmark_gpu_models.py:74"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-ebfd8afcdc7f40e2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/prophecy.html:82"}, "properties": {"repobilityId": "d842acd1806ef85f", "scanner": "scanner-primary", "fingerprint": "ebfd8afcdc7f40e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard/static/prophecy.html"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-c37a87622e5cb6e8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard/static/index_legacy.html:1044"}, "properties": {"repobilityId": "e279dd22d4c1f3ce", "scanner": "scanner-primary", "fingerprint": "c37a87622e5cb6e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard/static/index_legacy.html"}, "region": {"startLine": 1044}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9797b59b396d54c1", "level": "note", "message": {"text": "Very large file: tests/test_signal_engine.py (1666 lines)"}, "properties": {"repobilityId": "1f3dc4fe88a9ab99", "scanner": "scanner-primary", "fingerprint": "9797b59b396d54c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d52687289e6f37f3", "level": "note", "message": {"text": "Very large file: tests/test_dashboard.py (1962 lines)"}, "properties": {"repobilityId": "55cd48f794a884e8", "scanner": "scanner-primary", "fingerprint": "d52687289e6f37f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f30487053884115d", "level": "note", "message": {"text": "Very large file: tests/test_fish_engine.py (1453 lines)"}, "properties": {"repobilityId": "d89a181be8143731", "scanner": "scanner-primary", "fingerprint": "f30487053884115d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-be21b8ac7b32e9de", "level": "note", "message": {"text": "Very large file: tests/test_risk_management.py (1334 lines)"}, "properties": {"repobilityId": "3c2682e64525850e", "scanner": "scanner-primary", "fingerprint": "be21b8ac7b32e9de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c5091f847cbd2552", "level": "note", "message": {"text": "Very large file: tests/test_agent_invocation.py (2464 lines)"}, "properties": {"repobilityId": "a0ca5b9b6e29c7f9", "scanner": "scanner-primary", "fingerprint": "c5091f847cbd2552", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4622d9c3731cfb79", "level": "note", "message": {"text": "Very large file: tests/test_signal_engine_core.py (1922 lines)"}, "properties": {"repobilityId": "ef7a82ee69d14efe", "scanner": "scanner-primary", "fingerprint": "4622d9c3731cfb79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d3d9459f0e3bdac0", "level": "note", "message": {"text": "Very large file: tests/test_golddigger.py (1374 lines)"}, "properties": {"repobilityId": "2f79007934c481f5", "scanner": "scanner-primary", "fingerprint": "d3d9459f0e3bdac0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c04665121bae108a", "level": "note", "message": {"text": "Very large file: tests/test_fin_evolve.py (1419 lines)"}, "properties": {"repobilityId": "a78dd349f4063a2b", "scanner": "scanner-primary", "fingerprint": "c04665121bae108a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ebece6814108f8e5", "level": "note", "message": {"text": "Very large file: tests/test_trigger_core.py (1867 lines)"}, "properties": {"repobilityId": "aac176dabd2dc7a2", "scanner": "scanner-primary", "fingerprint": "ebece6814108f8e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6da892c8121dafca", "level": "note", "message": {"text": "Very large file: tests/test_reporting_core.py (1295 lines)"}, "properties": {"repobilityId": "8fec23ecdf3090bc", "scanner": "scanner-primary", "fingerprint": "6da892c8121dafca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c474fc24daea3bd4", "level": "note", "message": {"text": "Very large file: tests/test_metals_swing_trader.py (1088 lines)"}, "properties": {"repobilityId": "e20b9726f956d167", "scanner": "scanner-primary", "fingerprint": "c474fc24daea3bd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-741cc2a646efd83c", "level": "note", "message": {"text": "Very large file: dashboard/app.py (2568 lines)"}, "properties": {"repobilityId": "4e51e849ae97084b", "scanner": "scanner-primary", "fingerprint": "741cc2a646efd83c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a055cd0f42553da9", "level": "note", "message": {"text": "Very large file: portfolio/agent_invocation.py (2092 lines)"}, "properties": {"repobilityId": "301f6c6dec8da362", "scanner": "scanner-primary", "fingerprint": "a055cd0f42553da9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ed30076e7d17c0ac", "level": "note", "message": {"text": "Very large file: portfolio/fin_fish.py (1457 lines)"}, "properties": {"repobilityId": "5fa3e66185c60277", "scanner": "scanner-primary", "fingerprint": "ed30076e7d17c0ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1bac85319e93b58f", "level": "note", "message": {"text": "Very large file: portfolio/loop_contract.py (2648 lines)"}, "properties": {"repobilityId": "4148440f4c450041", "scanner": "scanner-primary", "fingerprint": "1bac85319e93b58f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bdeb7c94fa1c66d", "level": "note", "message": {"text": "Very large file: portfolio/signal_engine.py (4853 lines)"}, "properties": {"repobilityId": "1c5cfb46a2091860", "scanner": "scanner-primary", "fingerprint": "2bdeb7c94fa1c66d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-312051ee643cbc39", "level": "note", "message": {"text": "Very large file: portfolio/accuracy_stats.py (2201 lines)"}, "properties": {"repobilityId": "ccb5adbb7d3b2a61", "scanner": "scanner-primary", "fingerprint": "312051ee643cbc39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa72e39598599501", "level": "note", "message": {"text": "Very large file: portfolio/fin_snipe_manager.py (1765 lines)"}, "properties": {"repobilityId": "530fad8c3bb92b3c", "scanner": "scanner-primary", "fingerprint": "fa72e39598599501", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e3235751e205a18", "level": "note", "message": {"text": "Very large file: portfolio/reporting.py (1361 lines)"}, "properties": {"repobilityId": "c65c3f9c1bce6d5e", "scanner": "scanner-primary", "fingerprint": "5e3235751e205a18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-95ebe8a944156477", "level": "note", "message": {"text": "Very large file: portfolio/avanza_session.py (1609 lines)"}, "properties": {"repobilityId": "b638aec37694c973", "scanner": "scanner-primary", "fingerprint": "95ebe8a944156477", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-405428257d40be0d", "level": "note", "message": {"text": "Very large file: portfolio/grid_fisher.py (2402 lines)"}, "properties": {"repobilityId": "327ba69b84f1ddd0", "scanner": "scanner-primary", "fingerprint": "405428257d40be0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5701a87916cf63da", "level": "note", "message": {"text": "Very large file: portfolio/main.py (1686 lines)"}, "properties": {"repobilityId": "7f2018843d3b8c5e", "scanner": "scanner-primary", "fingerprint": "5701a87916cf63da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "136226d1214253d5", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "5a0b1fa07bdf647d", "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": "304607b59ef9bc44", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "6f26f00339c06b8c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "15f64a63d11c7a01", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "67af8d029b8cc442", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "4e7367b6ade136af", "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": "3ffb2a00469f17c0", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-887b1a0347c88c74", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-silver.md"}, "properties": {"repobilityId": "8a66653af6b4d496", "scanner": "scanner-primary", "fingerprint": "887b1a0347c88c74", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-silver.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11626ef8de0dd9ce", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-eth.md"}, "properties": {"repobilityId": "2346823683fb1759", "scanner": "scanner-primary", "fingerprint": "11626ef8de0dd9ce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-eth.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0af45e3113b1aef3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-logs.md"}, "properties": {"repobilityId": "671cc75d5e7f725b", "scanner": "scanner-primary", "fingerprint": "0af45e3113b1aef3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-logs.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc3171ed8c62815c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/time.md"}, "properties": {"repobilityId": "672c635cc0e4e52c", "scanner": "scanner-primary", "fingerprint": "fc3171ed8c62815c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/time.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f23aab153ed71701", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-trades.md"}, "properties": {"repobilityId": "56a4294798d32cf3", "scanner": "scanner-primary", "fingerprint": "f23aab153ed71701", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-trades.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-665fa02779ebe2cc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-crypto.md"}, "properties": {"repobilityId": "c9de42fc75a15a8b", "scanner": "scanner-primary", "fingerprint": "665fa02779ebe2cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-crypto.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5295fe0e6af00ff8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/avanza-search.md"}, "properties": {"repobilityId": "8bc09ab4e4fad3d1", "scanner": "scanner-primary", "fingerprint": "5295fe0e6af00ff8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/avanza-search.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c7bda965b84fa85", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-metals.md"}, "properties": {"repobilityId": "828980b530b353ba", "scanner": "scanner-primary", "fingerprint": "4c7bda965b84fa85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-metals.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2ec23c095991e96", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-oil.md"}, "properties": {"repobilityId": "101c3a29be238814", "scanner": "scanner-primary", "fingerprint": "c2ec23c095991e96", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-oil.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-182d60a3f08f45d2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-portfolio.md"}, "properties": {"repobilityId": "bef8f4dd9c709b10", "scanner": "scanner-primary", "fingerprint": "182d60a3f08f45d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-portfolio.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b4649cb97e05b8b9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-signals.md"}, "properties": {"repobilityId": "4d84ef5ccb654e50", "scanner": "scanner-primary", "fingerprint": "b4649cb97e05b8b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-signals.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35b491e956313679", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/sysmon.md"}, "properties": {"repobilityId": "d7c026ef982c2a13", "scanner": "scanner-primary", "fingerprint": "35b491e956313679", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/sysmon.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b73db2f8db14fec", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-analyze.md"}, "properties": {"repobilityId": "0521a3b52cd3e072", "scanner": "scanner-primary", "fingerprint": "4b73db2f8db14fec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-analyze.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fdf6152e5606ee53", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fin-mstr.md"}, "properties": {"repobilityId": "9c0a76b53c6bc434", "scanner": "scanner-primary", "fingerprint": "fdf6152e5606ee53", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fin-mstr.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e96147c60c7ca361", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/digest-project.md"}, "properties": {"repobilityId": "0954b9dabbf8ed1e", "scanner": "scanner-primary", "fingerprint": "e96147c60c7ca361", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/digest-project.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0715b9c4bb46f4f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in prophecy/cost.py:95"}, "properties": {"repobilityId": "34cc64846f3e75fe", "scanner": "scanner-primary", "fingerprint": "0715b9c4bb46f4f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a49041825656bd27", "level": "none", "message": {"text": "Commented-code block (8 lines) in prophecy/config.py:32"}, "properties": {"repobilityId": "635ec909382f5a20", "scanner": "scanner-primary", "fingerprint": "a49041825656bd27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f1c922535e8243b", "level": "none", "message": {"text": "Commented-code block (5 lines) in prophecy/outcomes.py:277"}, "properties": {"repobilityId": "fe81af1c4a3eac2e", "scanner": "scanner-primary", "fingerprint": "4f1c922535e8243b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70c6f97cf28ba321", "level": "note", "message": {"text": "Legacy-named symbol `test_save_creates_backup` in tests/test_portfolio_mgr_core.py:429"}, "properties": {"repobilityId": "8f40fa46160b0fbe", "scanner": "scanner-primary", "fingerprint": "70c6f97cf28ba321", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5de45b9b57ee5b09", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_signal_engine.py:16"}, "properties": {"repobilityId": "1efe1668d5dfb4c0", "scanner": "scanner-primary", "fingerprint": "5de45b9b57ee5b09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa44aaa808a55b18", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_signals_structure.py:363"}, "properties": {"repobilityId": "4fd2b2990572d7e0", "scanner": "scanner-primary", "fingerprint": "aa44aaa808a55b18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3beb35598b5c03f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_api_pickups.py:25"}, "properties": {"repobilityId": "0b86829b90c83760", "scanner": "scanner-primary", "fingerprint": "3beb35598b5c03f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f8c6851fd2d639b", "level": "note", "message": {"text": "Legacy-named symbol `test_none_when_stale_too_old` in tests/test_shared_state_cache.py:148"}, "properties": {"repobilityId": "1ec35ab98a633356", "scanner": "scanner-primary", "fingerprint": "2f8c6851fd2d639b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-16bb7799ee6185c6", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_ticker_accuracy.py:555"}, "properties": {"repobilityId": "01c998bdec4d5ea8", "scanner": "scanner-primary", "fingerprint": "16bb7799ee6185c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0dc5cf838794fcd0", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_signal_improvements.py:131"}, "properties": {"repobilityId": "8a9af0ef81a15b93", "scanner": "scanner-primary", "fingerprint": "0dc5cf838794fcd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c77d9427e4738903", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/test_signal_hold_bias_reduction.py:324"}, "properties": {"repobilityId": "12d6e1d6dbaee702", "scanner": "scanner-primary", "fingerprint": "c77d9427e4738903", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cc951e5ff8bd1c8", "level": "note", "message": {"text": "Legacy-named symbol `p_old` in tests/test_accuracy_degradation_significance.py:63"}, "properties": {"repobilityId": "dd2558023d2e76e4", "scanner": "scanner-primary", "fingerprint": "7cc951e5ff8bd1c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6bae5c2e28e069cc", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_metals.py:207"}, "properties": {"repobilityId": "93e9d10ecb86e57d", "scanner": "scanner-primary", "fingerprint": "6bae5c2e28e069cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a1736e6b2dc8968", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_avanza.py:658"}, "properties": {"repobilityId": "0207e0a558ffa3b4", "scanner": "scanner-primary", "fingerprint": "0a1736e6b2dc8968", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8beae9e73a156d29", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_avanza_orders.py:659"}, "properties": {"repobilityId": "10e3b5dee5b18a91", "scanner": "scanner-primary", "fingerprint": "8beae9e73a156d29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ec333d805dce8fe", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_grid_fisher_reconcile.py:158"}, "properties": {"repobilityId": "a61d0803f75dc96f", "scanner": "scanner-primary", "fingerprint": "9ec333d805dce8fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d9effd25a9285df", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_accuracy_degradation.py:130"}, "properties": {"repobilityId": "d503e0899f3e0329", "scanner": "scanner-primary", "fingerprint": "7d9effd25a9285df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2bee9af5c1c731c", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_crypto_swing_config.py:24"}, "properties": {"repobilityId": "778b3ef9ab62748d", "scanner": "scanner-primary", "fingerprint": "e2bee9af5c1c731c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e7c9b56e244bc9a", "level": "none", "message": {"text": "Commented-code block (13 lines) in tests/test_consensus.py:40"}, "properties": {"repobilityId": "32fe15cabfd79d28", "scanner": "scanner-primary", "fingerprint": "2e7c9b56e244bc9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f92dbebace7ed72", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_signal_pipeline.py:130"}, "properties": {"repobilityId": "b06224a728958348", "scanner": "scanner-primary", "fingerprint": "6f92dbebace7ed72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6f44743b6898884", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/test_ic_computation.py:140"}, "properties": {"repobilityId": "63e6d7ed6d68585d", "scanner": "scanner-primary", "fingerprint": "d6f44743b6898884", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-289c06241bd3aeb8", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_completion.py:606"}, "properties": {"repobilityId": "5e8bd631a9a455ca", "scanner": "scanner-primary", "fingerprint": "289c06241bd3aeb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-53b2bc35f49a36b5", "level": "note", "message": {"text": "Legacy-named symbol `test_get_all_fundamentals_returns_copy` in tests/test_alpha_vantage.py:172"}, "properties": {"repobilityId": "1dd3bda1eaef965f", "scanner": "scanner-primary", "fingerprint": "53b2bc35f49a36b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d545456432790842", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_forecast_circuit_breaker.py:86"}, "properties": {"repobilityId": "2c53de737c2dc01f", "scanner": "scanner-primary", "fingerprint": "d545456432790842", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0913fcdb40a2a5a", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_signals_calendar.py:423"}, "properties": {"repobilityId": "ace073a85c3bd0ef", "scanner": "scanner-primary", "fingerprint": "c0913fcdb40a2a5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49895b325c9f0b4c", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/test_perception_gate.py:162"}, "properties": {"repobilityId": "9601433abc9ca6cf", "scanner": "scanner-primary", "fingerprint": "49895b325c9f0b4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df585f0ebde718f6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_fin_snipe_manager.py:588"}, "properties": {"repobilityId": "8454174d8d565300", "scanner": "scanner-primary", "fingerprint": "df585f0ebde718f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-293c92419d4596f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_market_timing.py:956"}, "properties": {"repobilityId": "4d8b0b80d3c1d925", "scanner": "scanner-primary", "fingerprint": "293c92419d4596f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ad5f17b84eee307", "level": "note", "message": {"text": "Legacy-named symbol `ts_old` in tests/test_risk_management.py:598"}, "properties": {"repobilityId": "7d7f7fe9ed0b811a", "scanner": "scanner-primary", "fingerprint": "1ad5f17b84eee307", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1ff56ba0d524f705", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_risk_management.py:1022"}, "properties": {"repobilityId": "c34f732f1aaeec65", "scanner": "scanner-primary", "fingerprint": "1ff56ba0d524f705", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f876f60e8d053c1", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in tests/test_agent_invocation.py:98"}, "properties": {"repobilityId": "c0398f508ff99da1", "scanner": "scanner-primary", "fingerprint": "5f876f60e8d053c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f208dbb9ddaef457", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_agent_invocation.py:211"}, "properties": {"repobilityId": "580b07309296ac37", "scanner": "scanner-primary", "fingerprint": "f208dbb9ddaef457", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62ce86ad3f03f34e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_batch2_fixes.py:245"}, "properties": {"repobilityId": "0b48648dd61a3c92", "scanner": "scanner-primary", "fingerprint": "62ce86ad3f03f34e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f21b6f63e2df9288", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_signals_news_event.py:197"}, "properties": {"repobilityId": "8bfced8bd883fd25", "scanner": "scanner-primary", "fingerprint": "f21b6f63e2df9288", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-045b9f49f006c131", "level": "note", "message": {"text": "Legacy-named symbol `index_legacy` in tests/test_dashboard_legacy_route.py:3"}, "properties": {"repobilityId": "5ef0cd15ccbb4092", "scanner": "scanner-primary", "fingerprint": "045b9f49f006c131", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-37d6ac939203c0f1", "level": "note", "message": {"text": "Legacy-named symbol `test_creates_first_backup` in tests/test_portfolio_mgr.py:77"}, "properties": {"repobilityId": "344b23845f33cff2", "scanner": "scanner-primary", "fingerprint": "37d6ac939203c0f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97459d638906a53c", "level": "note", "message": {"text": "Legacy-named symbol `test_result_is_copy` in tests/test_signals_claude_fundamental.py:589"}, "properties": {"repobilityId": "e0210e9bde6c3d7d", "scanner": "scanner-primary", "fingerprint": "97459d638906a53c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e80a06c6c43c0fd4", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_signal_cot_positioning.py:253"}, "properties": {"repobilityId": "1cb1fe622af5be7a", "scanner": "scanner-primary", "fingerprint": "e80a06c6c43c0fd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfaec40339bd6b86", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_macro_regime_integration.py:59"}, "properties": {"repobilityId": "b51176ae96ca8864", "scanner": "scanner-primary", "fingerprint": "cfaec40339bd6b86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71b6052f1540d674", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_kelly_sizing.py:297"}, "properties": {"repobilityId": "7502502cf15211d6", "scanner": "scanner-primary", "fingerprint": "71b6052f1540d674", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ff960238111d5cb", "level": "note", "message": {"text": "Legacy-named symbol `test_build_bundle_is_usable_false_when_source_old` in tests/test_mstr_loop_data_provider.py:211"}, "properties": {"repobilityId": "f7065e6c63adf5b5", "scanner": "scanner-primary", "fingerprint": "6ff960238111d5cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5e214dde39f1f381", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_warrant_portfolio.py:383"}, "properties": {"repobilityId": "cf913d2f19c485cb", "scanner": "scanner-primary", "fingerprint": "5e214dde39f1f381", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41153e6bd973a914", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_mstr_loop_execution.py:26"}, "properties": {"repobilityId": "3b5a331533c67268", "scanner": "scanner-primary", "fingerprint": "41153e6bd973a914", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38118357ad22d1f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_equity_curve_fifo.py:411"}, "properties": {"repobilityId": "12903bb3de7b6283", "scanner": "scanner-primary", "fingerprint": "38118357ad22d1f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e60849cf92ff77fa", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_accuracy_degradation_writer_safety.py:76"}, "properties": {"repobilityId": "5e1e98ed7715a580", "scanner": "scanner-primary", "fingerprint": "e60849cf92ff77fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d77d2ba1dadd0ed", "level": "note", "message": {"text": "Legacy-named symbol `test_recent_entry_has_higher_weight_than_old` in tests/test_ewma_accuracy.py:212"}, "properties": {"repobilityId": "bc31f796a40715e9", "scanner": "scanner-primary", "fingerprint": "2d77d2ba1dadd0ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-60d6dabc0da24496", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_regime_accuracy.py:357"}, "properties": {"repobilityId": "5bf4dfce9c0db398", "scanner": "scanner-primary", "fingerprint": "60d6dabc0da24496", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e8f3724e0cbd28c", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_signal_engine_core.py:900"}, "properties": {"repobilityId": "1b1f8f1882eea3bc", "scanner": "scanner-primary", "fingerprint": "1e8f3724e0cbd28c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27565cbec506565a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_adversarial_review_fixes.py:132"}, "properties": {"repobilityId": "97b3e8ae0a84e3f5", "scanner": "scanner-primary", "fingerprint": "27565cbec506565a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0f6245bdbb18992", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_futures_flow.py:272"}, "properties": {"repobilityId": "8a557b6d878215e6", "scanner": "scanner-primary", "fingerprint": "c0f6245bdbb18992", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-398ffb579f61e539", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_accuracy_stats.py:797"}, "properties": {"repobilityId": "7f1e16b4d573d521", "scanner": "scanner-primary", "fingerprint": "398ffb579f61e539", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89054830dad37442", "level": "none", "message": {"text": "Commented-code block (12 lines) in tests/test_resilience_improvements.py:264"}, "properties": {"repobilityId": "8ded271905dd0728", "scanner": "scanner-primary", "fingerprint": "89054830dad37442", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3530f61a85f853b3", "level": "note", "message": {"text": "Legacy-named symbol `index_legacy` in tests/test_dashboard_frontend.py:5"}, "properties": {"repobilityId": "7b83e731574f41b6", "scanner": "scanner-primary", "fingerprint": "3530f61a85f853b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e932dd32849ff6d", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_metals_llm_orphan.py:88"}, "properties": {"repobilityId": "72227d3d70b0e9da", "scanner": "scanner-primary", "fingerprint": "3e932dd32849ff6d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cd8a50919be637f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_safety_guards.py:204"}, "properties": {"repobilityId": "9be29c850d875167", "scanner": "scanner-primary", "fingerprint": "0cd8a50919be637f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62ff9372425c86e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_metals_loop_pre_sell_cancel.py:947"}, "properties": {"repobilityId": "e27bca69d41eeaad", "scanner": "scanner-primary", "fingerprint": "62ff9372425c86e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06828f7034962e6d", "level": "note", "message": {"text": "Legacy-named symbol `test_instruments_is_oil_usd_only_in_v1` in tests/test_oil_swing_config.py:10"}, "properties": {"repobilityId": "d152f23d7b920879", "scanner": "scanner-primary", "fingerprint": "06828f7034962e6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9744067e06a76258", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_swing_low_cash_mode.py:132"}, "properties": {"repobilityId": "297d5abad9ef0296", "scanner": "scanner-primary", "fingerprint": "9744067e06a76258", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cd68427a5b983e3", "level": "note", "message": {"text": "Legacy-named symbol `nLegacy` in tests/test_dashboard_house.py:67"}, "properties": {"repobilityId": "dbe4e45a8ba2da90", "scanner": "scanner-primary", "fingerprint": "0cd68427a5b983e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-baf4d72f860eafcc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_dashboard_house.py:134"}, "properties": {"repobilityId": "5a54fb68481aa7d2", "scanner": "scanner-primary", "fingerprint": "baf4d72f860eafcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db08d3b928edb734", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_bert_sentiment.py:27"}, "properties": {"repobilityId": "487cc711b2f83dad", "scanner": "scanner-primary", "fingerprint": "db08d3b928edb734", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87af2c34209c9f9f", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_claude_auth_detection.py:125"}, "properties": {"repobilityId": "5bd336b24e09bc8e", "scanner": "scanner-primary", "fingerprint": "87af2c34209c9f9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-532f01b51c4f2fd0", "level": "note", "message": {"text": "Legacy-named symbol `test_forecast_chronos_dispatches_v2` in tests/test_model_upgrades.py:54"}, "properties": {"repobilityId": "90474a42d6493476", "scanner": "scanner-primary", "fingerprint": "532f01b51c4f2fd0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-13d862e4435a151d", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_portfolio_math.py:364"}, "properties": {"repobilityId": "23ee42e3210a49f4", "scanner": "scanner-primary", "fingerprint": "13d862e4435a151d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e8bd5520a1695ca", "level": "note", "message": {"text": "Legacy-named symbol `v_old` in tests/test_loop_contract_alert_cooldown.py:75"}, "properties": {"repobilityId": "41e206830ce9610f", "scanner": "scanner-primary", "fingerprint": "9e8bd5520a1695ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-924084a80c130ba3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_adversarial_review_round12.py:56"}, "properties": {"repobilityId": "861af653d6b1eedb", "scanner": "scanner-primary", "fingerprint": "924084a80c130ba3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21a91798b1c15187", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_dict_copy` in tests/test_signal_registry.py:52"}, "properties": {"repobilityId": "1c48f7f89e603a60", "scanner": "scanner-primary", "fingerprint": "21a91798b1c15187", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-869753ea58be6603", "level": "note", "message": {"text": "Legacy-named symbol `test_llm_too_old` in tests/test_llm_batch.py:586"}, "properties": {"repobilityId": "f71bc753b3f3d520", "scanner": "scanner-primary", "fingerprint": "869753ea58be6603", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9ed1e5f3c9c3fb2b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_llm_batch.py:679"}, "properties": {"repobilityId": "bcec3844e98b8b0a", "scanner": "scanner-primary", "fingerprint": "9ed1e5f3c9c3fb2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13593dd46aea891b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_oil_grid_signal.py:97"}, "properties": {"repobilityId": "544694c180c34970", "scanner": "scanner-primary", "fingerprint": "13593dd46aea891b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7a4f96c7acb35d9", "level": "note", "message": {"text": "Legacy-named symbol `v_old` in tests/test_loop_contract_accuracy_dispatcher.py:162"}, "properties": {"repobilityId": "8df6fd7b177b03f2", "scanner": "scanner-primary", "fingerprint": "a7a4f96c7acb35d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f6d02b817d490693", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_orb_predictor.py:553"}, "properties": {"repobilityId": "3ca57ae70b0cf3ec", "scanner": "scanner-primary", "fingerprint": "f6d02b817d490693", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95bf3b7fb6a4ff7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_silver_fast_tick.py:360"}, "properties": {"repobilityId": "154bc4abf3a70878", "scanner": "scanner-primary", "fingerprint": "95bf3b7fb6a4ff7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fc3483c6184871b", "level": "note", "message": {"text": "Legacy-named symbol `test_long_allowed_when_peak_old` in tests/test_fish_engine_bug_fixes.py:147"}, "properties": {"repobilityId": "2c06ccd0571f0880", "scanner": "scanner-primary", "fingerprint": "2fc3483c6184871b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d8d9dc26e2577901", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_accuracy_cache_timestamps.py:186"}, "properties": {"repobilityId": "fc6d4c398d9f6e46", "scanner": "scanner-primary", "fingerprint": "d8d9dc26e2577901", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3727a79b37673c8d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_signals_mean_reversion.py:720"}, "properties": {"repobilityId": "75e28d123de6638d", "scanner": "scanner-primary", "fingerprint": "3727a79b37673c8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c216bbf0240dc6b7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_metals_swing_trader.py:10"}, "properties": {"repobilityId": "88f0fa76a5f9081a", "scanner": "scanner-primary", "fingerprint": "c216bbf0240dc6b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1110354928e9eaee", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_signal_engine_per_asset_voters.py:129"}, "properties": {"repobilityId": "94ccaa16d19e0f8b", "scanner": "scanner-primary", "fingerprint": "1110354928e9eaee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b58add57671720d6", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/_state_reset.py:87"}, "properties": {"repobilityId": "7cf28b63dae930e4", "scanner": "scanner-primary", "fingerprint": "b58add57671720d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fd98a9623184b3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_file_utils.py:295"}, "properties": {"repobilityId": "3bb378d58bab7bb4", "scanner": "scanner-primary", "fingerprint": "8fd98a9623184b3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e359fe86bfe7efd1", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_topn_gate.py:268"}, "properties": {"repobilityId": "9705ebb2f80101be", "scanner": "scanner-primary", "fingerprint": "e359fe86bfe7efd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4227362571b6d87", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_outcome_tracker_backfill.py:311"}, "properties": {"repobilityId": "c1ae35738c9b594b", "scanner": "scanner-primary", "fingerprint": "f4227362571b6d87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd693fdb8f31f61a", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/test_telegram_poller_offset.py:363"}, "properties": {"repobilityId": "3a0b387fab648a60", "scanner": "scanner-primary", "fingerprint": "cd693fdb8f31f61a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dd010abb71f9315", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/run_codex.py:17"}, "properties": {"repobilityId": "2aaab25e204b8c48", "scanner": "scanner-primary", "fingerprint": "8dd010abb71f9315", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-980883caa3767528", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/reviews/2026-04-16/make_branches.py:15"}, "properties": {"repobilityId": "01cec13031f10b4a", "scanner": "scanner-primary", "fingerprint": "980883caa3767528", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-05e03505724378be", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/adversarial-review-2026-05-13/_build_baselines.py:209"}, "properties": {"repobilityId": "8d2460257547042e", "scanner": "scanner-primary", "fingerprint": "05e03505724378be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff16321f3c606435", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_build_baselines.py:192"}, "properties": {"repobilityId": "5591746530be0a68", "scanner": "scanner-primary", "fingerprint": "ff16321f3c606435", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d6c1ba2998964ea2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex.py:50"}, "properties": {"repobilityId": "69f530d0ccd4d827", "scanner": "scanner-primary", "fingerprint": "d6c1ba2998964ea2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2b192ca7693c7d76", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 docs/adversarial-review-2026-05-13/_launch_codex_exec.py:217"}, "properties": {"repobilityId": "572670c02b6dea49", "scanner": "scanner-primary", "fingerprint": "2b192ca7693c7d76", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-96d118813e345341", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/backfill_accuracy_snapshots.py:102"}, "properties": {"repobilityId": "682c6d71c60647d0", "scanner": "scanner-primary", "fingerprint": "96d118813e345341", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f19d7ec4fb569318", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fix_agent_dispatcher.py:60"}, "properties": {"repobilityId": "811e06f722b60391", "scanner": "scanner-primary", "fingerprint": "f19d7ec4fb569318", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8a8a48015e454aa", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pf.py:500"}, "properties": {"repobilityId": "daa7c63f59f7e640", "scanner": "scanner-primary", "fingerprint": "e8a8a48015e454aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-983a68f65eb5760e", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/resolve_loop_audit_errors.py:77"}, "properties": {"repobilityId": "59af8037605eea96", "scanner": "scanner-primary", "fingerprint": "983a68f65eb5760e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e25122a9c643b14f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fish_straddle.py:180"}, "properties": {"repobilityId": "48d604095a7072db", "scanner": "scanner-primary", "fingerprint": "e25122a9c643b14f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-facb4eeec96a5424", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/audit_accuracy_drops.py:157"}, "properties": {"repobilityId": "be9d568aea9d3da0", "scanner": "scanner-primary", "fingerprint": "facb4eeec96a5424", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b85b717e2d700d5", "level": "note", "message": {"text": "Legacy-named symbol `orig_state_backup` in scripts/iskbet_replay.py:406"}, "properties": {"repobilityId": "d711de99f9b350ed", "scanner": "scanner-primary", "fingerprint": "8b85b717e2d700d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80539640377b8e8a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backtest_new_signals.py:227"}, "properties": {"repobilityId": "a330199b05fc71da", "scanner": "scanner-primary", "fingerprint": "80539640377b8e8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55df3a4ccfea66cc", "level": "note", "message": {"text": "Legacy-named symbol `unsent_old` in scripts/health_check.py:289"}, "properties": {"repobilityId": "95eea18d3f903301", "scanner": "scanner-primary", "fingerprint": "55df3a4ccfea66cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-889441f81efa5ff2", "level": "note", "message": {"text": "Legacy-named symbol `e2e_degradation_backup` in scripts/_e2e_degradation_check.py:27"}, "properties": {"repobilityId": "a4caf99ffdd46dd6", "scanner": "scanner-primary", "fingerprint": "889441f81efa5ff2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5223df09ff54608e", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/check_critical_errors.py:36"}, "properties": {"repobilityId": "9e1aa2a9f5deb535", "scanner": "scanner-primary", "fingerprint": "5223df09ff54608e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5684d966fc0e7fe1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_mutation_test.py:66"}, "properties": {"repobilityId": "683951aac0694c6f", "scanner": "scanner-primary", "fingerprint": "5684d966fc0e7fe1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-00c65dacd948010f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/fin_fish_monitor.py:411"}, "properties": {"repobilityId": "5f154616c4839c78", "scanner": "scanner-primary", "fingerprint": "00c65dacd948010f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f74d203f93b4f2e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/process_pending_pickups.py:62"}, "properties": {"repobilityId": "1d62c532820c58e4", "scanner": "scanner-primary", "fingerprint": "f74d203f93b4f2e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e38b55cfac113148", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/review_shadow_signals.py:66"}, "properties": {"repobilityId": "516ad096ea529a9c", "scanner": "scanner-primary", "fingerprint": "e38b55cfac113148", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95c16b989636661a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/chronos_bolt_benchmark.py:46"}, "properties": {"repobilityId": "12e31b96bb846452", "scanner": "scanner-primary", "fingerprint": "95c16b989636661a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7ee0739bd8f9c84", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/restart_loop.py:18"}, "properties": {"repobilityId": "26d99ec50e459397", "scanner": "scanner-primary", "fingerprint": "f7ee0739bd8f9c84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ba091ce4739b96b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/setup_gh_pages.py:33"}, "properties": {"repobilityId": "8785b79db40af7b9", "scanner": "scanner-primary", "fingerprint": "ba091ce4739b96b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93b1110c34e221bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/replay_consensus.py:106"}, "properties": {"repobilityId": "f0701bbb8e1aca2a", "scanner": "scanner-primary", "fingerprint": "93b1110c34e221bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b9903fc4c64dda5", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/archive/layer2_invoke.py:77"}, "properties": {"repobilityId": "71d5544d84e1a304", "scanner": "scanner-primary", "fingerprint": "4b9903fc4c64dda5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-106e872a3d965950", "level": "none", "message": {"text": "Commented-code block (5 lines) in dashboard/house_blueprint.py:414"}, "properties": {"repobilityId": "bb4ed96ef30efd29", "scanner": "scanner-primary", "fingerprint": "106e872a3d965950", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f944354df42ced12", "level": "none", "message": {"text": "Commented-code block (5 lines) in dashboard/system_status.py:28"}, "properties": {"repobilityId": "3507e3908d21541c", "scanner": "scanner-primary", "fingerprint": "f944354df42ced12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1ec2e6bdd3b7d71", "level": "none", "message": {"text": "Commented-code block (5 lines) in dashboard/auth.py:43"}, "properties": {"repobilityId": "5d9cd1b9c4aa9d48", "scanner": "scanner-primary", "fingerprint": "e1ec2e6bdd3b7d71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2253feda7a310c06", "level": "note", "message": {"text": "Legacy-named symbol `jsonl_tail_v2` in dashboard/app.py:197"}, "properties": {"repobilityId": "b7da2790e5c02105", "scanner": "scanner-primary", "fingerprint": "2253feda7a310c06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf7f3f6b8db5d392", "level": "none", "message": {"text": "Commented-code block (9 lines) in dashboard/app.py:52"}, "properties": {"repobilityId": "4a92a9ad8eb3b8a6", "scanner": "scanner-primary", "fingerprint": "bf7f3f6b8db5d392", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f43bd56f5f1dae8", "level": "none", "message": {"text": "Commented-code block (9 lines) in dashboard/trading_status.py:45"}, "properties": {"repobilityId": "cd91792118deb789", "scanner": "scanner-primary", "fingerprint": "2f43bd56f5f1dae8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a63500c33bfdf32e", "level": "none", "message": {"text": "Commented-code block (8 lines) in dashboard/cf_access.py:49"}, "properties": {"repobilityId": "ca4fc92eb288b72b", "scanner": "scanner-primary", "fingerprint": "a63500c33bfdf32e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c302cdc0f91e6e2d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboard/cf_access.py:51"}, "properties": {"repobilityId": "a4bf55b2a9fb1837", "scanner": "scanner-primary", "fingerprint": "c302cdc0f91e6e2d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e766d46f4fa43435", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard/static/js/fetch.js:5"}, "properties": {"repobilityId": "95ff1d20fcb85cc3", "scanner": "scanner-primary", "fingerprint": "e766d46f4fa43435", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-015de2ff9409592c", "level": "none", "message": {"text": "Commented-code block (5 lines) in dashboard/static/js/render/accuracy.js:27"}, "properties": {"repobilityId": "5b121636e12605d6", "scanner": "scanner-primary", "fingerprint": "015de2ff9409592c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16aa6034cde026f0", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/grid_fisher_config.py:35"}, "properties": {"repobilityId": "8b47812968abf1db", "scanner": "scanner-primary", "fingerprint": "16aa6034cde026f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-539f245b9516cb68", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/avanza_account_check.py:39"}, "properties": {"repobilityId": "432dd9a10b22ef5b", "scanner": "scanner-primary", "fingerprint": "539f245b9516cb68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90481c6b18762126", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/shadow_registry.py:268"}, "properties": {"repobilityId": "b528c836af446203", "scanner": "scanner-primary", "fingerprint": "90481c6b18762126", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22b355dd38bc8b5d", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/news_keywords.py:276"}, "properties": {"repobilityId": "6aab34e4d344cc16", "scanner": "scanner-primary", "fingerprint": "22b355dd38bc8b5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce338f2efe6b74d3", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/signal_history.py:22"}, "properties": {"repobilityId": "ddecbb4f0533207f", "scanner": "scanner-primary", "fingerprint": "ce338f2efe6b74d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba7183a4ad15323a", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/http_retry.py:18"}, "properties": {"repobilityId": "2a0c586ccf208572", "scanner": "scanner-primary", "fingerprint": "ba7183a4ad15323a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec00f71c769ece00", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/warrant_portfolio.py:230"}, "properties": {"repobilityId": "6c54725d180b305d", "scanner": "scanner-primary", "fingerprint": "ec00f71c769ece00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49065d3a0c491cbe", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/portfolio_validator.py:259"}, "properties": {"repobilityId": "664b6c6ca26f2726", "scanner": "scanner-primary", "fingerprint": "49065d3a0c491cbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bd31196a59842de", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/signal_db.py:235"}, "properties": {"repobilityId": "7c1c43fe1c61f03c", "scanner": "scanner-primary", "fingerprint": "6bd31196a59842de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d655c05f3c58e9c", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/market_timing.py:15"}, "properties": {"repobilityId": "d238a6062fb3cf61", "scanner": "scanner-primary", "fingerprint": "9d655c05f3c58e9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d600faa6ab7bf82c", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/sentiment_shadow_backfill.py:72"}, "properties": {"repobilityId": "9050e0268642be9e", "scanner": "scanner-primary", "fingerprint": "d600faa6ab7bf82c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8a3bd143acdd246", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/outcome_tracker.py:139"}, "properties": {"repobilityId": "815e70d40b56913b", "scanner": "scanner-primary", "fingerprint": "c8a3bd143acdd246", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45b41733aae3371c", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/trade_guards.py:190"}, "properties": {"repobilityId": "3d143221097401b9", "scanner": "scanner-primary", "fingerprint": "45b41733aae3371c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7d523c5e5daaad2", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/agent_invocation.py:24"}, "properties": {"repobilityId": "f8b6f8201b4cbbb5", "scanner": "scanner-primary", "fingerprint": "f7d523c5e5daaad2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac0697eea31f3926", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/agent_invocation.py:31"}, "properties": {"repobilityId": "d3eb689b66308dd4", "scanner": "scanner-primary", "fingerprint": "ac0697eea31f3926", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfd377863eae0783", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/loop_health.py:40"}, "properties": {"repobilityId": "35fe97b7868d8f93", "scanner": "scanner-primary", "fingerprint": "cfd377863eae0783", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d47bf3674a7c822", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/ministral_trader.py:192"}, "properties": {"repobilityId": "7bf020d850034d13", "scanner": "scanner-primary", "fingerprint": "1d47bf3674a7c822", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b9c3462e782c14d", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/file_utils.py:11"}, "properties": {"repobilityId": "a497171165aede68", "scanner": "scanner-primary", "fingerprint": "5b9c3462e782c14d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71a6c365b968637d", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/telegram_notifications.py:22"}, "properties": {"repobilityId": "14b5ddaf6b61e92a", "scanner": "scanner-primary", "fingerprint": "71a6c365b968637d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf7cfc52b60684a9", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/price_source.py:53"}, "properties": {"repobilityId": "5b1ad75c299a7f55", "scanner": "scanner-primary", "fingerprint": "bf7cfc52b60684a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21756dc6863efc28", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/telegram_poller.py:20"}, "properties": {"repobilityId": "2c27fda94e1ca3e9", "scanner": "scanner-primary", "fingerprint": "21756dc6863efc28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-083c09fe360013a3", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/avanza_control.py:398"}, "properties": {"repobilityId": "b0d3208d4b7c6f59", "scanner": "scanner-primary", "fingerprint": "083c09fe360013a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2a3d0b7406df9e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/onchain_data.py:57"}, "properties": {"repobilityId": "d3e9df5b7ef94b39", "scanner": "scanner-primary", "fingerprint": "f2a3d0b7406df9e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-502b87eee6e2f998", "level": "none", "message": {"text": "Commented-code block (12 lines) in portfolio/loop_contract.py:36"}, "properties": {"repobilityId": "552d0cbd5164c095", "scanner": "scanner-primary", "fingerprint": "502b87eee6e2f998", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c109187b2b8d6a34", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/fear_greed.py:100"}, "properties": {"repobilityId": "9290674b8ab75416", "scanner": "scanner-primary", "fingerprint": "c109187b2b8d6a34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-311f960411a1e5b9", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/crypto_macro_data.py:126"}, "properties": {"repobilityId": "018d9d4f38bd8a9a", "scanner": "scanner-primary", "fingerprint": "311f960411a1e5b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f015358a4c1a4bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/sentiment.py:291"}, "properties": {"repobilityId": "cd4a15e88838e288", "scanner": "scanner-primary", "fingerprint": "5f015358a4c1a4bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-248602d3563043e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/llama_server.py:69"}, "properties": {"repobilityId": "f46d619a00a0cbce", "scanner": "scanner-primary", "fingerprint": "248602d3563043e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ce4b932125aaab6", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/ministral_signal.py:63"}, "properties": {"repobilityId": "81007b3443d215f8", "scanner": "scanner-primary", "fingerprint": "5ce4b932125aaab6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0599da444b059895", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/llm_probability_log.py:64"}, "properties": {"repobilityId": "2598c8bee7d7dc10", "scanner": "scanner-primary", "fingerprint": "0599da444b059895", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a93fc85db65ef2ed", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/tickers.py:68"}, "properties": {"repobilityId": "c900fe358df5f4c9", "scanner": "scanner-primary", "fingerprint": "a93fc85db65ef2ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31112208efb56473", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/accuracy_degradation.py:61"}, "properties": {"repobilityId": "c24832909ba12f63", "scanner": "scanner-primary", "fingerprint": "31112208efb56473", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c13b0780679ec60b", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/funding_rate.py:23"}, "properties": {"repobilityId": "a99b6d609969c2dc", "scanner": "scanner-primary", "fingerprint": "c13b0780679ec60b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27cc1c564afcab70", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/signal_engine.py:39"}, "properties": {"repobilityId": "22032d4debdce5b9", "scanner": "scanner-primary", "fingerprint": "27cc1c564afcab70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6121b108f6a5b3b7", "level": "none", "message": {"text": "Commented-code block (13 lines) in portfolio/accuracy_stats.py:18"}, "properties": {"repobilityId": "0f34f32afc765876", "scanner": "scanner-primary", "fingerprint": "6121b108f6a5b3b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70171255a540d549", "level": "none", "message": {"text": "Commented-code block (11 lines) in portfolio/bert_sentiment.py:216"}, "properties": {"repobilityId": "db86f3cc81ebf0f3", "scanner": "scanner-primary", "fingerprint": "70171255a540d549", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c3277d9cc840729", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/fin_snipe_manager.py:424"}, "properties": {"repobilityId": "870cdfb5627d44af", "scanner": "scanner-primary", "fingerprint": "8c3277d9cc840729", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41c5995bc7c5b4b3", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/daily_digest.py:19"}, "properties": {"repobilityId": "5ba1b23440e45d12", "scanner": "scanner-primary", "fingerprint": "41c5995bc7c5b4b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6daa4da21b246a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/forecast_accuracy.py:22"}, "properties": {"repobilityId": "00379e3889850c43", "scanner": "scanner-primary", "fingerprint": "d6daa4da21b246a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12f187c3c409501b", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/qwen3_signal.py:79"}, "properties": {"repobilityId": "4b500103258d3a1d", "scanner": "scanner-primary", "fingerprint": "12f187c3c409501b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95c7bf78ed1b65af", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/fin_evolve.py:157"}, "properties": {"repobilityId": "7a152acef6f9c357", "scanner": "scanner-primary", "fingerprint": "95c7bf78ed1b65af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b80cdccdf0851ac0", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/digest.py:18"}, "properties": {"repobilityId": "0bc2f4fdbdca8ed5", "scanner": "scanner-primary", "fingerprint": "b80cdccdf0851ac0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-937a2cfc7d2a8f9c", "level": "none", "message": {"text": "Commented-code block (11 lines) in portfolio/trigger.py:94"}, "properties": {"repobilityId": "3ce8f5acb1a95b56", "scanner": "scanner-primary", "fingerprint": "937a2cfc7d2a8f9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00eeb78c568867f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/multi_agent_layer2.py:163"}, "properties": {"repobilityId": "4d71d033b1989f2c", "scanner": "scanner-primary", "fingerprint": "00eeb78c568867f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31bb797e7b3d93bf", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/reporting.py:28"}, "properties": {"repobilityId": "141a4feb70b0ea32", "scanner": "scanner-primary", "fingerprint": "31bb797e7b3d93bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82ddff05f3b975f7", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/data_collector.py:325"}, "properties": {"repobilityId": "9f2ce75999ae34b4", "scanner": "scanner-primary", "fingerprint": "82ddff05f3b975f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fafc2ae9fdb6e277", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/oil_grid_signal.py:170"}, "properties": {"repobilityId": "276853267504b18d", "scanner": "scanner-primary", "fingerprint": "fafc2ae9fdb6e277", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2642ea0cdbfcee4", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/avanza_session.py:38"}, "properties": {"repobilityId": "28ad9e88a8b08f56", "scanner": "scanner-primary", "fingerprint": "c2642ea0cdbfcee4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d39766d2826f5f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/avanza_client.py:25"}, "properties": {"repobilityId": "e3593bda43e1d1cc", "scanner": "scanner-primary", "fingerprint": "4d39766d2826f5f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dcb46867669f959", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/iskbets.py:317"}, "properties": {"repobilityId": "012941f6705f6d10", "scanner": "scanner-primary", "fingerprint": "9dcb46867669f959", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87183ad557618f96", "level": "note", "message": {"text": "Legacy-named symbol `confirmed_legacy` in portfolio/avanza_orders.py:205"}, "properties": {"repobilityId": "92c45b1854850ca2", "scanner": "scanner-primary", "fingerprint": "87183ad557618f96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f5011dc3328abfd6", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/avanza_orders.py:43"}, "properties": {"repobilityId": "7f1af3ee1f7aa4f2", "scanner": "scanner-primary", "fingerprint": "f5011dc3328abfd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0bf41eef5a41b78", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/local_llm_report.py:280"}, "properties": {"repobilityId": "8b5f9dece9a164ae", "scanner": "scanner-primary", "fingerprint": "a0bf41eef5a41b78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-baf2b0b237ac6218", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/equity_curve.py:391"}, "properties": {"repobilityId": "4b68d9fc9ba500b2", "scanner": "scanner-primary", "fingerprint": "baf2b0b237ac6218", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8382d2bce4d511e6", "level": "none", "message": {"text": "Commented-code block (14 lines) in portfolio/qwen3_trader.py:98"}, "properties": {"repobilityId": "a418bf422f203347", "scanner": "scanner-primary", "fingerprint": "8382d2bce4d511e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22c3eff68d8fd978", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/llm_outcome_backfill.py:55"}, "properties": {"repobilityId": "aaf481fad80d3fff", "scanner": "scanner-primary", "fingerprint": "22c3eff68d8fd978", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac7741318e8469e5", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/autonomous.py:28"}, "properties": {"repobilityId": "53ebcddc997da57d", "scanner": "scanner-primary", "fingerprint": "ac7741318e8469e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-41f01429debe8229", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/autonomous.py:422"}, "properties": {"repobilityId": "ff62bb13622c8999", "scanner": "scanner-primary", "fingerprint": "41f01429debe8229", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d404b643f78a3f0e", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/claude_gate.py:54"}, "properties": {"repobilityId": "9df644e663c9e830", "scanner": "scanner-primary", "fingerprint": "d404b643f78a3f0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f8c4da6740ff186", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 portfolio/claude_gate.py:8"}, "properties": {"repobilityId": "ba581b25ad0d9d95", "scanner": "scanner-primary", "fingerprint": "4f8c4da6740ff186", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-537f0d89997a692c", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/llm_prewarmer.py:137"}, "properties": {"repobilityId": "631ba278f6412d7e", "scanner": "scanner-primary", "fingerprint": "537f0d89997a692c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-889719540ebc690c", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/ic_computation.py:19"}, "properties": {"repobilityId": "03c6ec16a1845fae", "scanner": "scanner-primary", "fingerprint": "889719540ebc690c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78c2c611f8bb546a", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/monte_carlo_risk.py:14"}, "properties": {"repobilityId": "44fc9f74002dbb85", "scanner": "scanner-primary", "fingerprint": "78c2c611f8bb546a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22b381655c74aed8", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/avanza_resilient_page.py:64"}, "properties": {"repobilityId": "e9ad19411fd64ffa", "scanner": "scanner-primary", "fingerprint": "22b381655c74aed8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-438dc73f9dcdbefd", "level": "note", "message": {"text": "Legacy-named symbol `_prune_old` in portfolio/alert_budget.py:32"}, "properties": {"repobilityId": "19c631806f6a62bf", "scanner": "scanner-primary", "fingerprint": "438dc73f9dcdbefd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-de6d9b0ffd0dd5ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/llm_batch.py:32"}, "properties": {"repobilityId": "9ae329a4308c1164", "scanner": "scanner-primary", "fingerprint": "de6d9b0ffd0dd5ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e7b07bdcfa38c21", "level": "note", "message": {"text": "Legacy-named symbol `_forecast_chronos_v2` in portfolio/forecast_signal.py:133"}, "properties": {"repobilityId": "c50a0e343dca9f47", "scanner": "scanner-primary", "fingerprint": "5e7b07bdcfa38c21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf979030a0d0b67d", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/forecast_signal.py:25"}, "properties": {"repobilityId": "8f331d706c49f8b5", "scanner": "scanner-primary", "fingerprint": "bf979030a0d0b67d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b90c3daf06f0801f", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/loop_processes.py:73"}, "properties": {"repobilityId": "231cf392fdfb1941", "scanner": "scanner-primary", "fingerprint": "b90c3daf06f0801f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd685fd1400a32c4", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/shared_state.py:173"}, "properties": {"repobilityId": "4c27d4b81f78e958", "scanner": "scanner-primary", "fingerprint": "bd685fd1400a32c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-350a40dd8929d1b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/ticker_accuracy.py:31"}, "properties": {"repobilityId": "57fb81c11bcba5a8", "scanner": "scanner-primary", "fingerprint": "350a40dd8929d1b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00fceb87ccde174a", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/grid_fisher.py:60"}, "properties": {"repobilityId": "a7254312c658508f", "scanner": "scanner-primary", "fingerprint": "00fceb87ccde174a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90ec2b9889b9bfe6", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/kelly_sizing.py:246"}, "properties": {"repobilityId": "1d2d4f26becd19ad", "scanner": "scanner-primary", "fingerprint": "90ec2b9889b9bfe6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d65a78c5720477ef", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/config_validator.py:15"}, "properties": {"repobilityId": "ecac246d07b4fa29", "scanner": "scanner-primary", "fingerprint": "d65a78c5720477ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c01f2ed135b6b439", "level": "note", "message": {"text": "Legacy-named symbol `escape_markdown_v1` in portfolio/main.py:231"}, "properties": {"repobilityId": "a5f6ea09e884cf50", "scanner": "scanner-primary", "fingerprint": "c01f2ed135b6b439", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a89d8cb51d1884ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/main.py:293"}, "properties": {"repobilityId": "14b68ff31989493f", "scanner": "scanner-primary", "fingerprint": "a89d8cb51d1884ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0d182dcc17894ad", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/macro_context.py:132"}, "properties": {"repobilityId": "d2a090f1c1d2d8fe", "scanner": "scanner-primary", "fingerprint": "b0d182dcc17894ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f007204859ed0a8c", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/risk_management.py:30"}, "properties": {"repobilityId": "cd3d0c72c2762efa", "scanner": "scanner-primary", "fingerprint": "f007204859ed0a8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b93d39e9f77a32c", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/signal_registry.py:236"}, "properties": {"repobilityId": "ccf490c3e0b199c5", "scanner": "scanner-primary", "fingerprint": "7b93d39e9f77a32c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34b28b01ffd572d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/monte_carlo.py:13"}, "properties": {"repobilityId": "4d786566bf2a6f30", "scanner": "scanner-primary", "fingerprint": "34b28b01ffd572d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c52a21185074fad3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 portfolio/subprocess_utils.py:4"}, "properties": {"repobilityId": "3337386d241796ba", "scanner": "scanner-primary", "fingerprint": "c52a21185074fad3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b693b41dc8a9eb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/meta_learner.py:53"}, "properties": {"repobilityId": "448d0605ad47d326", "scanner": "scanner-primary", "fingerprint": "0b693b41dc8a9eb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-802c32aa00f4df43", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/bigbet.py:169"}, "properties": {"repobilityId": "03d3d31ad0042454", "scanner": "scanner-primary", "fingerprint": "802c32aa00f4df43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b247a97c5e72502", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/signals/cryptotrader_lm.py:152"}, "properties": {"repobilityId": "979fb81a014b6884", "scanner": "scanner-primary", "fingerprint": "2b247a97c5e72502", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-043effbbb663fccd", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/signals/forecast.py:52"}, "properties": {"repobilityId": "b1e84942bf85fed3", "scanner": "scanner-primary", "fingerprint": "043effbbb663fccd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50f19bd311503ce0", "level": "none", "message": {"text": "Commented-code block (11 lines) in portfolio/signals/phi4_mini_reasoning.py:108"}, "properties": {"repobilityId": "25be8e05204d359d", "scanner": "scanner-primary", "fingerprint": "50f19bd311503ce0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d4fa8cf47d2a115", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/signals/mean_reversion.py:219"}, "properties": {"repobilityId": "3644b7ae79a8f7fa", "scanner": "scanner-primary", "fingerprint": "2d4fa8cf47d2a115", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-320363c39325374e", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/signals/metals_cross_asset.py:44"}, "properties": {"repobilityId": "8b072d88e8a159df", "scanner": "scanner-primary", "fingerprint": "320363c39325374e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec8dbb60891689fb", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/signals/volatility.py:427"}, "properties": {"repobilityId": "e033cdaf414270ec", "scanner": "scanner-primary", "fingerprint": "ec8dbb60891689fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a03bf0d6a9128318", "level": "none", "message": {"text": "Commented-code block (7 lines) in portfolio/signals/futures_flow.py:63"}, "properties": {"repobilityId": "4ce6919f252e3d73", "scanner": "scanner-primary", "fingerprint": "a03bf0d6a9128318", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2409b2f6d6de5cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/signals/credit_spread.py:299"}, "properties": {"repobilityId": "22987f885870b277", "scanner": "scanner-primary", "fingerprint": "c2409b2f6d6de5cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52901db3b1634048", "level": "none", "message": {"text": "Commented-code block (10 lines) in portfolio/signals/news_event.py:258"}, "properties": {"repobilityId": "ae7ccf8f3ded3b49", "scanner": "scanner-primary", "fingerprint": "52901db3b1634048", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce1920c90b4dd53a", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/signals/crypto_macro.py:41"}, "properties": {"repobilityId": "299aac5589342e7f", "scanner": "scanner-primary", "fingerprint": "ce1920c90b4dd53a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f026bf107cfce0d", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/signals/finance_llama.py:60"}, "properties": {"repobilityId": "aa427aa9bb452eb6", "scanner": "scanner-primary", "fingerprint": "2f026bf107cfce0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-943f20d79ee6c23f", "level": "none", "message": {"text": "Commented-code block (6 lines) in portfolio/signals/cot_positioning.py:27"}, "properties": {"repobilityId": "95bbc9e4164d5b85", "scanner": "scanner-primary", "fingerprint": "943f20d79ee6c23f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8949d8c62f43a940", "level": "none", "message": {"text": "Commented-code block (11 lines) in portfolio/signals/econ_calendar.py:275"}, "properties": {"repobilityId": "4744f9713c4e03a1", "scanner": "scanner-primary", "fingerprint": "8949d8c62f43a940", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cfc0cfcb638800c", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio/golddigger/data_provider.py:39"}, "properties": {"repobilityId": "a1ecf93592a21e97", "scanner": "scanner-primary", "fingerprint": "5cfc0cfcb638800c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86033a7246fbbd6c", "level": "none", "message": {"text": "Commented-code block (9 lines) in portfolio/golddigger/runner.py:349"}, "properties": {"repobilityId": "2bb49f6bb16d7952", "scanner": "scanner-primary", "fingerprint": "86033a7246fbbd6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-833d0c87dbc245e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/config.py:21"}, "properties": {"repobilityId": "505ad4f6b5216a51", "scanner": "scanner-primary", "fingerprint": "833d0c87dbc245e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-427f81cb651acfe2", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/execution.py:169"}, "properties": {"repobilityId": "20bf8f44251f13e1", "scanner": "scanner-primary", "fingerprint": "427f81cb651acfe2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c27c44e3783d1434", "level": "note", "message": {"text": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/premium_arb.py:43"}, "properties": {"repobilityId": "0bcdf402b3f44f85", "scanner": "scanner-primary", "fingerprint": "c27c44e3783d1434", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-d876fcdeb2883dff", "level": "note", "message": {"text": "Stub function `step` (body is just `pass`/`return`) \u2014 portfolio/mstr_loop/strategies/overnight_gap.py:42"}, "properties": {"repobilityId": "4073dcf3133516a2", "scanner": "scanner-primary", "fingerprint": "d876fcdeb2883dff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-6fe013212fed5a71", "level": "none", "message": {"text": "Commented-code block (5 lines) in portfolio/mstr_loop/strategies/momentum_rider.py:122"}, "properties": {"repobilityId": "214331a351c90c74", "scanner": "scanner-primary", "fingerprint": "6fe013212fed5a71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "1e0610eca9b51e8a", "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": "b02f66b7aa2c418f", "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": "8565f6f6c58beff7", "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": "cf7495fd2fd77947", "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": "cdaca16ec7e61ea3", "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": "fb8415e8c791541d", "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": "8c8aeb2cbaba6c4f", "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": "be43d0207c872680", "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": "90da1d1f39225a6a", "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": "2b7a460fe245834c", "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": "edf38a4f1b05a7f2", "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": "c172302a0d980d98", "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": "1cffe053a2ae2304", "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": "62804ba2d2c335a9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "21364538ce4cb2ce", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "d57a627bbdeb0b55", "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": "d5ae641cd92f5acb", "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": "ca560cfdea052398", "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": "ff0f101c1f8f5268", "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": "427ace01a3bddee2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9006cc5c76b95600", "level": "error", "message": {"text": "Flask mutation route `api_validate_portfolio` without `@login_required` \u2014 dashboard/app.py:1172"}, "properties": {"repobilityId": "00f9a2750b785f0d", "scanner": "scanner-primary", "fingerprint": "9006cc5c76b95600", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard/app.py"}, "region": {"startLine": 1172}}}]}, {"ruleId": "scanner-1a6d91f2236825bf", "level": "note", "message": {"text": "Unused endpoint: ANY /"}, "properties": {"repobilityId": "4ec71c1d019e9c0b", "scanner": "scanner-primary", "fingerprint": "1a6d91f2236825bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d729c2ddd49818f3", "level": "note", "message": {"text": "Unused endpoint: ANY /runs"}, "properties": {"repobilityId": "a485e9ce201b1a41", "scanner": "scanner-primary", "fingerprint": "d729c2ddd49818f3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bce505017933d398", "level": "note", "message": {"text": "Unused endpoint: ANY /runs/<run_id>"}, "properties": {"repobilityId": "787c5a379f862fe8", "scanner": "scanner-primary", "fingerprint": "bce505017933d398", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a280bcb6db94ace2", "level": "note", "message": {"text": "Unused endpoint: ANY /runs/<run_id>/_manifest.json"}, "properties": {"repobilityId": "d1dd5159763e1042", "scanner": "scanner-primary", "fingerprint": "a280bcb6db94ace2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f49d327ef05b0e89", "level": "note", "message": {"text": "Unused endpoint: ANY /runs/<run_id>/<slug>"}, "properties": {"repobilityId": "1c4d5c0a8da6e81f", "scanner": "scanner-primary", "fingerprint": "f49d327ef05b0e89", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4de865fe7c8adbb5", "level": "note", "message": {"text": "Unused endpoint: ANY /runs/<run_id>/<slug>/raw"}, "properties": {"repobilityId": "9fae72c7af7fedfd", "scanner": "scanner-primary", "fingerprint": "4de865fe7c8adbb5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6ae3afafcc548879", "level": "note", "message": {"text": "Unused endpoint: ANY /heatmap"}, "properties": {"repobilityId": "50b795d98c46dd0f", "scanner": "scanner-primary", "fingerprint": "6ae3afafcc548879", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0f32e52e0c58e2fd", "level": "note", "message": {"text": "Unused endpoint: ANY /k10"}, "properties": {"repobilityId": "db7b9015dda05007", "scanner": "scanner-primary", "fingerprint": "0f32e52e0c58e2fd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6a99e3f21c08dede", "level": "note", "message": {"text": "Unused endpoint: ANY /api/runs"}, "properties": {"repobilityId": "d1cf60217cedb9fc", "scanner": "scanner-primary", "fingerprint": "6a99e3f21c08dede", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2b3a9d33312f6757", "level": "note", "message": {"text": "Unused endpoint: ANY /api/runs/<run_id>"}, "properties": {"repobilityId": "64f2a30a0677d7e6", "scanner": "scanner-primary", "fingerprint": "2b3a9d33312f6757", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-06be57d21d35a00d", "level": "note", "message": {"text": "Unused endpoint: ANY /api/runs/<run_id>/<slug>"}, "properties": {"repobilityId": "768dbf3862776271", "scanner": "scanner-primary", "fingerprint": "06be57d21d35a00d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-74c83a5baac22f39", "level": "note", "message": {"text": "Unused endpoint: ANY /legacy"}, "properties": {"repobilityId": "96a3f41c09002ce0", "scanner": "scanner-primary", "fingerprint": "74c83a5baac22f39", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c9e449c3b9e73b73", "level": "note", "message": {"text": "Unused endpoint: ANY /logout"}, "properties": {"repobilityId": "8f2f072ade67f070", "scanner": "scanner-primary", "fingerprint": "c9e449c3b9e73b73", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d69112501a1dc8b", "level": "note", "message": {"text": "Unused endpoint: ANY /go/<slug>"}, "properties": {"repobilityId": "4d7bbb4e3593d503", "scanner": "scanner-primary", "fingerprint": "7d69112501a1dc8b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e258d1973c46d268", "level": "note", "message": {"text": "Unused endpoint: ANY /api/summary"}, "properties": {"repobilityId": "80d7fa5e2f0e4227", "scanner": "scanner-primary", "fingerprint": "e258d1973c46d268", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8e77e1314875d93", "level": "note", "message": {"text": "Unused endpoint: ANY /api/signals"}, "properties": {"repobilityId": "838821431bd5a6d1", "scanner": "scanner-primary", "fingerprint": "b8e77e1314875d93", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64a025ea08d3a390", "level": "note", "message": {"text": "Unused endpoint: ANY /api/portfolio"}, "properties": {"repobilityId": "e549d1de2f7001b4", "scanner": "scanner-primary", "fingerprint": "64a025ea08d3a390", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6b9930cc6bcd4821", "level": "note", "message": {"text": "Unused endpoint: ANY /api/portfolio-bold"}, "properties": {"repobilityId": "c45679e5f0c5307e", "scanner": "scanner-primary", "fingerprint": "6b9930cc6bcd4821", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b79b29cb7230f6a1", "level": "note", "message": {"text": "Unused endpoint: ANY /api/grid-fisher"}, "properties": {"repobilityId": "b57e6aa4f3fcc219", "scanner": "scanner-primary", "fingerprint": "b79b29cb7230f6a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-535814a5113020f6", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mstr_loop"}, "properties": {"repobilityId": "cd15e84ee2060e8b", "scanner": "scanner-primary", "fingerprint": "535814a5113020f6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b2f001ecd7e6aca8", "level": "note", "message": {"text": "Unused endpoint: ANY /api/invocations"}, "properties": {"repobilityId": "a49d3d9814d5f314", "scanner": "scanner-primary", "fingerprint": "b2f001ecd7e6aca8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c2c861c746c94c2e", "level": "note", "message": {"text": "Unused endpoint: ANY /api/telegrams"}, "properties": {"repobilityId": "c5f6b71d21a8c8b4", "scanner": "scanner-primary", "fingerprint": "c2c861c746c94c2e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c94ec1af59092ffb", "level": "note", "message": {"text": "Unused endpoint: ANY /api/signal-log"}, "properties": {"repobilityId": "94c4cd5a140ade45", "scanner": "scanner-primary", "fingerprint": "c94ec1af59092ffb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a61b5dde7055173d", "level": "note", "message": {"text": "Unused endpoint: ANY /api/accuracy"}, "properties": {"repobilityId": "8000c80f0508dcc9", "scanner": "scanner-primary", "fingerprint": "a61b5dde7055173d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-11545b4c6e20b137", "level": "note", "message": {"text": "Unused endpoint: ANY /api/iskbets"}, "properties": {"repobilityId": "346cd10328bdac88", "scanner": "scanner-primary", "fingerprint": "11545b4c6e20b137", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-221d8409c81f9ddf", "level": "note", "message": {"text": "Unused endpoint: ANY /api/lora-status"}, "properties": {"repobilityId": "c9c597d8df331c90", "scanner": "scanner-primary", "fingerprint": "221d8409c81f9ddf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e389edbed175879f", "level": "note", "message": {"text": "Unused endpoint: ANY /api/validate-portfolio"}, "properties": {"repobilityId": "ca499ecd08b6ec43", "scanner": "scanner-primary", "fingerprint": "e389edbed175879f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-666f3f0b57095c26", "level": "note", "message": {"text": "Unused endpoint: ANY /api/equity-curve"}, "properties": {"repobilityId": "ff852b30b8830ffc", "scanner": "scanner-primary", "fingerprint": "666f3f0b57095c26", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fce74c2915ffd17b", "level": "note", "message": {"text": "Unused endpoint: ANY /api/signal-heatmap"}, "properties": {"repobilityId": "54db98cca7cdc567", "scanner": "scanner-primary", "fingerprint": "fce74c2915ffd17b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-53872dbc33201dd1", "level": "note", "message": {"text": "Unused endpoint: ANY /api/triggers"}, "properties": {"repobilityId": "99793f70b5bdf74f", "scanner": "scanner-primary", "fingerprint": "53872dbc33201dd1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b63e5646562a463", "level": "note", "message": {"text": "Unused endpoint: ANY /api/accuracy-history"}, "properties": {"repobilityId": "ffc36dfdcf298e5d", "scanner": "scanner-primary", "fingerprint": "1b63e5646562a463", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-321285e61be76ec0", "level": "note", "message": {"text": "Unused endpoint: ANY /api/calibration"}, "properties": {"repobilityId": "7302f6491598694d", "scanner": "scanner-primary", "fingerprint": "321285e61be76ec0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d9af77cc6d29237", "level": "note", "message": {"text": "Unused endpoint: ANY /api/local-llm-trends"}, "properties": {"repobilityId": "b7b6e3203f174b79", "scanner": "scanner-primary", "fingerprint": "7d9af77cc6d29237", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8dcf1354373cca30", "level": "note", "message": {"text": "Unused endpoint: ANY /api/metals-accuracy"}, "properties": {"repobilityId": "07579911a4d1dd5c", "scanner": "scanner-primary", "fingerprint": "8dcf1354373cca30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5ea62f9003417398", "level": "note", "message": {"text": "Unused endpoint: ANY /api/llm-leaderboard"}, "properties": {"repobilityId": "53b5f2ec46e47c1f", "scanner": "scanner-primary", "fingerprint": "5ea62f9003417398", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-669aad044ad1df79", "level": "note", "message": {"text": "Unused endpoint: ANY /api/trades"}, "properties": {"repobilityId": "1cdc29f1594a383b", "scanner": "scanner-primary", "fingerprint": "669aad044ad1df79", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f5b4c4ab68ecfabe", "level": "note", "message": {"text": "Unused endpoint: ANY /api/decisions"}, "properties": {"repobilityId": "023efd046d1f136a", "scanner": "scanner-primary", "fingerprint": "f5b4c4ab68ecfabe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8ece8c987ff9c424", "level": "note", "message": {"text": "Unused endpoint: ANY /api/health"}, "properties": {"repobilityId": "4ca5510e2ce04bb8", "scanner": "scanner-primary", "fingerprint": "8ece8c987ff9c424", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9a01c9bd73f54efc", "level": "note", "message": {"text": "Unused endpoint: ANY /api/warrants"}, "properties": {"repobilityId": "1f3cd1248a087f8a", "scanner": "scanner-primary", "fingerprint": "9a01c9bd73f54efc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ded9c57bc3dd3e69", "level": "note", "message": {"text": "Unused endpoint: ANY /api/prophecy"}, "properties": {"repobilityId": "e2359bf9380eeeec", "scanner": "scanner-primary", "fingerprint": "ded9c57bc3dd3e69", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6e829b6eb12aa3ed", "level": "note", "message": {"text": "Unused endpoint: ANY /prophecy"}, "properties": {"repobilityId": "5b2892c174223047", "scanner": "scanner-primary", "fingerprint": "6e829b6eb12aa3ed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6cc06a8033cc5e77", "level": "note", "message": {"text": "Unused endpoint: ANY /api/risk"}, "properties": {"repobilityId": "bc6dbe586a752ee9", "scanner": "scanner-primary", "fingerprint": "6cc06a8033cc5e77", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a048d7d47621db1c", "level": "note", "message": {"text": "Unused endpoint: ANY /api/metals"}, "properties": {"repobilityId": "e275619463c4d949", "scanner": "scanner-primary", "fingerprint": "a048d7d47621db1c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1de283cd5ca9d983", "level": "note", "message": {"text": "Unused endpoint: ANY /api/crypto"}, "properties": {"repobilityId": "2f58ec2d3425ec42", "scanner": "scanner-primary", "fingerprint": "1de283cd5ca9d983", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d0f2a89f1efc6ab5", "level": "note", "message": {"text": "Unused endpoint: ANY /api/btc"}, "properties": {"repobilityId": "6b8322d46bd7c6e1", "scanner": "scanner-primary", "fingerprint": "d0f2a89f1efc6ab5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8a9f871ce2cb7d8b", "level": "note", "message": {"text": "Unused endpoint: ANY /api/eth"}, "properties": {"repobilityId": "ceb6c12f3b2242bf", "scanner": "scanner-primary", "fingerprint": "8a9f871ce2cb7d8b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-987272f867ca0245", "level": "note", "message": {"text": "Unused endpoint: ANY /api/loop_health"}, "properties": {"repobilityId": "4ec4e0a60675b653", "scanner": "scanner-primary", "fingerprint": "987272f867ca0245", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d0db4a82bac4232", "level": "note", "message": {"text": "Unused endpoint: ANY /api/loop-processes"}, "properties": {"repobilityId": "543b9c1d11d5f8e8", "scanner": "scanner-primary", "fingerprint": "7d0db4a82bac4232", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1cc3b6453ec81248", "level": "note", "message": {"text": "Unused endpoint: ANY /api/pickups"}, "properties": {"repobilityId": "bbc6bce79508e802", "scanner": "scanner-primary", "fingerprint": "1cc3b6453ec81248", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e5c147ad072cba73", "level": "note", "message": {"text": "Unused endpoint: ANY /api/oil"}, "properties": {"repobilityId": "d0e08349e4101549", "scanner": "scanner-primary", "fingerprint": "e5c147ad072cba73", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}