{"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-36b6424e66be312b", "name": "Possibly dead Python function: detect_missing_fonts_odp", "shortDescription": {"text": "Possibly dead Python function: detect_missing_fonts_odp"}, "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-cd3cbe9c13e48d78", "name": "Possibly dead Python function: bullets", "shortDescription": {"text": "Possibly dead Python function: bullets"}, "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-4fa3464923584c9f", "name": "Possibly dead Python function: slide_multi_provider", "shortDescription": {"text": "Possibly dead Python function: slide_multi_provider"}, "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-c440d35abf2242b3", "name": "Possibly dead Python function: fetch_pypi_releases", "shortDescription": {"text": "Possibly dead Python function: fetch_pypi_releases"}, "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-f37295e29cbdfbae", "name": "Possibly dead Python function: fit_contain", "shortDescription": {"text": "Possibly dead Python function: fit_contain"}, "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-6ae7cd80af05b1b0", "name": "Possibly dead Python function: restore_tab_view", "shortDescription": {"text": "Possibly dead Python function: restore_tab_view"}, "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-0a47be8df1e424c4", "name": "Possibly dead Python function: handle_starttag", "shortDescription": {"text": "Possibly dead Python function: handle_starttag"}, "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-915669a43ac6359d", "name": "Possibly dead Python function: handle_endtag", "shortDescription": {"text": "Possibly dead Python function: handle_endtag"}, "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-520ea35cf26d3746", "name": "Possibly dead Python function: wait_for_protected_releases", "shortDescription": {"text": "Possibly dead Python function: wait_for_protected_releases"}, "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-74dd64fcca051aa3", "name": "Possibly dead Python function: verify_retention", "shortDescription": {"text": "Possibly dead Python function: verify_retention"}, "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-309773ba801fb81f", "name": "Possibly dead Python function: confirm_provider", "shortDescription": {"text": "Possibly dead Python function: confirm_provider"}, "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-6fc28d5913cf859a", "name": "Possibly dead Python function: cleanup_confirm_provider", "shortDescription": {"text": "Possibly dead Python function: cleanup_confirm_provider"}, "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-5271ac65d07afab9", "name": "Possibly dead Python function: handle_starttag", "shortDescription": {"text": "Possibly dead Python function: handle_starttag"}, "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-4df07bc927193f0e", "name": "Possibly dead Python function: compute_from_component_xml", "shortDescription": {"text": "Possibly dead Python function: compute_from_component_xml"}, "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-89e2373c3ff64a49", "name": "Possibly dead Python function: compute_from_combined_xml", "shortDescription": {"text": "Possibly dead Python function: compute_from_combined_xml"}, "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-a7e0f9b118bbc114", "name": "Possibly dead Python function: run_compare_preprocess_benchmark", "shortDescription": {"text": "Possibly dead Python function: run_compare_preprocess_benchmark"}, "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-f957ab9a73140012", "name": "Possibly dead Python function: build_tasks", "shortDescription": {"text": "Possibly dead Python function: build_tasks"}, "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-11cf36adfde583e4", "name": "Possibly dead Python function: build_launch", "shortDescription": {"text": "Possibly dead Python function: build_launch"}, "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-252138de1b3156b5", "name": "Possibly dead Python function: confirm_provider", "shortDescription": {"text": "Possibly dead Python function: confirm_provider"}, "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-c063858d8cebc4ab", "name": "Possibly dead Python function: handle_data", "shortDescription": {"text": "Possibly dead Python function: handle_data"}, "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-74c1343b9069ec87", "name": "Possibly dead Python function: list_coverage_workflow_runs_for_head", "shortDescription": {"text": "Possibly dead Python function: list_coverage_workflow_runs_for_head"}, "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-ed230f3ff0d62baa", "name": "Possibly dead Python function: trigger_coverage_workflow", "shortDescription": {"text": "Possibly dead Python function: trigger_coverage_workflow"}, "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-e4f540ca89c80b9d", "name": "Possibly dead Python function: max_base_across_packages", "shortDescription": {"text": "Possibly dead Python function: max_base_across_packages"}, "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-31c3774898e32416", "name": "Possibly dead Python function: detect_missing_fonts_odp", "shortDescription": {"text": "Possibly dead Python function: detect_missing_fonts_odp"}, "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-654ba9077819fd3c", "name": "Possibly dead Python function: create_module", "shortDescription": {"text": "Possibly dead Python function: create_module"}, "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-ee696c6e481f1a12", "name": "Possibly dead Python function: render_active_project_chip", "shortDescription": {"text": "Possibly dead Python function: render_active_project_chip"}, "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-67e7a8875c37788e", "name": "Possibly dead Python function: app_project_spec", "shortDescription": {"text": "Possibly dead Python function: app_project_spec"}, "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-7e8fc0e30c5ef8f1", "name": "Possibly dead Python function: render_project_status_page", "shortDescription": {"text": "Possibly dead Python function: render_project_status_page"}, "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-be74a5a0b0ebb711", "name": "Stray `console.log` in TS/JS \u2014 .claude/skills/slides/assets/pptxgenjs_helpers/layout.js:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .claude/skills/slides/assets/pptxgenjs_helpers/layout.js:230"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d75a932db9065f2", "name": "Stray `console.log` in TS/JS \u2014 .codex/skills/slides/assets/pptxgenjs_helpers/layout.js:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .codex/skills/slides/assets/pptxgenjs_helpers/layout.js:230"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e49be5f3d49c3810", "name": "Privileged port 140 in use", "shortDescription": {"text": "Privileged port 140 in use"}, "fullDescription": {"text": "Port 140 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd402ea3cfe7097b", "name": "Privileged port 120 in use", "shortDescription": {"text": "Privileged port 120 in use"}, "fullDescription": {"text": "Port 120 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b099e58671c985c2", "name": "Privileged port 900 in use", "shortDescription": {"text": "Privileged port 900 in use"}, "fullDescription": {"text": "Port 900 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47636e33caef255d", "name": "Dockerfile runs as root: docker/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: docker/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-28f56e87ac2a4c4b", "name": "Docker base image is tag-pinned but not digest-pinned: ghcr.io/astral-sh/uv:bookworm-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: ghcr.io/astral-sh/uv:bookworm-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-393947db49b52a68", "name": "Insecure pattern 'subprocess_shell_true' in .claude/skills/agilab-deep-audit/SKILL.md:95", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in .claude/skills/agilab-deep-audit/SKILL.md:95"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2671e23415d3f0c2", "name": "Insecure pattern 'node_child_process' in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d08073e74d92c5dc", "name": "Insecure pattern 'subprocess_shell_true' in tools/security_hygiene_report.py:183", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in tools/security_hygiene_report.py:183"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb65c0161577c12b", "name": "Insecure pattern 'exec_used' in tools/cython_worker_verify.py:260", "shortDescription": {"text": "Insecure pattern 'exec_used' in tools/cython_worker_verify.py:260"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d2c7f5fa74b791a6", "name": "Insecure pattern 'subprocess_shell_true' in .codex/skills/agilab-deep-audit/SKILL.md:95", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in .codex/skills/agilab-deep-audit/SKILL.md:95"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-249b08986ad6eb95", "name": "Insecure pattern 'node_child_process' in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-adf3f0a88eff4ca7", "name": "Possible secret in .github/workflows/ui-robot-matrix.yml", "shortDescription": {"text": "Possible secret in .github/workflows/ui-robot-matrix.yml"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a23fdac1b63d38a4", "name": "Possible secret in .github/workflows/ci.yml", "shortDescription": {"text": "Possible secret in .github/workflows/ci.yml"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-13289bfdacd4782f", "name": "Insecure pattern 'exec_used' in src/agilab/agent_runtime/agi_codex.py:40", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/agent_runtime/agi_codex.py:40"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-012f574492d4d71b", "name": "Insecure pattern 'exec_used' in src/agilab/compat/module_shim.py:67", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/compat/module_shim.py:67"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-100883557b71b0b0", "name": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_sh", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py:89"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1090d63777af254c", "name": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic/compat/module_sh", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic/compat/module_shim.py:68"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f8c9c27663058b6", "name": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/compat/module_", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py:70"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-425cb86b49dd66a9", "name": "Insecure pattern 'exec_used' in src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py:70"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c4a70b7bf74a9c4", "name": "Insecure pattern 'subprocess_shell_true' in src/agilab/pages/4_ANALYSIS.py:876", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in src/agilab/pages/4_ANALYSIS.py:876"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-777e4d34a0339b62", "name": "Insecure pattern 'exec_used' in src/agilab/pipeline/pipeline_ai_support.py:1096", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/pipeline/pipeline_ai_support.py:1096"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c376b064fd83fc0", "name": "Insecure pattern 'exec_used' in src/agilab/core/agi-env/src/agi_env/compat/module_shim.py:67", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/core/agi-env/src/agi_env/compat/module_shim.py:67"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d083f174f2c07be9", "name": "Insecure pattern 'exec_used' in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/compat/module_shim.py:66", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/compat/module_shim.py:66"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a4e2a827308dc4d", "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-e9919b9749936598", "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-37c15e6db1b7b6f8", "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-2474cb2e40783827", "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-ebd05fa5a1a4a058", "name": "Very large file: install.sh (1676 lines)", "shortDescription": {"text": "Very large file: install.sh (1676 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-8b3a26516c5e38a0", "name": "Very large file: test/test_workflow_parity.py (2010 lines)", "shortDescription": {"text": "Very large file: test/test_workflow_parity.py (2010 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-2a0200508c7f2363", "name": "Very large file: test/test_view_maps.py (1769 lines)", "shortDescription": {"text": "Very large file: test/test_view_maps.py (1769 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-5438e143d219cd3b", "name": "Very large file: test/test_pipeline_lab.py (6507 lines)", "shortDescription": {"text": "Very large file: test/test_pipeline_lab.py (6507 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-97aca471c45d20b8", "name": "Very large file: test/test_view_maps_3d.py (1339 lines)", "shortDescription": {"text": "Very large file: test/test_view_maps_3d.py (1339 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-18362c84860daa92", "name": "Very large file: test/test_agent_run.py (1530 lines)", "shortDescription": {"text": "Very large file: test/test_agent_run.py (1530 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-7dbb32cf0b616de6", "name": "Very large file: test/test_view_release_decision.py (1653 lines)", "shortDescription": {"text": "Very large file: test/test_view_release_decision.py (1653 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-8819d4cd54ac82fd", "name": "Very large file: test/test_orchestrate_execute.py (2674 lines)", "shortDescription": {"text": "Very large file: test/test_orchestrate_execute.py (2674 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-af1913f5b4bbf8dd", "name": "Very large file: test/test_ui_pages.py (3690 lines)", "shortDescription": {"text": "Very large file: test/test_ui_pages.py (3690 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-d972f31f3a174dd7", "name": "Very large file: test/test_orchestrate_cluster.py (2161 lines)", "shortDescription": {"text": "Very large file: test/test_orchestrate_cluster.py (2161 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-9a4880396e569200", "name": "Very large file: test/test_orchestrate_page_helpers.py (2574 lines)", "shortDescription": {"text": "Very large file: test/test_orchestrate_page_helpers.py (2574 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-39c2fcc912b6005c", "name": "Very large file: test/test_app_installer_packaging.py (2003 lines)", "shortDescription": {"text": "Very large file: test/test_app_installer_packaging.py (2003 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-d7ce482b32052109", "name": "Very large file: test/test_analysis_page_helpers.py (1965 lines)", "shortDescription": {"text": "Very large file: test/test_analysis_page_helpers.py (1965 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-3e964af8051ba66e", "name": "Very large file: test/test_project_clone_policy.py (2492 lines)", "shortDescription": {"text": "Very large file: test/test_project_clone_policy.py (2492 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-343887524a4e9818", "name": "Very large file: test/test_view_maps_network_page_state.py (1516 lines)", "shortDescription": {"text": "Very large file: test/test_view_maps_network_page_state.py (1516 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-0fc5fbdb95ed724e", "name": "Very large file: test/test_agilab_web_robot.py (2180 lines)", "shortDescription": {"text": "Very large file: test/test_agilab_web_robot.py (2180 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-de09a2f12791fce4", "name": "Very large file: test/test_orchestrate_services.py (1403 lines)", "shortDescription": {"text": "Very large file: test/test_orchestrate_services.py (1403 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-21f9521eb0ff97d0", "name": "Very large file: test/test_pipeline_runtime.py (2024 lines)", "shortDescription": {"text": "Very large file: test/test_pipeline_runtime.py (2024 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-464522edb625bac6", "name": "Very large file: test/test_view_training_analysis.py (1283 lines)", "shortDescription": {"text": "Very large file: test/test_view_training_analysis.py (1283 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-df92bb63574eda9a", "name": "Very large file: test/test_pypi_publish.py (2680 lines)", "shortDescription": {"text": "Very large file: test/test_pypi_publish.py (2680 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-b54c74a626f2fbb2", "name": "Very large file: test/test_agilab_widget_robot.py (6035 lines)", "shortDescription": {"text": "Very large file: test/test_agilab_widget_robot.py (6035 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-8d709e5fd676d2a6", "name": "Very large file: test/test_pipeline_ai.py (4621 lines)", "shortDescription": {"text": "Very large file: test/test_pipeline_ai.py (4621 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-9ad6b5a1c4e978cb", "name": "Very large file: test/test_about_agilab_helpers.py (6554 lines)", "shortDescription": {"text": "Very large file: test/test_about_agilab_helpers.py (6554 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-2afdfa13518a499a", "name": "Very large file: test/test_view_inference_analysis.py (1962 lines)", "shortDescription": {"text": "Very large file: test/test_view_inference_analysis.py (1962 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-289f506db5221f12", "name": "Very large file: test/test_pipeline_editor.py (5053 lines)", "shortDescription": {"text": "Very large file: test/test_pipeline_editor.py (5053 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-783f92888751c912", "name": "Very large file: test/test_agilab_widget_robot_matrix.py (2259 lines)", "shortDescription": {"text": "Very large file: test/test_agilab_widget_robot_matrix.py (2259 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-58463199d3f04a1e", "name": "Very large file: test/test_view_maps_network.py (3385 lines)", "shortDescription": {"text": "Very large file: test/test_view_maps_network.py (3385 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-9a1ea9584b8b37da", "name": "Very large file: test/test_pytorch_playground_app.py (5260 lines)", "shortDescription": {"text": "Very large file: test/test_pytorch_playground_app.py (5260 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-3c248b6ea26d656b", "name": "Very large file: test/test_orchestrate_page_support.py (1838 lines)", "shortDescription": {"text": "Very large file: test/test_orchestrate_page_support.py (1838 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-1c0480f7ffd99116", "name": "Very large file: test/test_tescia_diagnostic_project.py (2402 lines)", "shortDescription": {"text": "Very large file: test/test_tescia_diagnostic_project.py (2402 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06c005e5db31e085", "name": "Very large file: pycharm/setup_pycharm.py (1885 lines)", "shortDescription": {"text": "Very large file: pycharm/setup_pycharm.py (1885 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-a3c1bff685873ad7", "name": "Very large file: tools/build_product_demo_reel.py (2305 lines)", "shortDescription": {"text": "Very large file: tools/build_product_demo_reel.py (2305 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-eb80b3750a071000", "name": "Very large file: tools/agilab_widget_robot.py (7022 lines)", "shortDescription": {"text": "Very large file: tools/agilab_widget_robot.py (7022 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-0084313cedc16f6d", "name": "Very large file: tools/agilab_widget_robot_matrix.py (1598 lines)", "shortDescription": {"text": "Very large file: tools/agilab_widget_robot_matrix.py (1598 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-51da0b428774345f", "name": "Very large file: tools/app_contract_matrix.py (1371 lines)", "shortDescription": {"text": "Very large file: tools/app_contract_matrix.py (1371 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-0e16c984122246b0", "name": "Very large file: tools/workflow_parity.py (3029 lines)", "shortDescription": {"text": "Very large file: tools/workflow_parity.py (3029 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-a869724b88ec3f6e", "name": "Very large file: tools/kpi_evidence_bundle.py (2658 lines)", "shortDescription": {"text": "Very large file: tools/kpi_evidence_bundle.py (2658 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-1c4537982682e60e", "name": "Very large file: tools/pypi_publish.py (2734 lines)", "shortDescription": {"text": "Very large file: tools/pypi_publish.py (2734 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-95f313906ad75030", "name": "Very large file: src/agilab/agent_runtime/agent_run.py (2060 lines)", "shortDescription": {"text": "Very large file: src/agilab/agent_runtime/agent_run.py (2060 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-fa31eafc65390fa4", "name": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py (3068 lin", "shortDescription": {"text": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py (3068 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-8f19778ee840ecf4", "name": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/domain/core.py (1521 lines)", "shortDescription": {"text": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/domain/core.py (1521 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-c926252823f209d0", "name": "Very large file: src/agilab/apps-pages/view_release_decision/src/view_release_decision/view_release_decision.py (2466 li", "shortDescription": {"text": "Very large file: src/agilab/apps-pages/view_release_decision/src/view_release_decision/view_release_decision.py (2466 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-ec0281ba8c132431", "name": "Very large file: src/agilab/apps-pages/view_maps_network/src/view_maps_network/view_maps_network.py (4598 lines)", "shortDescription": {"text": "Very large file: src/agilab/apps-pages/view_maps_network/src/view_maps_network/view_maps_network.py (4598 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-f9b373b2e9d4c9a3", "name": "Very large file: src/agilab/apps-pages/view_inference_analysis/src/view_inference_analysis/view_inference_analysis.py (1", "shortDescription": {"text": "Very large file: src/agilab/apps-pages/view_inference_analysis/src/view_inference_analysis/view_inference_analysis.py (1844 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-47b18c7f38732d8f", "name": "Very large file: src/agilab/apps-pages/view_maps_3d/src/view_maps_3d/view_maps_3d.py (1422 lines)", "shortDescription": {"text": "Very large file: src/agilab/apps-pages/view_maps_3d/src/view_maps_3d/view_maps_3d.py (1422 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-d588abffbd1224b2", "name": "Very large file: src/agilab/notebooks/notebook_export_support.py (3059 lines)", "shortDescription": {"text": "Very large file: src/agilab/notebooks/notebook_export_support.py (3059 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-e6d0529b34595e4d", "name": "Very large file: src/agilab/notebooks/notebook_pipeline_import.py (1917 lines)", "shortDescription": {"text": "Very large file: src/agilab/notebooks/notebook_pipeline_import.py (1917 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-4a6fc731ddd825ff", "name": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_pro", "shortDescription": {"text": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py (3068 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-525558585b3065ac", "name": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_pro", "shortDescription": {"text": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/domain/core.py (1521 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-046fc82136e6654a", "name": "Very large file: src/agilab/lib/agi-web/src/agi_web/component.py (1112 lines)", "shortDescription": {"text": "Very large file: src/agilab/lib/agi-web/src/agi_web/component.py (1112 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-2d06d73cb5276b0f", "name": "Very large file: src/agilab/pages/4_ANALYSIS.py (3474 lines)", "shortDescription": {"text": "Very large file: src/agilab/pages/4_ANALYSIS.py (3474 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-9a9c6828ec493280", "name": "Very large file: src/agilab/pages/3_WORKFLOW.py (1815 lines)", "shortDescription": {"text": "Very large file: src/agilab/pages/3_WORKFLOW.py (1815 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-3f57eb5caf7dd054", "name": "Very large file: src/agilab/pages/2_ORCHESTRATE.py (2783 lines)", "shortDescription": {"text": "Very large file: src/agilab/pages/2_ORCHESTRATE.py (2783 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-377d692225c0a70c", "name": "Very large file: src/agilab/pages/1_PROJECT.py (4818 lines)", "shortDescription": {"text": "Very large file: src/agilab/pages/1_PROJECT.py (4818 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-1266c32f0bfa0903", "name": "Very large file: src/agilab/evidence/evidence_contract.py (2018 lines)", "shortDescription": {"text": "Very large file: src/agilab/evidence/evidence_contract.py (2018 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-2193ee821387d696", "name": "Very large file: src/agilab/pipeline/pipeline_lab.py (5318 lines)", "shortDescription": {"text": "Very large file: src/agilab/pipeline/pipeline_lab.py (5318 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-81b53d22b6f79c04", "name": "Very large file: src/agilab/pipeline/pipeline_editor.py (1861 lines)", "shortDescription": {"text": "Very large file: src/agilab/pipeline/pipeline_editor.py (1861 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-b84cbcea09a9c403", "name": "Very large file: src/agilab/about_page/layout.py (1554 lines)", "shortDescription": {"text": "Very large file: src/agilab/about_page/layout.py (1554 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-5c5e12cf17e8c82b", "name": "Very large file: src/agilab/core/agi-env/test/test_pagelib.py (2815 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/agi-env/test/test_pagelib.py (2815 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-cb65724ffa02d3d4", "name": "Very large file: src/agilab/core/agi-env/test/test_agi_env.py (3255 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/agi-env/test/test_agi_env.py (3255 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-353246124e9e03b1", "name": "Very large file: src/agilab/core/agi-env/test/test_mlflow_store.py (1565 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/agi-env/test/test_mlflow_store.py (1565 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-7bdde35be46cfbe2", "name": "Very large file: src/agilab/core/test/test_agi_dispatcher_scripts.py (4387 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/test/test_agi_dispatcher_scripts.py (4387 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-2886539e65c40f8e", "name": "Very large file: src/agilab/core/test/test_agi_distributor_runtime_distribution_support.py (1787 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_runtime_distribution_support.py (1787 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-8178c8c212b5891d", "name": "Very large file: src/agilab/core/test/test_agi_distributor_service_lifecycle_support.py (1560 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_service_lifecycle_support.py (1560 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-6c143dda58e3a7b1", "name": "Very large file: src/agilab/core/test/test_agi_distributor_deployment_local_support.py (4940 lines)", "shortDescription": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_deployment_local_support.py (4940 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-56969de6c81fe2ff", "name": "Very large file: src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py (170", "shortDescription": {"text": "Very large file: src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py (1706 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-a9c79a9f71563ed8", "name": "Very large file: src/agilab/cluster/cluster_flight_validation.py (1433 lines)", "shortDescription": {"text": "Very large file: src/agilab/cluster/cluster_flight_validation.py (1433 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-ac968a50c0a1e7db", "name": "Very large file: src/agilab/orchestrate/orchestrate_execute.py (1526 lines)", "shortDescription": {"text": "Very large file: src/agilab/orchestrate/orchestrate_execute.py (1526 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-b8bdf2453fc68802", "name": "Very large file: src/agilab/orchestrate/orchestrate_cluster.py (1291 lines)", "shortDescription": {"text": "Very large file: src/agilab/orchestrate/orchestrate_cluster.py (1291 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-f19276ab12950feb", "name": "Very large file: src/agilab/orchestrate/orchestrate_services.py (1330 lines)", "shortDescription": {"text": "Very large file: src/agilab/orchestrate/orchestrate_services.py (1330 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-b28f14745d283d4b", "name": "Very large file: src/agilab/orchestrate/orchestrate_page_support.py (1945 lines)", "shortDescription": {"text": "Very large file: src/agilab/orchestrate/orchestrate_page_support.py (1945 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 989 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 110 placeholder/mock markers across 33 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-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c071face34facd1", "name": "Agent authority lacks a verifier contract: .claude/skills/chat-export/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/chat-export/SKILL.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-285fd9412c221bc6", "name": "Agent authority lacks a verifier contract: .claude/skills/report-qa-docx/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/report-qa-docx/SKILL.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-4bb000b65b80329c", "name": "Agent authority lacks a verifier contract: .claude/skills/agilab-local-llm/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/agilab-local-llm/SKILL.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-a16099637d02aaaf", "name": "Agent authority lacks a verifier contract: .claude/skills/pipeline-concept-view/references/lab_stages_review.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/pipeline-concept-view/references/lab_stages_review.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-4daf0001e7f72d1d", "name": "Agent authority lacks a verifier contract: .claude/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.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-fbe94c0cb5a95ac8", "name": "Agent authority lacks a verifier contract: .claude/skills/repo-skill-maintenance/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/repo-skill-maintenance/SKILL.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-4956b8acc46936bd", "name": "Agent authority lacks a verifier contract: .codex/skills/chat-export/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/chat-export/SKILL.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-06fda9ab5d96a9a1", "name": "Agent authority lacks a verifier contract: .codex/skills/report-qa-docx/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/report-qa-docx/SKILL.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-553aaecd17dd255a", "name": "Agent authority lacks a verifier contract: .codex/skills/agilab-local-llm/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/agilab-local-llm/SKILL.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-54e5aad11ddb7582", "name": "Agent authority lacks a verifier contract: .codex/skills/pipeline-concept-view/references/lab_stages_review.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/pipeline-concept-view/references/lab_stages_review.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-1f5e3c83849249c8", "name": "Agent authority lacks a verifier contract: .codex/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.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-b061a8a16b8a2c07", "name": "Agent authority lacks a verifier contract: .codex/skills/repo-skill-maintenance/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/repo-skill-maintenance/SKILL.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-8c8d2fbafcec1104", "name": "Legacy-named symbol `2_legacy` in test/test_hf_space_smoke.py:354", "shortDescription": {"text": "Legacy-named symbol `2_legacy` in test/test_hf_space_smoke.py:354"}, "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-8a773d680127aa8d", "name": "Legacy-named symbol `worker_copy` in test/test_workflow_parity.py:53", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in test/test_workflow_parity.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-4d183aac08d273e8", "name": "Legacy-named symbol `real_user_state_backup` in test/conftest.py:143", "shortDescription": {"text": "Legacy-named symbol `real_user_state_backup` in test/conftest.py:143"}, "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-bcbd328c1883bcd8", "name": "Legacy-named symbol `run_old` in test/test_pipeline_lab.py:2706", "shortDescription": {"text": "Legacy-named symbol `run_old` in test/test_pipeline_lab.py:2706"}, "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-7abc71ef9be65431", "name": "Legacy-named symbol `weather_forecast_legacy` in test/test_connector_registry.py:22", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_connector_registry.py:22"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74add2ea4f4aa680", "name": "Legacy-named symbol `worker_copy` in test/test_install_contract_check.py:30", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in test/test_install_contract_check.py:30"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-643728462ee48ed5", "name": "Legacy-named symbol `model_copy` in test/test_ui_pages.py:395", "shortDescription": {"text": "Legacy-named symbol `model_copy` in test/test_ui_pages.py:395"}, "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-63ab8cd7f3f07d84", "name": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai_support.py:364", "shortDescription": {"text": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai_support.py:364"}, "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-8bc16408227a40cf", "name": "Legacy-named symbol `weather_forecast_legacy` in test/test_app_installer_packaging.py:84", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_app_installer_packaging.py:84"}, "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-7228dbba31997ee3", "name": "Legacy-named symbol `worker_copy` in test/test_runtime_diagnostics.py:246", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in test/test_runtime_diagnostics.py:246"}, "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-b922ad16f74b9d86", "name": "Legacy-named symbol `openai_legacy` in test/test_agent_config_and_capabilities.py:112", "shortDescription": {"text": "Legacy-named symbol `openai_legacy` in test/test_agent_config_and_capabilities.py:112"}, "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-d6b43327a091d2b7", "name": "Legacy-named symbol `worker_copy` in test/test_worker_env_reuse.py:28", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in test/test_worker_env_reuse.py:28"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95696facdcf74f5c", "name": "Legacy-named symbol `test_root_copy` in test/test_coverage_shard_plan.py:117", "shortDescription": {"text": "Legacy-named symbol `test_root_copy` in test/test_coverage_shard_plan.py:117"}, "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-3b5251370ad1d9c2", "name": "Legacy-named symbol `view_legacy` in test/test_install_apps_discovery.py:198", "shortDescription": {"text": "Legacy-named symbol `view_legacy` in test/test_install_apps_discovery.py:198"}, "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-c5c5d386c4b5a266", "name": "Legacy-named symbol `nOld` in test/test_pypi_publish.py:1143", "shortDescription": {"text": "Legacy-named symbol `nOld` in test/test_pypi_publish.py:1143"}, "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-ae0142cd7d3121a6", "name": "Legacy-named symbol `weather_forecast_legacy` in test/test_agilab_widget_robot.py:1666", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_agilab_widget_robot.py:1666"}, "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-b508f2bbc4070627", "name": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai.py:233", "shortDescription": {"text": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai.py:233"}, "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-1ca30b5f977efaa3", "name": "Legacy-named symbol `worker_copy` in test/test_ci_workflow.py:68", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in test/test_ci_workflow.py:68"}, "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-f9c321527f3ddbf4", "name": "Legacy-named symbol `classroom_partial_worker_2_legacy` in test/test_tescia_diagnostic_project.py:2363", "shortDescription": {"text": "Legacy-named symbol `classroom_partial_worker_2_legacy` in test/test_tescia_diagnostic_project.py:2363"}, "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-4b21836e9e56624c", "name": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 docs/source/_stubs/agi_env/pagelib.py:6", "shortDescription": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 docs/source/_stubs/agi_env/pagelib.py:6"}, "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-4c7fc4cd82b5f2d3", "name": "Network/subprocess call without timeout or try/except \u2014 pycharm/setup_pycharm.py:319", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 pycharm/setup_pycharm.py:319"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-297fb51a1edb1542", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/render_slides.py:99", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/render_slides.py:99"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7c30af98af2e710", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/detect_font.py:120", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/detect_font.py:120"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f22d0671ca349e84", "name": "Commented-code block (14 lines) in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:28", "shortDescription": {"text": "Commented-code block (14 lines) in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2b53909a712202d2", "name": "Network/subprocess call without timeout or try/except \u2014 tools/export_demo_media.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/export_demo_media.py:22"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-60690223f3f81589", "name": "Network/subprocess call without timeout or try/except \u2014 tools/clean_local_artifacts.py:42", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/clean_local_artifacts.py:42"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-287123f3911f0e1f", "name": "Network/subprocess call without timeout or try/except \u2014 tools/builtin_app_tests.py:139", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/builtin_app_tests.py:139"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cbcffc35702b0131", "name": "Network/subprocess call without timeout or try/except \u2014 tools/bugfix_validate.py:198", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/bugfix_validate.py:198"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-933e56c992c8beba", "name": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_failure_replay.py:58", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_failure_replay.py:58"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-771d51873ad8c6dd", "name": "Legacy-named symbol `worker_copy` in tools/ui_robot_coverage_contract.py:472", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in tools/ui_robot_coverage_contract.py:472"}, "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-35dc371bed2af2f9", "name": "Commented-code block (6 lines) in tools/ui_robot_coverage_contract.py:101", "shortDescription": {"text": "Commented-code block (6 lines) in tools/ui_robot_coverage_contract.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-391b35007aeb5fdf", "name": "Legacy-named symbol `weather_forecast_legacy` in tools/build_product_demo_reel.py:505", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/build_product_demo_reel.py:505"}, "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-244aced69f22a9f2", "name": "Network/subprocess call without timeout or try/except \u2014 tools/build_product_demo_reel.py:644", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/build_product_demo_reel.py:644"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ed37f74ed08e037", "name": "Legacy-named symbol `weather_forecast_legacy` in tools/agilab_widget_robot.py:117", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/agilab_widget_robot.py:117"}, "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-25f396dd4fb401af", "name": "Network/subprocess call without timeout or try/except \u2014 tools/generate_docs_license_inventories.py:124", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_docs_license_inventories.py:124"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e95a6b2351f97eb7", "name": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_release_retention.py:903", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_release_retention.py:903"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-16aa56af5e0b9425", "name": "Legacy-named symbol `worker_copy` in tools/install_contract_check.py:237", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in tools/install_contract_check.py:237"}, "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-e669cfa17ff7fe68", "name": "Commented-code block (7 lines) in tools/ui_robot_action_contract.py:38", "shortDescription": {"text": "Commented-code block (7 lines) in tools/ui_robot_action_contract.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-0c542ae5a21c8772", "name": "Network/subprocess call without timeout or try/except \u2014 tools/generate_runconfig_scripts.py:83", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_runconfig_scripts.py:83"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-75c8b08152554501", "name": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_playground.py:161", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_playground.py:161"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fd33356bb4231b7", "name": "Network/subprocess call without timeout or try/except \u2014 tools/release_plan.py:141", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_plan.py:141"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e3c23f0c35559e9", "name": "Network/subprocess call without timeout or try/except \u2014 tools/profile_supply_chain_scan.py:183", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/profile_supply_chain_scan.py:183"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-202a3134137681ab", "name": "Network/subprocess call without timeout or try/except \u2014 tools/skill_security_scan.py:58", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/skill_security_scan.py:58"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b49b24c80848866", "name": "Network/subprocess call without timeout or try/except \u2014 tools/sync_agent_skills.py:40", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/sync_agent_skills.py:40"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7af807a6508c571", "name": "Network/subprocess call without timeout or try/except \u2014 tools/refresh_launch_matrix.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/refresh_launch_matrix.py:36"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-41e319b37806f245", "name": "Network/subprocess call without timeout or try/except \u2014 tools/shared_core_strict_typing.py:147", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/shared_core_strict_typing.py:147"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7df27ac7abbfa632", "name": "Legacy-named symbol `weather_forecast_legacy` in tools/build_three_project_demo_reel.py:232", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/build_three_project_demo_reel.py:232"}, "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-78d76463778bc791", "name": "Network/subprocess call without timeout or try/except \u2014 tools/build_three_project_demo_reel.py:163", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/build_three_project_demo_reel.py:163"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b41ab38739d49bff", "name": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_widget_robot_matrix.py:136", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_widget_robot_matrix.py:136"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72a9fae29938bb15", "name": "Network/subprocess call without timeout or try/except \u2014 tools/worktree_scope_guard.py:83", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/worktree_scope_guard.py:83"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54c938cdc4732a25", "name": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_evidence.py:71", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_evidence.py:71"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ad44e5349e08101f", "name": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_memory.py:187", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_memory.py:187"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b4c82b4438e1b10", "name": "Network/subprocess call without timeout or try/except \u2014 tools/impact_validate.py:183", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/impact_validate.py:183"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d8de2e667136362", "name": "Network/subprocess call without timeout or try/except \u2014 tools/beta_readiness.py:105", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/beta_readiness.py:105"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e8b5285c3592ae9", "name": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_mode_matrix.py:70", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_mode_matrix.py:70"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51ee9b59b1f318e8", "name": "Network/subprocess call without timeout or try/except \u2014 tools/generate_codex_skills_slides.py:38", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_codex_skills_slides.py:38"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12d85ccf0ea4f178", "name": "Network/subprocess call without timeout or try/except \u2014 tools/coverage_badge_guard.py:114", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/coverage_badge_guard.py:114"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6d0404a244bb5e73", "name": "Network/subprocess call without timeout or try/except \u2014 tools/repo_footprint.py:38", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/repo_footprint.py:38"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8670cb24fbe4a9a9", "name": "Network/subprocess call without timeout or try/except \u2014 tools/cython_worker_verify.py:299", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/cython_worker_verify.py:299"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-567f89043b355076", "name": "Network/subprocess call without timeout or try/except \u2014 tools/hf_space_release_sync.py:320", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/hf_space_release_sync.py:320"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1e96ecbdd9cc0ac2", "name": "Legacy-named symbol `worker_copy` in tools/worker_env_reuse.py:18", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in tools/worker_env_reuse.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4df632f9d4e9e13", "name": "Network/subprocess call without timeout or try/except \u2014 tools/generate_vscode_tasks.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_vscode_tasks.py:62"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a2152c729f013f90", "name": "Legacy-named symbol `worker_copy` in tools/production_readiness_report.py:98", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in tools/production_readiness_report.py:98"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5a7f45a2382106d", "name": "Network/subprocess call without timeout or try/except \u2014 tools/production_readiness_report.py:223", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/production_readiness_report.py:223"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8e5056b86c4dd42f", "name": "Network/subprocess call without timeout or try/except \u2014 tools/regression_fresh_install.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/regression_fresh_install.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9b12fd164bd878fc", "name": "Network/subprocess call without timeout or try/except \u2014 tools/task_worktree.py:20", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/task_worktree.py:20"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bcb87ffdefeee1d8", "name": "Commented-code block (10 lines) in tools/zip_all.py:19", "shortDescription": {"text": "Commented-code block (10 lines) in tools/zip_all.py:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa3933dd2be68ba1", "name": "Network/subprocess call without timeout or try/except \u2014 tools/agi_core_change_guard.py:57", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agi_core_change_guard.py:57"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3176212b6a571dc2", "name": "Network/subprocess call without timeout or try/except \u2014 tools/release_handoff.py:24", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_handoff.py:24"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0a452a71ce98557", "name": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_dashboard.py:382", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_dashboard.py:382"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d35d43bc14ee82aa", "name": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_dev.py:264", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_dev.py:264"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8e351adbd7fa067a", "name": "Network/subprocess call without timeout or try/except \u2014 tools/agent_context_router.py:116", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agent_context_router.py:116"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-230ec23e02861e71", "name": "Legacy-named symbol `worker_copy` in tools/workflow_parity.py:356", "shortDescription": {"text": "Legacy-named symbol `worker_copy` in tools/workflow_parity.py:356"}, "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-c8ee4d82d31705c6", "name": "Network/subprocess call without timeout or try/except \u2014 tools/workflow_parity.py:568", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/workflow_parity.py:568"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-980e142976103ac4", "name": "Network/subprocess call without timeout or try/except \u2014 tools/agent_skill_quality_guard.py:111", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agent_skill_quality_guard.py:111"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b22f05ca0cdad83", "name": "Network/subprocess call without timeout or try/except \u2014 tools/install_release_proof_package.py:125", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/install_release_proof_package.py:125"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-999d9a4edcdc239f", "name": "Network/subprocess call without timeout or try/except \u2014 tools/pre_push_changed_files.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pre_push_changed_files.py:77"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9fd89c5a23336526", "name": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_publish.py:715", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_publish.py:715"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d18ee127f961beb3", "name": "Network/subprocess call without timeout or try/except \u2014 tools/ga_regression_selector.py:138", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ga_regression_selector.py:138"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0859750c56ecd01", "name": "Network/subprocess call without timeout or try/except \u2014 tools/release_proof_report.py:408", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_proof_report.py:408"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b0ee12055b064c5", "name": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/render_slides.py:99", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/render_slides.py:99"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d53f31142200707f", "name": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/detect_font.py:120", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/detect_font.py:120"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-651384da72780241", "name": "Commented-code block (14 lines) in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:28", "shortDescription": {"text": "Commented-code block (14 lines) in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ffcbcf0bdb57217", "name": "Legacy-named symbol `project_copy` in src/agilab/bridge_cli.py:674", "shortDescription": {"text": "Legacy-named symbol `project_copy` in src/agilab/bridge_cli.py:674"}, "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-0cf8ab862e4361e8", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/bridge_cli.py:1166", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/bridge_cli.py:1166"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7912e4018dc00862", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/lab_run.py:380", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/lab_run.py:380"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb4c8ebc539dea33", "name": "Commented-code block (6 lines) in src/agilab/apps/install.py:12", "shortDescription": {"text": "Commented-code block (6 lines) in src/agilab/apps/install.py:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d944d54cff72730", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_qu", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate_worker/data_quality_gate_worker.py:117"}, "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-ed94db15d227b317", "name": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_", "shortDescription": {"text": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py:39"}, "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-023204b358e224d6", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/sklearn_pipeline_project/src/sklearn_", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/sklearn_pipeline_project/src/sklearn_pipeline_worker/sklearn_pipeline_worker.py:104"}, "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-4e5c7accc9c30fd3", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/mission_decision_project/src/mission_", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/mission_decision_project/src/mission_decision_worker/mission_decision_worker.py:106"}, "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-7b4566a3d08da819", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_project/src/weather_", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_project/src/weather_forecast_worker/weather_forecast_worker.py:71"}, "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-4708217a7b023076", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic_worker/tescia_diagnostic_worker.py:103"}, "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-68df314d37e3feee", "name": "Legacy-named symbol `model_copy` in src/agilab/apps/builtin/execution_pandas_project/test/test_execution_pandas_project.", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/agilab/apps/builtin/execution_pandas_project/test/test_execution_pandas_project.py:196"}, "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-d0196d93881d591a", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/r_runtime_bridge_project/src/r_runtim", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/r_runtime_bridge_project/src/r_runtime_bridge_worker/r_runtime_bridge_worker.py:112"}, "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-1dd3a12a3691ca6f", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pytorc", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground_worker/pytorch_playground_worker.py:110"}, "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-85d443374e019832", "name": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pyto", "shortDescription": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py:163"}, "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-0d03a5e26e15ed51", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_queue_project/src/uav_queue_worke", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_queue_project/src/uav_queue_worker/uav_queue_worker.py:197"}, "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-f522577e3760c806", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_relay_queue_project/src/uav_relay", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_relay_queue_project/src/uav_relay_queue_worker/uav_relay_queue_worker.py:197"}, "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-6bf5cd6670755dcb", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/test/test_weath", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/test/test_weather_forecast_legacy_project.py:17"}, "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-9576fa36ac9190cd", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/app_args_fo", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/app_args_form.py:14"}, "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-98b20a8edae013a5", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_for", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy_worker/weather_forecast_legacy_worker.py:17"}, "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-50c6f568b3c74477", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_legacy_project/src/w", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy_worker/weather_forecast_legacy_worker.py:71"}, "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-2afa1f4df3e20f67", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_for", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/__init__.py:13"}, "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-d0043fed029e16a7", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_for", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/app_args.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01270f9cec124796", "name": "Legacy-named symbol `WeatherForecastLegacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forec", "shortDescription": {"text": "Legacy-named symbol `WeatherForecastLegacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/weather_forecast_legacy.py:26"}, "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-a418b1dd24307d5c", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_for", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/reduction.py:21"}, "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-0e82b4e2407c6410", "name": "Commented-code block (5 lines) in src/agilab/apps/builtin/flight_telemetry_project/src/flight_telemetry_worker/flight_te", "shortDescription": {"text": "Commented-code block (5 lines) in src/agilab/apps/builtin/flight_telemetry_project/src/flight_telemetry_worker/flight_telemetry_worker.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d137ada12b4eb5c8", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/notebooks/notebook_export_support.py:1733", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/notebooks/notebook_export_support.py:1733"}, "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-536be4fdac573436", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_export_support.py:2697", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_export_support.py:2697"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-deae75658038d818", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_colab_support.py:150", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_colab_support.py:150"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52db216fe3011299", "name": "Stub function `_noop` (body is just `pass`/`return`) \u2014 src/agilab/notebooks/notebook_colab_support.py:87", "shortDescription": {"text": "Stub function `_noop` (body is just `pass`/`return`) \u2014 src/agilab/notebooks/notebook_colab_support.py:87"}, "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-6ab3a751a3b802ef", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-mission-decision/src/agi_app_mission_d", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-mission-decision/src/agi_app_mission_decision/project/mission_decision_project/src/mission_decision_worker/mission_decision_worker.py:106"}, "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-65ea6e15c71157a6", "name": "Commented-code block (5 lines) in src/agilab/lib/agi-app-flight-telemetry/src/agi_app_flight_telemetry/project/flight_te", "shortDescription": {"text": "Commented-code block (5 lines) in src/agilab/lib/agi-app-flight-telemetry/src/agi_app_flight_telemetry/project/flight_telemetry_project/src/flight_telemetry_worker/flight_telemetry_worker.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bce5a67eb7242667", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-weather-forecast/src/agi_app_weather_f", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-weather-forecast/src/agi_app_weather_forecast/project/weather_forecast_project/src/weather_forecast_worker/weather_forecast_worker.py:71"}, "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-afb3945123cf6040", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground_worker/pytorch_playground_worker.py:110"}, "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-dfff2e6429a2fae6", "name": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytor", "shortDescription": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py:163"}, "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-7c49e849d60a547b", "name": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-uav-relay-queue/src/agi_app_uav_relay_", "shortDescription": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-uav-relay-queue/src/agi_app_uav_relay_queue/project/uav_relay_queue_project/src/uav_relay_queue_worker/uav_relay_queue_worker.py:197"}, "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-413ddddb29d4267a", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/dag/dag_distributed_submitter.py:275", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/dag/dag_distributed_submitter.py:275"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-32d0cf8a145b6c44", "name": "Legacy-named symbol `escaped_old` in src/agilab/pages/4_ANALYSIS.py:1453", "shortDescription": {"text": "Legacy-named symbol `escaped_old` in src/agilab/pages/4_ANALYSIS.py:1453"}, "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-7c267eab131d1cff", "name": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/evidence/run_diff_evidence.py:455", "shortDescription": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/evidence/run_diff_evidence.py:455"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c501e9c500d73fb1", "name": "Stub function `finish` (body is just `pass`/`return`) \u2014 src/agilab/examples/mlflow_auto_tracking/preview_mlflow_auto_tra", "shortDescription": {"text": "Stub function `finish` (body is just `pass`/`return`) \u2014 src/agilab/examples/mlflow_auto_tracking/preview_mlflow_auto_tracking.py:63"}, "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-ff368f96872f0979", "name": "Legacy-named symbol `hero__copy` in src/agilab/about_page/layout.py:378", "shortDescription": {"text": "Legacy-named symbol `hero__copy` in src/agilab/about_page/layout.py:378"}, "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-882a9295569da915", "name": "Legacy-named symbol `sys_modules_backup` in src/agilab/core/agi-env/test/test_ui_support.py:31", "shortDescription": {"text": "Legacy-named symbol `sys_modules_backup` in src/agilab/core/agi-env/test/test_ui_support.py:31"}, "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-113dad94b90142c7", "name": "Legacy-named symbol `test_load_global_state_returns_empty_dict_for_invalid_toml_without_legacy` in src/agilab/core/agi-e", "shortDescription": {"text": "Legacy-named symbol `test_load_global_state_returns_empty_dict_for_invalid_toml_without_legacy` in src/agilab/core/agi-env/test/test_pagelib.py:282"}, "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-fa8aaf28810e4c98", "name": "Legacy-named symbol `test_configure_worker_runtime_resolves_builtin_worker_copy` in src/agilab/core/agi-env/test/test_wo", "shortDescription": {"text": "Legacy-named symbol `test_configure_worker_runtime_resolves_builtin_worker_copy` in src/agilab/core/agi-env/test/test_worker_runtime_support.py:38"}, "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-9e6023dc1cc0cfc0", "name": "Legacy-named symbol `test_missing_flattened_active_app_falls_back_to_builtin_copy` in src/agilab/core/agi-env/test/test_", "shortDescription": {"text": "Legacy-named symbol `test_missing_flattened_active_app_falls_back_to_builtin_copy` in src/agilab/core/agi-env/test/test_agi_env.py:652"}, "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-c1df94b811a979fa", "name": "Legacy-named symbol `test_migrate_legacy_mlflow_filestore_if_needed_skips_when_backend_exists_or_no_legacy` in src/agila", "shortDescription": {"text": "Legacy-named symbol `test_migrate_legacy_mlflow_filestore_if_needed_skips_when_backend_exists_or_no_legacy` in src/agilab/core/agi-env/test/test_mlflow_store.py:638"}, "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-4199c3967e95f2c4", "name": "Legacy-named symbol `test_merge_model_data_without_overrides_returns_copy` in src/agilab/core/agi-env/test/test_app_args", "shortDescription": {"text": "Legacy-named symbol `test_merge_model_data_without_overrides_returns_copy` in src/agilab/core/agi-env/test/test_app_args.py:47"}, "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-ba323732d4407310", "name": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_uv_source_support.py:776", "shortDescription": {"text": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_uv_source_support.py:776"}, "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-07e6be4db6721c0d", "name": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_cleanup_support.py:246", "shortDescription": {"text": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_cleanup_support.py:246"}, "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-b2cb48509777e7f3", "name": "Legacy-named symbol `done_old` in src/agilab/core/test/test_agi_distributor_service_state_support.py:723", "shortDescription": {"text": "Legacy-named symbol `done_old` in src/agilab/core/test/test_agi_distributor_service_state_support.py:723"}, "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-96d817c7985e68c1", "name": "Legacy-named symbol `test_deploy_local_worker_sorts_trajectory_archives_before_copy` in src/agilab/core/test/test_agi_di", "shortDescription": {"text": "Legacy-named symbol `test_deploy_local_worker_sorts_trajectory_archives_before_copy` in src/agilab/core/test/test_agi_distributor_deployment_local_support.py:4693"}, "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-6b060b9c536cc7d9", "name": "Legacy-named symbol `_remove_legacy_app_resource_copy` in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/de", "shortDescription": {"text": "Legacy-named symbol `_remove_legacy_app_resource_copy` in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py:300"}, "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-7268b8350201f8cc", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/depl", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py:182"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-609c46e98ba1f48c", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/runt", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/runtime/background_jobs_support.py:82"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b183c63354305f1", "name": "Commented-code block (7 lines) in src/agilab/core/agi-node/src/agi_node/dag_worker/dag_worker.py:218", "shortDescription": {"text": "Commented-code block (7 lines) in src/agilab/core/agi-node/src/agi_node/dag_worker/dag_worker.py:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd1fe9d695f277e3", "name": "Commented-code block (6 lines) in src/agilab/core/agi-node/src/agi_node/agi_dispatcher/base_worker.py:589", "shortDescription": {"text": "Commented-code block (6 lines) in src/agilab/core/agi-node/src/agi_node/agi_dispatcher/base_worker.py:589"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56dc13b05122c1a4", "name": "Stub function `_write_heartbeat` (body is just `pass`/`return`) \u2014 src/agilab/core/agi-node/src/agi_node/agi_dispatcher/b", "shortDescription": {"text": "Stub function `_write_heartbeat` (body is just `pass`/`return`) \u2014 src/agilab/core/agi-node/src/agi_node/agi_dispatcher/base_worker.py:530"}, "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-b263849d1bd7cb97", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/environment/venv_linker.py:240", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/environment/venv_linker.py:240"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b508cdaa14d63205", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_support.py:72", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_support.py:72"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-340471e04b49113b", "name": "Commented-code block (5 lines) in src/agilab/orchestrate/orchestrate_page_support.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in src/agilab/orchestrate/orchestrate_page_support.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2481f9f2edf432f6", "name": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_page_support.py:1009", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_page_support.py:1009"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a118a3aa3e47973", "name": "Near-duplicate function bodies in 19 places", "shortDescription": {"text": "Near-duplicate function bodies in 19 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndocs/source/snippets/AgiEnv.instanciation.py:agilab_apps_path, docs/source/examples/minimal_app/AGI.install-minimal_app.py:agilab_apps_path, docs/source/examples/minimal_app/AGI.get_distrib-minimal_app.py:agilab_apps_path, docs/source/examples/minimal_app/AGI.run-minimal_app.py:agilab_apps_path\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:\ndocs/source/examples/minimal_app/AGI.install-minimal_app.py:main, src/agilab/examples/minimal_app/AGI_install_minimal_app.py:main\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/21076"}, "properties": {"repository": "ThalesGroup/agilab", "repoUrl": "https://github.com/ThalesGroup/agilab", "branch": "main"}, "results": [{"ruleId": "scanner-36b6424e66be312b", "level": "note", "message": {"text": "Possibly dead Python function: detect_missing_fonts_odp"}, "properties": {"repobilityId": "287842ff010af50a", "scanner": "scanner-primary", "fingerprint": "36b6424e66be312b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/slides/scripts/detect_font.py:733"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd3cbe9c13e48d78", "level": "note", "message": {"text": "Possibly dead Python function: bullets"}, "properties": {"repobilityId": "0ce7f1fced69a00f", "scanner": "scanner-primary", "fingerprint": "cd3cbe9c13e48d78", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/build_state_of_art_prompt_deck.py:68"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4fa3464923584c9f", "level": "note", "message": {"text": "Possibly dead Python function: slide_multi_provider"}, "properties": {"repobilityId": "6f3530d3b19ae6b0", "scanner": "scanner-primary", "fingerprint": "4fa3464923584c9f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/build_state_of_art_prompt_deck.py:348"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c440d35abf2242b3", "level": "note", "message": {"text": "Possibly dead Python function: fetch_pypi_releases"}, "properties": {"repobilityId": "78c0793483bfbbce", "scanner": "scanner-primary", "fingerprint": "c440d35abf2242b3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_distribution_state.py:76"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f37295e29cbdfbae", "level": "note", "message": {"text": "Possibly dead Python function: fit_contain"}, "properties": {"repobilityId": "42034a10e0f652a7", "scanner": "scanner-primary", "fingerprint": "f37295e29cbdfbae", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/build_product_demo_reel.py:904"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ae7cd80af05b1b0", "level": "note", "message": {"text": "Possibly dead Python function: restore_tab_view"}, "properties": {"repobilityId": "52450e670ba2723b", "scanner": "scanner-primary", "fingerprint": "6ae7cd80af05b1b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/agilab_widget_robot.py:4968"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0a47be8df1e424c4", "level": "note", "message": {"text": "Possibly dead Python function: handle_starttag"}, "properties": {"repobilityId": "3bf216d149959ebf", "scanner": "scanner-primary", "fingerprint": "0a47be8df1e424c4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:64"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-915669a43ac6359d", "level": "note", "message": {"text": "Possibly dead Python function: handle_endtag"}, "properties": {"repobilityId": "7eb6f3decafc1766", "scanner": "scanner-primary", "fingerprint": "915669a43ac6359d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-520ea35cf26d3746", "level": "note", "message": {"text": "Possibly dead Python function: wait_for_protected_releases"}, "properties": {"repobilityId": "d01a3d122aba83ab", "scanner": "scanner-primary", "fingerprint": "520ea35cf26d3746", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:293"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74dd64fcca051aa3", "level": "note", "message": {"text": "Possibly dead Python function: verify_retention"}, "properties": {"repobilityId": "0992f8a45c00d254", "scanner": "scanner-primary", "fingerprint": "74dd64fcca051aa3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:950"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-309773ba801fb81f", "level": "note", "message": {"text": "Possibly dead Python function: confirm_provider"}, "properties": {"repobilityId": "0f248c918a406bc8", "scanner": "scanner-primary", "fingerprint": "309773ba801fb81f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:1254"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fc28d5913cf859a", "level": "note", "message": {"text": "Possibly dead Python function: cleanup_confirm_provider"}, "properties": {"repobilityId": "586aba9e916ac662", "scanner": "scanner-primary", "fingerprint": "6fc28d5913cf859a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_release_retention.py:1244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5271ac65d07afab9", "level": "note", "message": {"text": "Possibly dead Python function: handle_starttag"}, "properties": {"repobilityId": "3bf216d149959ebf", "scanner": "scanner-primary", "fingerprint": "5271ac65d07afab9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/agilab_web_robot.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4df07bc927193f0e", "level": "note", "message": {"text": "Possibly dead Python function: compute_from_component_xml"}, "properties": {"repobilityId": "52212ae670828bef", "scanner": "scanner-primary", "fingerprint": "4df07bc927193f0e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/generate_component_coverage_badges.py:129"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89e2373c3ff64a49", "level": "note", "message": {"text": "Possibly dead Python function: compute_from_combined_xml"}, "properties": {"repobilityId": "94b7c19ddf8eb80d", "scanner": "scanner-primary", "fingerprint": "89e2373c3ff64a49", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/generate_component_coverage_badges.py:169"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a7e0f9b118bbc114", "level": "note", "message": {"text": "Possibly dead Python function: run_compare_preprocess_benchmark"}, "properties": {"repobilityId": "29faebd630140a09", "scanner": "scanner-primary", "fingerprint": "a7e0f9b118bbc114", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/benchmark_execution_pandas_cython_kernel.py:285"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f957ab9a73140012", "level": "note", "message": {"text": "Possibly dead Python function: build_tasks"}, "properties": {"repobilityId": "481d8e668aa08722", "scanner": "scanner-primary", "fingerprint": "f957ab9a73140012", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/generate_vscode_tasks.py:419"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11cf36adfde583e4", "level": "note", "message": {"text": "Possibly dead Python function: build_launch"}, "properties": {"repobilityId": "4c6b0c8da9c6bcd5", "scanner": "scanner-primary", "fingerprint": "11cf36adfde583e4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/generate_vscode_tasks.py:423"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-252138de1b3156b5", "level": "note", "message": {"text": "Possibly dead Python function: confirm_provider"}, "properties": {"repobilityId": "0f248c918a406bc8", "scanner": "scanner-primary", "fingerprint": "252138de1b3156b5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_pending_trusted_publisher.py:629"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c063858d8cebc4ab", "level": "note", "message": {"text": "Possibly dead Python function: handle_data"}, "properties": {"repobilityId": "3a673a278f4fc1e6", "scanner": "scanner-primary", "fingerprint": "c063858d8cebc4ab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_publish.py:529"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74c1343b9069ec87", "level": "note", "message": {"text": "Possibly dead Python function: list_coverage_workflow_runs_for_head"}, "properties": {"repobilityId": "c3bb0fafcd70d110", "scanner": "scanner-primary", "fingerprint": "74c1343b9069ec87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_publish.py:738"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed230f3ff0d62baa", "level": "note", "message": {"text": "Possibly dead Python function: trigger_coverage_workflow"}, "properties": {"repobilityId": "77bb9f19fab6961a", "scanner": "scanner-primary", "fingerprint": "ed230f3ff0d62baa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_publish.py:760"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4f540ca89c80b9d", "level": "note", "message": {"text": "Possibly dead Python function: max_base_across_packages"}, "properties": {"repobilityId": "f43a66f4f8c11728", "scanner": "scanner-primary", "fingerprint": "e4f540ca89c80b9d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/pypi_publish.py:985"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31c3774898e32416", "level": "note", "message": {"text": "Possibly dead Python function: detect_missing_fonts_odp"}, "properties": {"repobilityId": "287842ff010af50a", "scanner": "scanner-primary", "fingerprint": "31c3774898e32416", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/slides/scripts/detect_font.py:733"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-654ba9077819fd3c", "level": "note", "message": {"text": "Possibly dead Python function: create_module"}, "properties": {"repobilityId": "760e2ff08b1962c8", "scanner": "scanner-primary", "fingerprint": "654ba9077819fd3c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py:36"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee696c6e481f1a12", "level": "note", "message": {"text": "Possibly dead Python function: render_active_project_chip"}, "properties": {"repobilityId": "4884535395cb7aa3", "scanner": "scanner-primary", "fingerprint": "ee696c6e481f1a12", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/ui/page_bootstrap.py:267"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-67e7a8875c37788e", "level": "note", "message": {"text": "Possibly dead Python function: app_project_spec"}, "properties": {"repobilityId": "e6ecec1cb7f37b8d", "scanner": "scanner-primary", "fingerprint": "67e7a8875c37788e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/lib/app_project_build_support.py:117"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e8fc0e30c5ef8f1", "level": "note", "message": {"text": "Possibly dead Python function: render_project_status_page"}, "properties": {"repobilityId": "87ae0a0ba5a78b88", "scanner": "scanner-primary", "fingerprint": "7e8fc0e30c5ef8f1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/workflow/workflow_ui.py:657"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-be74a5a0b0ebb711", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .claude/skills/slides/assets/pptxgenjs_helpers/layout.js:230"}, "properties": {"repobilityId": "19868916af67fc60", "scanner": "scanner-primary", "fingerprint": "be74a5a0b0ebb711", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d75a932db9065f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .codex/skills/slides/assets/pptxgenjs_helpers/layout.js:230"}, "properties": {"repobilityId": "ddd4e435757e5fca", "scanner": "scanner-primary", "fingerprint": "4d75a932db9065f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e49be5f3d49c3810", "level": "warning", "message": {"text": "Privileged port 140 in use"}, "properties": {"repobilityId": "80e268388d83c9b4", "scanner": "scanner-primary", "fingerprint": "e49be5f3d49c3810", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/capture_demo_workflow.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd402ea3cfe7097b", "level": "warning", "message": {"text": "Privileged port 120 in use"}, "properties": {"repobilityId": "1b5bc14c8e1d1785", "scanner": "scanner-primary", "fingerprint": "cd402ea3cfe7097b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/capture_demo_workflow.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b099e58671c985c2", "level": "warning", "message": {"text": "Privileged port 900 in use"}, "properties": {"repobilityId": "454015867df75177", "scanner": "scanner-primary", "fingerprint": "b099e58671c985c2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/capture_demo_workflow.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47636e33caef255d", "level": "warning", "message": {"text": "Dockerfile runs as root: docker/Dockerfile"}, "properties": {"repobilityId": "8a345ba4198453bd", "scanner": "scanner-primary", "fingerprint": "47636e33caef255d", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-28f56e87ac2a4c4b", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: ghcr.io/astral-sh/uv:bookworm-slim"}, "properties": {"repobilityId": "2a04587c9a14173a", "scanner": "scanner-primary", "fingerprint": "28f56e87ac2a4c4b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-393947db49b52a68", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in .claude/skills/agilab-deep-audit/SKILL.md:95"}, "properties": {"repobilityId": "4d15447b10f5f85d", "scanner": "scanner-primary", "fingerprint": "393947db49b52a68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/agilab-deep-audit/SKILL.md"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-2671e23415d3f0c2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:4"}, "properties": {"repobilityId": "8288eb36420627d4", "scanner": "scanner-primary", "fingerprint": "2671e23415d3f0c2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/slides/assets/pptxgenjs_helpers/text.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-d08073e74d92c5dc", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in tools/security_hygiene_report.py:183"}, "properties": {"repobilityId": "ed6952c78cbd09ca", "scanner": "scanner-primary", "fingerprint": "d08073e74d92c5dc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/security_hygiene_report.py"}, "region": {"startLine": 183}}}]}, {"ruleId": "scanner-eb65c0161577c12b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in tools/cython_worker_verify.py:260"}, "properties": {"repobilityId": "ccb03018d08b1cf9", "scanner": "scanner-primary", "fingerprint": "eb65c0161577c12b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/cython_worker_verify.py"}, "region": {"startLine": 260}}}]}, {"ruleId": "scanner-d2c7f5fa74b791a6", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in .codex/skills/agilab-deep-audit/SKILL.md:95"}, "properties": {"repobilityId": "e7224a39b05dbcfe", "scanner": "scanner-primary", "fingerprint": "d2c7f5fa74b791a6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/agilab-deep-audit/SKILL.md"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-249b08986ad6eb95", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:4"}, "properties": {"repobilityId": "2ab3bfb9f72a513f", "scanner": "scanner-primary", "fingerprint": "249b08986ad6eb95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/slides/assets/pptxgenjs_helpers/text.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-adf3f0a88eff4ca7", "level": "error", "message": {"text": "Possible secret in .github/workflows/ui-robot-matrix.yml"}, "properties": {"repobilityId": "d679c4b07e18094b", "scanner": "scanner-primary", "fingerprint": "adf3f0a88eff4ca7", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ui-robot-matrix.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-a23fdac1b63d38a4", "level": "error", "message": {"text": "Possible secret in .github/workflows/ci.yml"}, "properties": {"repobilityId": "f537e33a05dd0cf9", "scanner": "scanner-primary", "fingerprint": "a23fdac1b63d38a4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-a23fdac1b63d38a4", "level": "error", "message": {"text": "Possible secret in .github/workflows/ci.yml"}, "properties": {"repobilityId": "f537e33a05dd0cf9", "scanner": "scanner-primary", "fingerprint": "a23fdac1b63d38a4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-a23fdac1b63d38a4", "level": "error", "message": {"text": "Possible secret in .github/workflows/ci.yml"}, "properties": {"repobilityId": "f537e33a05dd0cf9", "scanner": "scanner-primary", "fingerprint": "a23fdac1b63d38a4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-13289bfdacd4782f", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/agent_runtime/agi_codex.py:40"}, "properties": {"repobilityId": "50d52fd69230c9d7", "scanner": "scanner-primary", "fingerprint": "13289bfdacd4782f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/agent_runtime/agi_codex.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-012f574492d4d71b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/compat/module_shim.py:67"}, "properties": {"repobilityId": "7dbf90a4d0617534", "scanner": "scanner-primary", "fingerprint": "012f574492d4d71b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/compat/module_shim.py"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-100883557b71b0b0", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py:89"}, "properties": {"repobilityId": "862e3c2aea8b2146", "scanner": "scanner-primary", "fingerprint": "100883557b71b0b0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-1090d63777af254c", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic/compat/module_shim.py:68"}, "properties": {"repobilityId": "ac7c379da095a631", "scanner": "scanner-primary", "fingerprint": "1090d63777af254c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic/compat/module_shim.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-2f8c9c27663058b6", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py:70"}, "properties": {"repobilityId": "28d6731cb51f7bc4", "scanner": "scanner-primary", "fingerprint": "2f8c9c27663058b6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-425cb86b49dd66a9", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py:70"}, "properties": {"repobilityId": "7de6c2fc13f0ba65", "scanner": "scanner-primary", "fingerprint": "425cb86b49dd66a9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/compat/module_shim.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-1c4a70b7bf74a9c4", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in src/agilab/pages/4_ANALYSIS.py:876"}, "properties": {"repobilityId": "743fcec9614a6c35", "scanner": "scanner-primary", "fingerprint": "1c4a70b7bf74a9c4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/pages/4_ANALYSIS.py"}, "region": {"startLine": 876}}}]}, {"ruleId": "scanner-777e4d34a0339b62", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/pipeline/pipeline_ai_support.py:1096"}, "properties": {"repobilityId": "1f45e56ea264d9af", "scanner": "scanner-primary", "fingerprint": "777e4d34a0339b62", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/pipeline/pipeline_ai_support.py"}, "region": {"startLine": 1096}}}]}, {"ruleId": "scanner-1c376b064fd83fc0", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/core/agi-env/src/agi_env/compat/module_shim.py:67"}, "properties": {"repobilityId": "d0a698ee04d854a5", "scanner": "scanner-primary", "fingerprint": "1c376b064fd83fc0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/core/agi-env/src/agi_env/compat/module_shim.py"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-d083f174f2c07be9", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/compat/module_shim.py:66"}, "properties": {"repobilityId": "970ef476ff4c0e50", "scanner": "scanner-primary", "fingerprint": "d083f174f2c07be9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/compat/module_shim.py"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-6a4e2a827308dc4d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9076a815ef3abdea", "scanner": "scanner-primary", "fingerprint": "6a4e2a827308dc4d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pypi-publish.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e9919b9749936598", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3f7a1dcb710438e4", "scanner": "scanner-primary", "fingerprint": "e9919b9749936598", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/coverage.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37c15e6db1b7b6f8", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "595eef6a75cbfca7", "scanner": "scanner-primary", "fingerprint": "37c15e6db1b7b6f8", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test-pypi-publish.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2474cb2e40783827", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1d05c3b3d3569f9f", "scanner": "scanner-primary", "fingerprint": "2474cb2e40783827", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-publish.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ebd05fa5a1a4a058", "level": "note", "message": {"text": "Very large file: install.sh (1676 lines)"}, "properties": {"repobilityId": "642d236e3dbb2bb8", "scanner": "scanner-primary", "fingerprint": "ebd05fa5a1a4a058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b3a26516c5e38a0", "level": "note", "message": {"text": "Very large file: test/test_workflow_parity.py (2010 lines)"}, "properties": {"repobilityId": "0c65e3f80db810c2", "scanner": "scanner-primary", "fingerprint": "8b3a26516c5e38a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a0200508c7f2363", "level": "note", "message": {"text": "Very large file: test/test_view_maps.py (1769 lines)"}, "properties": {"repobilityId": "63540bc77e024b65", "scanner": "scanner-primary", "fingerprint": "2a0200508c7f2363", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5438e143d219cd3b", "level": "note", "message": {"text": "Very large file: test/test_pipeline_lab.py (6507 lines)"}, "properties": {"repobilityId": "2b407549bdc02088", "scanner": "scanner-primary", "fingerprint": "5438e143d219cd3b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-97aca471c45d20b8", "level": "note", "message": {"text": "Very large file: test/test_view_maps_3d.py (1339 lines)"}, "properties": {"repobilityId": "26b124e404aa2201", "scanner": "scanner-primary", "fingerprint": "97aca471c45d20b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18362c84860daa92", "level": "note", "message": {"text": "Very large file: test/test_agent_run.py (1530 lines)"}, "properties": {"repobilityId": "77d533d61fbfa310", "scanner": "scanner-primary", "fingerprint": "18362c84860daa92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7dbb32cf0b616de6", "level": "note", "message": {"text": "Very large file: test/test_view_release_decision.py (1653 lines)"}, "properties": {"repobilityId": "f19a3797e3c1e8dd", "scanner": "scanner-primary", "fingerprint": "7dbb32cf0b616de6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8819d4cd54ac82fd", "level": "note", "message": {"text": "Very large file: test/test_orchestrate_execute.py (2674 lines)"}, "properties": {"repobilityId": "4861e0165cfd0a9b", "scanner": "scanner-primary", "fingerprint": "8819d4cd54ac82fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af1913f5b4bbf8dd", "level": "note", "message": {"text": "Very large file: test/test_ui_pages.py (3690 lines)"}, "properties": {"repobilityId": "5496529969178b3d", "scanner": "scanner-primary", "fingerprint": "af1913f5b4bbf8dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d972f31f3a174dd7", "level": "note", "message": {"text": "Very large file: test/test_orchestrate_cluster.py (2161 lines)"}, "properties": {"repobilityId": "5a09714251f88298", "scanner": "scanner-primary", "fingerprint": "d972f31f3a174dd7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a4880396e569200", "level": "note", "message": {"text": "Very large file: test/test_orchestrate_page_helpers.py (2574 lines)"}, "properties": {"repobilityId": "6ad039bff38755f6", "scanner": "scanner-primary", "fingerprint": "9a4880396e569200", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-39c2fcc912b6005c", "level": "note", "message": {"text": "Very large file: test/test_app_installer_packaging.py (2003 lines)"}, "properties": {"repobilityId": "60e942865d82229d", "scanner": "scanner-primary", "fingerprint": "39c2fcc912b6005c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d7ce482b32052109", "level": "note", "message": {"text": "Very large file: test/test_analysis_page_helpers.py (1965 lines)"}, "properties": {"repobilityId": "7bf5a4c09b10cba0", "scanner": "scanner-primary", "fingerprint": "d7ce482b32052109", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3e964af8051ba66e", "level": "note", "message": {"text": "Very large file: test/test_project_clone_policy.py (2492 lines)"}, "properties": {"repobilityId": "e7a63ca176ac68c3", "scanner": "scanner-primary", "fingerprint": "3e964af8051ba66e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-343887524a4e9818", "level": "note", "message": {"text": "Very large file: test/test_view_maps_network_page_state.py (1516 lines)"}, "properties": {"repobilityId": "737b072b0a2d5ea6", "scanner": "scanner-primary", "fingerprint": "343887524a4e9818", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0fc5fbdb95ed724e", "level": "note", "message": {"text": "Very large file: test/test_agilab_web_robot.py (2180 lines)"}, "properties": {"repobilityId": "b74b56544e8252c1", "scanner": "scanner-primary", "fingerprint": "0fc5fbdb95ed724e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de09a2f12791fce4", "level": "note", "message": {"text": "Very large file: test/test_orchestrate_services.py (1403 lines)"}, "properties": {"repobilityId": "bd1df445aed6770d", "scanner": "scanner-primary", "fingerprint": "de09a2f12791fce4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21f9521eb0ff97d0", "level": "note", "message": {"text": "Very large file: test/test_pipeline_runtime.py (2024 lines)"}, "properties": {"repobilityId": "bd55668e283ea2de", "scanner": "scanner-primary", "fingerprint": "21f9521eb0ff97d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-464522edb625bac6", "level": "note", "message": {"text": "Very large file: test/test_view_training_analysis.py (1283 lines)"}, "properties": {"repobilityId": "e0bcf69d85e0da87", "scanner": "scanner-primary", "fingerprint": "464522edb625bac6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-df92bb63574eda9a", "level": "note", "message": {"text": "Very large file: test/test_pypi_publish.py (2680 lines)"}, "properties": {"repobilityId": "a7cd2130119a3e51", "scanner": "scanner-primary", "fingerprint": "df92bb63574eda9a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b54c74a626f2fbb2", "level": "note", "message": {"text": "Very large file: test/test_agilab_widget_robot.py (6035 lines)"}, "properties": {"repobilityId": "15480a5384f20a08", "scanner": "scanner-primary", "fingerprint": "b54c74a626f2fbb2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8d709e5fd676d2a6", "level": "note", "message": {"text": "Very large file: test/test_pipeline_ai.py (4621 lines)"}, "properties": {"repobilityId": "c9e65eb5e765137c", "scanner": "scanner-primary", "fingerprint": "8d709e5fd676d2a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ad6b5a1c4e978cb", "level": "note", "message": {"text": "Very large file: test/test_about_agilab_helpers.py (6554 lines)"}, "properties": {"repobilityId": "28ab191c8728c99c", "scanner": "scanner-primary", "fingerprint": "9ad6b5a1c4e978cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2afdfa13518a499a", "level": "note", "message": {"text": "Very large file: test/test_view_inference_analysis.py (1962 lines)"}, "properties": {"repobilityId": "3bcc70462e3d6922", "scanner": "scanner-primary", "fingerprint": "2afdfa13518a499a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-289f506db5221f12", "level": "note", "message": {"text": "Very large file: test/test_pipeline_editor.py (5053 lines)"}, "properties": {"repobilityId": "2ebb4067cb33ccba", "scanner": "scanner-primary", "fingerprint": "289f506db5221f12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-783f92888751c912", "level": "note", "message": {"text": "Very large file: test/test_agilab_widget_robot_matrix.py (2259 lines)"}, "properties": {"repobilityId": "6e022d8f016b9eec", "scanner": "scanner-primary", "fingerprint": "783f92888751c912", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-58463199d3f04a1e", "level": "note", "message": {"text": "Very large file: test/test_view_maps_network.py (3385 lines)"}, "properties": {"repobilityId": "bc7039fe1df1fa3f", "scanner": "scanner-primary", "fingerprint": "58463199d3f04a1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a1ea9584b8b37da", "level": "note", "message": {"text": "Very large file: test/test_pytorch_playground_app.py (5260 lines)"}, "properties": {"repobilityId": "311e383fcaede9e3", "scanner": "scanner-primary", "fingerprint": "9a1ea9584b8b37da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c248b6ea26d656b", "level": "note", "message": {"text": "Very large file: test/test_orchestrate_page_support.py (1838 lines)"}, "properties": {"repobilityId": "33ed90be70794d0e", "scanner": "scanner-primary", "fingerprint": "3c248b6ea26d656b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c0480f7ffd99116", "level": "note", "message": {"text": "Very large file: test/test_tescia_diagnostic_project.py (2402 lines)"}, "properties": {"repobilityId": "42143f9d27081aca", "scanner": "scanner-primary", "fingerprint": "1c0480f7ffd99116", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-06c005e5db31e085", "level": "note", "message": {"text": "Very large file: pycharm/setup_pycharm.py (1885 lines)"}, "properties": {"repobilityId": "ddf890387a07fd89", "scanner": "scanner-primary", "fingerprint": "06c005e5db31e085", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3c1bff685873ad7", "level": "note", "message": {"text": "Very large file: tools/build_product_demo_reel.py (2305 lines)"}, "properties": {"repobilityId": "ca8933682e30c415", "scanner": "scanner-primary", "fingerprint": "a3c1bff685873ad7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eb80b3750a071000", "level": "note", "message": {"text": "Very large file: tools/agilab_widget_robot.py (7022 lines)"}, "properties": {"repobilityId": "cbb48d7fb146cd09", "scanner": "scanner-primary", "fingerprint": "eb80b3750a071000", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0084313cedc16f6d", "level": "note", "message": {"text": "Very large file: tools/agilab_widget_robot_matrix.py (1598 lines)"}, "properties": {"repobilityId": "ff2ef1356d189c98", "scanner": "scanner-primary", "fingerprint": "0084313cedc16f6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-51da0b428774345f", "level": "note", "message": {"text": "Very large file: tools/app_contract_matrix.py (1371 lines)"}, "properties": {"repobilityId": "30c9d88459f3964e", "scanner": "scanner-primary", "fingerprint": "51da0b428774345f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e16c984122246b0", "level": "note", "message": {"text": "Very large file: tools/workflow_parity.py (3029 lines)"}, "properties": {"repobilityId": "de695ff1398d2ebb", "scanner": "scanner-primary", "fingerprint": "0e16c984122246b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a869724b88ec3f6e", "level": "note", "message": {"text": "Very large file: tools/kpi_evidence_bundle.py (2658 lines)"}, "properties": {"repobilityId": "614a631696f65d7e", "scanner": "scanner-primary", "fingerprint": "a869724b88ec3f6e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c4537982682e60e", "level": "note", "message": {"text": "Very large file: tools/pypi_publish.py (2734 lines)"}, "properties": {"repobilityId": "6c3351b05ef1b830", "scanner": "scanner-primary", "fingerprint": "1c4537982682e60e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-95f313906ad75030", "level": "note", "message": {"text": "Very large file: src/agilab/agent_runtime/agent_run.py (2060 lines)"}, "properties": {"repobilityId": "ee5d029fc49e042a", "scanner": "scanner-primary", "fingerprint": "95f313906ad75030", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa31eafc65390fa4", "level": "note", "message": {"text": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py (3068 lines)"}, "properties": {"repobilityId": "77c7dcc226bfada1", "scanner": "scanner-primary", "fingerprint": "fa31eafc65390fa4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f19778ee840ecf4", "level": "note", "message": {"text": "Very large file: src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/domain/core.py (1521 lines)"}, "properties": {"repobilityId": "49e3bdb84786c736", "scanner": "scanner-primary", "fingerprint": "8f19778ee840ecf4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c926252823f209d0", "level": "note", "message": {"text": "Very large file: src/agilab/apps-pages/view_release_decision/src/view_release_decision/view_release_decision.py (2466 lines)"}, "properties": {"repobilityId": "375e00864d38b0ce", "scanner": "scanner-primary", "fingerprint": "c926252823f209d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ec0281ba8c132431", "level": "note", "message": {"text": "Very large file: src/agilab/apps-pages/view_maps_network/src/view_maps_network/view_maps_network.py (4598 lines)"}, "properties": {"repobilityId": "9c9c85a1bb2662e2", "scanner": "scanner-primary", "fingerprint": "ec0281ba8c132431", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f9b373b2e9d4c9a3", "level": "note", "message": {"text": "Very large file: src/agilab/apps-pages/view_inference_analysis/src/view_inference_analysis/view_inference_analysis.py (1844 lines)"}, "properties": {"repobilityId": "31d314f1abbb966a", "scanner": "scanner-primary", "fingerprint": "f9b373b2e9d4c9a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47b18c7f38732d8f", "level": "note", "message": {"text": "Very large file: src/agilab/apps-pages/view_maps_3d/src/view_maps_3d/view_maps_3d.py (1422 lines)"}, "properties": {"repobilityId": "4ab7c54b18b2904b", "scanner": "scanner-primary", "fingerprint": "47b18c7f38732d8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d588abffbd1224b2", "level": "note", "message": {"text": "Very large file: src/agilab/notebooks/notebook_export_support.py (3059 lines)"}, "properties": {"repobilityId": "0380ee8c632e7b6b", "scanner": "scanner-primary", "fingerprint": "d588abffbd1224b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6d0529b34595e4d", "level": "note", "message": {"text": "Very large file: src/agilab/notebooks/notebook_pipeline_import.py (1917 lines)"}, "properties": {"repobilityId": "f3c522be3fd7f5e5", "scanner": "scanner-primary", "fingerprint": "e6d0529b34595e4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4a6fc731ddd825ff", "level": "note", "message": {"text": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py (3068 lines)"}, "properties": {"repobilityId": "5c60459d1c9f1d38", "scanner": "scanner-primary", "fingerprint": "4a6fc731ddd825ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-525558585b3065ac", "level": "note", "message": {"text": "Very large file: src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/domain/core.py (1521 lines)"}, "properties": {"repobilityId": "6dcd3234faf15315", "scanner": "scanner-primary", "fingerprint": "525558585b3065ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-046fc82136e6654a", "level": "note", "message": {"text": "Very large file: src/agilab/lib/agi-web/src/agi_web/component.py (1112 lines)"}, "properties": {"repobilityId": "41be20a76c8a4e3a", "scanner": "scanner-primary", "fingerprint": "046fc82136e6654a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d06d73cb5276b0f", "level": "note", "message": {"text": "Very large file: src/agilab/pages/4_ANALYSIS.py (3474 lines)"}, "properties": {"repobilityId": "76ee1a0732c9a477", "scanner": "scanner-primary", "fingerprint": "2d06d73cb5276b0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a9c6828ec493280", "level": "note", "message": {"text": "Very large file: src/agilab/pages/3_WORKFLOW.py (1815 lines)"}, "properties": {"repobilityId": "94f84baf86cb9071", "scanner": "scanner-primary", "fingerprint": "9a9c6828ec493280", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3f57eb5caf7dd054", "level": "note", "message": {"text": "Very large file: src/agilab/pages/2_ORCHESTRATE.py (2783 lines)"}, "properties": {"repobilityId": "81fc3311f7e33342", "scanner": "scanner-primary", "fingerprint": "3f57eb5caf7dd054", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-377d692225c0a70c", "level": "note", "message": {"text": "Very large file: src/agilab/pages/1_PROJECT.py (4818 lines)"}, "properties": {"repobilityId": "b2ed3198da3c8435", "scanner": "scanner-primary", "fingerprint": "377d692225c0a70c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1266c32f0bfa0903", "level": "note", "message": {"text": "Very large file: src/agilab/evidence/evidence_contract.py (2018 lines)"}, "properties": {"repobilityId": "d09d3dee013eff60", "scanner": "scanner-primary", "fingerprint": "1266c32f0bfa0903", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2193ee821387d696", "level": "note", "message": {"text": "Very large file: src/agilab/pipeline/pipeline_lab.py (5318 lines)"}, "properties": {"repobilityId": "8f5853ce6ee1bcbc", "scanner": "scanner-primary", "fingerprint": "2193ee821387d696", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81b53d22b6f79c04", "level": "note", "message": {"text": "Very large file: src/agilab/pipeline/pipeline_editor.py (1861 lines)"}, "properties": {"repobilityId": "cae0ecbd329c7b5f", "scanner": "scanner-primary", "fingerprint": "81b53d22b6f79c04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b84cbcea09a9c403", "level": "note", "message": {"text": "Very large file: src/agilab/about_page/layout.py (1554 lines)"}, "properties": {"repobilityId": "5d9de58667c335d1", "scanner": "scanner-primary", "fingerprint": "b84cbcea09a9c403", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c5e12cf17e8c82b", "level": "note", "message": {"text": "Very large file: src/agilab/core/agi-env/test/test_pagelib.py (2815 lines)"}, "properties": {"repobilityId": "6931161383b443a6", "scanner": "scanner-primary", "fingerprint": "5c5e12cf17e8c82b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb65724ffa02d3d4", "level": "note", "message": {"text": "Very large file: src/agilab/core/agi-env/test/test_agi_env.py (3255 lines)"}, "properties": {"repobilityId": "41b8c8a0f9d3f0f5", "scanner": "scanner-primary", "fingerprint": "cb65724ffa02d3d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-353246124e9e03b1", "level": "note", "message": {"text": "Very large file: src/agilab/core/agi-env/test/test_mlflow_store.py (1565 lines)"}, "properties": {"repobilityId": "5a224d2fc6819004", "scanner": "scanner-primary", "fingerprint": "353246124e9e03b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7bdde35be46cfbe2", "level": "note", "message": {"text": "Very large file: src/agilab/core/test/test_agi_dispatcher_scripts.py (4387 lines)"}, "properties": {"repobilityId": "f77c5e66ae521e28", "scanner": "scanner-primary", "fingerprint": "7bdde35be46cfbe2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2886539e65c40f8e", "level": "note", "message": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_runtime_distribution_support.py (1787 lines)"}, "properties": {"repobilityId": "98f78f7dc70969d9", "scanner": "scanner-primary", "fingerprint": "2886539e65c40f8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8178c8c212b5891d", "level": "note", "message": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_service_lifecycle_support.py (1560 lines)"}, "properties": {"repobilityId": "8f88d4601d024d72", "scanner": "scanner-primary", "fingerprint": "8178c8c212b5891d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6c143dda58e3a7b1", "level": "note", "message": {"text": "Very large file: src/agilab/core/test/test_agi_distributor_deployment_local_support.py (4940 lines)"}, "properties": {"repobilityId": "68fb4975c05073f9", "scanner": "scanner-primary", "fingerprint": "6c143dda58e3a7b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56969de6c81fe2ff", "level": "note", "message": {"text": "Very large file: src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py (1706 lines)"}, "properties": {"repobilityId": "3388672e23724eb9", "scanner": "scanner-primary", "fingerprint": "56969de6c81fe2ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a9c79a9f71563ed8", "level": "note", "message": {"text": "Very large file: src/agilab/cluster/cluster_flight_validation.py (1433 lines)"}, "properties": {"repobilityId": "d0551fc36c08168b", "scanner": "scanner-primary", "fingerprint": "a9c79a9f71563ed8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac968a50c0a1e7db", "level": "note", "message": {"text": "Very large file: src/agilab/orchestrate/orchestrate_execute.py (1526 lines)"}, "properties": {"repobilityId": "ef42790e97b45bc7", "scanner": "scanner-primary", "fingerprint": "ac968a50c0a1e7db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b8bdf2453fc68802", "level": "note", "message": {"text": "Very large file: src/agilab/orchestrate/orchestrate_cluster.py (1291 lines)"}, "properties": {"repobilityId": "8275afc879ad14e3", "scanner": "scanner-primary", "fingerprint": "b8bdf2453fc68802", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f19276ab12950feb", "level": "note", "message": {"text": "Very large file: src/agilab/orchestrate/orchestrate_services.py (1330 lines)"}, "properties": {"repobilityId": "cea8f69e590db141", "scanner": "scanner-primary", "fingerprint": "f19276ab12950feb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b28f14745d283d4b", "level": "note", "message": {"text": "Very large file: src/agilab/orchestrate/orchestrate_page_support.py (1945 lines)"}, "properties": {"repobilityId": "07897238fd2a6497", "scanner": "scanner-primary", "fingerprint": "b28f14745d283d4b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "f0dc1ad14ca73ca5", "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": "630b0931ffdc083f", "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": "6a989ae53bd0c26c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "2a95aa1627c3309a", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "64d9fdd79074dc63", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-9c071face34facd1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/chat-export/SKILL.md"}, "properties": {"repobilityId": "89185a47085eea6d", "scanner": "scanner-primary", "fingerprint": "9c071face34facd1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/chat-export/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-285fd9412c221bc6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/report-qa-docx/SKILL.md"}, "properties": {"repobilityId": "bec0ddc42b78f151", "scanner": "scanner-primary", "fingerprint": "285fd9412c221bc6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/report-qa-docx/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4bb000b65b80329c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/agilab-local-llm/SKILL.md"}, "properties": {"repobilityId": "c87c50ce8a738bac", "scanner": "scanner-primary", "fingerprint": "4bb000b65b80329c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/agilab-local-llm/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a16099637d02aaaf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/pipeline-concept-view/references/lab_stages_review.md"}, "properties": {"repobilityId": "f29f5e387661cece", "scanner": "scanner-primary", "fingerprint": "a16099637d02aaaf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/pipeline-concept-view/references/lab_stages_review.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4daf0001e7f72d1d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md"}, "properties": {"repobilityId": "0ac67f43e4d1a0b1", "scanner": "scanner-primary", "fingerprint": "4daf0001e7f72d1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fbe94c0cb5a95ac8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/repo-skill-maintenance/SKILL.md"}, "properties": {"repobilityId": "e52573d5f7e0aeba", "scanner": "scanner-primary", "fingerprint": "fbe94c0cb5a95ac8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/repo-skill-maintenance/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4956b8acc46936bd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/chat-export/SKILL.md"}, "properties": {"repobilityId": "f596e21bb1ca8a28", "scanner": "scanner-primary", "fingerprint": "4956b8acc46936bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/chat-export/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06fda9ab5d96a9a1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/report-qa-docx/SKILL.md"}, "properties": {"repobilityId": "6aaac5a80b6719c6", "scanner": "scanner-primary", "fingerprint": "06fda9ab5d96a9a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/report-qa-docx/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-553aaecd17dd255a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/agilab-local-llm/SKILL.md"}, "properties": {"repobilityId": "fb5a8df28b02177f", "scanner": "scanner-primary", "fingerprint": "553aaecd17dd255a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/agilab-local-llm/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54e5aad11ddb7582", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/pipeline-concept-view/references/lab_stages_review.md"}, "properties": {"repobilityId": "409ba55a03003014", "scanner": "scanner-primary", "fingerprint": "54e5aad11ddb7582", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/pipeline-concept-view/references/lab_stages_review.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f5e3c83849249c8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md"}, "properties": {"repobilityId": "dd34d134468ed64d", "scanner": "scanner-primary", "fingerprint": "1f5e3c83849249c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/agilab-deep-audit/references/ARCHITECTURE_FOUNDATIONS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b061a8a16b8a2c07", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/repo-skill-maintenance/SKILL.md"}, "properties": {"repobilityId": "acf7daf0f36f7960", "scanner": "scanner-primary", "fingerprint": "b061a8a16b8a2c07", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/repo-skill-maintenance/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c8d2fbafcec1104", "level": "note", "message": {"text": "Legacy-named symbol `2_legacy` in test/test_hf_space_smoke.py:354"}, "properties": {"repobilityId": "74253edd7b91ac80", "scanner": "scanner-primary", "fingerprint": "8c8d2fbafcec1104", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8a773d680127aa8d", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in test/test_workflow_parity.py:53"}, "properties": {"repobilityId": "2ed737059afe5181", "scanner": "scanner-primary", "fingerprint": "8a773d680127aa8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4d183aac08d273e8", "level": "note", "message": {"text": "Legacy-named symbol `real_user_state_backup` in test/conftest.py:143"}, "properties": {"repobilityId": "1de2ee53cd64675a", "scanner": "scanner-primary", "fingerprint": "4d183aac08d273e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bcbd328c1883bcd8", "level": "note", "message": {"text": "Legacy-named symbol `run_old` in test/test_pipeline_lab.py:2706"}, "properties": {"repobilityId": "dd0a8b184f74521d", "scanner": "scanner-primary", "fingerprint": "bcbd328c1883bcd8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7abc71ef9be65431", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_connector_registry.py:22"}, "properties": {"repobilityId": "5eb1e1667a9a5d86", "scanner": "scanner-primary", "fingerprint": "7abc71ef9be65431", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-74add2ea4f4aa680", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in test/test_install_contract_check.py:30"}, "properties": {"repobilityId": "cdac094a3caab78b", "scanner": "scanner-primary", "fingerprint": "74add2ea4f4aa680", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-643728462ee48ed5", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in test/test_ui_pages.py:395"}, "properties": {"repobilityId": "7c2e71c6a4c2496b", "scanner": "scanner-primary", "fingerprint": "643728462ee48ed5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-63ab8cd7f3f07d84", "level": "note", "message": {"text": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai_support.py:364"}, "properties": {"repobilityId": "be47155815f29954", "scanner": "scanner-primary", "fingerprint": "63ab8cd7f3f07d84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8bc16408227a40cf", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_app_installer_packaging.py:84"}, "properties": {"repobilityId": "99150dfdbb0a50ea", "scanner": "scanner-primary", "fingerprint": "8bc16408227a40cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7228dbba31997ee3", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in test/test_runtime_diagnostics.py:246"}, "properties": {"repobilityId": "ab4fdfa2e2905852", "scanner": "scanner-primary", "fingerprint": "7228dbba31997ee3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b922ad16f74b9d86", "level": "note", "message": {"text": "Legacy-named symbol `openai_legacy` in test/test_agent_config_and_capabilities.py:112"}, "properties": {"repobilityId": "8b8e904a32e70e65", "scanner": "scanner-primary", "fingerprint": "b922ad16f74b9d86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6b43327a091d2b7", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in test/test_worker_env_reuse.py:28"}, "properties": {"repobilityId": "c314a1580b18ce36", "scanner": "scanner-primary", "fingerprint": "d6b43327a091d2b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-95696facdcf74f5c", "level": "note", "message": {"text": "Legacy-named symbol `test_root_copy` in test/test_coverage_shard_plan.py:117"}, "properties": {"repobilityId": "5b9ebad533b88081", "scanner": "scanner-primary", "fingerprint": "95696facdcf74f5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3b5251370ad1d9c2", "level": "note", "message": {"text": "Legacy-named symbol `view_legacy` in test/test_install_apps_discovery.py:198"}, "properties": {"repobilityId": "b9b3ed44e09db92e", "scanner": "scanner-primary", "fingerprint": "3b5251370ad1d9c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c5c5d386c4b5a266", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in test/test_pypi_publish.py:1143"}, "properties": {"repobilityId": "d6354a9e5fc3ac0d", "scanner": "scanner-primary", "fingerprint": "c5c5d386c4b5a266", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ae0142cd7d3121a6", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in test/test_agilab_widget_robot.py:1666"}, "properties": {"repobilityId": "cc474b4659db5b1e", "scanner": "scanner-primary", "fingerprint": "ae0142cd7d3121a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b508f2bbc4070627", "level": "note", "message": {"text": "Legacy-named symbol `broken_legacy` in test/test_pipeline_ai.py:233"}, "properties": {"repobilityId": "82754623021ecd51", "scanner": "scanner-primary", "fingerprint": "b508f2bbc4070627", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1ca30b5f977efaa3", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in test/test_ci_workflow.py:68"}, "properties": {"repobilityId": "60ee4fd4ca2e0e64", "scanner": "scanner-primary", "fingerprint": "1ca30b5f977efaa3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f9c321527f3ddbf4", "level": "note", "message": {"text": "Legacy-named symbol `classroom_partial_worker_2_legacy` in test/test_tescia_diagnostic_project.py:2363"}, "properties": {"repobilityId": "2dd71178b99c6d17", "scanner": "scanner-primary", "fingerprint": "f9c321527f3ddbf4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b21836e9e56624c", "level": "note", "message": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 docs/source/_stubs/agi_env/pagelib.py:6"}, "properties": {"repobilityId": "81b15bc5f876eead", "scanner": "scanner-primary", "fingerprint": "4b21836e9e56624c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-4c7fc4cd82b5f2d3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 pycharm/setup_pycharm.py:319"}, "properties": {"repobilityId": "8026144a7e8e83c7", "scanner": "scanner-primary", "fingerprint": "4c7fc4cd82b5f2d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-297fb51a1edb1542", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/render_slides.py:99"}, "properties": {"repobilityId": "7a18b3c89cd587e6", "scanner": "scanner-primary", "fingerprint": "297fb51a1edb1542", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7c30af98af2e710", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/slides/scripts/detect_font.py:120"}, "properties": {"repobilityId": "9ce2d1c7848168a2", "scanner": "scanner-primary", "fingerprint": "b7c30af98af2e710", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f22d0671ca349e84", "level": "none", "message": {"text": "Commented-code block (14 lines) in .claude/skills/slides/assets/pptxgenjs_helpers/text.js:28"}, "properties": {"repobilityId": "e2f4b97c76500e11", "scanner": "scanner-primary", "fingerprint": "f22d0671ca349e84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b53909a712202d2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/export_demo_media.py:22"}, "properties": {"repobilityId": "d4336a3fda969860", "scanner": "scanner-primary", "fingerprint": "2b53909a712202d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-60690223f3f81589", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/clean_local_artifacts.py:42"}, "properties": {"repobilityId": "99c2c7cc40048b41", "scanner": "scanner-primary", "fingerprint": "60690223f3f81589", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-287123f3911f0e1f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/builtin_app_tests.py:139"}, "properties": {"repobilityId": "f521fc5b8c797941", "scanner": "scanner-primary", "fingerprint": "287123f3911f0e1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cbcffc35702b0131", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/bugfix_validate.py:198"}, "properties": {"repobilityId": "4fe990deb7314c7d", "scanner": "scanner-primary", "fingerprint": "cbcffc35702b0131", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-933e56c992c8beba", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_failure_replay.py:58"}, "properties": {"repobilityId": "230c5272c4d33e32", "scanner": "scanner-primary", "fingerprint": "933e56c992c8beba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-771d51873ad8c6dd", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in tools/ui_robot_coverage_contract.py:472"}, "properties": {"repobilityId": "3981c37823ea175b", "scanner": "scanner-primary", "fingerprint": "771d51873ad8c6dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35dc371bed2af2f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/ui_robot_coverage_contract.py:101"}, "properties": {"repobilityId": "16a36acb8faf0fc0", "scanner": "scanner-primary", "fingerprint": "35dc371bed2af2f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-391b35007aeb5fdf", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/build_product_demo_reel.py:505"}, "properties": {"repobilityId": "5bc734b7e87be811", "scanner": "scanner-primary", "fingerprint": "391b35007aeb5fdf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-244aced69f22a9f2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/build_product_demo_reel.py:644"}, "properties": {"repobilityId": "2ff66aff36468d0c", "scanner": "scanner-primary", "fingerprint": "244aced69f22a9f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ed37f74ed08e037", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/agilab_widget_robot.py:117"}, "properties": {"repobilityId": "c251c9f9fdaf733a", "scanner": "scanner-primary", "fingerprint": "9ed37f74ed08e037", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-25f396dd4fb401af", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_docs_license_inventories.py:124"}, "properties": {"repobilityId": "07c29a23e1985628", "scanner": "scanner-primary", "fingerprint": "25f396dd4fb401af", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e95a6b2351f97eb7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_release_retention.py:903"}, "properties": {"repobilityId": "762ccb4d364fd6d4", "scanner": "scanner-primary", "fingerprint": "e95a6b2351f97eb7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-16aa56af5e0b9425", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in tools/install_contract_check.py:237"}, "properties": {"repobilityId": "ce6b85cdccaacfeb", "scanner": "scanner-primary", "fingerprint": "16aa56af5e0b9425", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e669cfa17ff7fe68", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/ui_robot_action_contract.py:38"}, "properties": {"repobilityId": "ab9263a0418fe885", "scanner": "scanner-primary", "fingerprint": "e669cfa17ff7fe68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c542ae5a21c8772", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_runconfig_scripts.py:83"}, "properties": {"repobilityId": "51d3a9e7b2e11ea6", "scanner": "scanner-primary", "fingerprint": "0c542ae5a21c8772", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-75c8b08152554501", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_playground.py:161"}, "properties": {"repobilityId": "d93d589dbe300496", "scanner": "scanner-primary", "fingerprint": "75c8b08152554501", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7fd33356bb4231b7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_plan.py:141"}, "properties": {"repobilityId": "d818dedfaf5a68d2", "scanner": "scanner-primary", "fingerprint": "7fd33356bb4231b7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e3c23f0c35559e9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/profile_supply_chain_scan.py:183"}, "properties": {"repobilityId": "9953be1a777de3aa", "scanner": "scanner-primary", "fingerprint": "6e3c23f0c35559e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-202a3134137681ab", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/skill_security_scan.py:58"}, "properties": {"repobilityId": "887c18229bda870a", "scanner": "scanner-primary", "fingerprint": "202a3134137681ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b49b24c80848866", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/sync_agent_skills.py:40"}, "properties": {"repobilityId": "5819e16d99838b93", "scanner": "scanner-primary", "fingerprint": "5b49b24c80848866", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7af807a6508c571", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/refresh_launch_matrix.py:36"}, "properties": {"repobilityId": "11599f14785c9b2c", "scanner": "scanner-primary", "fingerprint": "b7af807a6508c571", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-41e319b37806f245", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/shared_core_strict_typing.py:147"}, "properties": {"repobilityId": "2c02f705169d9636", "scanner": "scanner-primary", "fingerprint": "41e319b37806f245", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7df27ac7abbfa632", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in tools/build_three_project_demo_reel.py:232"}, "properties": {"repobilityId": "085ce8a5b2895365", "scanner": "scanner-primary", "fingerprint": "7df27ac7abbfa632", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-78d76463778bc791", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/build_three_project_demo_reel.py:163"}, "properties": {"repobilityId": "e18166c7b2063eb7", "scanner": "scanner-primary", "fingerprint": "78d76463778bc791", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b41ab38739d49bff", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_widget_robot_matrix.py:136"}, "properties": {"repobilityId": "a13665700a2b513b", "scanner": "scanner-primary", "fingerprint": "b41ab38739d49bff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-72a9fae29938bb15", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/worktree_scope_guard.py:83"}, "properties": {"repobilityId": "e906bf85fb5444c8", "scanner": "scanner-primary", "fingerprint": "72a9fae29938bb15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-54c938cdc4732a25", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ui_robot_evidence.py:71"}, "properties": {"repobilityId": "4ee2c45a23b7b776", "scanner": "scanner-primary", "fingerprint": "54c938cdc4732a25", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad44e5349e08101f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_memory.py:187"}, "properties": {"repobilityId": "1c96fb2a516929bd", "scanner": "scanner-primary", "fingerprint": "ad44e5349e08101f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3b4c82b4438e1b10", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/impact_validate.py:183"}, "properties": {"repobilityId": "929dc2b3d29fc92d", "scanner": "scanner-primary", "fingerprint": "3b4c82b4438e1b10", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4d8de2e667136362", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/beta_readiness.py:105"}, "properties": {"repobilityId": "ed6b68669d087391", "scanner": "scanner-primary", "fingerprint": "4d8de2e667136362", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e8b5285c3592ae9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/benchmark_execution_mode_matrix.py:70"}, "properties": {"repobilityId": "655af6d3fa5d1b4e", "scanner": "scanner-primary", "fingerprint": "9e8b5285c3592ae9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51ee9b59b1f318e8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_codex_skills_slides.py:38"}, "properties": {"repobilityId": "bd7df4819ad71547", "scanner": "scanner-primary", "fingerprint": "51ee9b59b1f318e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-12d85ccf0ea4f178", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/coverage_badge_guard.py:114"}, "properties": {"repobilityId": "b0f0b934cd9f4530", "scanner": "scanner-primary", "fingerprint": "12d85ccf0ea4f178", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d0404a244bb5e73", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/repo_footprint.py:38"}, "properties": {"repobilityId": "e2db7343b5f33998", "scanner": "scanner-primary", "fingerprint": "6d0404a244bb5e73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8670cb24fbe4a9a9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/cython_worker_verify.py:299"}, "properties": {"repobilityId": "7ec05fbf8a21e29d", "scanner": "scanner-primary", "fingerprint": "8670cb24fbe4a9a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-567f89043b355076", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/hf_space_release_sync.py:320"}, "properties": {"repobilityId": "24f5147189bfa2d1", "scanner": "scanner-primary", "fingerprint": "567f89043b355076", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1e96ecbdd9cc0ac2", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in tools/worker_env_reuse.py:18"}, "properties": {"repobilityId": "8c7f7622478d15f0", "scanner": "scanner-primary", "fingerprint": "1e96ecbdd9cc0ac2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a4df632f9d4e9e13", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/generate_vscode_tasks.py:62"}, "properties": {"repobilityId": "75df50a72e2a7047", "scanner": "scanner-primary", "fingerprint": "a4df632f9d4e9e13", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a2152c729f013f90", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in tools/production_readiness_report.py:98"}, "properties": {"repobilityId": "a1a34bb2af7b8250", "scanner": "scanner-primary", "fingerprint": "a2152c729f013f90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f5a7f45a2382106d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/production_readiness_report.py:223"}, "properties": {"repobilityId": "5270df27266dd1d5", "scanner": "scanner-primary", "fingerprint": "f5a7f45a2382106d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e5056b86c4dd42f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/regression_fresh_install.py:19"}, "properties": {"repobilityId": "df2c4e8104a4b1e8", "scanner": "scanner-primary", "fingerprint": "8e5056b86c4dd42f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9b12fd164bd878fc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/task_worktree.py:20"}, "properties": {"repobilityId": "767524f9d23ea85d", "scanner": "scanner-primary", "fingerprint": "9b12fd164bd878fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bcb87ffdefeee1d8", "level": "none", "message": {"text": "Commented-code block (10 lines) in tools/zip_all.py:19"}, "properties": {"repobilityId": "33553a6e88f27135", "scanner": "scanner-primary", "fingerprint": "bcb87ffdefeee1d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa3933dd2be68ba1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agi_core_change_guard.py:57"}, "properties": {"repobilityId": "f51d4c0f8c1fa44a", "scanner": "scanner-primary", "fingerprint": "fa3933dd2be68ba1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3176212b6a571dc2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_handoff.py:24"}, "properties": {"repobilityId": "0e10864a79df6d4f", "scanner": "scanner-primary", "fingerprint": "3176212b6a571dc2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c0a452a71ce98557", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/maintenance_dashboard.py:382"}, "properties": {"repobilityId": "9f56c2aa96425e5f", "scanner": "scanner-primary", "fingerprint": "c0a452a71ce98557", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d35d43bc14ee82aa", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agilab_dev.py:264"}, "properties": {"repobilityId": "b37fa88a59a9a176", "scanner": "scanner-primary", "fingerprint": "d35d43bc14ee82aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e351adbd7fa067a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agent_context_router.py:116"}, "properties": {"repobilityId": "9719096bb7f72441", "scanner": "scanner-primary", "fingerprint": "8e351adbd7fa067a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-230ec23e02861e71", "level": "note", "message": {"text": "Legacy-named symbol `worker_copy` in tools/workflow_parity.py:356"}, "properties": {"repobilityId": "b585dfb601ae7dbd", "scanner": "scanner-primary", "fingerprint": "230ec23e02861e71", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8ee4d82d31705c6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/workflow_parity.py:568"}, "properties": {"repobilityId": "72f78fe517b2287b", "scanner": "scanner-primary", "fingerprint": "c8ee4d82d31705c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-980e142976103ac4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/agent_skill_quality_guard.py:111"}, "properties": {"repobilityId": "c71f125e4079bbab", "scanner": "scanner-primary", "fingerprint": "980e142976103ac4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b22f05ca0cdad83", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/install_release_proof_package.py:125"}, "properties": {"repobilityId": "bf85a27133c93c8b", "scanner": "scanner-primary", "fingerprint": "5b22f05ca0cdad83", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-999d9a4edcdc239f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pre_push_changed_files.py:77"}, "properties": {"repobilityId": "6008b49a4e4d6f90", "scanner": "scanner-primary", "fingerprint": "999d9a4edcdc239f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9fd89c5a23336526", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/pypi_publish.py:715"}, "properties": {"repobilityId": "91d6eedae0fe4593", "scanner": "scanner-primary", "fingerprint": "9fd89c5a23336526", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d18ee127f961beb3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/ga_regression_selector.py:138"}, "properties": {"repobilityId": "25e096d6e2872735", "scanner": "scanner-primary", "fingerprint": "d18ee127f961beb3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c0859750c56ecd01", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/release_proof_report.py:408"}, "properties": {"repobilityId": "5ec0761ec6255d37", "scanner": "scanner-primary", "fingerprint": "c0859750c56ecd01", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b0ee12055b064c5", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/render_slides.py:99"}, "properties": {"repobilityId": "58d28cc0d25758ee", "scanner": "scanner-primary", "fingerprint": "0b0ee12055b064c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d53f31142200707f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .codex/skills/slides/scripts/detect_font.py:120"}, "properties": {"repobilityId": "9a463ea9178fa958", "scanner": "scanner-primary", "fingerprint": "d53f31142200707f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-651384da72780241", "level": "none", "message": {"text": "Commented-code block (14 lines) in .codex/skills/slides/assets/pptxgenjs_helpers/text.js:28"}, "properties": {"repobilityId": "173ce870c2e7977a", "scanner": "scanner-primary", "fingerprint": "651384da72780241", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ffcbcf0bdb57217", "level": "note", "message": {"text": "Legacy-named symbol `project_copy` in src/agilab/bridge_cli.py:674"}, "properties": {"repobilityId": "be85d7bff1b2a4fa", "scanner": "scanner-primary", "fingerprint": "1ffcbcf0bdb57217", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cf8ab862e4361e8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/bridge_cli.py:1166"}, "properties": {"repobilityId": "4eec89df083408e8", "scanner": "scanner-primary", "fingerprint": "0cf8ab862e4361e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7912e4018dc00862", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/lab_run.py:380"}, "properties": {"repobilityId": "6cdfea8167a72251", "scanner": "scanner-primary", "fingerprint": "7912e4018dc00862", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb4c8ebc539dea33", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agilab/apps/install.py:12"}, "properties": {"repobilityId": "141a60d48ff906d9", "scanner": "scanner-primary", "fingerprint": "fb4c8ebc539dea33", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d944d54cff72730", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate_worker/data_quality_gate_worker.py:117"}, "properties": {"repobilityId": "5c5ae8960ccaff84", "scanner": "scanner-primary", "fingerprint": "8d944d54cff72730", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ed94db15d227b317", "level": "note", "message": {"text": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/data_quality_gate_project/src/data_quality_gate/compat/module_shim.py:39"}, "properties": {"repobilityId": "7894f7e3470e53a3", "scanner": "scanner-primary", "fingerprint": "ed94db15d227b317", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-023204b358e224d6", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/sklearn_pipeline_project/src/sklearn_pipeline_worker/sklearn_pipeline_worker.py:104"}, "properties": {"repobilityId": "a20c8d5802a22a9c", "scanner": "scanner-primary", "fingerprint": "023204b358e224d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-4e5c7accc9c30fd3", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/mission_decision_project/src/mission_decision_worker/mission_decision_worker.py:106"}, "properties": {"repobilityId": "473acedbaf625b42", "scanner": "scanner-primary", "fingerprint": "4e5c7accc9c30fd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-7b4566a3d08da819", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_project/src/weather_forecast_worker/weather_forecast_worker.py:71"}, "properties": {"repobilityId": "a45a49b1b1faf68d", "scanner": "scanner-primary", "fingerprint": "7b4566a3d08da819", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-4708217a7b023076", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/tescia_diagnostic_project/src/tescia_diagnostic_worker/tescia_diagnostic_worker.py:103"}, "properties": {"repobilityId": "415d7a338094a83c", "scanner": "scanner-primary", "fingerprint": "4708217a7b023076", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-68df314d37e3feee", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/agilab/apps/builtin/execution_pandas_project/test/test_execution_pandas_project.py:196"}, "properties": {"repobilityId": "d3808e64bbc793ba", "scanner": "scanner-primary", "fingerprint": "68df314d37e3feee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d0196d93881d591a", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/r_runtime_bridge_project/src/r_runtime_bridge_worker/r_runtime_bridge_worker.py:112"}, "properties": {"repobilityId": "e627459dd91b41c5", "scanner": "scanner-primary", "fingerprint": "d0196d93881d591a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-1dd3a12a3691ca6f", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground_worker/pytorch_playground_worker.py:110"}, "properties": {"repobilityId": "83c3ba373d26da2a", "scanner": "scanner-primary", "fingerprint": "1dd3a12a3691ca6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-85d443374e019832", "level": "note", "message": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py:163"}, "properties": {"repobilityId": "ea772d0312333259", "scanner": "scanner-primary", "fingerprint": "85d443374e019832", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-0d03a5e26e15ed51", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_queue_project/src/uav_queue_worker/uav_queue_worker.py:197"}, "properties": {"repobilityId": "61f9e430e2714eac", "scanner": "scanner-primary", "fingerprint": "0d03a5e26e15ed51", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f522577e3760c806", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/uav_relay_queue_project/src/uav_relay_queue_worker/uav_relay_queue_worker.py:197"}, "properties": {"repobilityId": "49b013b9669e15d0", "scanner": "scanner-primary", "fingerprint": "f522577e3760c806", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-6bf5cd6670755dcb", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/test/test_weather_forecast_legacy_project.py:17"}, "properties": {"repobilityId": "83061b2d9d6f219c", "scanner": "scanner-primary", "fingerprint": "6bf5cd6670755dcb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9576fa36ac9190cd", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/app_args_form.py:14"}, "properties": {"repobilityId": "d3940b967d522464", "scanner": "scanner-primary", "fingerprint": "9576fa36ac9190cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-98b20a8edae013a5", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy_worker/weather_forecast_legacy_worker.py:17"}, "properties": {"repobilityId": "395d2f62f929b3a6", "scanner": "scanner-primary", "fingerprint": "98b20a8edae013a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-50c6f568b3c74477", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy_worker/weather_forecast_legacy_worker.py:71"}, "properties": {"repobilityId": "116e7755cbf787d3", "scanner": "scanner-primary", "fingerprint": "50c6f568b3c74477", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2afa1f4df3e20f67", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/__init__.py:13"}, "properties": {"repobilityId": "3f5dce0ce729c59d", "scanner": "scanner-primary", "fingerprint": "2afa1f4df3e20f67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d0043fed029e16a7", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/app_args.py:18"}, "properties": {"repobilityId": "681701f65271ae2e", "scanner": "scanner-primary", "fingerprint": "d0043fed029e16a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-01270f9cec124796", "level": "note", "message": {"text": "Legacy-named symbol `WeatherForecastLegacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/weather_forecast_legacy.py:26"}, "properties": {"repobilityId": "199724534f6d33cb", "scanner": "scanner-primary", "fingerprint": "01270f9cec124796", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a418b1dd24307d5c", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/apps/builtin/weather_forecast_legacy_project/src/weather_forecast_legacy/reduction.py:21"}, "properties": {"repobilityId": "4c5c061cddc07729", "scanner": "scanner-primary", "fingerprint": "a418b1dd24307d5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0e82b4e2407c6410", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agilab/apps/builtin/flight_telemetry_project/src/flight_telemetry_worker/flight_telemetry_worker.py:1"}, "properties": {"repobilityId": "d36c526ef41d77d3", "scanner": "scanner-primary", "fingerprint": "0e82b4e2407c6410", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d137ada12b4eb5c8", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/notebooks/notebook_export_support.py:1733"}, "properties": {"repobilityId": "83638a8598d26786", "scanner": "scanner-primary", "fingerprint": "d137ada12b4eb5c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-536be4fdac573436", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_export_support.py:2697"}, "properties": {"repobilityId": "0427c687128f26e1", "scanner": "scanner-primary", "fingerprint": "536be4fdac573436", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-deae75658038d818", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/notebooks/notebook_colab_support.py:150"}, "properties": {"repobilityId": "12ecdc8dee03b1e8", "scanner": "scanner-primary", "fingerprint": "deae75658038d818", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52db216fe3011299", "level": "note", "message": {"text": "Stub function `_noop` (body is just `pass`/`return`) \u2014 src/agilab/notebooks/notebook_colab_support.py:87"}, "properties": {"repobilityId": "d60ee6b342f2e022", "scanner": "scanner-primary", "fingerprint": "52db216fe3011299", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-6ab3a751a3b802ef", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-mission-decision/src/agi_app_mission_decision/project/mission_decision_project/src/mission_decision_worker/mission_decision_worker.py:106"}, "properties": {"repobilityId": "c694ebbe3ed47539", "scanner": "scanner-primary", "fingerprint": "6ab3a751a3b802ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-65ea6e15c71157a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agilab/lib/agi-app-flight-telemetry/src/agi_app_flight_telemetry/project/flight_telemetry_project/src/flight_telemetry_worker/flight_telemetry_worker.py:1"}, "properties": {"repobilityId": "4e2650df191e286a", "scanner": "scanner-primary", "fingerprint": "65ea6e15c71157a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bce5a67eb7242667", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-weather-forecast/src/agi_app_weather_forecast/project/weather_forecast_project/src/weather_forecast_worker/weather_forecast_worker.py:71"}, "properties": {"repobilityId": "c25272e26a4eaa20", "scanner": "scanner-primary", "fingerprint": "bce5a67eb7242667", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-afb3945123cf6040", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground_worker/pytorch_playground_worker.py:110"}, "properties": {"repobilityId": "7f6c16c60b316728", "scanner": "scanner-primary", "fingerprint": "afb3945123cf6040", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-dfff2e6429a2fae6", "level": "note", "message": {"text": "Stub function `render_logo` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-pytorch-playground/src/agi_app_pytorch_playground/project/pytorch_playground_project/src/pytorch_playground/ui/playground_ui.py:163"}, "properties": {"repobilityId": "343545277a38e3ab", "scanner": "scanner-primary", "fingerprint": "dfff2e6429a2fae6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-7c49e849d60a547b", "level": "note", "message": {"text": "Stub function `work_init` (body is just `pass`/`return`) \u2014 src/agilab/lib/agi-app-uav-relay-queue/src/agi_app_uav_relay_queue/project/uav_relay_queue_project/src/uav_relay_queue_worker/uav_relay_queue_worker.py:197"}, "properties": {"repobilityId": "e7a95a0d74322f5c", "scanner": "scanner-primary", "fingerprint": "7c49e849d60a547b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-413ddddb29d4267a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/dag/dag_distributed_submitter.py:275"}, "properties": {"repobilityId": "cf10e318cdd5c0bb", "scanner": "scanner-primary", "fingerprint": "413ddddb29d4267a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-32d0cf8a145b6c44", "level": "note", "message": {"text": "Legacy-named symbol `escaped_old` in src/agilab/pages/4_ANALYSIS.py:1453"}, "properties": {"repobilityId": "65881bcb086f8dc8", "scanner": "scanner-primary", "fingerprint": "32d0cf8a145b6c44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7c267eab131d1cff", "level": "note", "message": {"text": "Legacy-named symbol `weather_forecast_legacy` in src/agilab/evidence/run_diff_evidence.py:455"}, "properties": {"repobilityId": "ba826d49e824a6b3", "scanner": "scanner-primary", "fingerprint": "7c267eab131d1cff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c501e9c500d73fb1", "level": "note", "message": {"text": "Stub function `finish` (body is just `pass`/`return`) \u2014 src/agilab/examples/mlflow_auto_tracking/preview_mlflow_auto_tracking.py:63"}, "properties": {"repobilityId": "6267b0fc75130e35", "scanner": "scanner-primary", "fingerprint": "c501e9c500d73fb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ff368f96872f0979", "level": "note", "message": {"text": "Legacy-named symbol `hero__copy` in src/agilab/about_page/layout.py:378"}, "properties": {"repobilityId": "d25a84f2ab420991", "scanner": "scanner-primary", "fingerprint": "ff368f96872f0979", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-882a9295569da915", "level": "note", "message": {"text": "Legacy-named symbol `sys_modules_backup` in src/agilab/core/agi-env/test/test_ui_support.py:31"}, "properties": {"repobilityId": "e75f022d3e9d2b61", "scanner": "scanner-primary", "fingerprint": "882a9295569da915", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-113dad94b90142c7", "level": "note", "message": {"text": "Legacy-named symbol `test_load_global_state_returns_empty_dict_for_invalid_toml_without_legacy` in src/agilab/core/agi-env/test/test_pagelib.py:282"}, "properties": {"repobilityId": "86c4afc2888c9b4c", "scanner": "scanner-primary", "fingerprint": "113dad94b90142c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fa8aaf28810e4c98", "level": "note", "message": {"text": "Legacy-named symbol `test_configure_worker_runtime_resolves_builtin_worker_copy` in src/agilab/core/agi-env/test/test_worker_runtime_support.py:38"}, "properties": {"repobilityId": "ed92c261ebd6f0f3", "scanner": "scanner-primary", "fingerprint": "fa8aaf28810e4c98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9e6023dc1cc0cfc0", "level": "note", "message": {"text": "Legacy-named symbol `test_missing_flattened_active_app_falls_back_to_builtin_copy` in src/agilab/core/agi-env/test/test_agi_env.py:652"}, "properties": {"repobilityId": "23a3869438519386", "scanner": "scanner-primary", "fingerprint": "9e6023dc1cc0cfc0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c1df94b811a979fa", "level": "note", "message": {"text": "Legacy-named symbol `test_migrate_legacy_mlflow_filestore_if_needed_skips_when_backend_exists_or_no_legacy` in src/agilab/core/agi-env/test/test_mlflow_store.py:638"}, "properties": {"repobilityId": "4c964418298b9751", "scanner": "scanner-primary", "fingerprint": "c1df94b811a979fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4199c3967e95f2c4", "level": "note", "message": {"text": "Legacy-named symbol `test_merge_model_data_without_overrides_returns_copy` in src/agilab/core/agi-env/test/test_app_args.py:47"}, "properties": {"repobilityId": "db12457d4f9506e4", "scanner": "scanner-primary", "fingerprint": "4199c3967e95f2c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ba323732d4407310", "level": "note", "message": {"text": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_uv_source_support.py:776"}, "properties": {"repobilityId": "3dd3c4586c61e098", "scanner": "scanner-primary", "fingerprint": "ba323732d4407310", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-07e6be4db6721c0d", "level": "note", "message": {"text": "Legacy-named symbol `_fake_copy` in src/agilab/core/test/test_agi_distributor_cleanup_support.py:246"}, "properties": {"repobilityId": "05fb6c1f27045522", "scanner": "scanner-primary", "fingerprint": "07e6be4db6721c0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b2cb48509777e7f3", "level": "note", "message": {"text": "Legacy-named symbol `done_old` in src/agilab/core/test/test_agi_distributor_service_state_support.py:723"}, "properties": {"repobilityId": "4b0b04bbe231a562", "scanner": "scanner-primary", "fingerprint": "b2cb48509777e7f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96d817c7985e68c1", "level": "note", "message": {"text": "Legacy-named symbol `test_deploy_local_worker_sorts_trajectory_archives_before_copy` in src/agilab/core/test/test_agi_distributor_deployment_local_support.py:4693"}, "properties": {"repobilityId": "e66b2f2b77b5343b", "scanner": "scanner-primary", "fingerprint": "96d817c7985e68c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b060b9c536cc7d9", "level": "note", "message": {"text": "Legacy-named symbol `_remove_legacy_app_resource_copy` in src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py:300"}, "properties": {"repobilityId": "5aa80a561c124615", "scanner": "scanner-primary", "fingerprint": "6b060b9c536cc7d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7268b8350201f8cc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/deployment/deployment_local_support.py:182"}, "properties": {"repobilityId": "da48b3db09951820", "scanner": "scanner-primary", "fingerprint": "7268b8350201f8cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-609c46e98ba1f48c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/core/agi-cluster/src/agi_cluster/agi_distributor/runtime/background_jobs_support.py:82"}, "properties": {"repobilityId": "dc185969486f126b", "scanner": "scanner-primary", "fingerprint": "609c46e98ba1f48c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b183c63354305f1", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agilab/core/agi-node/src/agi_node/dag_worker/dag_worker.py:218"}, "properties": {"repobilityId": "9939c795e3a316f9", "scanner": "scanner-primary", "fingerprint": "0b183c63354305f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd1fe9d695f277e3", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agilab/core/agi-node/src/agi_node/agi_dispatcher/base_worker.py:589"}, "properties": {"repobilityId": "bcea9bc4932e3e08", "scanner": "scanner-primary", "fingerprint": "fd1fe9d695f277e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56dc13b05122c1a4", "level": "note", "message": {"text": "Stub function `_write_heartbeat` (body is just `pass`/`return`) \u2014 src/agilab/core/agi-node/src/agi_node/agi_dispatcher/base_worker.py:530"}, "properties": {"repobilityId": "7023696379f5fbd7", "scanner": "scanner-primary", "fingerprint": "56dc13b05122c1a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-b263849d1bd7cb97", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/environment/venv_linker.py:240"}, "properties": {"repobilityId": "658a2af22f2fab99", "scanner": "scanner-primary", "fingerprint": "b263849d1bd7cb97", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b508cdaa14d63205", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_support.py:72"}, "properties": {"repobilityId": "685a470e01d2cb06", "scanner": "scanner-primary", "fingerprint": "b508cdaa14d63205", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-340471e04b49113b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agilab/orchestrate/orchestrate_page_support.py:24"}, "properties": {"repobilityId": "ea4aa8d4290dfd55", "scanner": "scanner-primary", "fingerprint": "340471e04b49113b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2481f9f2edf432f6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agilab/orchestrate/orchestrate_page_support.py:1009"}, "properties": {"repobilityId": "691e7a2307c381d6", "scanner": "scanner-primary", "fingerprint": "2481f9f2edf432f6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a118a3aa3e47973", "level": "note", "message": {"text": "Near-duplicate function bodies in 19 places"}, "properties": {"repobilityId": "c52942cf66299302", "scanner": "scanner-primary", "fingerprint": "4a118a3aa3e47973", "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": "d3e0673ad4577759", "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": "327e2143cc40f13d", "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": "feeb7a88bd3a104f", "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": "20fba73a6faa93e6", "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": "a866016b9d5ade43", "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": "22923131ba828ab3", "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": "df7f3ecd95898b20", "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": "1cc884e715572321", "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": "d5b48c11667fc5ac", "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": "d4f7c4803f361664", "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": "0dfe0531ec65af0b", "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": "d11f7266fc6e37a3", "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": "416ffdf4de4c2b07", "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": "b9285761953ad0d6", "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": "66224a1a19050140", "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": "d98959511c19f287", "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": "6895064f962d93ab", "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": "7fd1e4bff6c0ee45", "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": "953823ae588bd7c0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}