{"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-33c7c75174634e59", "name": "Possibly dead Python function: disable_warnings", "shortDescription": {"text": "Possibly dead Python function: disable_warnings"}, "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-bbd037c3cd87e39f", "name": "Possibly dead Python function: enable_warnings", "shortDescription": {"text": "Possibly dead Python function: enable_warnings"}, "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-d76e8c5bc72041fe", "name": "Possibly dead Python function: index_to_slice", "shortDescription": {"text": "Possibly dead Python function: index_to_slice"}, "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-d64ebc43b53b1cb4", "name": "Possibly dead Python function: squeezed", "shortDescription": {"text": "Possibly dead Python function: squeezed"}, "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-2efccceb8db335b4", "name": "Possibly dead Python function: uniform_bounds", "shortDescription": {"text": "Possibly dead Python function: uniform_bounds"}, "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-11a5c5ff98f7b08f", "name": "Possibly dead Python function: new_converter", "shortDescription": {"text": "Possibly dead Python function: new_converter"}, "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-a42ee97a98f19bac", "name": "Possibly dead Python function: from_2D_to_1D", "shortDescription": {"text": "Possibly dead Python function: from_2D_to_1D"}, "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-3f4a8d8d362efe1f", "name": "Possibly dead Python function: from_1D_to_2D", "shortDescription": {"text": "Possibly dead Python function: from_1D_to_2D"}, "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-105719b004a3713f", "name": "Possibly dead Python function: special_index_canon", "shortDescription": {"text": "Possibly dead Python function: special_index_canon"}, "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-60a4fcea573be9da", "name": "Possibly dead Python function: compose_param_id_map", "shortDescription": {"text": "Possibly dead Python function: compose_param_id_map"}, "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-fc9975deaef9be7f", "name": "Possibly dead Python function: compose_constr_id_map", "shortDescription": {"text": "Possibly dead Python function: compose_constr_id_map"}, "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-f61ddb58ef3915eb", "name": "Possibly dead Python function: param_value", "shortDescription": {"text": "Possibly dead Python function: param_value"}, "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-9d35f70fc609b027", "name": "Possibly dead Python function: log_det_canon", "shortDescription": {"text": "Possibly dead Python function: log_det_canon"}, "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-611673aea7c0bdd9", "name": "Possibly dead Python function: indicator_canon", "shortDescription": {"text": "Possibly dead Python function: indicator_canon"}, "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-a551d8073383e8e0", "name": "Possibly dead Python function: quantum_rel_entr_canon", "shortDescription": {"text": "Possibly dead Python function: quantum_rel_entr_canon"}, "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-4a1d0c0772fa0d12", "name": "Possibly dead Python function: logistic_canon", "shortDescription": {"text": "Possibly dead Python function: logistic_canon"}, "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-aea5a6c3374b05cd", "name": "Possibly dead Python function: log1p_canon", "shortDescription": {"text": "Possibly dead Python function: log1p_canon"}, "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-bb133d0626c83b4c", "name": "Possibly dead Python function: suppfunc_canon", "shortDescription": {"text": "Possibly dead Python function: suppfunc_canon"}, "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-2023484c8f3b7d6f", "name": "Possibly dead Python function: perspective_canon", "shortDescription": {"text": "Possibly dead Python function: perspective_canon"}, "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-1aaa7fd5ba60c7df", "name": "Possibly dead Python function: sigma_max_canon", "shortDescription": {"text": "Possibly dead Python function: sigma_max_canon"}, "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-c59d380a528ec58f", "name": "Possibly dead Python function: log_sum_exp_canon", "shortDescription": {"text": "Possibly dead Python function: log_sum_exp_canon"}, "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-dfe63b7fabe698fa", "name": "Possibly dead Python function: power_exact_canon", "shortDescription": {"text": "Possibly dead Python function: power_exact_canon"}, "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-f7d26eda774c703c", "name": "Possibly dead Python function: matrix_frac_canon", "shortDescription": {"text": "Possibly dead Python function: matrix_frac_canon"}, "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-ba829211b7e3eb65", "name": "Possibly dead Python function: kl_div_canon", "shortDescription": {"text": "Possibly dead Python function: kl_div_canon"}, "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-7719909a7332d8d4", "name": "Possibly dead Python function: pnorm_exact_canon", "shortDescription": {"text": "Possibly dead Python function: pnorm_exact_canon"}, "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-88de044fef7283fd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "julia-actions/setup-julia@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f4c232b4aa78fc9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77166cbd46fcd8e4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-90267c3e147cb0be", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3d7c1a5b122c3bd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d1f9119396f956c", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "cvxpy/actions/.github/workflows/pr_benchmarks.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0763d85002569570", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6298751f8d102fcd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-460bad9ad7ee49e2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "julia-actions/setup-julia@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1de0ac554bc812b4", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "cvxpy/actions/.github/workflows/pr_benchmark_comment.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72a894be8f5f2778", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "cvxpy/actions/.github/workflows/linting.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6ba9bfab5f283202", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de53ac274e5b4ecf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37716d9c0a33ad5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-98c3fffb259e0bf7", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "cvxpy/actions/.github/workflows/benchmarks.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93348a745d6844c0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3c1fcd9873918074", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e9475c98e695a2cc", "name": "Very large file: cvxpy/tests/solver_test_helpers.py (1724 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/solver_test_helpers.py (1724 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-f7ce2dfe9eb0e413", "name": "Very large file: cvxpy/tests/test_python_backends.py (3561 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/test_python_backends.py (3561 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-a7e4c32d5974f4b4", "name": "Very large file: cvxpy/tests/test_atoms.py (3014 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/test_atoms.py (3014 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-a5dff26adb378cc1", "name": "Very large file: cvxpy/tests/test_problem.py (2372 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/test_problem.py (2372 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-072d6397b268ce7c", "name": "Very large file: cvxpy/tests/test_expressions.py (2121 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/test_expressions.py (2121 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-b2b889aecdcdd5ef", "name": "Very large file: cvxpy/tests/test_conic_solvers.py (3622 lines)", "shortDescription": {"text": "Very large file: cvxpy/tests/test_conic_solvers.py (3622 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-421f019a246f3f9c", "name": "Very large file: cvxpy/lin_ops/backends/coo_backend.py (2449 lines)", "shortDescription": {"text": "Very large file: cvxpy/lin_ops/backends/coo_backend.py (2449 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-f1ceebf0737ee51c", "name": "Very large file: cvxpy/problems/problem.py (1654 lines)", "shortDescription": {"text": "Very large file: cvxpy/problems/problem.py (1654 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-d088a91e2a684976", "name": "99 TODO/FIXME markers", "shortDescription": {"text": "99 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "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 48 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 32 placeholder/mock markers across 12 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09d6728b8139fea0", "name": "Commented-code block (7 lines) in setup/versioning.py:64", "shortDescription": {"text": "Commented-code block (7 lines) in setup/versioning.py:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b195333a646c45c9", "name": "Network/subprocess call without timeout or try/except \u2014 tools/release_notes.py:33", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_notes.py:33"}, "fullDescription": {"text": "`subprocess.check_output(...)` 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-319224de632147d4", "name": "Commented-code block (5 lines) in cvxpy/settings.py:142", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/settings.py:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f2c08274131e552", "name": "Commented-code block (5 lines) in cvxpy/tests/test_qp_solvers.py:95", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/tests/test_qp_solvers.py:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a9c71fe03f43a1f", "name": "Legacy-named symbol `prob_copy` in cvxpy/tests/test_copy.py:73", "shortDescription": {"text": "Legacy-named symbol `prob_copy` in cvxpy/tests/test_copy.py:73"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a00a45a2f0e8d78d", "name": "Legacy-named symbol `test_add_expr_copy` in cvxpy/tests/test_atoms.py:53", "shortDescription": {"text": "Legacy-named symbol `test_add_expr_copy` in cvxpy/tests/test_atoms.py:53"}, "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-b54ff0b1f0311d3f", "name": "Commented-code block (8 lines) in cvxpy/tests/test_domain.py:102", "shortDescription": {"text": "Commented-code block (8 lines) in cvxpy/tests/test_domain.py:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7258d5840f1808a", "name": "Commented-code block (7 lines) in cvxpy/tests/test_kron_canon.py:71", "shortDescription": {"text": "Commented-code block (7 lines) in cvxpy/tests/test_kron_canon.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93bd708ef87b5def", "name": "Commented-code block (29 lines) in cvxpy/tests/test_problem.py:441", "shortDescription": {"text": "Commented-code block (29 lines) in cvxpy/tests/test_problem.py:441"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-01cedcd06f2887d6", "name": "Legacy-named symbol `test_var_copy` in cvxpy/tests/test_expressions.py:1421", "shortDescription": {"text": "Legacy-named symbol `test_var_copy` in cvxpy/tests/test_expressions.py:1421"}, "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-a3b843a2cdf9cede", "name": "Commented-code block (6 lines) in cvxpy/tests/test_attributes.py:394", "shortDescription": {"text": "Commented-code block (6 lines) in cvxpy/tests/test_attributes.py:394"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5836aae80a5c002", "name": "Legacy-named symbol `_solve_and_copy` in cvxpy/tests/test_quad_dpp.py:32", "shortDescription": {"text": "Legacy-named symbol `_solve_and_copy` in cvxpy/tests/test_quad_dpp.py:32"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6be9b5414a6980b7", "name": "Commented-code block (12 lines) in cvxpy/tests/test_conic_solvers.py:1259", "shortDescription": {"text": "Commented-code block (12 lines) in cvxpy/tests/test_conic_solvers.py:1259"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9bfe0fcfa74ac86", "name": "Commented-code block (6 lines) in cvxpy/tests/test_scalarize.py:91", "shortDescription": {"text": "Commented-code block (6 lines) in cvxpy/tests/test_scalarize.py:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31aa1c2e68c40fbe", "name": "Commented-code block (5 lines) in cvxpy/utilities/coeff_extractor.py:92", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/utilities/coeff_extractor.py:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f487729d63a94f36", "name": "Legacy-named symbol `lh_old` in cvxpy/utilities/shape.py:128", "shortDescription": {"text": "Legacy-named symbol `lh_old` in cvxpy/utilities/shape.py:128"}, "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-156a785e069243d3", "name": "Legacy-named symbol `tree_copy` in cvxpy/utilities/canonical.py:76", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in cvxpy/utilities/canonical.py:76"}, "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-ad4583bb1ad1b4b4", "name": "Commented-code block (5 lines) in cvxpy/utilities/bounds.py:532", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/utilities/bounds.py:532"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89be5af97ff8ce05", "name": "Commented-code block (5 lines) in cvxpy/interface/matrix_utilities.py:285", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/interface/matrix_utilities.py:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75135b79aa73a508", "name": "Legacy-named symbol `tree_copy` in cvxpy/reductions/cvx_attr2constr.py:290", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in cvxpy/reductions/cvx_attr2constr.py:290"}, "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-c92768e019f79c65", "name": "Commented-code block (9 lines) in cvxpy/reductions/dcp2cone/canonicalizers/perspective_canon.py:47", "shortDescription": {"text": "Commented-code block (9 lines) in cvxpy/reductions/dcp2cone/canonicalizers/perspective_canon.py:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fa839832a491905", "name": "Commented-code block (6 lines) in cvxpy/reductions/dgp2dcp/canonicalizers/eye_minus_inv_canon.py:32", "shortDescription": {"text": "Commented-code block (6 lines) in cvxpy/reductions/dgp2dcp/canonicalizers/eye_minus_inv_canon.py:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3005723be2cdddb", "name": "Commented-code block (10 lines) in cvxpy/reductions/cone2cone/exact.py:463", "shortDescription": {"text": "Commented-code block (10 lines) in cvxpy/reductions/cone2cone/exact.py:463"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6bd401dcb30c595", "name": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/approx.py:77", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/approx.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-203647e576f63c4b", "name": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/affine2direct.py:196", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/affine2direct.py:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5bd450a9790413d5", "name": "Commented-code block (10 lines) in cvxpy/reductions/dqcp2dcp/dqcp2dcp.py:38", "shortDescription": {"text": "Commented-code block (10 lines) in cvxpy/reductions/dqcp2dcp/dqcp2dcp.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-06c3e2b9deea574e", "name": "Commented-code block (6 lines) in cvxpy/reductions/solvers/solving_chain.py:191", "shortDescription": {"text": "Commented-code block (6 lines) in cvxpy/reductions/solvers/solving_chain.py:191"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88cbb1009feb646b", "name": "Commented-code block (5 lines) in cvxpy/reductions/solvers/bisection.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/reductions/solvers/bisection.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f48348a86077961", "name": "Stub function `import_solver` (body is just `pass`/`return`) \u2014 cvxpy/reductions/solvers/constant_solver.py:24", "shortDescription": {"text": "Stub function `import_solver` (body is just `pass`/`return`) \u2014 cvxpy/reductions/solvers/constant_solver.py:24"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1493b82be4ce8f6", "name": "Commented-code block (15 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_bb_conif.py:40", "shortDescription": {"text": "Commented-code block (15 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_bb_conif.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c10d275be880272a", "name": "Commented-code block (5 lines) in cvxpy/reductions/solvers/conic_solvers/cuopt_conif.py:425", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/reductions/solvers/conic_solvers/cuopt_conif.py:425"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a69938035078af08", "name": "Legacy-named symbol `b_old` in cvxpy/reductions/solvers/conic_solvers/cvxopt_conif.py:314", "shortDescription": {"text": "Legacy-named symbol `b_old` in cvxpy/reductions/solvers/conic_solvers/cvxopt_conif.py:314"}, "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-1cbd68c798d30c92", "name": "Commented-code block (10 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_conif.py:48", "shortDescription": {"text": "Commented-code block (10 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_conif.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3940fd0a55c56142", "name": "Commented-code block (6 lines) in cvxpy/reductions/solvers/conic_solvers/conic_solver.py:200", "shortDescription": {"text": "Commented-code block (6 lines) in cvxpy/reductions/solvers/conic_solvers/conic_solver.py:200"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cb26916d82ab65d", "name": "Legacy-named symbol `is_pre_v1` in cvxpy/reductions/solvers/qp_solvers/osqp_qpif.py:63", "shortDescription": {"text": "Legacy-named symbol `is_pre_v1` in cvxpy/reductions/solvers/qp_solvers/osqp_qpif.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-e7f505036b090c59", "name": "Legacy-named symbol `tree_copy` in cvxpy/transforms/partial_optimize.py:97", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in cvxpy/transforms/partial_optimize.py:97"}, "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-68063b0c6d8fa239", "name": "Commented-code block (7 lines) in cvxpy/transforms/partial_optimize.py:235", "shortDescription": {"text": "Commented-code block (7 lines) in cvxpy/transforms/partial_optimize.py:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7a89d6858181bf0", "name": "Commented-code block (9 lines) in cvxpy/lin_ops/backends/coo_backend.py:1400", "shortDescription": {"text": "Commented-code block (9 lines) in cvxpy/lin_ops/backends/coo_backend.py:1400"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18540edfdda04fca", "name": "Commented-code block (8 lines) in cvxpy/lin_ops/backends/scipy_backend.py:433", "shortDescription": {"text": "Commented-code block (8 lines) in cvxpy/lin_ops/backends/scipy_backend.py:433"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b9dc1349cd8e2c6", "name": "Commented-code block (5 lines) in cvxpy/expressions/leaf.py:617", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/expressions/leaf.py:617"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78d6f384ab0a108a", "name": "Commented-code block (5 lines) in cvxpy/atoms/von_neumann_entr.py:124", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/atoms/von_neumann_entr.py:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4170b271f5145a9e", "name": "Commented-code block (8 lines) in cvxpy/atoms/affine/cumsum.py:104", "shortDescription": {"text": "Commented-code block (8 lines) in cvxpy/atoms/affine/cumsum.py:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c12f556653afc4e", "name": "Commented-code block (7 lines) in cvxpy/atoms/elementwise/maximum.py:60", "shortDescription": {"text": "Commented-code block (7 lines) in cvxpy/atoms/elementwise/maximum.py:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7079bbe3df41d43d", "name": "Commented-code block (8 lines) in cvxpy/atoms/elementwise/power.py:238", "shortDescription": {"text": "Commented-code block (8 lines) in cvxpy/atoms/elementwise/power.py:238"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-492ee56931f3b46d", "name": "Commented-code block (5 lines) in cvxpy/constraints/power.py:246", "shortDescription": {"text": "Commented-code block (5 lines) in cvxpy/constraints/power.py:246"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81d3e89188cf9540", "name": "Legacy-named symbol `SwigPyIterator_copy` in cvxpy/cvxcore/python/cvxcore.py:85", "shortDescription": {"text": "Legacy-named symbol `SwigPyIterator_copy` in cvxpy/cvxcore/python/cvxcore.py:85"}, "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-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:\ncvxpy/utilities/key_utils.py:wrap_neg_index, cvxpy/utilities/key_utils.py:wrap_neg_index, cvxpy/utilities/key_utils.py:wrap_neg_index\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:\ncvxpy/utilities/shape.py:mul_shapes_promote, cvxpy/utilities/shape.py:mul_shapes\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ncvxpy/interface/base_matrix_interface.py:const_to_matrix, cvxpy/interface/numpy_interface/sparse_matrix_interface.py:const_to_matrix, cvxpy/interface/numpy_interface/matrix_interface.py:const_to_matrix, cvxpy/interface/numpy_interface/ndarray_interface.py:const_to_matrix\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/25167"}, "properties": {"repository": "cvxpy/cvxpy", "repoUrl": "https://github.com/cvxpy/cvxpy", "branch": "main"}, "results": [{"ruleId": "scanner-33c7c75174634e59", "level": "note", "message": {"text": "Possibly dead Python function: disable_warnings"}, "properties": {"repobilityId": "fedd4023df64124a", "scanner": "scanner-primary", "fingerprint": "33c7c75174634e59", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/error.py:21"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bbd037c3cd87e39f", "level": "note", "message": {"text": "Possibly dead Python function: enable_warnings"}, "properties": {"repobilityId": "e86a2f1a5e964f36", "scanner": "scanner-primary", "fingerprint": "bbd037c3cd87e39f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/error.py:26"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d76e8c5bc72041fe", "level": "note", "message": {"text": "Possibly dead Python function: index_to_slice"}, "properties": {"repobilityId": "195e9b7f186699b6", "scanner": "scanner-primary", "fingerprint": "d76e8c5bc72041fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/utilities/key_utils.py:136"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d64ebc43b53b1cb4", "level": "note", "message": {"text": "Possibly dead Python function: squeezed"}, "properties": {"repobilityId": "f8b50def33c57422", "scanner": "scanner-primary", "fingerprint": "d64ebc43b53b1cb4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/utilities/shape.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2efccceb8db335b4", "level": "note", "message": {"text": "Possibly dead Python function: uniform_bounds"}, "properties": {"repobilityId": "dba4db828d97313f", "scanner": "scanner-primary", "fingerprint": "2efccceb8db335b4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/utilities/bounds.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11a5c5ff98f7b08f", "level": "note", "message": {"text": "Possibly dead Python function: new_converter"}, "properties": {"repobilityId": "c965123e2af7d2e3", "scanner": "scanner-primary", "fingerprint": "11a5c5ff98f7b08f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/interface/base_matrix_interface.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a42ee97a98f19bac", "level": "note", "message": {"text": "Possibly dead Python function: from_2D_to_1D"}, "properties": {"repobilityId": "758d4568b76bae88", "scanner": "scanner-primary", "fingerprint": "a42ee97a98f19bac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/interface/matrix_utilities.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f4a8d8d362efe1f", "level": "note", "message": {"text": "Possibly dead Python function: from_1D_to_2D"}, "properties": {"repobilityId": "5104f9fdbcd4b2de", "scanner": "scanner-primary", "fingerprint": "3f4a8d8d362efe1f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/interface/matrix_utilities.py:164"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-105719b004a3713f", "level": "note", "message": {"text": "Possibly dead Python function: special_index_canon"}, "properties": {"repobilityId": "b61252ac22465749", "scanner": "scanner-primary", "fingerprint": "105719b004a3713f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/utilities.py:41"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60a4fcea573be9da", "level": "note", "message": {"text": "Possibly dead Python function: compose_param_id_map"}, "properties": {"repobilityId": "7219c094ea9de01b", "scanner": "scanner-primary", "fingerprint": "60a4fcea573be9da", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/chain.py:119"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc9975deaef9be7f", "level": "note", "message": {"text": "Possibly dead Python function: compose_constr_id_map"}, "properties": {"repobilityId": "40553b4bcdc55cfa", "scanner": "scanner-primary", "fingerprint": "fc9975deaef9be7f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/chain.py:133"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f61ddb58ef3915eb", "level": "note", "message": {"text": "Possibly dead Python function: param_value"}, "properties": {"repobilityId": "f1fd5d1b2a800d4b", "scanner": "scanner-primary", "fingerprint": "f61ddb58ef3915eb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/cone_matrix_stuffing.py:244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d35f70fc609b027", "level": "note", "message": {"text": "Possibly dead Python function: log_det_canon"}, "properties": {"repobilityId": "b888c7d11b85a4d2", "scanner": "scanner-primary", "fingerprint": "9d35f70fc609b027", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/log_det_canon.py:28"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-611673aea7c0bdd9", "level": "note", "message": {"text": "Possibly dead Python function: indicator_canon"}, "properties": {"repobilityId": "1311b93f555ca9d8", "scanner": "scanner-primary", "fingerprint": "611673aea7c0bdd9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/indicator_canon.py:21"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a551d8073383e8e0", "level": "note", "message": {"text": "Possibly dead Python function: quantum_rel_entr_canon"}, "properties": {"repobilityId": "f0469b0adc496296", "scanner": "scanner-primary", "fingerprint": "a551d8073383e8e0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/quantum_rel_entr_canon.py:10"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a1d0c0772fa0d12", "level": "note", "message": {"text": "Possibly dead Python function: logistic_canon"}, "properties": {"repobilityId": "e51bdddfca299ad6", "scanner": "scanner-primary", "fingerprint": "4a1d0c0772fa0d12", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/logistic_canon.py:25"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aea5a6c3374b05cd", "level": "note", "message": {"text": "Possibly dead Python function: log1p_canon"}, "properties": {"repobilityId": "5e9f95665e1d1216", "scanner": "scanner-primary", "fingerprint": "aea5a6c3374b05cd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/log1p_canon.py:21"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb133d0626c83b4c", "level": "note", "message": {"text": "Possibly dead Python function: suppfunc_canon"}, "properties": {"repobilityId": "f72f6e9aeb2c2898", "scanner": "scanner-primary", "fingerprint": "bb133d0626c83b4c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/suppfunc_canon.py:11"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2023484c8f3b7d6f", "level": "note", "message": {"text": "Possibly dead Python function: perspective_canon"}, "properties": {"repobilityId": "3a4827a0654e68f0", "scanner": "scanner-primary", "fingerprint": "2023484c8f3b7d6f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/perspective_canon.py:27"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1aaa7fd5ba60c7df", "level": "note", "message": {"text": "Possibly dead Python function: sigma_max_canon"}, "properties": {"repobilityId": "5cdb7fdf9ab9f3a8", "scanner": "scanner-primary", "fingerprint": "1aaa7fd5ba60c7df", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/sigma_max_canon.py:26"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c59d380a528ec58f", "level": "note", "message": {"text": "Possibly dead Python function: log_sum_exp_canon"}, "properties": {"repobilityId": "8be258931d43e907", "scanner": "scanner-primary", "fingerprint": "c59d380a528ec58f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/log_sum_exp_canon.py:26"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dfe63b7fabe698fa", "level": "note", "message": {"text": "Possibly dead Python function: power_exact_canon"}, "properties": {"repobilityId": "81f7a60e409b08b7", "scanner": "scanner-primary", "fingerprint": "dfe63b7fabe698fa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/power_canon.py:30"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7d26eda774c703c", "level": "note", "message": {"text": "Possibly dead Python function: matrix_frac_canon"}, "properties": {"repobilityId": "2946658280b88a0b", "scanner": "scanner-primary", "fingerprint": "f7d26eda774c703c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/matrix_frac_canon.py:23"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba829211b7e3eb65", "level": "note", "message": {"text": "Possibly dead Python function: kl_div_canon"}, "properties": {"repobilityId": "6b9abe930ceba3c7", "scanner": "scanner-primary", "fingerprint": "ba829211b7e3eb65", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/kl_div_canon.py:23"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7719909a7332d8d4", "level": "note", "message": {"text": "Possibly dead Python function: pnorm_exact_canon"}, "properties": {"repobilityId": "28d39a260bbfbf55", "scanner": "scanner-primary", "fingerprint": "7719909a7332d8d4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cvxpy/reductions/dcp2cone/canonicalizers/pnorm_canon.py:49"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-88de044fef7283fd", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a7cb410dc6faceb0", "scanner": "scanner-primary", "fingerprint": "88de044fef7283fd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test_optional_solvers.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-8f4c232b4aa78fc9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c12bee5eb58a5ecf", "scanner": "scanner-primary", "fingerprint": "8f4c232b4aa78fc9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-review.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-8f4c232b4aa78fc9", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7572d8d133564421", "scanner": "scanner-primary", "fingerprint": "8f4c232b4aa78fc9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-review.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8f4c232b4aa78fc9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a163d21f1894911", "scanner": "scanner-primary", "fingerprint": "8f4c232b4aa78fc9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-review.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-77166cbd46fcd8e4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "50f3b563ffac10e9", "scanner": "scanner-primary", "fingerprint": "77166cbd46fcd8e4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-code-review.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-90267c3e147cb0be", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0320813289dcdf96", "scanner": "scanner-primary", "fingerprint": "90267c3e147cb0be", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scorecards.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-90267c3e147cb0be", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b0b3b21416227fbf", "scanner": "scanner-primary", "fingerprint": "90267c3e147cb0be", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scorecards.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-f3d7c1a5b122c3bd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "699eac9660609446", "scanner": "scanner-primary", "fingerprint": "f3d7c1a5b122c3bd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scorecards.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d1f9119396f956c", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "7ad631ac6fa64d8c", "scanner": "scanner-primary", "fingerprint": "9d1f9119396f956c", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr_benchmarks.yml"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-0763d85002569570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87778193c971fb57", "scanner": "scanner-primary", "fingerprint": "0763d85002569570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-0763d85002569570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87778193c971fb57", "scanner": "scanner-primary", "fingerprint": "0763d85002569570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-0763d85002569570", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "06fca3e32678c7dd", "scanner": "scanner-primary", "fingerprint": "0763d85002569570", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-0763d85002569570", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "06fca3e32678c7dd", "scanner": "scanner-primary", "fingerprint": "0763d85002569570", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-6298751f8d102fcd", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b1bd3a9ed2404bc9", "scanner": "scanner-primary", "fingerprint": "6298751f8d102fcd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test_backends.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-460bad9ad7ee49e2", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e7d0f5dd59c0aa2f", "scanner": "scanner-primary", "fingerprint": "460bad9ad7ee49e2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manual_coverage.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-460bad9ad7ee49e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d2e333fc845b45a", "scanner": "scanner-primary", "fingerprint": "460bad9ad7ee49e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manual_coverage.yml"}, "region": {"startLine": 243}}}]}, {"ruleId": "scanner-1de0ac554bc812b4", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "fa22de2cc1611755", "scanner": "scanner-primary", "fingerprint": "1de0ac554bc812b4", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr_benchmark_comment.yml"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-72a894be8f5f2778", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "e8e09a406f92a8f4", "scanner": "scanner-primary", "fingerprint": "72a894be8f5f2778", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-6ba9bfab5f283202", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3761b197c5a39c5f", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-6ba9bfab5f283202", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7d0896f775b62a6", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-6ba9bfab5f283202", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e42a05d0cafd3509", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-6ba9bfab5f283202", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "582bbd5badce2238", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 162}}}]}, {"ruleId": "scanner-6ba9bfab5f283202", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7d0896f775b62a6", "scanner": "scanner-primary", "fingerprint": "6ba9bfab5f283202", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build.yml"}, "region": {"startLine": 185}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b8decd2763556e20", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8ead6a2c2bfe167b", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-37716d9c0a33ad5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "abfb5752158cf655", "scanner": "scanner-primary", "fingerprint": "37716d9c0a33ad5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-98c3fffb259e0bf7", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "45ae63a969d7d5b7", "scanner": "scanner-primary", "fingerprint": "98c3fffb259e0bf7", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-93348a745d6844c0", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "28ad7b00cde53ef6", "scanner": "scanner-primary", "fingerprint": "93348a745d6844c0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pyright.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-3c1fcd9873918074", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd55c230aeffaa5c", "scanner": "scanner-primary", "fingerprint": "3c1fcd9873918074", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/extensions.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-3c1fcd9873918074", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd55c230aeffaa5c", "scanner": "scanner-primary", "fingerprint": "3c1fcd9873918074", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/extensions.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-e9475c98e695a2cc", "level": "note", "message": {"text": "Very large file: cvxpy/tests/solver_test_helpers.py (1724 lines)"}, "properties": {"repobilityId": "30e8674e91d9f356", "scanner": "scanner-primary", "fingerprint": "e9475c98e695a2cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7ce2dfe9eb0e413", "level": "note", "message": {"text": "Very large file: cvxpy/tests/test_python_backends.py (3561 lines)"}, "properties": {"repobilityId": "e320b378e6cc3acd", "scanner": "scanner-primary", "fingerprint": "f7ce2dfe9eb0e413", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a7e4c32d5974f4b4", "level": "note", "message": {"text": "Very large file: cvxpy/tests/test_atoms.py (3014 lines)"}, "properties": {"repobilityId": "65783da0a79f3e57", "scanner": "scanner-primary", "fingerprint": "a7e4c32d5974f4b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a5dff26adb378cc1", "level": "note", "message": {"text": "Very large file: cvxpy/tests/test_problem.py (2372 lines)"}, "properties": {"repobilityId": "7752702997a26fe9", "scanner": "scanner-primary", "fingerprint": "a5dff26adb378cc1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-072d6397b268ce7c", "level": "note", "message": {"text": "Very large file: cvxpy/tests/test_expressions.py (2121 lines)"}, "properties": {"repobilityId": "c1eae27dfaff626b", "scanner": "scanner-primary", "fingerprint": "072d6397b268ce7c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b2b889aecdcdd5ef", "level": "note", "message": {"text": "Very large file: cvxpy/tests/test_conic_solvers.py (3622 lines)"}, "properties": {"repobilityId": "cb8407f0124fd978", "scanner": "scanner-primary", "fingerprint": "b2b889aecdcdd5ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-421f019a246f3f9c", "level": "note", "message": {"text": "Very large file: cvxpy/lin_ops/backends/coo_backend.py (2449 lines)"}, "properties": {"repobilityId": "b4ed0142dce1966e", "scanner": "scanner-primary", "fingerprint": "421f019a246f3f9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f1ceebf0737ee51c", "level": "note", "message": {"text": "Very large file: cvxpy/problems/problem.py (1654 lines)"}, "properties": {"repobilityId": "d52825c9df535ec8", "scanner": "scanner-primary", "fingerprint": "f1ceebf0737ee51c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d088a91e2a684976", "level": "note", "message": {"text": "99 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "d088a91e2a684976", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "06363afb0127e748", "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": "cb1a91f72505a788", "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": "8f9d70f408cdc399", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09d6728b8139fea0", "level": "none", "message": {"text": "Commented-code block (7 lines) in setup/versioning.py:64"}, "properties": {"repobilityId": "5405fa19b7210a0f", "scanner": "scanner-primary", "fingerprint": "09d6728b8139fea0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b195333a646c45c9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_notes.py:33"}, "properties": {"repobilityId": "c7f24acaf31148cc", "scanner": "scanner-primary", "fingerprint": "b195333a646c45c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-319224de632147d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/settings.py:142"}, "properties": {"repobilityId": "5d3877a7209d0a1f", "scanner": "scanner-primary", "fingerprint": "319224de632147d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f2c08274131e552", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/tests/test_qp_solvers.py:95"}, "properties": {"repobilityId": "7d7e596a65debd49", "scanner": "scanner-primary", "fingerprint": "9f2c08274131e552", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a9c71fe03f43a1f", "level": "note", "message": {"text": "Legacy-named symbol `prob_copy` in cvxpy/tests/test_copy.py:73"}, "properties": {"repobilityId": "c71120922905a613", "scanner": "scanner-primary", "fingerprint": "0a9c71fe03f43a1f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a00a45a2f0e8d78d", "level": "note", "message": {"text": "Legacy-named symbol `test_add_expr_copy` in cvxpy/tests/test_atoms.py:53"}, "properties": {"repobilityId": "fc7dbc18751b9a10", "scanner": "scanner-primary", "fingerprint": "a00a45a2f0e8d78d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b54ff0b1f0311d3f", "level": "none", "message": {"text": "Commented-code block (8 lines) in cvxpy/tests/test_domain.py:102"}, "properties": {"repobilityId": "fded5c9a4022e374", "scanner": "scanner-primary", "fingerprint": "b54ff0b1f0311d3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7258d5840f1808a", "level": "none", "message": {"text": "Commented-code block (7 lines) in cvxpy/tests/test_kron_canon.py:71"}, "properties": {"repobilityId": "28e50efe75289840", "scanner": "scanner-primary", "fingerprint": "f7258d5840f1808a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93bd708ef87b5def", "level": "none", "message": {"text": "Commented-code block (29 lines) in cvxpy/tests/test_problem.py:441"}, "properties": {"repobilityId": "eeb554ec2e1bf9e3", "scanner": "scanner-primary", "fingerprint": "93bd708ef87b5def", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01cedcd06f2887d6", "level": "note", "message": {"text": "Legacy-named symbol `test_var_copy` in cvxpy/tests/test_expressions.py:1421"}, "properties": {"repobilityId": "d87ce215fd3714f3", "scanner": "scanner-primary", "fingerprint": "01cedcd06f2887d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a3b843a2cdf9cede", "level": "none", "message": {"text": "Commented-code block (6 lines) in cvxpy/tests/test_attributes.py:394"}, "properties": {"repobilityId": "6719ae8b8dbbaf84", "scanner": "scanner-primary", "fingerprint": "a3b843a2cdf9cede", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5836aae80a5c002", "level": "note", "message": {"text": "Legacy-named symbol `_solve_and_copy` in cvxpy/tests/test_quad_dpp.py:32"}, "properties": {"repobilityId": "171f4fdade4b116e", "scanner": "scanner-primary", "fingerprint": "f5836aae80a5c002", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6be9b5414a6980b7", "level": "none", "message": {"text": "Commented-code block (12 lines) in cvxpy/tests/test_conic_solvers.py:1259"}, "properties": {"repobilityId": "3ad6e5ac69a896bd", "scanner": "scanner-primary", "fingerprint": "6be9b5414a6980b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9bfe0fcfa74ac86", "level": "none", "message": {"text": "Commented-code block (6 lines) in cvxpy/tests/test_scalarize.py:91"}, "properties": {"repobilityId": "a761ec2a1c091ea5", "scanner": "scanner-primary", "fingerprint": "d9bfe0fcfa74ac86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31aa1c2e68c40fbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/utilities/coeff_extractor.py:92"}, "properties": {"repobilityId": "a7c324ecd59045f6", "scanner": "scanner-primary", "fingerprint": "31aa1c2e68c40fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f487729d63a94f36", "level": "note", "message": {"text": "Legacy-named symbol `lh_old` in cvxpy/utilities/shape.py:128"}, "properties": {"repobilityId": "119c1f757f1bd6db", "scanner": "scanner-primary", "fingerprint": "f487729d63a94f36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-156a785e069243d3", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in cvxpy/utilities/canonical.py:76"}, "properties": {"repobilityId": "73db5b86b32cb700", "scanner": "scanner-primary", "fingerprint": "156a785e069243d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad4583bb1ad1b4b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/utilities/bounds.py:532"}, "properties": {"repobilityId": "d55264bf698808b4", "scanner": "scanner-primary", "fingerprint": "ad4583bb1ad1b4b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89be5af97ff8ce05", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/interface/matrix_utilities.py:285"}, "properties": {"repobilityId": "eec807b666c67777", "scanner": "scanner-primary", "fingerprint": "89be5af97ff8ce05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75135b79aa73a508", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in cvxpy/reductions/cvx_attr2constr.py:290"}, "properties": {"repobilityId": "904eae22543c647b", "scanner": "scanner-primary", "fingerprint": "75135b79aa73a508", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c92768e019f79c65", "level": "none", "message": {"text": "Commented-code block (9 lines) in cvxpy/reductions/dcp2cone/canonicalizers/perspective_canon.py:47"}, "properties": {"repobilityId": "c1f630d66a7ff1e2", "scanner": "scanner-primary", "fingerprint": "c92768e019f79c65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fa839832a491905", "level": "none", "message": {"text": "Commented-code block (6 lines) in cvxpy/reductions/dgp2dcp/canonicalizers/eye_minus_inv_canon.py:32"}, "properties": {"repobilityId": "fe40ff85ed7bf538", "scanner": "scanner-primary", "fingerprint": "3fa839832a491905", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3005723be2cdddb", "level": "none", "message": {"text": "Commented-code block (10 lines) in cvxpy/reductions/cone2cone/exact.py:463"}, "properties": {"repobilityId": "6ed51714bccfeaf3", "scanner": "scanner-primary", "fingerprint": "e3005723be2cdddb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6bd401dcb30c595", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/approx.py:77"}, "properties": {"repobilityId": "6397c6b79b460ab3", "scanner": "scanner-primary", "fingerprint": "e6bd401dcb30c595", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-203647e576f63c4b", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/reductions/cone2cone/affine2direct.py:196"}, "properties": {"repobilityId": "d2c125f9b9521af4", "scanner": "scanner-primary", "fingerprint": "203647e576f63c4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bd450a9790413d5", "level": "none", "message": {"text": "Commented-code block (10 lines) in cvxpy/reductions/dqcp2dcp/dqcp2dcp.py:38"}, "properties": {"repobilityId": "388e9684293547e6", "scanner": "scanner-primary", "fingerprint": "5bd450a9790413d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06c3e2b9deea574e", "level": "none", "message": {"text": "Commented-code block (6 lines) in cvxpy/reductions/solvers/solving_chain.py:191"}, "properties": {"repobilityId": "36c854d75e2d2ddd", "scanner": "scanner-primary", "fingerprint": "06c3e2b9deea574e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88cbb1009feb646b", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/reductions/solvers/bisection.py:51"}, "properties": {"repobilityId": "8b212d0ec5e7ac92", "scanner": "scanner-primary", "fingerprint": "88cbb1009feb646b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f48348a86077961", "level": "note", "message": {"text": "Stub function `import_solver` (body is just `pass`/`return`) \u2014 cvxpy/reductions/solvers/constant_solver.py:24"}, "properties": {"repobilityId": "169eb2ebbc27b3ac", "scanner": "scanner-primary", "fingerprint": "5f48348a86077961", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b1493b82be4ce8f6", "level": "none", "message": {"text": "Commented-code block (15 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_bb_conif.py:40"}, "properties": {"repobilityId": "cadd52fa81c2dfd7", "scanner": "scanner-primary", "fingerprint": "b1493b82be4ce8f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c10d275be880272a", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/reductions/solvers/conic_solvers/cuopt_conif.py:425"}, "properties": {"repobilityId": "ce56b1db82df2623", "scanner": "scanner-primary", "fingerprint": "c10d275be880272a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a69938035078af08", "level": "note", "message": {"text": "Legacy-named symbol `b_old` in cvxpy/reductions/solvers/conic_solvers/cvxopt_conif.py:314"}, "properties": {"repobilityId": "51f6dbbf4da17195", "scanner": "scanner-primary", "fingerprint": "a69938035078af08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1cbd68c798d30c92", "level": "none", "message": {"text": "Commented-code block (10 lines) in cvxpy/reductions/solvers/conic_solvers/ecos_conif.py:48"}, "properties": {"repobilityId": "d365b78079468178", "scanner": "scanner-primary", "fingerprint": "1cbd68c798d30c92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3940fd0a55c56142", "level": "none", "message": {"text": "Commented-code block (6 lines) in cvxpy/reductions/solvers/conic_solvers/conic_solver.py:200"}, "properties": {"repobilityId": "a9a972927468ad17", "scanner": "scanner-primary", "fingerprint": "3940fd0a55c56142", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cb26916d82ab65d", "level": "note", "message": {"text": "Legacy-named symbol `is_pre_v1` in cvxpy/reductions/solvers/qp_solvers/osqp_qpif.py:63"}, "properties": {"repobilityId": "b1cb8e08da0cfcf7", "scanner": "scanner-primary", "fingerprint": "7cb26916d82ab65d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e7f505036b090c59", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in cvxpy/transforms/partial_optimize.py:97"}, "properties": {"repobilityId": "a4ae74da3d0ebc22", "scanner": "scanner-primary", "fingerprint": "e7f505036b090c59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-68063b0c6d8fa239", "level": "none", "message": {"text": "Commented-code block (7 lines) in cvxpy/transforms/partial_optimize.py:235"}, "properties": {"repobilityId": "f0a4c22241bbad94", "scanner": "scanner-primary", "fingerprint": "68063b0c6d8fa239", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7a89d6858181bf0", "level": "none", "message": {"text": "Commented-code block (9 lines) in cvxpy/lin_ops/backends/coo_backend.py:1400"}, "properties": {"repobilityId": "3d38545151230cca", "scanner": "scanner-primary", "fingerprint": "f7a89d6858181bf0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18540edfdda04fca", "level": "none", "message": {"text": "Commented-code block (8 lines) in cvxpy/lin_ops/backends/scipy_backend.py:433"}, "properties": {"repobilityId": "9fd602f174afa8b6", "scanner": "scanner-primary", "fingerprint": "18540edfdda04fca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b9dc1349cd8e2c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/expressions/leaf.py:617"}, "properties": {"repobilityId": "79da2cf7efcdf600", "scanner": "scanner-primary", "fingerprint": "7b9dc1349cd8e2c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78d6f384ab0a108a", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/atoms/von_neumann_entr.py:124"}, "properties": {"repobilityId": "7465710f0fdb7161", "scanner": "scanner-primary", "fingerprint": "78d6f384ab0a108a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4170b271f5145a9e", "level": "none", "message": {"text": "Commented-code block (8 lines) in cvxpy/atoms/affine/cumsum.py:104"}, "properties": {"repobilityId": "0a1163380715d519", "scanner": "scanner-primary", "fingerprint": "4170b271f5145a9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c12f556653afc4e", "level": "none", "message": {"text": "Commented-code block (7 lines) in cvxpy/atoms/elementwise/maximum.py:60"}, "properties": {"repobilityId": "bc59e096ad4a0e6e", "scanner": "scanner-primary", "fingerprint": "4c12f556653afc4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7079bbe3df41d43d", "level": "none", "message": {"text": "Commented-code block (8 lines) in cvxpy/atoms/elementwise/power.py:238"}, "properties": {"repobilityId": "99f9b23ec623691c", "scanner": "scanner-primary", "fingerprint": "7079bbe3df41d43d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-492ee56931f3b46d", "level": "none", "message": {"text": "Commented-code block (5 lines) in cvxpy/constraints/power.py:246"}, "properties": {"repobilityId": "f3a3b33624307c8a", "scanner": "scanner-primary", "fingerprint": "492ee56931f3b46d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81d3e89188cf9540", "level": "note", "message": {"text": "Legacy-named symbol `SwigPyIterator_copy` in cvxpy/cvxcore/python/cvxcore.py:85"}, "properties": {"repobilityId": "3c6432ce84d0a2a7", "scanner": "scanner-primary", "fingerprint": "81d3e89188cf9540", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "966f38301d3c5c19", "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": "162baf757195df3c", "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": "f9ac832914d6f66b", "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": "437d4a04f02b7b28", "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": "6efdf9212255b685", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "e2ccf2497252f83d", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "4e330257accd3eb6", "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": "c8a329b619a59d3c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "585a04177e1d915f", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "b0a1aa8e3960069a", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7c3c82ca8a33d9d6", "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": "72dadbfb64fbc37c", "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": "204ef64afae4bc3b", "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": "be60a49abd2c7e9c", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "115a40a3a1b4dda8", "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": "4072fc90eba3fb97", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "ece7db0851c56ec5", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "f5367a2a95c79aee", "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": "8600f706d1dbc768", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "3f146b40b6fd19ed", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}