{"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-23c57b5f30035e3b", "name": "Possibly dead Python function: custom_error", "shortDescription": {"text": "Possibly dead Python function: custom_error"}, "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-9c29a9670e599b42", "name": "Possibly dead Python function: delta_sorter", "shortDescription": {"text": "Possibly dead Python function: delta_sorter"}, "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-47c9de0870eaea2a", "name": "Possibly dead Python function: strike_sorter", "shortDescription": {"text": "Possibly dead Python function: strike_sorter"}, "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-d99b65a35b1881ae", "name": "Privileged port 19 in use", "shortDescription": {"text": "Privileged port 19 in use"}, "fullDescription": {"text": "Port 19 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-5bf4a867f35407bb", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 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-cc8f62f3d743cc22", "name": "Privileged port 50 in use", "shortDescription": {"text": "Privileged port 50 in use"}, "fullDescription": {"text": "Port 50 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-80f7585e800576ef", "name": "Privileged port 42 in use", "shortDescription": {"text": "Privileged port 42 in use"}, "fullDescription": {"text": "Port 42 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-fdfd1009cbc5c84d", "name": "Privileged port 14 in use", "shortDescription": {"text": "Privileged port 14 in use"}, "fullDescription": {"text": "Port 14 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-926cb20d737d0165", "name": "Privileged port 21 in use", "shortDescription": {"text": "Privileged port 21 in use"}, "fullDescription": {"text": "Port 21 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-057dcdaf9613d1ad", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 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-79145b626f393d4d", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 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-39d30735a8313755", "name": "Privileged port 20 in use", "shortDescription": {"text": "Privileged port 20 in use"}, "fullDescription": {"text": "Port 20 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-1f4dec19692cf314", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 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-1dbb143ea9465c71", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 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-ea87f9e17dcd3b6c", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 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-45a129fcfd8ff5a4", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/dashboard/static/index.html:216", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/dashboard/static/index.html:216"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-463e9bf4fe0a29c3", "name": "Very large file: src/app/runner.py (1730 lines)", "shortDescription": {"text": "Very large file: src/app/runner.py (1730 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 168 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-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7dd83e08faf79d5", "name": "Commented-code block (5 lines) in run_paper_trading.py:23", "shortDescription": {"text": "Commented-code block (5 lines) in run_paper_trading.py:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42e002c265fe5de6", "name": "Commented-code block (12 lines) in tests/unit/test_xsp_short_straddle.py:147", "shortDescription": {"text": "Commented-code block (12 lines) in tests/unit/test_xsp_short_straddle.py:147"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8952aec5e8047204", "name": "Commented-code block (5 lines) in tests/unit/test_execution_quality.py:130", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/test_execution_quality.py:130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8102b36a1e2b5a02", "name": "Legacy-named symbol `leg_a_old` in tests/integration/test_multileg_coordination.py:81", "shortDescription": {"text": "Legacy-named symbol `leg_a_old` in tests/integration/test_multileg_coordination.py:81"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1d050075b4b29e7", "name": "Legacy-named symbol `model_copy` in tests/integration/test_mock_execution_flow.py:719", "shortDescription": {"text": "Legacy-named symbol `model_copy` in tests/integration/test_mock_execution_flow.py:719"}, "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-58e96f1612579b2e", "name": "Commented-code block (5 lines) in src/app/runner.py:147", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/runner.py:147"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f685a3f53c8a2541", "name": "Commented-code block (6 lines) in src/execution/order_manager.py:38", "shortDescription": {"text": "Commented-code block (6 lines) in src/execution/order_manager.py:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3208f9b0015272d1", "name": "Commented-code block (5 lines) in src/strategies/xsp_short_straddle.py:211", "shortDescription": {"text": "Commented-code block (5 lines) in src/strategies/xsp_short_straddle.py:211"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2caea45e102e4db", "name": "Commented-code block (6 lines) in src/portfolio/exit_manager.py:160", "shortDescription": {"text": "Commented-code block (6 lines) in src/portfolio/exit_manager.py:160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/broker/mock_broker.py:register_order_callback, src/broker/ibkr_broker.py:register_order_callback\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-acab887b1b50a017", "name": "FastAPI POST `post_command` without auth dependency \u2014 src/dashboard/app.py:119", "shortDescription": {"text": "FastAPI POST `post_command` without auth dependency \u2014 src/dashboard/app.py:119"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24134"}, "properties": {"repository": "amansavla/Execution_system", "repoUrl": "https://github.com/amansavla/Execution_system", "branch": "main"}, "results": [{"ruleId": "scanner-23c57b5f30035e3b", "level": "note", "message": {"text": "Possibly dead Python function: custom_error"}, "properties": {"repobilityId": "764f35c057448184", "scanner": "scanner-primary", "fingerprint": "23c57b5f30035e3b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/broker/ibkr_broker.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9c29a9670e599b42", "level": "note", "message": {"text": "Possibly dead Python function: delta_sorter"}, "properties": {"repobilityId": "51a0731d7f1839ca", "scanner": "scanner-primary", "fingerprint": "9c29a9670e599b42", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/marketdata/contract_selector.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47c9de0870eaea2a", "level": "note", "message": {"text": "Possibly dead Python function: strike_sorter"}, "properties": {"repobilityId": "5587a96e16e5c77e", "scanner": "scanner-primary", "fingerprint": "47c9de0870eaea2a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/marketdata/contract_selector.py:136"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d99b65a35b1881ae", "level": "warning", "message": {"text": "Privileged port 19 in use"}, "properties": {"repobilityId": "a6b5b06deac36eac", "scanner": "scanner-primary", "fingerprint": "d99b65a35b1881ae", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/risk.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bf4a867f35407bb", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "5bf4a867f35407bb", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/risk.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc8f62f3d743cc22", "level": "warning", "message": {"text": "Privileged port 50 in use"}, "properties": {"repobilityId": "da61f654c07ea7a9", "scanner": "scanner-primary", "fingerprint": "cc8f62f3d743cc22", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/risk.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80f7585e800576ef", "level": "warning", "message": {"text": "Privileged port 42 in use"}, "properties": {"repobilityId": "16d9608735f9e01a", "scanner": "scanner-primary", "fingerprint": "80f7585e800576ef", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategy_overrides.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fdfd1009cbc5c84d", "level": "warning", "message": {"text": "Privileged port 14 in use"}, "properties": {"repobilityId": "2dbd4b719a1412ff", "scanner": "scanner-primary", "fingerprint": "fdfd1009cbc5c84d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/symbols.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-926cb20d737d0165", "level": "warning", "message": {"text": "Privileged port 21 in use"}, "properties": {"repobilityId": "d920b7cd1b1a16dc", "scanner": "scanner-primary", "fingerprint": "926cb20d737d0165", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/symbols.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-057dcdaf9613d1ad", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "057dcdaf9613d1ad", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-79145b626f393d4d", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "79145b626f393d4d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-39d30735a8313755", "level": "warning", "message": {"text": "Privileged port 20 in use"}, "properties": {"repobilityId": "a59f3e53d617e0f8", "scanner": "scanner-primary", "fingerprint": "39d30735a8313755", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f4dec19692cf314", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "1f4dec19692cf314", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1dbb143ea9465c71", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "1dbb143ea9465c71", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea87f9e17dcd3b6c", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "ea87f9e17dcd3b6c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "configs/strategies.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45a129fcfd8ff5a4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/dashboard/static/index.html:216"}, "properties": {"repobilityId": "860493ff5ae0f57f", "scanner": "scanner-primary", "fingerprint": "45a129fcfd8ff5a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/static/index.html"}, "region": {"startLine": 216}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-463e9bf4fe0a29c3", "level": "note", "message": {"text": "Very large file: src/app/runner.py (1730 lines)"}, "properties": {"repobilityId": "ce4a009696b7fba9", "scanner": "scanner-primary", "fingerprint": "463e9bf4fe0a29c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3b67afa076d584e2", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2d88e8c1153da5fd", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "4a5fdade78eb55aa", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "b2f20e7671f9a403", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "d9925e7852cbb0d2", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-f7dd83e08faf79d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in run_paper_trading.py:23"}, "properties": {"repobilityId": "8e81a38bf5f15ff6", "scanner": "scanner-primary", "fingerprint": "f7dd83e08faf79d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42e002c265fe5de6", "level": "none", "message": {"text": "Commented-code block (12 lines) in tests/unit/test_xsp_short_straddle.py:147"}, "properties": {"repobilityId": "1926d01917c6368c", "scanner": "scanner-primary", "fingerprint": "42e002c265fe5de6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8952aec5e8047204", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/test_execution_quality.py:130"}, "properties": {"repobilityId": "55123444082cf19f", "scanner": "scanner-primary", "fingerprint": "8952aec5e8047204", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8102b36a1e2b5a02", "level": "note", "message": {"text": "Legacy-named symbol `leg_a_old` in tests/integration/test_multileg_coordination.py:81"}, "properties": {"repobilityId": "245578b3b7eab036", "scanner": "scanner-primary", "fingerprint": "8102b36a1e2b5a02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c1d050075b4b29e7", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in tests/integration/test_mock_execution_flow.py:719"}, "properties": {"repobilityId": "f67bf4989e7c937a", "scanner": "scanner-primary", "fingerprint": "c1d050075b4b29e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-58e96f1612579b2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/runner.py:147"}, "properties": {"repobilityId": "afd7b0185a0a040e", "scanner": "scanner-primary", "fingerprint": "58e96f1612579b2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f685a3f53c8a2541", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/execution/order_manager.py:38"}, "properties": {"repobilityId": "03df426053d4708b", "scanner": "scanner-primary", "fingerprint": "f685a3f53c8a2541", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3208f9b0015272d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/strategies/xsp_short_straddle.py:211"}, "properties": {"repobilityId": "60593e4b6ac3576c", "scanner": "scanner-primary", "fingerprint": "3208f9b0015272d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2caea45e102e4db", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/portfolio/exit_manager.py:160"}, "properties": {"repobilityId": "c87bb3abb0ab33cb", "scanner": "scanner-primary", "fingerprint": "f2caea45e102e4db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "089fc0558e31e62e", "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": "c0c7d0e5917e3f50", "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": "04ff4057c2e3d7f0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-acab887b1b50a017", "level": "error", "message": {"text": "FastAPI POST `post_command` without auth dependency \u2014 src/dashboard/app.py:119"}, "properties": {"repobilityId": "460102ab9baff558", "scanner": "scanner-primary", "fingerprint": "acab887b1b50a017", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 119}}}]}]}]}