{"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-af50fc673e21b862", "name": "Possibly dead Python function: reset_stale_exits", "shortDescription": {"text": "Possibly dead Python function: reset_stale_exits"}, "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-f8b8f3ac467da500", "name": "Possibly dead Python function: check_per_symbol_hard_loss", "shortDescription": {"text": "Possibly dead Python function: check_per_symbol_hard_loss"}, "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-f4ed49de4a9d8ba2", "name": "Possibly dead Python function: fetch_ibkr_news", "shortDescription": {"text": "Possibly dead Python function: fetch_ibkr_news"}, "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-4cb8fa8090bdb012", "name": "Possibly dead Python function: pause", "shortDescription": {"text": "Possibly dead Python function: 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-b1b316cd6015eedf", "name": "Possibly dead Python function: resume", "shortDescription": {"text": "Possibly dead Python function: 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-8fc4f3b9280e3f04", "name": "Possibly dead Python function: error_count_in_window", "shortDescription": {"text": "Possibly dead Python function: error_count_in_window"}, "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-05801a0a5b6a7e4d", "name": "Possibly dead Python function: run_weekly_review", "shortDescription": {"text": "Possibly dead Python function: run_weekly_review"}, "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-92e5862d458d0b8d", "name": "Possibly dead Python function: save_friday_close_snapshot", "shortDescription": {"text": "Possibly dead Python function: save_friday_close_snapshot"}, "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-587a4e465fcc66ce", "name": "Possibly dead Python function: halted_symbols", "shortDescription": {"text": "Possibly dead Python function: halted_symbols"}, "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-72bfcbf3d2d61558", "name": "Possibly dead Python function: read_latest", "shortDescription": {"text": "Possibly dead Python function: read_latest"}, "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-12bf17c75393f313", "name": "Possibly dead Python function: fetch_pair", "shortDescription": {"text": "Possibly dead Python function: fetch_pair"}, "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-87cf4715bce56b08", "name": "Possibly dead Python function: inject_event", "shortDescription": {"text": "Possibly dead Python function: inject_event"}, "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-3c0d1d2554280f32", "name": "Possibly dead Python function: fire_transmission", "shortDescription": {"text": "Possibly dead Python function: fire_transmission"}, "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-14a2ce445ab88c63", "name": "Possibly dead Python function: clear_tape_for_tests", "shortDescription": {"text": "Possibly dead Python function: clear_tape_for_tests"}, "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-512e7887aa6a94bf", "name": "Possibly dead Python function: rebalance", "shortDescription": {"text": "Possibly dead Python function: rebalance"}, "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-c0c1b50ee92da04e", "name": "Possibly dead Python function: is_member", "shortDescription": {"text": "Possibly dead Python function: is_member"}, "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-80a652602975d4fe", "name": "Possibly dead Python function: call_apex", "shortDescription": {"text": "Possibly dead Python function: call_apex"}, "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-329e274d092f06ad", "name": "Possibly dead Python function: build_theme_assignments", "shortDescription": {"text": "Possibly dead Python function: build_theme_assignments"}, "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-852993128ba63b11", "name": "Possibly dead Python function: purge_older_than", "shortDescription": {"text": "Possibly dead Python function: purge_older_than"}, "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-ac5c5fc45cb3f87f", "name": "Possibly dead Python function: add_custom_theme", "shortDescription": {"text": "Possibly dead Python function: add_custom_theme"}, "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-506be2b95088f5d3", "name": "git log failed \u2014 history analysis incomplete", "shortDescription": {"text": "git log failed \u2014 history analysis incomplete"}, "fullDescription": {"text": "fatal: not a git repository (or any parent up to mount point /data)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9365efa7bd02281d", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59868562782cd0f8", "name": "Privileged port 1000 in use", "shortDescription": {"text": "Privileged port 1000 in use"}, "fullDescription": {"text": "Port 1000 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e066691601852931", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-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-d3c1d14cfa6fbd5b", "name": "Very large file: orders_portfolio.py (2350 lines)", "shortDescription": {"text": "Very large file: orders_portfolio.py (2350 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-c8a91a61251bcdc4", "name": "Very large file: bot_trading.py (3199 lines)", "shortDescription": {"text": "Very large file: bot_trading.py (3199 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-70dfe3cd2a47f4e6", "name": "Very large file: bot_dashboard.py (2429 lines)", "shortDescription": {"text": "Very large file: bot_dashboard.py (2429 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-1c3f596a37411c04", "name": "Very large file: config.py (1292 lines)", "shortDescription": {"text": "Very large file: config.py (1292 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-8b813ee9fd9a2a45", "name": "Very large file: apex_orchestrator.py (1115 lines)", "shortDescription": {"text": "Very large file: apex_orchestrator.py (1115 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-a79ee58a114bf5bf", "name": "Very large file: bot_ibkr.py (1705 lines)", "shortDescription": {"text": "Very large file: bot_ibkr.py (1705 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-4aa694cf50a51be0", "name": "Very large file: orders_options.py (1232 lines)", "shortDescription": {"text": "Very large file: orders_options.py (1232 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6df80171199a1539", "name": "Very large file: conviction_engine.py (1839 lines)", "shortDescription": {"text": "Very large file: conviction_engine.py (1839 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-cb7016150d2ece87", "name": "Very large file: market_intelligence.py (1491 lines)", "shortDescription": {"text": "Very large file: market_intelligence.py (1491 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-29e06d00b6884d81", "name": "Very large file: orders_core.py (2810 lines)", "shortDescription": {"text": "Very large file: orders_core.py (2810 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-1a30a82fc15ebc95", "name": "Very large file: intelligence_api.py (2037 lines)", "shortDescription": {"text": "Very large file: intelligence_api.py (2037 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-fbaf5815a46cf23f", "name": "Very large file: fmp_client.py (1726 lines)", "shortDescription": {"text": "Very large file: fmp_client.py (1726 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-d90575f7e79dad40", "name": "Very large file: risk.py (1227 lines)", "shortDescription": {"text": "Very large file: risk.py (1227 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 177 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-faccb9061e9b52a0", "name": "No README detected", "shortDescription": {"text": "No README detected"}, "fullDescription": {"text": "No README file was found. Generated repos without README context are hard to operate, validate, or safely hand off."}, "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 200 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 12 placeholder/mock markers across 8 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, tests, operator-readme. 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": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests, operator-readme. 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-8919535eea0bbb87", "name": "Commented-code block (5 lines) in run_intelligence_pipeline.py:861", "shortDescription": {"text": "Commented-code block (5 lines) in run_intelligence_pipeline.py:861"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e5b7199caf51250", "name": "Legacy-named symbol `ib_unused` in orders_portfolio.py:262", "shortDescription": {"text": "Legacy-named symbol `ib_unused` in orders_portfolio.py:262"}, "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-c12e9bfe0b1604f1", "name": "Commented-code block (8 lines) in orders_portfolio.py:615", "shortDescription": {"text": "Commented-code block (8 lines) in orders_portfolio.py:615"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6208c158d330f2d", "name": "Commented-code block (6 lines) in options.py:1", "shortDescription": {"text": "Commented-code block (6 lines) in options.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d08278cdf82327b3", "name": "Legacy-named symbol `macro_event_v1` in earnings_transcript_engine.py:244", "shortDescription": {"text": "Legacy-named symbol `macro_event_v1` in earnings_transcript_engine.py:244"}, "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-b1a3770d0cab2da4", "name": "Commented-code block (22 lines) in universe_position.py:1", "shortDescription": {"text": "Commented-code block (22 lines) in universe_position.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa8b786ee4cb02ea", "name": "Commented-code block (9 lines) in news_sentinel.py:1", "shortDescription": {"text": "Commented-code block (9 lines) in news_sentinel.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c8cc356d13ddbc6", "name": "Commented-code block (7 lines) in learning.py:562", "shortDescription": {"text": "Commented-code block (7 lines) in learning.py:562"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cabe14a82d744bc", "name": "Commented-code block (11 lines) in price_updater.py:1", "shortDescription": {"text": "Commented-code block (11 lines) in price_updater.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf4d393ed389e13d", "name": "Legacy-named symbol `macro_event_v1` in macro_event_layer.py:63", "shortDescription": {"text": "Legacy-named symbol `macro_event_v1` in macro_event_layer.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-94d0dab17c61a8c8", "name": "Commented-code block (15 lines) in alpaca_stream.py:1", "shortDescription": {"text": "Commented-code block (15 lines) in alpaca_stream.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d784b37a465c60b", "name": "Legacy-named symbol `customer_event_tape_v1` in customer_event_tape.py:54", "shortDescription": {"text": "Legacy-named symbol `customer_event_tape_v1` in customer_event_tape.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-6a56f0c0323686cd", "name": "Commented-code block (7 lines) in social_sentiment.py:1", "shortDescription": {"text": "Commented-code block (7 lines) in social_sentiment.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eb88a38160cdd97d", "name": "Commented-code block (5 lines) in bot_trading.py:1110", "shortDescription": {"text": "Commented-code block (5 lines) in bot_trading.py:1110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-388c92c80c5002ce", "name": "Commented-code block (16 lines) in options_provider.py:1", "shortDescription": {"text": "Commented-code block (16 lines) in options_provider.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d8a35e4f4d329bd", "name": "Commented-code block (7 lines) in llm_client.py:1", "shortDescription": {"text": "Commented-code block (7 lines) in llm_client.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fee14db8d85010fd", "name": "Commented-code block (5 lines) in counter_thesis_engine.py:1", "shortDescription": {"text": "Commented-code block (5 lines) in counter_thesis_engine.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c9225e8687a7f66", "name": "Commented-code block (17 lines) in options_scanner.py:1", "shortDescription": {"text": "Commented-code block (17 lines) in options_scanner.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8632e6f1140641d8", "name": "Commented-code block (13 lines) in theme_tracker.py:1", "shortDescription": {"text": "Commented-code block (13 lines) in theme_tracker.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bda501fc04f1ee94", "name": "Commented-code block (25 lines) in ic_validator.py:1", "shortDescription": {"text": "Commented-code block (25 lines) in ic_validator.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c10033aebcaa13e8", "name": "Commented-code block (16 lines) in alpha_decay.py:1", "shortDescription": {"text": "Commented-code block (16 lines) in alpha_decay.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1ff7224b6789917", "name": "Commented-code block (5 lines) in content_safety_gate.py:18", "shortDescription": {"text": "Commented-code block (5 lines) in content_safety_gate.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-d3f9da32318b3903", "name": "Legacy-named symbol `rotation_live_v1` in bot_dashboard.py:1853", "shortDescription": {"text": "Legacy-named symbol `rotation_live_v1` in bot_dashboard.py:1853"}, "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-24f06790d1129758", "name": "Commented-code block (5 lines) in bot_dashboard.py:671", "shortDescription": {"text": "Commented-code block (5 lines) in bot_dashboard.py:671"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6fec35ff2a249032", "name": "Commented-code block (14 lines) in universe_committed.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in universe_committed.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ed639850934735b", "name": "Commented-code block (9 lines) in alpaca_news.py:132", "shortDescription": {"text": "Commented-code block (9 lines) in alpaca_news.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-accda21916194768", "name": "Commented-code block (29 lines) in alpaca_options.py:1", "shortDescription": {"text": "Commented-code block (29 lines) in alpaca_options.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b6bd4b076ed8b5e", "name": "Legacy-named symbol `today_v1` in today_assembler.py:39", "shortDescription": {"text": "Legacy-named symbol `today_v1` in today_assembler.py:39"}, "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-e3d49d745fa02734", "name": "Commented-code block (16 lines) in ic_calculator.py:1", "shortDescription": {"text": "Commented-code block (16 lines) in ic_calculator.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-665bcfce971983ec", "name": "Commented-code block (10 lines) in news.py:1", "shortDescription": {"text": "Commented-code block (10 lines) in news.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-411a24df974a81b6", "name": "Commented-code block (5 lines) in config.py:58", "shortDescription": {"text": "Commented-code block (5 lines) in config.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb86a9f6de1f6f9a", "name": "Commented-code block (6 lines) in market_now_reconciler.py:292", "shortDescription": {"text": "Commented-code block (6 lines) in market_now_reconciler.py:292"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e1871ba1d5744f4a", "name": "Legacy-named symbol `min_old` in v1_drivers_api.py:101", "shortDescription": {"text": "Legacy-named symbol `min_old` in v1_drivers_api.py:101"}, "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-bf3754a8e7f78467", "name": "Commented-code block (5 lines) in market_data_provider.py:961", "shortDescription": {"text": "Commented-code block (5 lines) in market_data_provider.py:961"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-00864087e40d215b", "name": "Commented-code block (6 lines) in saas_intelligence_output.py:203", "shortDescription": {"text": "Commented-code block (6 lines) in saas_intelligence_output.py:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85247cfcb2d13cdd", "name": "Legacy-named symbol `_rc_copy` in apex_orchestrator.py:455", "shortDescription": {"text": "Legacy-named symbol `_rc_copy` in apex_orchestrator.py:455"}, "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-e74d6b180c726d8b", "name": "Commented-code block (5 lines) in apex_orchestrator.py:256", "shortDescription": {"text": "Commented-code block (5 lines) in apex_orchestrator.py:256"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cae939cd4e70fa1f", "name": "Legacy-named symbol `rotation_live_v1` in pm_rails.py:16", "shortDescription": {"text": "Legacy-named symbol `rotation_live_v1` in pm_rails.py:16"}, "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-6e6901122565e132", "name": "Commented-code block (11 lines) in bot.py:2", "shortDescription": {"text": "Commented-code block (11 lines) in bot.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-285efe0bd79badf2", "name": "Commented-code block (21 lines) in scanner.py:1", "shortDescription": {"text": "Commented-code block (21 lines) in scanner.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a1dc64714ea2002", "name": "Commented-code block (14 lines) in alpaca_data.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in alpaca_data.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-501da30fc7537eb4", "name": "Commented-code block (14 lines) in alpha_vantage_client.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in alpha_vantage_client.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17dc72cf51a36d6c", "name": "Commented-code block (13 lines) in fred_client.py:1", "shortDescription": {"text": "Commented-code block (13 lines) in fred_client.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c1c00076a3d529af", "name": "Legacy-named symbol `active_trade_copy` in trade_data_contract.py:281", "shortDescription": {"text": "Legacy-named symbol `active_trade_copy` in trade_data_contract.py:281"}, "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-9af030052cb42657", "name": "Commented-code block (5 lines) in bracket_health.py:46", "shortDescription": {"text": "Commented-code block (5 lines) in bracket_health.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-7809a76aa08673b0", "name": "Commented-code block (5 lines) in bot_ibkr.py:46", "shortDescription": {"text": "Commented-code block (5 lines) in bot_ibkr.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-ad502b5dbe87f7cb", "name": "Commented-code block (14 lines) in catalyst_engine.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in catalyst_engine.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22bb1e1199c8e6db", "name": "Commented-code block (17 lines) in expression_router.py:1", "shortDescription": {"text": "Commented-code block (17 lines) in expression_router.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ad2572f50931a60", "name": "Commented-code block (5 lines) in decifer_index_performance.py:253", "shortDescription": {"text": "Commented-code block (5 lines) in decifer_index_performance.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-73a22fdf5b393c59", "name": "Commented-code block (5 lines) in economic_backdrop_engine.py:44", "shortDescription": {"text": "Commented-code block (5 lines) in economic_backdrop_engine.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-430cb2d4f235eff1", "name": "Commented-code block (5 lines) in conviction_cache.py:236", "shortDescription": {"text": "Commented-code block (5 lines) in conviction_cache.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-fca5f0dece6837c3", "name": "Legacy-named symbol `rotation_live_v1` in pm_engine.py:4", "shortDescription": {"text": "Legacy-named symbol `rotation_live_v1` in pm_engine.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d26cd2f6bb2d7d09", "name": "Commented-code block (5 lines) in pm_engine.py:85", "shortDescription": {"text": "Commented-code block (5 lines) in pm_engine.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc948b6b7051a276", "name": "Commented-code block (7 lines) in orders_options.py:479", "shortDescription": {"text": "Commented-code block (7 lines) in orders_options.py:479"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72d215e8b9797903", "name": "Network/subprocess call without timeout or try/except \u2014 ops_alerts.py:99", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 ops_alerts.py:99"}, "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-7555ec40fb57d9b9", "name": "Commented-code block (5 lines) in conviction_engine.py:122", "shortDescription": {"text": "Commented-code block (5 lines) in conviction_engine.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-a3a6bd2f9441214b", "name": "Legacy-named symbol `sprint37_v1` in ml_observation_writer.py:50", "shortDescription": {"text": "Legacy-named symbol `sprint37_v1` in ml_observation_writer.py:50"}, "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-bb0a7a3ebb4f0663", "name": "Commented-code block (12 lines) in ml_observation_writer.py:1", "shortDescription": {"text": "Commented-code block (12 lines) in ml_observation_writer.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-793338e013c81b8f", "name": "Commented-code block (19 lines) in overnight_research.py:1", "shortDescription": {"text": "Commented-code block (19 lines) in overnight_research.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6071e6915b56f00", "name": "Commented-code block (14 lines) in fx_signals.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in fx_signals.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44bd22d7144a357f", "name": "Commented-code block (8 lines) in signal_types.py:1", "shortDescription": {"text": "Commented-code block (8 lines) in signal_types.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-395e64851a2ef4c0", "name": "Commented-code block (11 lines) in signal_pipeline.py:1", "shortDescription": {"text": "Commented-code block (11 lines) in signal_pipeline.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b60d23402bfab22", "name": "Commented-code block (5 lines) in risk_gates.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in risk_gates.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-8cae88d737da96ce", "name": "Commented-code block (10 lines) in options_flow_monitor.py:1", "shortDescription": {"text": "Commented-code block (10 lines) in options_flow_monitor.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b951b33892a71533", "name": "Commented-code block (8 lines) in market_intelligence.py:806", "shortDescription": {"text": "Commented-code block (8 lines) in market_intelligence.py:806"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9850a742f818f6be", "name": "Commented-code block (5 lines) in orders_state.py:42", "shortDescription": {"text": "Commented-code block (5 lines) in orders_state.py:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d1cc9bee10d6327", "name": "Commented-code block (7 lines) in phase_gate.py:1", "shortDescription": {"text": "Commented-code block (7 lines) in phase_gate.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3df0e7c92ff97a8", "name": "Legacy-named symbol `active_trade_copy` in fill_watcher.py:186", "shortDescription": {"text": "Legacy-named symbol `active_trade_copy` in fill_watcher.py:186"}, "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-82edddd3d7f09145", "name": "Commented-code block (8 lines) in portfolio_manager.py:465", "shortDescription": {"text": "Commented-code block (8 lines) in portfolio_manager.py:465"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-767a34cc6541e78f", "name": "Commented-code block (13 lines) in alpha_validation.py:2", "shortDescription": {"text": "Commented-code block (13 lines) in alpha_validation.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b3feb7e38e29c76", "name": "Commented-code block (15 lines) in options_flow_engine.py:1", "shortDescription": {"text": "Commented-code block (15 lines) in options_flow_engine.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9df5ee8e8c58c0c", "name": "Commented-code block (6 lines) in live_driver_resolver.py:446", "shortDescription": {"text": "Commented-code block (6 lines) in live_driver_resolver.py:446"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1bfe15ea74cc4b79", "name": "Commented-code block (7 lines) in telegram_bot.py:1", "shortDescription": {"text": "Commented-code block (7 lines) in telegram_bot.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86dc6423e6f3875b", "name": "Commented-code block (5 lines) in bot_health.py:222", "shortDescription": {"text": "Commented-code block (5 lines) in bot_health.py:222"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7da61f9c6501ec6f", "name": "Legacy-named symbol `active_trade_copy` in orders_core.py:870", "shortDescription": {"text": "Legacy-named symbol `active_trade_copy` in orders_core.py:870"}, "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-aee0f6059eace8d6", "name": "Commented-code block (5 lines) in orders_core.py:157", "shortDescription": {"text": "Commented-code block (5 lines) in orders_core.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-2d08a8d7dcc8ce8f", "name": "Commented-code block (6 lines) in signal_dispatcher.py:315", "shortDescription": {"text": "Commented-code block (6 lines) in signal_dispatcher.py:315"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19afb688ef883d8e", "name": "Commented-code block (11 lines) in presession.py:1", "shortDescription": {"text": "Commented-code block (11 lines) in presession.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-404d4174f27bd759", "name": "Commented-code block (14 lines) in iv_skew.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in iv_skew.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2d0494e189a78be", "name": "Commented-code block (17 lines) in entry_gate.py:1", "shortDescription": {"text": "Commented-code block (17 lines) in entry_gate.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39b3a199e17d3b35", "name": "Legacy-named symbol `min_old` in v1_macro_events_api.py:89", "shortDescription": {"text": "Legacy-named symbol `min_old` in v1_macro_events_api.py:89"}, "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-5449d378044780ff", "name": "Commented-code block (14 lines) in sympathy_scanner.py:1", "shortDescription": {"text": "Commented-code block (14 lines) in sympathy_scanner.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-12df3053656c4fcf", "name": "Legacy-named symbol `analyst_pt_days_old` in trade_context.py:70", "shortDescription": {"text": "Legacy-named symbol `analyst_pt_days_old` in trade_context.py:70"}, "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-89a45d202be6c368", "name": "Commented-code block (15 lines) in trade_context.py:1", "shortDescription": {"text": "Commented-code block (15 lines) in trade_context.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98f19cab17433b97", "name": "Commented-code block (7 lines) in risk.py:45", "shortDescription": {"text": "Commented-code block (7 lines) in risk.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-4d223bfdf539b12d", "name": "42 env vars used in code but missing from .env.example", "shortDescription": {"text": "42 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ALLOW_ROOT_PIPELINE`, `CATALYST_SCREEN_INTERVAL`, `DASHBOARD_HOST`, `DECIFER_ALERT_EMAIL`, `DECIFER_ALERT_FROM`, `DEPLOYMENT_MODE`, `DO_INFERENCE_API_KEY`, `DO_INFERENCE_BASE_URL` + 34 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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:\nalpaca_stream.py:update, alpaca_stream.py:update, alpaca_stream.py:update, alpaca_stream.py:update\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:\nalpaca_stream.py:get_5m, alpaca_stream.py:get, alpaca_stream.py:get\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nalpaca_stream.py:symbols, alpaca_stream.py:symbols\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-f5afa66d19099ee1", "name": "Flask mutation route `v1_custom_scan` without `@login_required` \u2014 options_flow_api.py:357", "shortDescription": {"text": "Flask mutation route `v1_custom_scan` without `@login_required` \u2014 options_flow_api.py:357"}, "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-1c1e06273c78d867", "name": "Flask mutation route `resend_webhook` without `@login_required` \u2014 intelligence_api.py:1984", "shortDescription": {"text": "Flask mutation route `resend_webhook` without `@login_required` \u2014 intelligence_api.py:1984"}, "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-70ef2f155a2d6c54", "name": "Unused endpoint: ANY /api/options/feed", "shortDescription": {"text": "Unused endpoint: ANY /api/options/feed"}, "fullDescription": {"text": "`options_flow_api.py` declares `ANY /api/options/feed` 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-c2309415aefbb159", "name": "Unused endpoint: ANY /api/options/leaderboard", "shortDescription": {"text": "Unused endpoint: ANY /api/options/leaderboard"}, "fullDescription": {"text": "`options_flow_api.py` declares `ANY /api/options/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-3f4b1d88043b3889", "name": "Unused endpoint: ANY /api/options/symbol/<ticker>", "shortDescription": {"text": "Unused endpoint: ANY /api/options/symbol/<ticker>"}, "fullDescription": {"text": "`options_flow_api.py` declares `ANY /api/options/symbol/<ticker>` 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-23ef11a2ff486935", "name": "Unused endpoint: ANY /v1/options/universe-scan", "shortDescription": {"text": "Unused endpoint: ANY /v1/options/universe-scan"}, "fullDescription": {"text": "`options_flow_api.py` declares `ANY /v1/options/universe-scan` 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-81f5c2502a9e0473", "name": "Unused endpoint: ANY /v1/options/scan", "shortDescription": {"text": "Unused endpoint: ANY /v1/options/scan"}, "fullDescription": {"text": "`options_flow_api.py` declares `ANY /v1/options/scan` 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-747fd8f862deb676", "name": "Unused endpoint: ANY /universe", "shortDescription": {"text": "Unused endpoint: ANY /universe"}, "fullDescription": {"text": "`v1_api.py` declares `ANY /universe` 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-e8928ffa5c834991", "name": "Unused endpoint: ANY /symbol/<ticker>", "shortDescription": {"text": "Unused endpoint: ANY /symbol/<ticker>"}, "fullDescription": {"text": "`v1_api.py` declares `ANY /symbol/<ticker>` 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-2e3d34cd3a015e2f", "name": "Unused endpoint: ANY /v1/drivers", "shortDescription": {"text": "Unused endpoint: ANY /v1/drivers"}, "fullDescription": {"text": "`v1_drivers_api.py` declares `ANY /v1/drivers` 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-e245116427488408", "name": "Unused endpoint: ANY /api/intelligence/themes", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/themes"}, "fullDescription": {"text": "`theme_graph_api.py` declares `ANY /api/intelligence/themes` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e31fabc50723eee9", "name": "Unused endpoint: ANY /api/intelligence/themes/<theme_id>", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/themes/<theme_id>"}, "fullDescription": {"text": "`theme_graph_api.py` declares `ANY /api/intelligence/themes/<theme_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-2f74e4536e5de05c", "name": "Unused endpoint: ANY /api/intelligence/search", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/search"}, "fullDescription": {"text": "`theme_graph_api.py` declares `ANY /api/intelligence/search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d77a955e5d7698eb", "name": "Unused endpoint: ANY /api/intelligence/symbol/<ticker>", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/symbol/<ticker>"}, "fullDescription": {"text": "`theme_graph_api.py` declares `ANY /api/intelligence/symbol/<ticker>` 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-aaa1d278f80c3ab0", "name": "Unused endpoint: ANY /api/research/index", "shortDescription": {"text": "Unused endpoint: ANY /api/research/index"}, "fullDescription": {"text": "`research_api.py` declares `ANY /api/research/index` 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-396a253c768a152d", "name": "Unused endpoint: ANY /api/research/<ticker>", "shortDescription": {"text": "Unused endpoint: ANY /api/research/<ticker>"}, "fullDescription": {"text": "`research_api.py` declares `ANY /api/research/<ticker>` 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-0aa53914a798376e", "name": "Unused endpoint: ANY /api/research/<ticker>/refresh", "shortDescription": {"text": "Unused endpoint: ANY /api/research/<ticker>/refresh"}, "fullDescription": {"text": "`research_api.py` declares `ANY /api/research/<ticker>/refresh` 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-b16b1a42609dbec1", "name": "Unused endpoint: ANY /api/market-now", "shortDescription": {"text": "Unused endpoint: ANY /api/market-now"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-now` 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-ad07bb3bb8eb1658", "name": "Unused endpoint: ANY /api/mobile/now", "shortDescription": {"text": "Unused endpoint: ANY /api/mobile/now"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/mobile/now` 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-6e6731f566e71900", "name": "Unused endpoint: ANY /api/mobile/why", "shortDescription": {"text": "Unused endpoint: ANY /api/mobile/why"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/mobile/why` 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-c6a587d1e24385eb", "name": "Unused endpoint: ANY /api/mobile/alpha", "shortDescription": {"text": "Unused endpoint: ANY /api/mobile/alpha"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/mobile/alpha` 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-aa047908a536fad6", "name": "Unused endpoint: ANY /api/mobile/portfolio", "shortDescription": {"text": "Unused endpoint: ANY /api/mobile/portfolio"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/mobile/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-36b6cb5fe58ccaae", "name": "Unused endpoint: ANY /api/intelligence/universe", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/universe"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/intelligence/universe` 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-5b0df0a95b277be1", "name": "Unused endpoint: ANY /api/labels", "shortDescription": {"text": "Unused endpoint: ANY /api/labels"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/labels` 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-820c50c357190220", "name": "Unused endpoint: ANY /api/market-data/movers", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/movers"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/movers` 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-110b2a4af43ba412", "name": "Unused endpoint: ANY /api/market-data/premarket-movers", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/premarket-movers"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/premarket-movers` 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-e327287031f407ed", "name": "Unused endpoint: ANY /api/market-data/news", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/news"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/news` 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-04b3e181155a4955", "name": "Unused endpoint: ANY /api/market-data/tape", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/tape"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/tape` 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-33e567e9fb6bc4cb", "name": "Unused endpoint: ANY /api/market-data/quotes", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/quotes"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/quotes` 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-18718cc1314dfafc", "name": "Unused endpoint: ANY /api/fmp/<path:endpoint>", "shortDescription": {"text": "Unused endpoint: ANY /api/fmp/<path:endpoint>"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/fmp/<path:endpoint>` 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-e5ebcb3220ff68a9", "name": "Unused endpoint: ANY /api/market-data/volume", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/volume"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/volume` 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-a4d8af1365680d39", "name": "Unused endpoint: ANY /api/market-data/sector-etf-bars", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/sector-etf-bars"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/sector-etf-bars` 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-6680e7334ad3fa3d", "name": "Unused endpoint: ANY /api/market-data/bars", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/bars"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/bars` 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-e3bdbb53c470d309", "name": "Unused endpoint: ANY /api/market-data/sector-participation", "shortDescription": {"text": "Unused endpoint: ANY /api/market-data/sector-participation"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-data/sector-participation` 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-307b692310dc58c9", "name": "Unused endpoint: ANY /api/counter-thesis", "shortDescription": {"text": "Unused endpoint: ANY /api/counter-thesis"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/counter-thesis` 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-1e84021d78008f43", "name": "Unused endpoint: ANY /api/thesis", "shortDescription": {"text": "Unused endpoint: ANY /api/thesis"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/thesis` 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-8d56b51bd79489e8", "name": "Unused endpoint: ANY /api/options/flow/leaderboard", "shortDescription": {"text": "Unused endpoint: ANY /api/options/flow/leaderboard"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/options/flow/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-7f562014ab562eff", "name": "Unused endpoint: ANY /api/conviction/universe", "shortDescription": {"text": "Unused endpoint: ANY /api/conviction/universe"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/conviction/universe` 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-11c5f3ca46d30ffa", "name": "Unused endpoint: ANY /api/conviction/symbol/<ticker>", "shortDescription": {"text": "Unused endpoint: ANY /api/conviction/symbol/<ticker>"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/conviction/symbol/<ticker>` 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-13727d793f75ef0b", "name": "Unused endpoint: ANY /api/conviction/waiting-room", "shortDescription": {"text": "Unused endpoint: ANY /api/conviction/waiting-room"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/conviction/waiting-room` 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-85ec8f87b03ada5e", "name": "Unused endpoint: ANY /api/conviction/rotation-flags", "shortDescription": {"text": "Unused endpoint: ANY /api/conviction/rotation-flags"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/conviction/rotation-flags` 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-fd79afdd924becee", "name": "Unused endpoint: ANY /api/intelligence/theme-activation", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/theme-activation"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/intelligence/theme-activation` 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-6bdf74f46897a299", "name": "Unused endpoint: ANY /api/decifer-250/performance", "shortDescription": {"text": "Unused endpoint: ANY /api/decifer-250/performance"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/decifer-250/performance` 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-55f59aa93f4fb05f", "name": "Unused endpoint: ANY /api/decifer-250", "shortDescription": {"text": "Unused endpoint: ANY /api/decifer-250"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/decifer-250` 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-3152b2e545c204fa", "name": "Unused endpoint: ANY /api/decifer-250/chains", "shortDescription": {"text": "Unused endpoint: ANY /api/decifer-250/chains"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/decifer-250/chains` 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-1a6d91f2236825bf", "name": "Unused endpoint: ANY /", "shortDescription": {"text": "Unused endpoint: ANY /"}, "fullDescription": {"text": "`intelligence_api.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-6730c7fbe7462299", "name": "Unused endpoint: ANY /view", "shortDescription": {"text": "Unused endpoint: ANY /view"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /view` 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-42a3e816c4465542", "name": "Unused endpoint: ANY /api/intelligence/macro-events", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/macro-events"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/intelligence/macro-events` 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-247adfead00da1aa", "name": "Unused endpoint: ANY /api/intelligence/macro-context", "shortDescription": {"text": "Unused endpoint: ANY /api/intelligence/macro-context"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/intelligence/macro-context` 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-71cddd112a470f9e", "name": "Unused endpoint: ANY /api/market-stress", "shortDescription": {"text": "Unused endpoint: ANY /api/market-stress"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/market-stress` 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-ea7c43ea11149cce", "name": "Unused endpoint: ANY /api/economic-backdrop", "shortDescription": {"text": "Unused endpoint: ANY /api/economic-backdrop"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/economic-backdrop` 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-9b41f22128ad0cbb", "name": "Unused endpoint: ANY /api/decifered", "shortDescription": {"text": "Unused endpoint: ANY /api/decifered"}, "fullDescription": {"text": "`intelligence_api.py` declares `ANY /api/decifered` 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/6480"}, "properties": {"repository": "DeciferBot/decifer-trading", "repoUrl": "https://github.com/DeciferBot/decifer-trading", "branch": "main"}, "results": [{"ruleId": "scanner-af50fc673e21b862", "level": "note", "message": {"text": "Possibly dead Python function: reset_stale_exits"}, "properties": {"repobilityId": "6cb5f8a623c21db6", "scanner": "scanner-primary", "fingerprint": "af50fc673e21b862", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "orders_portfolio.py:469"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f8b8f3ac467da500", "level": "note", "message": {"text": "Possibly dead Python function: check_per_symbol_hard_loss"}, "properties": {"repobilityId": "28f7086b092f1d7b", "scanner": "scanner-primary", "fingerprint": "f8b8f3ac467da500", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "safety_overlay.py:139"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f4ed49de4a9d8ba2", "level": "note", "message": {"text": "Possibly dead Python function: fetch_ibkr_news"}, "properties": {"repobilityId": "a5beab3feb421319", "scanner": "scanner-primary", "fingerprint": "f4ed49de4a9d8ba2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "news_sentinel.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4cb8fa8090bdb012", "level": "note", "message": {"text": "Possibly dead Python function: pause"}, "properties": {"repobilityId": "9b753233bdfe5dc9", "scanner": "scanner-primary", "fingerprint": "4cb8fa8090bdb012", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "news_sentinel.py:365"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b1b316cd6015eedf", "level": "note", "message": {"text": "Possibly dead Python function: resume"}, "properties": {"repobilityId": "ec6ace357a0cc819", "scanner": "scanner-primary", "fingerprint": "b1b316cd6015eedf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "news_sentinel.py:369"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8fc4f3b9280e3f04", "level": "note", "message": {"text": "Possibly dead Python function: error_count_in_window"}, "properties": {"repobilityId": "18a392c0e60524f9", "scanner": "scanner-primary", "fingerprint": "8fc4f3b9280e3f04", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ibkr_gateway_watchdog.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05801a0a5b6a7e4d", "level": "note", "message": {"text": "Possibly dead Python function: run_weekly_review"}, "properties": {"repobilityId": "ff1302533c4ca6da", "scanner": "scanner-primary", "fingerprint": "05801a0a5b6a7e4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "learning.py:854"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92e5862d458d0b8d", "level": "note", "message": {"text": "Possibly dead Python function: save_friday_close_snapshot"}, "properties": {"repobilityId": "f99e419ffae04985", "scanner": "scanner-primary", "fingerprint": "92e5862d458d0b8d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "options_flow_scanner.py:290"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-587a4e465fcc66ce", "level": "note", "message": {"text": "Possibly dead Python function: halted_symbols"}, "properties": {"repobilityId": "f61d1bf56a8fe6e7", "scanner": "scanner-primary", "fingerprint": "587a4e465fcc66ce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "alpaca_stream.py:246"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72bfcbf3d2d61558", "level": "note", "message": {"text": "Possibly dead Python function: read_latest"}, "properties": {"repobilityId": "7fa9d36b1097b825", "scanner": "scanner-primary", "fingerprint": "72bfcbf3d2d61558", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worker_evidence.py:104"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-12bf17c75393f313", "level": "note", "message": {"text": "Possibly dead Python function: fetch_pair"}, "properties": {"repobilityId": "3668239efc52fc10", "scanner": "scanner-primary", "fingerprint": "12bf17c75393f313", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "bot_account.py:585"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87cf4715bce56b08", "level": "note", "message": {"text": "Possibly dead Python function: inject_event"}, "properties": {"repobilityId": "21c51d3703d622d9", "scanner": "scanner-primary", "fingerprint": "87cf4715bce56b08", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research_engine.py:744"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c0d1d2554280f32", "level": "note", "message": {"text": "Possibly dead Python function: fire_transmission"}, "properties": {"repobilityId": "7e719bef304e3993", "scanner": "scanner-primary", "fingerprint": "3c0d1d2554280f32", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "macro_transmission_matrix.py:162"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14a2ce445ab88c63", "level": "note", "message": {"text": "Possibly dead Python function: clear_tape_for_tests"}, "properties": {"repobilityId": "94c69b671f2e1810", "scanner": "scanner-primary", "fingerprint": "14a2ce445ab88c63", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "customer_event_tape.py:335"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-512e7887aa6a94bf", "level": "note", "message": {"text": "Possibly dead Python function: rebalance"}, "properties": {"repobilityId": "167f4335af31ef76", "scanner": "scanner-primary", "fingerprint": "512e7887aa6a94bf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "decifer_index_selector.py:86"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c0c1b50ee92da04e", "level": "note", "message": {"text": "Possibly dead Python function: is_member"}, "properties": {"repobilityId": "8c616152b6fad11c", "scanner": "scanner-primary", "fingerprint": "c0c1b50ee92da04e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "decifer_index_selector.py:207"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80a652602975d4fe", "level": "note", "message": {"text": "Possibly dead Python function: call_apex"}, "properties": {"repobilityId": "c9cbd8e2407ee795", "scanner": "scanner-primary", "fingerprint": "80a652602975d4fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "llm_client.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-329e274d092f06ad", "level": "note", "message": {"text": "Possibly dead Python function: build_theme_assignments"}, "properties": {"repobilityId": "9ea639b7aa2a0ba9", "scanner": "scanner-primary", "fingerprint": "329e274d092f06ad", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "decifer_theme_builder.py:187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-852993128ba63b11", "level": "note", "message": {"text": "Possibly dead Python function: purge_older_than"}, "properties": {"repobilityId": "f46c3281c7078f3f", "scanner": "scanner-primary", "fingerprint": "852993128ba63b11", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "fmp_cache.py:170"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac5c5fc45cb3f87f", "level": "note", "message": {"text": "Possibly dead Python function: add_custom_theme"}, "properties": {"repobilityId": "63aee2262b49f9cb", "scanner": "scanner-primary", "fingerprint": "ac5c5fc45cb3f87f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "theme_tracker.py:575"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-506be2b95088f5d3", "level": "none", "message": {"text": "git log failed \u2014 history analysis incomplete"}, "properties": {"repobilityId": "b424308a11bb9b22", "scanner": "scanner-primary", "fingerprint": "506be2b95088f5d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["git", "tooling"]}}, {"ruleId": "scanner-9365efa7bd02281d", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "9365efa7bd02281d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker-compose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-59868562782cd0f8", "level": "warning", "message": {"text": "Privileged port 1000 in use"}, "properties": {"repobilityId": "5ac9fc9372cfe169", "scanner": "scanner-primary", "fingerprint": "59868562782cd0f8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e066691601852931", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "4fb8389dfc26c8ed", "scanner": "scanner-primary", "fingerprint": "e066691601852931", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-e066691601852931", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "a4a0192d1b257cc6", "scanner": "scanner-primary", "fingerprint": "e066691601852931", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-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-d3c1d14cfa6fbd5b", "level": "note", "message": {"text": "Very large file: orders_portfolio.py (2350 lines)"}, "properties": {"repobilityId": "a56edae5b89663e4", "scanner": "scanner-primary", "fingerprint": "d3c1d14cfa6fbd5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c8a91a61251bcdc4", "level": "note", "message": {"text": "Very large file: bot_trading.py (3199 lines)"}, "properties": {"repobilityId": "f40f5317c06b1b1e", "scanner": "scanner-primary", "fingerprint": "c8a91a61251bcdc4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70dfe3cd2a47f4e6", "level": "note", "message": {"text": "Very large file: bot_dashboard.py (2429 lines)"}, "properties": {"repobilityId": "54660db0e53f51c6", "scanner": "scanner-primary", "fingerprint": "70dfe3cd2a47f4e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c3f596a37411c04", "level": "note", "message": {"text": "Very large file: config.py (1292 lines)"}, "properties": {"repobilityId": "eb0ea9c835ca014b", "scanner": "scanner-primary", "fingerprint": "1c3f596a37411c04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b813ee9fd9a2a45", "level": "note", "message": {"text": "Very large file: apex_orchestrator.py (1115 lines)"}, "properties": {"repobilityId": "7545b0e4db3177f8", "scanner": "scanner-primary", "fingerprint": "8b813ee9fd9a2a45", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a79ee58a114bf5bf", "level": "note", "message": {"text": "Very large file: bot_ibkr.py (1705 lines)"}, "properties": {"repobilityId": "3e56410b133aca23", "scanner": "scanner-primary", "fingerprint": "a79ee58a114bf5bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4aa694cf50a51be0", "level": "note", "message": {"text": "Very large file: orders_options.py (1232 lines)"}, "properties": {"repobilityId": "7913f7a7ff4b0918", "scanner": "scanner-primary", "fingerprint": "4aa694cf50a51be0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6df80171199a1539", "level": "note", "message": {"text": "Very large file: conviction_engine.py (1839 lines)"}, "properties": {"repobilityId": "6f6aecd7b73073e5", "scanner": "scanner-primary", "fingerprint": "6df80171199a1539", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb7016150d2ece87", "level": "note", "message": {"text": "Very large file: market_intelligence.py (1491 lines)"}, "properties": {"repobilityId": "7a35944d6ea28c09", "scanner": "scanner-primary", "fingerprint": "cb7016150d2ece87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29e06d00b6884d81", "level": "note", "message": {"text": "Very large file: orders_core.py (2810 lines)"}, "properties": {"repobilityId": "38eda1698cdc89b2", "scanner": "scanner-primary", "fingerprint": "29e06d00b6884d81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a30a82fc15ebc95", "level": "note", "message": {"text": "Very large file: intelligence_api.py (2037 lines)"}, "properties": {"repobilityId": "26562a1edcd889ba", "scanner": "scanner-primary", "fingerprint": "1a30a82fc15ebc95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fbaf5815a46cf23f", "level": "note", "message": {"text": "Very large file: fmp_client.py (1726 lines)"}, "properties": {"repobilityId": "a435e78e5eaca4e4", "scanner": "scanner-primary", "fingerprint": "fbaf5815a46cf23f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d90575f7e79dad40", "level": "note", "message": {"text": "Very large file: risk.py (1227 lines)"}, "properties": {"repobilityId": "c37206beb7a89b79", "scanner": "scanner-primary", "fingerprint": "d90575f7e79dad40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "e8bc2bf065265398", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-faccb9061e9b52a0", "level": "note", "message": {"text": "No README detected"}, "properties": {"repobilityId": "384e35faa689db49", "scanner": "scanner-primary", "fingerprint": "faccb9061e9b52a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9c32c0b46b63c156", "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": "37f50f387852faf3", "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": "5b9636eb19ae254c", "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": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "f9f4a0c1c4c076f3", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "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": "5991706488c0e075", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-8919535eea0bbb87", "level": "none", "message": {"text": "Commented-code block (5 lines) in run_intelligence_pipeline.py:861"}, "properties": {"repobilityId": "a765adfb76ae776e", "scanner": "scanner-primary", "fingerprint": "8919535eea0bbb87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e5b7199caf51250", "level": "note", "message": {"text": "Legacy-named symbol `ib_unused` in orders_portfolio.py:262"}, "properties": {"repobilityId": "b76b92c50f98afe9", "scanner": "scanner-primary", "fingerprint": "5e5b7199caf51250", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c12e9bfe0b1604f1", "level": "none", "message": {"text": "Commented-code block (8 lines) in orders_portfolio.py:615"}, "properties": {"repobilityId": "652c7d296cfa2080", "scanner": "scanner-primary", "fingerprint": "c12e9bfe0b1604f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6208c158d330f2d", "level": "none", "message": {"text": "Commented-code block (6 lines) in options.py:1"}, "properties": {"repobilityId": "02634850095a96a5", "scanner": "scanner-primary", "fingerprint": "f6208c158d330f2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d08278cdf82327b3", "level": "note", "message": {"text": "Legacy-named symbol `macro_event_v1` in earnings_transcript_engine.py:244"}, "properties": {"repobilityId": "8ba3255f430c2c71", "scanner": "scanner-primary", "fingerprint": "d08278cdf82327b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b1a3770d0cab2da4", "level": "none", "message": {"text": "Commented-code block (22 lines) in universe_position.py:1"}, "properties": {"repobilityId": "dd7b9df5a0d5069e", "scanner": "scanner-primary", "fingerprint": "b1a3770d0cab2da4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa8b786ee4cb02ea", "level": "none", "message": {"text": "Commented-code block (9 lines) in news_sentinel.py:1"}, "properties": {"repobilityId": "e615a08797b5fab9", "scanner": "scanner-primary", "fingerprint": "aa8b786ee4cb02ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c8cc356d13ddbc6", "level": "none", "message": {"text": "Commented-code block (7 lines) in learning.py:562"}, "properties": {"repobilityId": "78a29f0fedb9d88a", "scanner": "scanner-primary", "fingerprint": "6c8cc356d13ddbc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cabe14a82d744bc", "level": "none", "message": {"text": "Commented-code block (11 lines) in price_updater.py:1"}, "properties": {"repobilityId": "24afef82302d9bdf", "scanner": "scanner-primary", "fingerprint": "2cabe14a82d744bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf4d393ed389e13d", "level": "note", "message": {"text": "Legacy-named symbol `macro_event_v1` in macro_event_layer.py:63"}, "properties": {"repobilityId": "28494b171772d7e1", "scanner": "scanner-primary", "fingerprint": "cf4d393ed389e13d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-94d0dab17c61a8c8", "level": "none", "message": {"text": "Commented-code block (15 lines) in alpaca_stream.py:1"}, "properties": {"repobilityId": "0c6ed4b98826d950", "scanner": "scanner-primary", "fingerprint": "94d0dab17c61a8c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d784b37a465c60b", "level": "note", "message": {"text": "Legacy-named symbol `customer_event_tape_v1` in customer_event_tape.py:54"}, "properties": {"repobilityId": "789b9a74488625d6", "scanner": "scanner-primary", "fingerprint": "1d784b37a465c60b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6a56f0c0323686cd", "level": "none", "message": {"text": "Commented-code block (7 lines) in social_sentiment.py:1"}, "properties": {"repobilityId": "5f1231cc2e4c9c60", "scanner": "scanner-primary", "fingerprint": "6a56f0c0323686cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb88a38160cdd97d", "level": "none", "message": {"text": "Commented-code block (5 lines) in bot_trading.py:1110"}, "properties": {"repobilityId": "c97dcf9fc201589d", "scanner": "scanner-primary", "fingerprint": "eb88a38160cdd97d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-388c92c80c5002ce", "level": "none", "message": {"text": "Commented-code block (16 lines) in options_provider.py:1"}, "properties": {"repobilityId": "e03105969d71a753", "scanner": "scanner-primary", "fingerprint": "388c92c80c5002ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d8a35e4f4d329bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in llm_client.py:1"}, "properties": {"repobilityId": "39be70f50a65f11a", "scanner": "scanner-primary", "fingerprint": "1d8a35e4f4d329bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fee14db8d85010fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in counter_thesis_engine.py:1"}, "properties": {"repobilityId": "8caf32bb7946eb16", "scanner": "scanner-primary", "fingerprint": "fee14db8d85010fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c9225e8687a7f66", "level": "none", "message": {"text": "Commented-code block (17 lines) in options_scanner.py:1"}, "properties": {"repobilityId": "42e06a6e73aa9b5a", "scanner": "scanner-primary", "fingerprint": "1c9225e8687a7f66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8632e6f1140641d8", "level": "none", "message": {"text": "Commented-code block (13 lines) in theme_tracker.py:1"}, "properties": {"repobilityId": "4197c4ea9154485b", "scanner": "scanner-primary", "fingerprint": "8632e6f1140641d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bda501fc04f1ee94", "level": "none", "message": {"text": "Commented-code block (25 lines) in ic_validator.py:1"}, "properties": {"repobilityId": "19f9acb32d051db8", "scanner": "scanner-primary", "fingerprint": "bda501fc04f1ee94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c10033aebcaa13e8", "level": "none", "message": {"text": "Commented-code block (16 lines) in alpha_decay.py:1"}, "properties": {"repobilityId": "2f54dff9a31ea63c", "scanner": "scanner-primary", "fingerprint": "c10033aebcaa13e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1ff7224b6789917", "level": "none", "message": {"text": "Commented-code block (5 lines) in content_safety_gate.py:18"}, "properties": {"repobilityId": "f129689cfccbc026", "scanner": "scanner-primary", "fingerprint": "a1ff7224b6789917", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3f9da32318b3903", "level": "note", "message": {"text": "Legacy-named symbol `rotation_live_v1` in bot_dashboard.py:1853"}, "properties": {"repobilityId": "2db0154e6471b6ae", "scanner": "scanner-primary", "fingerprint": "d3f9da32318b3903", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-24f06790d1129758", "level": "none", "message": {"text": "Commented-code block (5 lines) in bot_dashboard.py:671"}, "properties": {"repobilityId": "3b4b9b547ca9d1b6", "scanner": "scanner-primary", "fingerprint": "24f06790d1129758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fec35ff2a249032", "level": "none", "message": {"text": "Commented-code block (14 lines) in universe_committed.py:1"}, "properties": {"repobilityId": "626e527110d4c2b6", "scanner": "scanner-primary", "fingerprint": "6fec35ff2a249032", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ed639850934735b", "level": "none", "message": {"text": "Commented-code block (9 lines) in alpaca_news.py:132"}, "properties": {"repobilityId": "458bba47a095bd9b", "scanner": "scanner-primary", "fingerprint": "7ed639850934735b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-accda21916194768", "level": "none", "message": {"text": "Commented-code block (29 lines) in alpaca_options.py:1"}, "properties": {"repobilityId": "cc6e5dae0147c94f", "scanner": "scanner-primary", "fingerprint": "accda21916194768", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b6bd4b076ed8b5e", "level": "note", "message": {"text": "Legacy-named symbol `today_v1` in today_assembler.py:39"}, "properties": {"repobilityId": "b33ed507b49e17af", "scanner": "scanner-primary", "fingerprint": "9b6bd4b076ed8b5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e3d49d745fa02734", "level": "none", "message": {"text": "Commented-code block (16 lines) in ic_calculator.py:1"}, "properties": {"repobilityId": "f23057543ea3bb55", "scanner": "scanner-primary", "fingerprint": "e3d49d745fa02734", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-665bcfce971983ec", "level": "none", "message": {"text": "Commented-code block (10 lines) in news.py:1"}, "properties": {"repobilityId": "11dc7b8aa9d1abb3", "scanner": "scanner-primary", "fingerprint": "665bcfce971983ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-411a24df974a81b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in config.py:58"}, "properties": {"repobilityId": "9ccdb83260159315", "scanner": "scanner-primary", "fingerprint": "411a24df974a81b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb86a9f6de1f6f9a", "level": "none", "message": {"text": "Commented-code block (6 lines) in market_now_reconciler.py:292"}, "properties": {"repobilityId": "1c3e31686eeb56da", "scanner": "scanner-primary", "fingerprint": "fb86a9f6de1f6f9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1871ba1d5744f4a", "level": "note", "message": {"text": "Legacy-named symbol `min_old` in v1_drivers_api.py:101"}, "properties": {"repobilityId": "21aad67241ed1a56", "scanner": "scanner-primary", "fingerprint": "e1871ba1d5744f4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf3754a8e7f78467", "level": "none", "message": {"text": "Commented-code block (5 lines) in market_data_provider.py:961"}, "properties": {"repobilityId": "0648fb47c72cffe2", "scanner": "scanner-primary", "fingerprint": "bf3754a8e7f78467", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00864087e40d215b", "level": "none", "message": {"text": "Commented-code block (6 lines) in saas_intelligence_output.py:203"}, "properties": {"repobilityId": "bb7d3730c774ca7a", "scanner": "scanner-primary", "fingerprint": "00864087e40d215b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85247cfcb2d13cdd", "level": "note", "message": {"text": "Legacy-named symbol `_rc_copy` in apex_orchestrator.py:455"}, "properties": {"repobilityId": "8010a197dcc35eaa", "scanner": "scanner-primary", "fingerprint": "85247cfcb2d13cdd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e74d6b180c726d8b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apex_orchestrator.py:256"}, "properties": {"repobilityId": "920f073e66e8d82b", "scanner": "scanner-primary", "fingerprint": "e74d6b180c726d8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cae939cd4e70fa1f", "level": "note", "message": {"text": "Legacy-named symbol `rotation_live_v1` in pm_rails.py:16"}, "properties": {"repobilityId": "8559d68e45aafb76", "scanner": "scanner-primary", "fingerprint": "cae939cd4e70fa1f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6e6901122565e132", "level": "none", "message": {"text": "Commented-code block (11 lines) in bot.py:2"}, "properties": {"repobilityId": "c7021de99e743f87", "scanner": "scanner-primary", "fingerprint": "6e6901122565e132", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-285efe0bd79badf2", "level": "none", "message": {"text": "Commented-code block (21 lines) in scanner.py:1"}, "properties": {"repobilityId": "3ce44d86ed34b945", "scanner": "scanner-primary", "fingerprint": "285efe0bd79badf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a1dc64714ea2002", "level": "none", "message": {"text": "Commented-code block (14 lines) in alpaca_data.py:1"}, "properties": {"repobilityId": "4d5978f133071739", "scanner": "scanner-primary", "fingerprint": "6a1dc64714ea2002", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-501da30fc7537eb4", "level": "none", "message": {"text": "Commented-code block (14 lines) in alpha_vantage_client.py:1"}, "properties": {"repobilityId": "35b517097049bd05", "scanner": "scanner-primary", "fingerprint": "501da30fc7537eb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17dc72cf51a36d6c", "level": "none", "message": {"text": "Commented-code block (13 lines) in fred_client.py:1"}, "properties": {"repobilityId": "ab5cfed8e8a32f4a", "scanner": "scanner-primary", "fingerprint": "17dc72cf51a36d6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1c00076a3d529af", "level": "note", "message": {"text": "Legacy-named symbol `active_trade_copy` in trade_data_contract.py:281"}, "properties": {"repobilityId": "1b5b8f505e074fcc", "scanner": "scanner-primary", "fingerprint": "c1c00076a3d529af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9af030052cb42657", "level": "none", "message": {"text": "Commented-code block (5 lines) in bracket_health.py:46"}, "properties": {"repobilityId": "125f1de1c993b5e7", "scanner": "scanner-primary", "fingerprint": "9af030052cb42657", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7809a76aa08673b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in bot_ibkr.py:46"}, "properties": {"repobilityId": "75b26d23d8ac7884", "scanner": "scanner-primary", "fingerprint": "7809a76aa08673b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad502b5dbe87f7cb", "level": "none", "message": {"text": "Commented-code block (14 lines) in catalyst_engine.py:1"}, "properties": {"repobilityId": "b638d26bbb0aef4d", "scanner": "scanner-primary", "fingerprint": "ad502b5dbe87f7cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22bb1e1199c8e6db", "level": "none", "message": {"text": "Commented-code block (17 lines) in expression_router.py:1"}, "properties": {"repobilityId": "d3e1e1b96027c576", "scanner": "scanner-primary", "fingerprint": "22bb1e1199c8e6db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ad2572f50931a60", "level": "none", "message": {"text": "Commented-code block (5 lines) in decifer_index_performance.py:253"}, "properties": {"repobilityId": "6a7fbc6e1d2ac446", "scanner": "scanner-primary", "fingerprint": "9ad2572f50931a60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73a22fdf5b393c59", "level": "none", "message": {"text": "Commented-code block (5 lines) in economic_backdrop_engine.py:44"}, "properties": {"repobilityId": "b049f7419db75de8", "scanner": "scanner-primary", "fingerprint": "73a22fdf5b393c59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-430cb2d4f235eff1", "level": "none", "message": {"text": "Commented-code block (5 lines) in conviction_cache.py:236"}, "properties": {"repobilityId": "59540362c0674452", "scanner": "scanner-primary", "fingerprint": "430cb2d4f235eff1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fca5f0dece6837c3", "level": "note", "message": {"text": "Legacy-named symbol `rotation_live_v1` in pm_engine.py:4"}, "properties": {"repobilityId": "f552695b1f98cde5", "scanner": "scanner-primary", "fingerprint": "fca5f0dece6837c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d26cd2f6bb2d7d09", "level": "none", "message": {"text": "Commented-code block (5 lines) in pm_engine.py:85"}, "properties": {"repobilityId": "17017050cc165a8a", "scanner": "scanner-primary", "fingerprint": "d26cd2f6bb2d7d09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc948b6b7051a276", "level": "none", "message": {"text": "Commented-code block (7 lines) in orders_options.py:479"}, "properties": {"repobilityId": "d7d46000a51c9178", "scanner": "scanner-primary", "fingerprint": "cc948b6b7051a276", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72d215e8b9797903", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 ops_alerts.py:99"}, "properties": {"repobilityId": "2296cc496354a2c7", "scanner": "scanner-primary", "fingerprint": "72d215e8b9797903", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7555ec40fb57d9b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in conviction_engine.py:122"}, "properties": {"repobilityId": "8c699ea091db3a9b", "scanner": "scanner-primary", "fingerprint": "7555ec40fb57d9b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3a6bd2f9441214b", "level": "note", "message": {"text": "Legacy-named symbol `sprint37_v1` in ml_observation_writer.py:50"}, "properties": {"repobilityId": "a1f894e9d0409e35", "scanner": "scanner-primary", "fingerprint": "a3a6bd2f9441214b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bb0a7a3ebb4f0663", "level": "none", "message": {"text": "Commented-code block (12 lines) in ml_observation_writer.py:1"}, "properties": {"repobilityId": "ae306c9818e8e9be", "scanner": "scanner-primary", "fingerprint": "bb0a7a3ebb4f0663", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-793338e013c81b8f", "level": "none", "message": {"text": "Commented-code block (19 lines) in overnight_research.py:1"}, "properties": {"repobilityId": "67d6c7f110065226", "scanner": "scanner-primary", "fingerprint": "793338e013c81b8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6071e6915b56f00", "level": "none", "message": {"text": "Commented-code block (14 lines) in fx_signals.py:1"}, "properties": {"repobilityId": "be8ab505d7502fdf", "scanner": "scanner-primary", "fingerprint": "c6071e6915b56f00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44bd22d7144a357f", "level": "none", "message": {"text": "Commented-code block (8 lines) in signal_types.py:1"}, "properties": {"repobilityId": "bf0bab8096681e1d", "scanner": "scanner-primary", "fingerprint": "44bd22d7144a357f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-395e64851a2ef4c0", "level": "none", "message": {"text": "Commented-code block (11 lines) in signal_pipeline.py:1"}, "properties": {"repobilityId": "825da6a4e6adfc4e", "scanner": "scanner-primary", "fingerprint": "395e64851a2ef4c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b60d23402bfab22", "level": "none", "message": {"text": "Commented-code block (5 lines) in risk_gates.py:97"}, "properties": {"repobilityId": "876f62bb7c471089", "scanner": "scanner-primary", "fingerprint": "8b60d23402bfab22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cae88d737da96ce", "level": "none", "message": {"text": "Commented-code block (10 lines) in options_flow_monitor.py:1"}, "properties": {"repobilityId": "1d88859f05ac04d2", "scanner": "scanner-primary", "fingerprint": "8cae88d737da96ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b951b33892a71533", "level": "none", "message": {"text": "Commented-code block (8 lines) in market_intelligence.py:806"}, "properties": {"repobilityId": "d6c397ae945cc4ae", "scanner": "scanner-primary", "fingerprint": "b951b33892a71533", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9850a742f818f6be", "level": "none", "message": {"text": "Commented-code block (5 lines) in orders_state.py:42"}, "properties": {"repobilityId": "d952650856ec27d1", "scanner": "scanner-primary", "fingerprint": "9850a742f818f6be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d1cc9bee10d6327", "level": "none", "message": {"text": "Commented-code block (7 lines) in phase_gate.py:1"}, "properties": {"repobilityId": "1616cc8596b91c95", "scanner": "scanner-primary", "fingerprint": "3d1cc9bee10d6327", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3df0e7c92ff97a8", "level": "note", "message": {"text": "Legacy-named symbol `active_trade_copy` in fill_watcher.py:186"}, "properties": {"repobilityId": "5abb461cff1c633a", "scanner": "scanner-primary", "fingerprint": "c3df0e7c92ff97a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-82edddd3d7f09145", "level": "none", "message": {"text": "Commented-code block (8 lines) in portfolio_manager.py:465"}, "properties": {"repobilityId": "34169767a66a4134", "scanner": "scanner-primary", "fingerprint": "82edddd3d7f09145", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-767a34cc6541e78f", "level": "none", "message": {"text": "Commented-code block (13 lines) in alpha_validation.py:2"}, "properties": {"repobilityId": "129ad78ceb41621a", "scanner": "scanner-primary", "fingerprint": "767a34cc6541e78f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b3feb7e38e29c76", "level": "none", "message": {"text": "Commented-code block (15 lines) in options_flow_engine.py:1"}, "properties": {"repobilityId": "f96b6a1f074b24de", "scanner": "scanner-primary", "fingerprint": "9b3feb7e38e29c76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9df5ee8e8c58c0c", "level": "none", "message": {"text": "Commented-code block (6 lines) in live_driver_resolver.py:446"}, "properties": {"repobilityId": "8d129deaf7b56868", "scanner": "scanner-primary", "fingerprint": "f9df5ee8e8c58c0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1bfe15ea74cc4b79", "level": "none", "message": {"text": "Commented-code block (7 lines) in telegram_bot.py:1"}, "properties": {"repobilityId": "a87b0b4fb1226627", "scanner": "scanner-primary", "fingerprint": "1bfe15ea74cc4b79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86dc6423e6f3875b", "level": "none", "message": {"text": "Commented-code block (5 lines) in bot_health.py:222"}, "properties": {"repobilityId": "e56bb6ce932c1c7e", "scanner": "scanner-primary", "fingerprint": "86dc6423e6f3875b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7da61f9c6501ec6f", "level": "note", "message": {"text": "Legacy-named symbol `active_trade_copy` in orders_core.py:870"}, "properties": {"repobilityId": "598536c4332608d7", "scanner": "scanner-primary", "fingerprint": "7da61f9c6501ec6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aee0f6059eace8d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in orders_core.py:157"}, "properties": {"repobilityId": "aba6e46b98c35961", "scanner": "scanner-primary", "fingerprint": "aee0f6059eace8d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d08a8d7dcc8ce8f", "level": "none", "message": {"text": "Commented-code block (6 lines) in signal_dispatcher.py:315"}, "properties": {"repobilityId": "faa06c1235a653c8", "scanner": "scanner-primary", "fingerprint": "2d08a8d7dcc8ce8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19afb688ef883d8e", "level": "none", "message": {"text": "Commented-code block (11 lines) in presession.py:1"}, "properties": {"repobilityId": "0e3005e0dacd27f7", "scanner": "scanner-primary", "fingerprint": "19afb688ef883d8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-404d4174f27bd759", "level": "none", "message": {"text": "Commented-code block (14 lines) in iv_skew.py:1"}, "properties": {"repobilityId": "ee757088630f0686", "scanner": "scanner-primary", "fingerprint": "404d4174f27bd759", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2d0494e189a78be", "level": "none", "message": {"text": "Commented-code block (17 lines) in entry_gate.py:1"}, "properties": {"repobilityId": "7b75dc67e29937b6", "scanner": "scanner-primary", "fingerprint": "a2d0494e189a78be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39b3a199e17d3b35", "level": "note", "message": {"text": "Legacy-named symbol `min_old` in v1_macro_events_api.py:89"}, "properties": {"repobilityId": "32bd58cc59c70954", "scanner": "scanner-primary", "fingerprint": "39b3a199e17d3b35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5449d378044780ff", "level": "none", "message": {"text": "Commented-code block (14 lines) in sympathy_scanner.py:1"}, "properties": {"repobilityId": "26df350a7f42be52", "scanner": "scanner-primary", "fingerprint": "5449d378044780ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12df3053656c4fcf", "level": "note", "message": {"text": "Legacy-named symbol `analyst_pt_days_old` in trade_context.py:70"}, "properties": {"repobilityId": "407a4919323bc30f", "scanner": "scanner-primary", "fingerprint": "12df3053656c4fcf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-89a45d202be6c368", "level": "none", "message": {"text": "Commented-code block (15 lines) in trade_context.py:1"}, "properties": {"repobilityId": "f7ec398ceff4e9cd", "scanner": "scanner-primary", "fingerprint": "89a45d202be6c368", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98f19cab17433b97", "level": "none", "message": {"text": "Commented-code block (7 lines) in risk.py:45"}, "properties": {"repobilityId": "ba2a1cbc2d91cd3e", "scanner": "scanner-primary", "fingerprint": "98f19cab17433b97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d223bfdf539b12d", "level": "note", "message": {"text": "42 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "5bbbd2b50dcb630d", "scanner": "scanner-primary", "fingerprint": "4d223bfdf539b12d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "015b866e44821099", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "2137e9e622ec739c", "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": "455439f17e0d4769", "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": "2ddb5257c1ac92dc", "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": "9cbffd22be61a9a5", "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": "b675a33df20e3ea8", "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": "14d45006b2269cb5", "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": "31fe0acc953aa63f", "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": "93c7323f3e42978a", "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": "a9169895d5300030", "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": "9f3cebf77fd52e28", "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": "be83207e63d7bf5e", "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": "99c62091a9a69264", "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": "f00b300edb5d69ac", "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": "3e3d2ab2fd64e633", "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": "3752c320f725f00b", "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": "846de79da8866b9e", "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": "c86552e69a697b76", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-f5afa66d19099ee1", "level": "error", "message": {"text": "Flask mutation route `v1_custom_scan` without `@login_required` \u2014 options_flow_api.py:357"}, "properties": {"repobilityId": "8c5c32209fc5ea52", "scanner": "scanner-primary", "fingerprint": "f5afa66d19099ee1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "options_flow_api.py"}, "region": {"startLine": 357}}}]}, {"ruleId": "scanner-1c1e06273c78d867", "level": "error", "message": {"text": "Flask mutation route `resend_webhook` without `@login_required` \u2014 intelligence_api.py:1984"}, "properties": {"repobilityId": "211ce6226e4e7473", "scanner": "scanner-primary", "fingerprint": "1c1e06273c78d867", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "intelligence_api.py"}, "region": {"startLine": 1984}}}]}, {"ruleId": "scanner-70ef2f155a2d6c54", "level": "note", "message": {"text": "Unused endpoint: ANY /api/options/feed"}, "properties": {"repobilityId": "93f7c78c4d102ab4", "scanner": "scanner-primary", "fingerprint": "70ef2f155a2d6c54", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c2309415aefbb159", "level": "note", "message": {"text": "Unused endpoint: ANY /api/options/leaderboard"}, "properties": {"repobilityId": "d8c1df2a445a5bd0", "scanner": "scanner-primary", "fingerprint": "c2309415aefbb159", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f4b1d88043b3889", "level": "note", "message": {"text": "Unused endpoint: ANY /api/options/symbol/<ticker>"}, "properties": {"repobilityId": "c78553876798e2fd", "scanner": "scanner-primary", "fingerprint": "3f4b1d88043b3889", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-23ef11a2ff486935", "level": "note", "message": {"text": "Unused endpoint: ANY /v1/options/universe-scan"}, "properties": {"repobilityId": "206d10aad80e7f35", "scanner": "scanner-primary", "fingerprint": "23ef11a2ff486935", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-81f5c2502a9e0473", "level": "note", "message": {"text": "Unused endpoint: ANY /v1/options/scan"}, "properties": {"repobilityId": "62f95c9f7319d3bf", "scanner": "scanner-primary", "fingerprint": "81f5c2502a9e0473", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-747fd8f862deb676", "level": "note", "message": {"text": "Unused endpoint: ANY /universe"}, "properties": {"repobilityId": "b6809be3a1ce1109", "scanner": "scanner-primary", "fingerprint": "747fd8f862deb676", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e8928ffa5c834991", "level": "note", "message": {"text": "Unused endpoint: ANY /symbol/<ticker>"}, "properties": {"repobilityId": "eaba00a5b0666b41", "scanner": "scanner-primary", "fingerprint": "e8928ffa5c834991", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2e3d34cd3a015e2f", "level": "note", "message": {"text": "Unused endpoint: ANY /v1/drivers"}, "properties": {"repobilityId": "3c42c936e33eb6d2", "scanner": "scanner-primary", "fingerprint": "2e3d34cd3a015e2f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e245116427488408", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/themes"}, "properties": {"repobilityId": "1e43b95216979654", "scanner": "scanner-primary", "fingerprint": "e245116427488408", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e31fabc50723eee9", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/themes/<theme_id>"}, "properties": {"repobilityId": "2a72058d4fa26e8a", "scanner": "scanner-primary", "fingerprint": "e31fabc50723eee9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2f74e4536e5de05c", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/search"}, "properties": {"repobilityId": "fc5752702619ec0a", "scanner": "scanner-primary", "fingerprint": "2f74e4536e5de05c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d77a955e5d7698eb", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/symbol/<ticker>"}, "properties": {"repobilityId": "a8c5138e0bd27edb", "scanner": "scanner-primary", "fingerprint": "d77a955e5d7698eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aaa1d278f80c3ab0", "level": "note", "message": {"text": "Unused endpoint: ANY /api/research/index"}, "properties": {"repobilityId": "be667d55c46979d2", "scanner": "scanner-primary", "fingerprint": "aaa1d278f80c3ab0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-396a253c768a152d", "level": "note", "message": {"text": "Unused endpoint: ANY /api/research/<ticker>"}, "properties": {"repobilityId": "cf7ecdd507348738", "scanner": "scanner-primary", "fingerprint": "396a253c768a152d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0aa53914a798376e", "level": "note", "message": {"text": "Unused endpoint: ANY /api/research/<ticker>/refresh"}, "properties": {"repobilityId": "54e3be2185fa2d96", "scanner": "scanner-primary", "fingerprint": "0aa53914a798376e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b16b1a42609dbec1", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-now"}, "properties": {"repobilityId": "9554e52220d67d4b", "scanner": "scanner-primary", "fingerprint": "b16b1a42609dbec1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ad07bb3bb8eb1658", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mobile/now"}, "properties": {"repobilityId": "ddf39c3623d245bc", "scanner": "scanner-primary", "fingerprint": "ad07bb3bb8eb1658", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6e6731f566e71900", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mobile/why"}, "properties": {"repobilityId": "63a65c320e721766", "scanner": "scanner-primary", "fingerprint": "6e6731f566e71900", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c6a587d1e24385eb", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mobile/alpha"}, "properties": {"repobilityId": "f0df140f3d740868", "scanner": "scanner-primary", "fingerprint": "c6a587d1e24385eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aa047908a536fad6", "level": "note", "message": {"text": "Unused endpoint: ANY /api/mobile/portfolio"}, "properties": {"repobilityId": "cf6d5711f2cb7dbd", "scanner": "scanner-primary", "fingerprint": "aa047908a536fad6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-36b6cb5fe58ccaae", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/universe"}, "properties": {"repobilityId": "95a4122e0cf4303e", "scanner": "scanner-primary", "fingerprint": "36b6cb5fe58ccaae", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5b0df0a95b277be1", "level": "note", "message": {"text": "Unused endpoint: ANY /api/labels"}, "properties": {"repobilityId": "cbcf792da4d094fd", "scanner": "scanner-primary", "fingerprint": "5b0df0a95b277be1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-820c50c357190220", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/movers"}, "properties": {"repobilityId": "b5a5b24cf548c815", "scanner": "scanner-primary", "fingerprint": "820c50c357190220", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-110b2a4af43ba412", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/premarket-movers"}, "properties": {"repobilityId": "01485a840cc1f031", "scanner": "scanner-primary", "fingerprint": "110b2a4af43ba412", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e327287031f407ed", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/news"}, "properties": {"repobilityId": "3eb3ce21fbc9bdd2", "scanner": "scanner-primary", "fingerprint": "e327287031f407ed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-04b3e181155a4955", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/tape"}, "properties": {"repobilityId": "a68d92d0a2f99a83", "scanner": "scanner-primary", "fingerprint": "04b3e181155a4955", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-33e567e9fb6bc4cb", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/quotes"}, "properties": {"repobilityId": "71098f2c37a76685", "scanner": "scanner-primary", "fingerprint": "33e567e9fb6bc4cb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-18718cc1314dfafc", "level": "note", "message": {"text": "Unused endpoint: ANY /api/fmp/<path:endpoint>"}, "properties": {"repobilityId": "9574b62aef113a54", "scanner": "scanner-primary", "fingerprint": "18718cc1314dfafc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e5ebcb3220ff68a9", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/volume"}, "properties": {"repobilityId": "0a2375cbb8984614", "scanner": "scanner-primary", "fingerprint": "e5ebcb3220ff68a9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a4d8af1365680d39", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/sector-etf-bars"}, "properties": {"repobilityId": "82a121775766560c", "scanner": "scanner-primary", "fingerprint": "a4d8af1365680d39", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6680e7334ad3fa3d", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/bars"}, "properties": {"repobilityId": "25254ca5927812f0", "scanner": "scanner-primary", "fingerprint": "6680e7334ad3fa3d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e3bdbb53c470d309", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-data/sector-participation"}, "properties": {"repobilityId": "7c0b73a80e392b68", "scanner": "scanner-primary", "fingerprint": "e3bdbb53c470d309", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-307b692310dc58c9", "level": "note", "message": {"text": "Unused endpoint: ANY /api/counter-thesis"}, "properties": {"repobilityId": "5c9e1e891282188a", "scanner": "scanner-primary", "fingerprint": "307b692310dc58c9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1e84021d78008f43", "level": "note", "message": {"text": "Unused endpoint: ANY /api/thesis"}, "properties": {"repobilityId": "15176ac26947770a", "scanner": "scanner-primary", "fingerprint": "1e84021d78008f43", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8d56b51bd79489e8", "level": "note", "message": {"text": "Unused endpoint: ANY /api/options/flow/leaderboard"}, "properties": {"repobilityId": "e8e78fbd83de8fbd", "scanner": "scanner-primary", "fingerprint": "8d56b51bd79489e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7f562014ab562eff", "level": "note", "message": {"text": "Unused endpoint: ANY /api/conviction/universe"}, "properties": {"repobilityId": "24ae909e9aa2fae5", "scanner": "scanner-primary", "fingerprint": "7f562014ab562eff", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-11c5f3ca46d30ffa", "level": "note", "message": {"text": "Unused endpoint: ANY /api/conviction/symbol/<ticker>"}, "properties": {"repobilityId": "298b042a75095947", "scanner": "scanner-primary", "fingerprint": "11c5f3ca46d30ffa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-13727d793f75ef0b", "level": "note", "message": {"text": "Unused endpoint: ANY /api/conviction/waiting-room"}, "properties": {"repobilityId": "1c1e56e78213ad9c", "scanner": "scanner-primary", "fingerprint": "13727d793f75ef0b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-85ec8f87b03ada5e", "level": "note", "message": {"text": "Unused endpoint: ANY /api/conviction/rotation-flags"}, "properties": {"repobilityId": "fddc02ebb089a6b1", "scanner": "scanner-primary", "fingerprint": "85ec8f87b03ada5e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd79afdd924becee", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/theme-activation"}, "properties": {"repobilityId": "191ccc4610229fe9", "scanner": "scanner-primary", "fingerprint": "fd79afdd924becee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6bdf74f46897a299", "level": "note", "message": {"text": "Unused endpoint: ANY /api/decifer-250/performance"}, "properties": {"repobilityId": "0ce587c9258c00d0", "scanner": "scanner-primary", "fingerprint": "6bdf74f46897a299", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-55f59aa93f4fb05f", "level": "note", "message": {"text": "Unused endpoint: ANY /api/decifer-250"}, "properties": {"repobilityId": "0b19f854864d3d92", "scanner": "scanner-primary", "fingerprint": "55f59aa93f4fb05f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3152b2e545c204fa", "level": "note", "message": {"text": "Unused endpoint: ANY /api/decifer-250/chains"}, "properties": {"repobilityId": "a48d43e306c70762", "scanner": "scanner-primary", "fingerprint": "3152b2e545c204fa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1a6d91f2236825bf", "level": "note", "message": {"text": "Unused endpoint: ANY /"}, "properties": {"repobilityId": "297f3c30f5e7897a", "scanner": "scanner-primary", "fingerprint": "1a6d91f2236825bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6730c7fbe7462299", "level": "note", "message": {"text": "Unused endpoint: ANY /view"}, "properties": {"repobilityId": "8f1b02a9a8c91cf8", "scanner": "scanner-primary", "fingerprint": "6730c7fbe7462299", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42a3e816c4465542", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/macro-events"}, "properties": {"repobilityId": "83377759e4182bfb", "scanner": "scanner-primary", "fingerprint": "42a3e816c4465542", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-247adfead00da1aa", "level": "note", "message": {"text": "Unused endpoint: ANY /api/intelligence/macro-context"}, "properties": {"repobilityId": "b16a0877eb11c4c9", "scanner": "scanner-primary", "fingerprint": "247adfead00da1aa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-71cddd112a470f9e", "level": "note", "message": {"text": "Unused endpoint: ANY /api/market-stress"}, "properties": {"repobilityId": "dce83a6412f4049e", "scanner": "scanner-primary", "fingerprint": "71cddd112a470f9e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea7c43ea11149cce", "level": "note", "message": {"text": "Unused endpoint: ANY /api/economic-backdrop"}, "properties": {"repobilityId": "e9e8981e5d55ffa4", "scanner": "scanner-primary", "fingerprint": "ea7c43ea11149cce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9b41f22128ad0cbb", "level": "note", "message": {"text": "Unused endpoint: ANY /api/decifered"}, "properties": {"repobilityId": "17f6722616c8b7a5", "scanner": "scanner-primary", "fingerprint": "9b41f22128ad0cbb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}