{"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-423e0dc5adf7bbb6", "name": "Possibly dead Python function: stddev", "shortDescription": {"text": "Possibly dead Python function: stddev"}, "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-3c549dd65c31ebcb", "name": "Possibly dead Python function: call_tool_json", "shortDescription": {"text": "Possibly dead Python function: call_tool_json"}, "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-e15c3756441134fb", "name": "Possibly dead Python function: run_automation_text", "shortDescription": {"text": "Possibly dead Python function: run_automation_text"}, "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-a699243a0b08b042", "name": "Possibly dead Python function: run_automation_json", "shortDescription": {"text": "Possibly dead Python function: run_automation_json"}, "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-0bc3d80fb016ec56", "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-3f439efa1c84c9a7", "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-71c5ceb0283cf811", "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-5a77e9dc51ee2d5c", "name": "Possibly dead Python function: handle_entityref", "shortDescription": {"text": "Possibly dead Python function: handle_entityref"}, "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-652dc397493bad4d", "name": "Possibly dead Python function: handle_charref", "shortDescription": {"text": "Possibly dead Python function: handle_charref"}, "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-8c3ffec213c61c4d", "name": "Possibly dead Python function: build_index", "shortDescription": {"text": "Possibly dead Python function: build_index"}, "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-d542831dd77ac9c8", "name": "Possibly dead Python function: should_inject_r23b", "shortDescription": {"text": "Possibly dead Python function: should_inject_r23b"}, "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-86332545d4a47dce", "name": "Possibly dead Python function: should_inject_r23l", "shortDescription": {"text": "Possibly dead Python function: should_inject_r23l"}, "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-40b04bde81b48964", "name": "Possibly dead Python function: list_lifecycle_events_by_status", "shortDescription": {"text": "Possibly dead Python function: list_lifecycle_events_by_status"}, "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-346fd3bf8371add7", "name": "Possibly dead Python function: query_at", "shortDescription": {"text": "Possibly dead Python function: query_at"}, "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-d90394778a3463d5", "name": "Possibly dead Python function: cmd_schema", "shortDescription": {"text": "Possibly dead Python function: cmd_schema"}, "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-968259bcbcf14f28", "name": "Possibly dead Python function: cmd_identity", "shortDescription": {"text": "Possibly dead Python function: cmd_identity"}, "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-77149c2b6f2d5923", "name": "Possibly dead Python function: cmd_onboard", "shortDescription": {"text": "Possibly dead Python function: cmd_onboard"}, "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-f2a7f3871e332b94", "name": "Possibly dead Python function: cmd_scan_profile", "shortDescription": {"text": "Possibly dead Python function: cmd_scan_profile"}, "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-4e395afb1fa4fa1e", "name": "Possibly dead Python function: should_inject_r23d", "shortDescription": {"text": "Possibly dead Python function: should_inject_r23d"}, "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-6005f16a357dc70f", "name": "Possibly dead Python function: set_interactive_db_timeout", "shortDescription": {"text": "Possibly dead Python function: set_interactive_db_timeout"}, "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-f2387bcc2b1e65b3", "name": "Possibly dead Python function: remaining_seconds", "shortDescription": {"text": "Possibly dead Python function: remaining_seconds"}, "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-eb54b5d5d885f881", "name": "Possibly dead Python function: clear_mandate", "shortDescription": {"text": "Possibly dead Python function: clear_mandate"}, "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-c7d2475a8534192f", "name": "Possibly dead Python function: should_inject_r23j", "shortDescription": {"text": "Possibly dead Python function: should_inject_r23j"}, "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-d3cc034a7edaae53", "name": "Possibly dead Python function: queue_status", "shortDescription": {"text": "Possibly dead Python function: queue_status"}, "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-362004371c793ff1", "name": "Possibly dead Python function: stop_write_queue_worker", "shortDescription": {"text": "Possibly dead Python function: stop_write_queue_worker"}, "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-45caf4ac41fd3f24", "name": "Stray `console.log` in TS/JS \u2014 openclaw-plugin/src/index.ts:294", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 openclaw-plugin/src/index.ts:294"}, "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-d63da3583b14afc0", "name": "Dockerfile runs as root: Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: 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-de3c1f217d72a063", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-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-007ea6d7b2d366aa", "name": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1756", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1756"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9bb9206b341d96b5", "name": "Insecure pattern 'node_child_process' in blog/nexo-6-0-1/index.html:96", "shortDescription": {"text": "Insecure pattern 'node_child_process' in blog/nexo-6-0-1/index.html:96"}, "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-638f665ec35e0e7d", "name": "Insecure pattern 'weak_hash' in blog/nexo-6-4-0/index.html:75", "shortDescription": {"text": "Insecure pattern 'weak_hash' in blog/nexo-6-4-0/index.html:75"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aadde3e432119247", "name": "Insecure pattern 'node_child_process' in openclaw-plugin/src/mcp-bridge.ts:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in openclaw-plugin/src/mcp-bridge.ts:8"}, "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-8730d73999d4d2aa", "name": "Insecure pattern 'exec_used' in src/auto_update.py:5149", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/auto_update.py:5149"}, "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-a53bf972e19b52fd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "softprops/action-gh-release@v2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ffa33751be3d771", "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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a0ab411e07edb56", "name": "Very large file: tests/test_hook_guardrails.py (1530 lines)", "shortDescription": {"text": "Very large file: tests/test_hook_guardrails.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-2bfbb3c7a2baa1f0", "name": "Very large file: tests/test_protocol.py (2046 lines)", "shortDescription": {"text": "Very large file: tests/test_protocol.py (2046 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-d613a19ce5196f46", "name": "Very large file: tests/test_doctor.py (3756 lines)", "shortDescription": {"text": "Very large file: tests/test_doctor.py (3756 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-d0d52b4c2e91b498", "name": "Very large file: tests/test_script_registry.py (1761 lines)", "shortDescription": {"text": "Very large file: tests/test_script_registry.py (1761 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-6bea8b50d37e3e3f", "name": "Very large file: tests/test_local_context.py (2073 lines)", "shortDescription": {"text": "Very large file: tests/test_local_context.py (2073 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-7994db018408abd4", "name": "Very large file: src/script_registry.py (3424 lines)", "shortDescription": {"text": "Very large file: src/script_registry.py (3424 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-bcd1095ad9451445", "name": "Very large file: src/hook_guardrails.py (2522 lines)", "shortDescription": {"text": "Very large file: src/hook_guardrails.py (2522 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-ba27d4e767b23d2e", "name": "Very large file: src/enforcement_engine.py (3523 lines)", "shortDescription": {"text": "Very large file: src/enforcement_engine.py (3523 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-f9db1a8bd68a44a9", "name": "Very large file: src/resolution_cache.py (1119 lines)", "shortDescription": {"text": "Very large file: src/resolution_cache.py (1119 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-60b81b3098960fc8", "name": "Very large file: src/cli.py (5169 lines)", "shortDescription": {"text": "Very large file: src/cli.py (5169 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-fa38897fe2ff4f9f", "name": "Very large file: src/agent_runner.py (1565 lines)", "shortDescription": {"text": "Very large file: src/agent_runner.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-f0d9a72ae81a4809", "name": "Very large file: src/server.py (3267 lines)", "shortDescription": {"text": "Very large file: src/server.py (3267 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-3b4ceac9686bfdb8", "name": "Very large file: src/semantic_layers.py (1180 lines)", "shortDescription": {"text": "Very large file: src/semantic_layers.py (1180 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-fe657205d4f9b3bf", "name": "Very large file: src/tools_sessions.py (2047 lines)", "shortDescription": {"text": "Very large file: src/tools_sessions.py (2047 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-f97a32c973816ad6", "name": "Very large file: src/memory_forget.py (1249 lines)", "shortDescription": {"text": "Very large file: src/memory_forget.py (1249 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-b9ec2062aca646c6", "name": "Very large file: src/auto_update.py (6235 lines)", "shortDescription": {"text": "Very large file: src/auto_update.py (6235 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-1f4669e25198495a", "name": "Very large file: src/pre_answer_router.py (2640 lines)", "shortDescription": {"text": "Very large file: src/pre_answer_router.py (2640 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-346e7012d844e2f9", "name": "Very large file: src/client_sync.py (2042 lines)", "shortDescription": {"text": "Very large file: src/client_sync.py (2042 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-1dd16eaf2be9cfa3", "name": "Very large file: src/doctor/providers/runtime.py (4331 lines)", "shortDescription": {"text": "Very large file: src/doctor/providers/runtime.py (4331 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-18ef7d22fc67e44e", "name": "Very large file: src/local_context/api.py (5853 lines)", "shortDescription": {"text": "Very large file: src/local_context/api.py (5853 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-e4d769288e3e5081", "name": "Very large file: src/scripts/nexo-daily-self-audit.py (2559 lines)", "shortDescription": {"text": "Very large file: src/scripts/nexo-daily-self-audit.py (2559 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-45bafece2700b098", "name": "Very large file: src/scripts/nexo-watchdog.sh (1486 lines)", "shortDescription": {"text": "Very large file: src/scripts/nexo-watchdog.sh (1486 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-4f7a332c054c8685", "name": "Very large file: src/scripts/nexo-email-monitor.py (3133 lines)", "shortDescription": {"text": "Very large file: src/scripts/nexo-email-monitor.py (3133 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-c052eebf5178a746", "name": "Very large file: src/scripts/nexo-evolution-run.py (1651 lines)", "shortDescription": {"text": "Very large file: src/scripts/nexo-evolution-run.py (1651 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-9710e623717b1107", "name": "Very large file: src/scripts/deep-sleep/apply_findings.py (2595 lines)", "shortDescription": {"text": "Very large file: src/scripts/deep-sleep/apply_findings.py (2595 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-417ad6d5e33a0f1e", "name": "Very large file: src/dashboard/app.py (2143 lines)", "shortDescription": {"text": "Very large file: src/dashboard/app.py (2143 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-67a3344961937726", "name": "Very large file: src/db/_memory_v2.py (1581 lines)", "shortDescription": {"text": "Very large file: src/db/_memory_v2.py (1581 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-55d52c4a8f351a6f", "name": "Very large file: src/db/_schema.py (3530 lines)", "shortDescription": {"text": "Very large file: src/db/_schema.py (3530 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-2cc8e02736954bf4", "name": "Very large file: src/db/_skills.py (1714 lines)", "shortDescription": {"text": "Very large file: src/db/_skills.py (1714 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-150c29db4c36a1f8", "name": "Very large file: src/cognitive/_core.py (1376 lines)", "shortDescription": {"text": "Very large file: src/cognitive/_core.py (1376 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-57e953dad3d59f65", "name": "Very large file: src/cognitive/_search.py (1464 lines)", "shortDescription": {"text": "Very large file: src/cognitive/_search.py (1464 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-46a67b9b92a5a982", "name": "Very large file: src/plugins/protocol.py (3191 lines)", "shortDescription": {"text": "Very large file: src/plugins/protocol.py (3191 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-b03603530dc1d235", "name": "Very large file: src/plugins/cortex.py (1525 lines)", "shortDescription": {"text": "Very large file: src/plugins/cortex.py (1525 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-313c2242528603d0", "name": "Very large file: src/plugins/update.py (2200 lines)", "shortDescription": {"text": "Very large file: src/plugins/update.py (2200 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 1309 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 19 placeholder/mock markers across 13 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-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1d3fbc30bead412", "name": "Agent instruction contains unpinned remote install: AGENTS.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: AGENTS.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e725d2ab884fbd49", "name": "Multiple root agent instruction files without precedence", "shortDescription": {"text": "Multiple root agent instruction files without precedence"}, "fullDescription": {"text": "The repo has multiple top-level AI-coder instruction files. Without precedence rules, different agents may follow different policies."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b1a832c577646af", "name": "Legacy-named symbol `test_self_heal_uses_richest_backup_not_newest_regressed_backup` in tests/test_auto_update_selfheal.", "shortDescription": {"text": "Legacy-named symbol `test_self_heal_uses_richest_backup_not_newest_regressed_backup` in tests/test_auto_update_selfheal.py:102"}, "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-33b9b622870bc678", "name": "Legacy-named symbol `test_server_guardrails_require_silent_enforcement_copy` in tests/test_enforcement_silent_contract.p", "shortDescription": {"text": "Legacy-named symbol `test_server_guardrails_require_silent_enforcement_copy` in tests/test_enforcement_silent_contract.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-1421d98552fa9deb", "name": "Commented-code block (5 lines) in tests/test_v78_compaction_continuity.py:121", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_v78_compaction_continuity.py:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f14f68548fb80969", "name": "Legacy-named symbol `_fail_backup` in tests/test_deep_sleep_rewrite.py:360", "shortDescription": {"text": "Legacy-named symbol `_fail_backup` in tests/test_deep_sleep_rewrite.py:360"}, "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-6dfbc5db9bf6caf0", "name": "Commented-code block (11 lines) in tests/test_deep_sleep_rewrite.py:72", "shortDescription": {"text": "Commented-code block (11 lines) in tests/test_deep_sleep_rewrite.py:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6fc16c3fbfe38f70", "name": "Legacy-named symbol `find_best_hourly_backup` in tests/test_db_guard.py:24", "shortDescription": {"text": "Legacy-named symbol `find_best_hourly_backup` in tests/test_db_guard.py:24"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9815fefce2055c0d", "name": "Commented-code block (6 lines) in tests/test_workflow.py:26", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_workflow.py:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a008e9f09ad777fd", "name": "Legacy-named symbol `runtime_budget_v1` in tests/test_local_context_usage_events.py:137", "shortDescription": {"text": "Legacy-named symbol `runtime_budget_v1` in tests/test_local_context_usage_events.py:137"}, "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-d5de5b7ed55d60f5", "name": "Commented-code block (5 lines) in tests/test_lifecycle_events.py:168", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_lifecycle_events.py:168"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05c283ac5ddcdf69", "name": "Legacy-named symbol `test_cli_email_parser_help_uses_english_copy` in tests/test_cli_email.py:32", "shortDescription": {"text": "Legacy-named symbol `test_cli_email_parser_help_uses_english_copy` in tests/test_cli_email.py:32"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4ad31fd197df39a", "name": "Legacy-named symbol `test_check_duplicate_artifacts_rejects_duplicate_copy` in tests/test_verify_release_readiness.py:48", "shortDescription": {"text": "Legacy-named symbol `test_check_duplicate_artifacts_rejects_duplicate_copy` in tests/test_verify_release_readiness.py:480"}, "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-72efc7aa76574d97", "name": "Legacy-named symbol `update_copy` in tests/test_cli_scripts.py:606", "shortDescription": {"text": "Legacy-named symbol `update_copy` in tests/test_cli_scripts.py:606"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c729e63a1684ca1", "name": "Commented-code block (5 lines) in tests/test_cli_scripts.py:844", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_cli_scripts.py:844"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1155ad747cf32235", "name": "Legacy-named symbol `_memory_v2` in tests/test_memory_time_range.py:26", "shortDescription": {"text": "Legacy-named symbol `_memory_v2` in tests/test_memory_time_range.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-fb5ea3e0a6df3e86", "name": "Legacy-named symbol `deleted_old` in tests/test_hook_observability.py:178", "shortDescription": {"text": "Legacy-named symbol `deleted_old` in tests/test_hook_observability.py:178"}, "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-126fd51385298aa0", "name": "Legacy-named symbol `orig_legacy` in tests/test_drive.py:403", "shortDescription": {"text": "Legacy-named symbol `orig_legacy` in tests/test_drive.py:403"}, "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-9207f224ffbcbdce", "name": "Commented-code block (7 lines) in tests/test_auto_close_sessions_protocol.py:17", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_auto_close_sessions_protocol.py:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce8f3124c090d002", "name": "Legacy-named symbol `sidecar_legacy` in tests/test_hook_runs_compact_sid_resolution.py:132", "shortDescription": {"text": "Legacy-named symbol `sidecar_legacy` in tests/test_hook_runs_compact_sid_resolution.py:132"}, "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-da0e5e621446087d", "name": "Commented-code block (6 lines) in tests/test_resolution_cache.py:383", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_resolution_cache.py:383"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a0e1c2f59813f1e", "name": "Legacy-named symbol `runtime_budget_v1` in tests/test_pre_answer_cli_contract.py:71", "shortDescription": {"text": "Legacy-named symbol `runtime_budget_v1` in tests/test_pre_answer_cli_contract.py:71"}, "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-776453ed2cb6c0f6", "name": "Legacy-named symbol `_validate_db_backup` in tests/test_auto_update_zero_byte_db.py:5", "shortDescription": {"text": "Legacy-named symbol `_validate_db_backup` in tests/test_auto_update_zero_byte_db.py:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0fb7e917e925a83", "name": "Legacy-named symbol `tools_memory_v2` in tests/test_memory_v2.py:280", "shortDescription": {"text": "Legacy-named symbol `tools_memory_v2` in tests/test_memory_v2.py:280"}, "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-63d58e7dd0981e6d", "name": "Legacy-named symbol `test_preflight_blocks_wiped_db_with_healthy_backup` in tests/test_update_wipe_guard.py:72", "shortDescription": {"text": "Legacy-named symbol `test_preflight_blocks_wiped_db_with_healthy_backup` in tests/test_update_wipe_guard.py:72"}, "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-dc79afa7914c0bcc", "name": "Legacy-named symbol `_create_validated_db_backup` in tests/test_file_migrations.py:166", "shortDescription": {"text": "Legacy-named symbol `_create_validated_db_backup` in tests/test_file_migrations.py:166"}, "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-5c2e3ed019e07484", "name": "Commented-code block (7 lines) in tests/test_personal_scripts_enabled.py:24", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_personal_scripts_enabled.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-c8ee38070393e5a0", "name": "Commented-code block (7 lines) in tests/test_deep_sleep_apply.py:26", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_deep_sleep_apply.py:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9eb660cab3cd1bf8", "name": "Legacy-named symbol `semantic_layers_v1` in tests/test_migrations.py:103", "shortDescription": {"text": "Legacy-named symbol `semantic_layers_v1` in tests/test_migrations.py:103"}, "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-a3aea3b17462f6ea", "name": "Legacy-named symbol `_restore_valid_db_backup` in tests/test_server_startup_contract.py:37", "shortDescription": {"text": "Legacy-named symbol `_restore_valid_db_backup` in tests/test_server_startup_contract.py:37"}, "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-75d08678a271e6e9", "name": "Legacy-named symbol `entities_preset_copy` in tests/test_install_guardian.py:31", "shortDescription": {"text": "Legacy-named symbol `entities_preset_copy` in tests/test_install_guardian.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-43de2cdaaf39f3d9", "name": "Commented-code block (7 lines) in tests/test_system_catalog_discoverability.py:54", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_system_catalog_discoverability.py:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96d7a0c8179faad5", "name": "Legacy-named symbol `src_backup` in tests/test_backup_rate_limit.py:80", "shortDescription": {"text": "Legacy-named symbol `src_backup` in tests/test_backup_rate_limit.py:80"}, "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-e1feca329aa732d3", "name": "Legacy-named symbol `digest_v1` in tests/test_resolution_cache_composite_ids.py:100", "shortDescription": {"text": "Legacy-named symbol `digest_v1` in tests/test_resolution_cache_composite_ids.py:100"}, "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-e282d37ef487dd24", "name": "Commented-code block (5 lines) in tests/test_resolution_cache_composite_ids.py:196", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_resolution_cache_composite_ids.py:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cf090285483b142", "name": "Legacy-named symbol `embedding_v2` in tests/test_cognitive_embedding_migration.py:41", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in tests/test_cognitive_embedding_migration.py:41"}, "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-0d3914607871e9ad", "name": "Commented-code block (5 lines) in tests/test_client_sync.py:1247", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_client_sync.py:1247"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a8e7d5330ceede8", "name": "Legacy-named symbol `test_recover_restores_wiped_db_from_hourly_backup` in tests/test_recover.py:67", "shortDescription": {"text": "Legacy-named symbol `test_recover_restores_wiped_db_from_hourly_backup` in tests/test_recover.py:67"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da4e1d587b05f37f", "name": "Commented-code block (6 lines) in tests/test_fase_2_audit_gaps.py:141", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_fase_2_audit_gaps.py:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f1030c2c198db2e", "name": "Legacy-named symbol `safety_backup` in tests/test_user_data_portability.py:152", "shortDescription": {"text": "Legacy-named symbol `safety_backup` in tests/test_user_data_portability.py:152"}, "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-e1c07c4cc051ebf2", "name": "Commented-code block (5 lines) in tests/test_shell_runtime_path_contract.py:123", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_shell_runtime_path_contract.py:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0083994b031aa147", "name": "Legacy-named symbol `_create_validated_db_backup` in tests/test_external_clis_update.py:292", "shortDescription": {"text": "Legacy-named symbol `_create_validated_db_backup` in tests/test_external_clis_update.py:292"}, "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-73dffd5e3885d3f1", "name": "Legacy-named symbol `move_current_nexo_home_to_backup` in tests/test_cli_rollback_f06.py:67", "shortDescription": {"text": "Legacy-named symbol `move_current_nexo_home_to_backup` in tests/test_cli_rollback_f06.py:67"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1c33d0bdd763874", "name": "Commented-code block (7 lines) in tests/test_preferences_cli.py:16", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_preferences_cli.py:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a17c60c379b36c5", "name": "Commented-code block (7 lines) in tests/test_continuity_runtime.py:22", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_continuity_runtime.py:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4f866688d06538b", "name": "Commented-code block (7 lines) in tests/test_correction_requirements.py:20", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_correction_requirements.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c031f1263c91ceeb", "name": "Commented-code block (6 lines) in tests/test_entities_extended_schema.py:96", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_entities_extended_schema.py:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7594495e1e049a56", "name": "Legacy-named symbol `r_old` in tests/test_memory_forget_multidb.py:363", "shortDescription": {"text": "Legacy-named symbol `r_old` in tests/test_memory_forget_multidb.py:363"}, "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-fc19efaed97e0a53", "name": "Legacy-named symbol `test_db_integrity_flags_wiped_db_with_backup` in tests/test_doctor.py:200", "shortDescription": {"text": "Legacy-named symbol `test_db_integrity_flags_wiped_db_with_backup` in tests/test_doctor.py:200"}, "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-e128946d5c640eb0", "name": "Commented-code block (6 lines) in tests/test_doctor.py:2852", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_doctor.py:2852"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a451c73a95d4504", "name": "Commented-code block (8 lines) in tests/test_script_registry.py:77", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_script_registry.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac3d3dbeec02fa5c", "name": "Legacy-named symbol `embedding_v2` in tests/test_cognitive.py:450", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in tests/test_cognitive.py:450"}, "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-c876110a58a2631a", "name": "Legacy-named symbol `_crons_old` in tests/test_packaged_update_runtime.py:174", "shortDescription": {"text": "Legacy-named symbol `_crons_old` in tests/test_packaged_update_runtime.py:174"}, "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-e9cf3276365ed4a9", "name": "Commented-code block (5 lines) in tests/test_packaged_update_runtime.py:771", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_packaged_update_runtime.py:771"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46ef299ac3fe53c5", "name": "Legacy-named symbol `claude_mem_old` in tests/test_nexo_sleep.py:53", "shortDescription": {"text": "Legacy-named symbol `claude_mem_old` in tests/test_nexo_sleep.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-cccfaa57788a56fd", "name": "Commented-code block (7 lines) in tests/test_self_audit.py:27", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_self_audit.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a89a42fa8c181295", "name": "Commented-code block (7 lines) in tests/test_agent_runner.py:744", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_agent_runner.py:744"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a581ce1839e40560", "name": "Commented-code block (7 lines) in tests/test_followup_hygiene.py:19", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_followup_hygiene.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-801a62d06ad35475", "name": "Legacy-named symbol `test_status_read_error_is_keyed_not_spanish_copy` in tests/test_local_context.py:1822", "shortDescription": {"text": "Legacy-named symbol `test_status_read_error_is_keyed_not_spanish_copy` in tests/test_local_context.py:1822"}, "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-0c5b2455ec805c5e", "name": "Commented-code block (5 lines) in tests/test_v6_hooks_manifest_parity.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_v6_hooks_manifest_parity.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5ef54a9003d4084", "name": "Commented-code block (5 lines) in tests/parity/test_python_driver.py:80", "shortDescription": {"text": "Commented-code block (5 lines) in tests/parity/test_python_driver.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-755c93c2e671b721", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_25_smoke.py:124", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_25_smoke.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-e9726657bb32c334", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_27_smoke.py:136", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_27_smoke.py:136"}, "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-afd23d1280d96083", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_28_smoke.py:137", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_28_smoke.py:137"}, "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-0beb7419d928c872", "name": "Legacy-named symbol `decision_cortex_v2` in scripts/run_v5_0_smoke.py:27", "shortDescription": {"text": "Legacy-named symbol `decision_cortex_v2` in scripts/run_v5_0_smoke.py:27"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e18d0553589afc1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v5_0_smoke.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v5_0_smoke.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-6bf2f87f45ff539c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_22_smoke.py:94", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_22_smoke.py:94"}, "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-0cfd0f2bed40d33d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_26_smoke.py:101", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_26_smoke.py:101"}, "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-46a3a6384ea32336", "name": "Legacy-named symbol `entities_preset_copy` in scripts/install_guardian.py:184", "shortDescription": {"text": "Legacy-named symbol `entities_preset_copy` in scripts/install_guardian.py:184"}, "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-76ba3d901d6e02c9", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_client_parity.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_client_parity.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-81f91b6a57bf93b0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v4_5_smoke.py:117", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v4_5_smoke.py:117"}, "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-02bda8abd493fd63", "name": "Legacy-named symbol `local_index_roots_v2` in scripts/run_v7_25_smoke.py:34", "shortDescription": {"text": "Legacy-named symbol `local_index_roots_v2` in scripts/run_v7_25_smoke.py:34"}, "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-db9a8162716d6f9e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_25_smoke.py:95", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_25_smoke.py:95"}, "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-7da41319ff22b926", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_21_smoke.py:86", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_21_smoke.py:86"}, "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-a4fc7f99915a476e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_23_smoke.py:103", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_23_smoke.py:103"}, "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-a59d82a1c405e370", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_24_smoke.py:115", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_24_smoke.py:115"}, "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-a0f6f217185ff0c0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_release_readiness.py:50", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_release_readiness.py:50"}, "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-061add5e98705809", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_26_smoke.py:134", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_26_smoke.py:134"}, "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-c3650b7c13df53cf", "name": "Legacy-named symbol `cog_backup` in scripts/migrate-v1.5-to-v1.6.py:697", "shortDescription": {"text": "Legacy-named symbol `cog_backup` in scripts/migrate-v1.5-to-v1.6.py:697"}, "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-260fd2413d639039", "name": "Commented-code block (8 lines) in templates/script-template.py:2", "shortDescription": {"text": "Commented-code block (8 lines) in templates/script-template.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5dc920dd3aa14be", "name": "Commented-code block (5 lines) in templates/skill-script-template.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in templates/skill-script-template.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a270de3b25323bf5", "name": "Network/subprocess call without timeout or try/except \u2014 templates/skill-script-template.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 templates/skill-script-template.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-49247e8fa3edeab9", "name": "Legacy-named symbol `_sqlite_backup` in src/user_data_portability.py:105", "shortDescription": {"text": "Legacy-named symbol `_sqlite_backup` in src/user_data_portability.py:105"}, "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-1abf3a61968b5aef", "name": "Commented-code block (5 lines) in src/user_data_portability.py:29", "shortDescription": {"text": "Commented-code block (5 lines) in src/user_data_portability.py:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d8e18edc5f2d4d4", "name": "Commented-code block (6 lines) in src/r23_ssh_without_atlas.py:30", "shortDescription": {"text": "Commented-code block (6 lines) in src/r23_ssh_without_atlas.py:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ca51a1d87fb6b27", "name": "Commented-code block (9 lines) in src/tools_reminders_crud.py:16", "shortDescription": {"text": "Commented-code block (9 lines) in src/tools_reminders_crud.py:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77b4ebdf0118233e", "name": "Commented-code block (7 lines) in src/schema_abstraction.py:69", "shortDescription": {"text": "Commented-code block (7 lines) in src/schema_abstraction.py:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f23c90e6df463148", "name": "Commented-code block (6 lines) in src/classifier_local.py:14", "shortDescription": {"text": "Commented-code block (6 lines) in src/classifier_local.py:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c4319faee339bb9", "name": "Legacy-named symbol `resolved_old` in src/script_registry.py:2818", "shortDescription": {"text": "Legacy-named symbol `resolved_old` in src/script_registry.py:2818"}, "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-3788375a109bde0a", "name": "Commented-code block (7 lines) in src/script_registry.py:992", "shortDescription": {"text": "Commented-code block (7 lines) in src/script_registry.py:992"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e29b813a9878df7c", "name": "Network/subprocess call without timeout or try/except \u2014 src/script_registry.py:2454", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/script_registry.py:2454"}, "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-26170f8468d3f702", "name": "Commented-code block (5 lines) in src/r23l_resource_collision.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in src/r23l_resource_collision.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-100651d6bbc61bcc", "name": "Commented-code block (5 lines) in src/transcript_utils.py:239", "shortDescription": {"text": "Commented-code block (5 lines) in src/transcript_utils.py:239"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8dc49c391daf8905", "name": "Commented-code block (7 lines) in src/knowledge_graph.py:262", "shortDescription": {"text": "Commented-code block (7 lines) in src/knowledge_graph.py:262"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ddcbe8a3e949b38d", "name": "Commented-code block (7 lines) in src/desktop_bridge.py:314", "shortDescription": {"text": "Commented-code block (7 lines) in src/desktop_bridge.py:314"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0db19617b0de96dc", "name": "Commented-code block (7 lines) in src/r25_nora_maria_read_only.py:40", "shortDescription": {"text": "Commented-code block (7 lines) in src/r25_nora_maria_read_only.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6fa52933862af32f", "name": "Commented-code block (6 lines) in src/tools_learnings.py:342", "shortDescription": {"text": "Commented-code block (6 lines) in src/tools_learnings.py:342"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0553430541962c5", "name": "Commented-code block (5 lines) in src/memory_retrieval.py:133", "shortDescription": {"text": "Commented-code block (5 lines) in src/memory_retrieval.py:133"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4553723d670c651b", "name": "Legacy-named symbol `_canonical_supersedes_legacy` in src/cognitive_paths.py:152", "shortDescription": {"text": "Legacy-named symbol `_canonical_supersedes_legacy` in src/cognitive_paths.py:152"}, "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-eb9d0272b2a1a694", "name": "Legacy-named symbol `memory_utility_v1` in src/memory_utility.py:17", "shortDescription": {"text": "Legacy-named symbol `memory_utility_v1` in src/memory_utility.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-83fff7ef81b8460a", "name": "Commented-code block (9 lines) in src/email_config.py:111", "shortDescription": {"text": "Commented-code block (9 lines) in src/email_config.py:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c772487388afda24", "name": "Commented-code block (5 lines) in src/constants.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/constants.py:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-216a5d7e54e6c72b", "name": "Legacy-named symbol `operational_state_v1` in src/user_state_model.py:17", "shortDescription": {"text": "Legacy-named symbol `operational_state_v1` in src/user_state_model.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-b509664b0c2c5ad0", "name": "Commented-code block (12 lines) in src/hook_guardrails.py:46", "shortDescription": {"text": "Commented-code block (12 lines) in src/hook_guardrails.py:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b7c37c8f9e28bd0", "name": "Commented-code block (8 lines) in src/enforcement_engine.py:283", "shortDescription": {"text": "Commented-code block (8 lines) in src/enforcement_engine.py:283"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ae5dfa7ff94480f", "name": "Commented-code block (5 lines) in src/consolidation_prep.py:45", "shortDescription": {"text": "Commented-code block (5 lines) in src/consolidation_prep.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-259ff10c24b95d02", "name": "Commented-code block (8 lines) in src/runtime_service.py:37", "shortDescription": {"text": "Commented-code block (8 lines) in src/runtime_service.py:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd3b68f0105c2096", "name": "Legacy-named symbol `resolution_cache_v1` in src/resolution_cache.py:96", "shortDescription": {"text": "Legacy-named symbol `resolution_cache_v1` in src/resolution_cache.py:96"}, "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-53a97ed8daffed9f", "name": "Commented-code block (5 lines) in src/resolution_cache.py:109", "shortDescription": {"text": "Commented-code block (5 lines) in src/resolution_cache.py:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c64a649ea6534905", "name": "Legacy-named symbol `_connect_backup` in src/memory_fabric.py:227", "shortDescription": {"text": "Legacy-named symbol `_connect_backup` in src/memory_fabric.py:227"}, "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-e901702ca974d65f", "name": "Commented-code block (7 lines) in src/r23f_db_no_where.py:20", "shortDescription": {"text": "Commented-code block (7 lines) in src/r23f_db_no_where.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-013bd83beaddc566", "name": "Commented-code block (6 lines) in src/resonance_map.py:71", "shortDescription": {"text": "Commented-code block (6 lines) in src/resonance_map.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88ced8855ea2928c", "name": "Legacy-named symbol `_proposal_copy` in src/opportunity_orchestrator.py:509", "shortDescription": {"text": "Legacy-named symbol `_proposal_copy` in src/opportunity_orchestrator.py:509"}, "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-f21c534a59f57044", "name": "Commented-code block (7 lines) in src/runtime_versioning.py:16", "shortDescription": {"text": "Commented-code block (7 lines) in src/runtime_versioning.py:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-359891cd3d478c5a", "name": "Commented-code block (6 lines) in src/plugin_loader.py:50", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugin_loader.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff53b63175150541", "name": "Commented-code block (9 lines) in src/public_contribution.py:45", "shortDescription": {"text": "Commented-code block (9 lines) in src/public_contribution.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-252839785dfad88c", "name": "Legacy-named symbol `safety_backup` in src/cli.py:1573", "shortDescription": {"text": "Legacy-named symbol `safety_backup` in src/cli.py:1573"}, "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-b49052f74f90bf2f", "name": "Commented-code block (6 lines) in src/cli.py:2972", "shortDescription": {"text": "Commented-code block (6 lines) in src/cli.py:2972"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8f50d5182917021", "name": "Network/subprocess call without timeout or try/except \u2014 src/cli.py:2981", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/cli.py:2981"}, "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-d917326659779e2b", "name": "Commented-code block (6 lines) in src/r23g_secrets_in_output.py:75", "shortDescription": {"text": "Commented-code block (6 lines) in src/r23g_secrets_in_output.py:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a52ed819ff676e4c", "name": "Commented-code block (7 lines) in src/ppr.py:168", "shortDescription": {"text": "Commented-code block (7 lines) in src/ppr.py:168"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21edf063dda13fc5", "name": "Legacy-named symbol `files_to_backup` in src/evolution_cycle.py:179", "shortDescription": {"text": "Legacy-named symbol `files_to_backup` in src/evolution_cycle.py:179"}, "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-bd1c9198b6bb955b", "name": "Commented-code block (11 lines) in src/agent_runner.py:107", "shortDescription": {"text": "Commented-code block (11 lines) in src/agent_runner.py:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1be36d7a9e7bc6a", "name": "Legacy-named symbol `tools_memory_v2` in src/server.py:46", "shortDescription": {"text": "Legacy-named symbol `tools_memory_v2` in src/server.py:46"}, "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-2bdb9911058a02b2", "name": "Commented-code block (7 lines) in src/server.py:159", "shortDescription": {"text": "Commented-code block (7 lines) in src/server.py:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d66f93b0b9d74988", "name": "Legacy-named symbol `_brain_legacy` in src/calibration_migration.py:347", "shortDescription": {"text": "Legacy-named symbol `_brain_legacy` in src/calibration_migration.py:347"}, "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-7c62396dafc44279", "name": "Commented-code block (5 lines) in src/calibration_migration.py:258", "shortDescription": {"text": "Commented-code block (5 lines) in src/calibration_migration.py:258"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8b1d85a45fb8f13", "name": "Legacy-named symbol `runtime_budget_v1` in src/pre_answer_runtime.py:13", "shortDescription": {"text": "Legacy-named symbol `runtime_budget_v1` in src/pre_answer_runtime.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-1d9cd49340af54f4", "name": "Commented-code block (9 lines) in src/pre_answer_runtime.py:20", "shortDescription": {"text": "Commented-code block (9 lines) in src/pre_answer_runtime.py:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c1be7f3775b5b32", "name": "Network/subprocess call without timeout or try/except \u2014 src/nexo_sdk.py:17", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/nexo_sdk.py:17"}, "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-09c38be1ef882fe5", "name": "Legacy-named symbol `semantic_layers_v1` in src/semantic_layers.py:20", "shortDescription": {"text": "Legacy-named symbol `semantic_layers_v1` in src/semantic_layers.py:20"}, "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-2b5d7f237aab708e", "name": "Commented-code block (7 lines) in src/semantic_layers.py:448", "shortDescription": {"text": "Commented-code block (7 lines) in src/semantic_layers.py:448"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86b0b238bedbe1c9", "name": "Commented-code block (5 lines) in src/paths.py:768", "shortDescription": {"text": "Commented-code block (5 lines) in src/paths.py:768"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81a070a501507a3b", "name": "Commented-code block (5 lines) in src/tools_sessions.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/tools_sessions.py:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc2992f89cb201f7", "name": "Commented-code block (7 lines) in src/memory_forget.py:98", "shortDescription": {"text": "Commented-code block (7 lines) in src/memory_forget.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29e38aec70ac11b2", "name": "Legacy-named symbol `deleted_old` in src/hook_observability.py:77", "shortDescription": {"text": "Legacy-named symbol `deleted_old` in src/hook_observability.py:77"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d76b852fc648152", "name": "Legacy-named symbol `_should_include_local_context_backup` in src/auto_update.py:178", "shortDescription": {"text": "Legacy-named symbol `_should_include_local_context_backup` in src/auto_update.py:178"}, "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-49412f220737efc7", "name": "Commented-code block (5 lines) in src/auto_update.py:2261", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto_update.py:2261"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6954101b11fb6b04", "name": "Commented-code block (9 lines) in src/pre_answer_router.py:1916", "shortDescription": {"text": "Commented-code block (9 lines) in src/pre_answer_router.py:1916"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-270f751b231c9b54", "name": "Commented-code block (5 lines) in src/lifecycle_prompts.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in src/lifecycle_prompts.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4380cf558ea51c2", "name": "Network/subprocess call without timeout or try/except \u2014 src/causal_graph.py:200", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/causal_graph.py:200"}, "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-f10cd4f6f05f3d94", "name": "Legacy-named symbol `_memory_v2` in src/memory_executive.py:400", "shortDescription": {"text": "Legacy-named symbol `_memory_v2` in src/memory_executive.py:400"}, "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-6d6f3b7c7cd35276", "name": "Legacy-named symbol `find_latest_hourly_backup` in src/db_guard.py:27", "shortDescription": {"text": "Legacy-named symbol `find_latest_hourly_backup` in src/db_guard.py:27"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a1f0daef53e0195", "name": "Commented-code block (6 lines) in src/call_model_raw.py:184", "shortDescription": {"text": "Commented-code block (6 lines) in src/call_model_raw.py:184"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad5b2950bc132287", "name": "Commented-code block (8 lines) in src/client_sync.py:589", "shortDescription": {"text": "Commented-code block (8 lines) in src/client_sync.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-5ae60a62e9f45be4", "name": "Legacy-named symbol `find_best_hourly_backup` in src/doctor/providers/boot.py:56", "shortDescription": {"text": "Legacy-named symbol `find_best_hourly_backup` in src/doctor/providers/boot.py:56"}, "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-3f24798d9afb5ebb", "name": "Commented-code block (6 lines) in src/local_context/db.py:83", "shortDescription": {"text": "Commented-code block (6 lines) in src/local_context/db.py:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0cdfddedea5de33e", "name": "Legacy-named symbol `_create_roots_v2_sqlite_backup` in src/local_context/api.py:962", "shortDescription": {"text": "Legacy-named symbol `_create_roots_v2_sqlite_backup` in src/local_context/api.py:962"}, "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-f24b2ee593992494", "name": "Commented-code block (5 lines) in src/local_context/api.py:2300", "shortDescription": {"text": "Commented-code block (5 lines) in src/local_context/api.py:2300"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7651ce0e4884dea1", "name": "Commented-code block (8 lines) in src/local_context/embeddings.py:135", "shortDescription": {"text": "Commented-code block (8 lines) in src/local_context/embeddings.py:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e220464c158e6b27", "name": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-pre-commit.py:48", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-pre-commit.py:48"}, "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-361b631709907379", "name": "Commented-code block (13 lines) in src/scripts/runner-health-check.py:2", "shortDescription": {"text": "Commented-code block (13 lines) in src/scripts/runner-health-check.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab05c9906bcc12ec", "name": "Legacy-named symbol `do_backup` in src/scripts/backfill_task_owner.py:307", "shortDescription": {"text": "Legacy-named symbol `do_backup` in src/scripts/backfill_task_owner.py:307"}, "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-b3feae441a8d2dfb", "name": "Commented-code block (7 lines) in src/scripts/nexo-postmortem-consolidator.py:125", "shortDescription": {"text": "Commented-code block (7 lines) in src/scripts/nexo-postmortem-consolidator.py:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36b8e0c9be4e902d", "name": "Legacy-named symbol `claude_mem_old` in src/scripts/nexo-sleep.py:243", "shortDescription": {"text": "Legacy-named symbol `claude_mem_old` in src/scripts/nexo-sleep.py:243"}, "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-0f811e763484f6df", "name": "Commented-code block (14 lines) in src/scripts/nexo-followup-runner.py:2", "shortDescription": {"text": "Commented-code block (14 lines) in src/scripts/nexo-followup-runner.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c806bb61fc64d6e7", "name": "Commented-code block (15 lines) in src/scripts/nexo-memory-observation-watchdog.py:2", "shortDescription": {"text": "Commented-code block (15 lines) in src/scripts/nexo-memory-observation-watchdog.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42358dae25d86c64", "name": "Commented-code block (6 lines) in src/scripts/prune_runtime_backups.py:2", "shortDescription": {"text": "Commented-code block (6 lines) in src/scripts/prune_runtime_backups.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-702da5a0f5569d55", "name": "Commented-code block (5 lines) in src/scripts/nexo-immune.py:107", "shortDescription": {"text": "Commented-code block (5 lines) in src/scripts/nexo-immune.py:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82591bcab33e981b", "name": "Legacy-named symbol `_load_legacy` in src/scripts/nexo-email-migrate-config.py:52", "shortDescription": {"text": "Legacy-named symbol `_load_legacy` in src/scripts/nexo-email-migrate-config.py:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5578b6d70cedf10c", "name": "Commented-code block (6 lines) in src/scripts/nexo-email-migrate-config.py:2", "shortDescription": {"text": "Commented-code block (6 lines) in src/scripts/nexo-email-migrate-config.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea04d3cf04409011", "name": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-watchdog-smoke.py:89", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-watchdog-smoke.py:89"}, "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-08ca790b5f762de7", "name": "Commented-code block (8 lines) in src/scripts/nexo-memory-fabric.py:2", "shortDescription": {"text": "Commented-code block (8 lines) in src/scripts/nexo-memory-fabric.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8046f628cbb8bb38", "name": "Commented-code block (15 lines) in src/scripts/nexo-local-index.py:2", "shortDescription": {"text": "Commented-code block (15 lines) in src/scripts/nexo-local-index.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5fdd0c35611b9e78", "name": "Commented-code block (5 lines) in src/scripts/nexo-daily-self-audit.py:2312", "shortDescription": {"text": "Commented-code block (5 lines) in src/scripts/nexo-daily-self-audit.py:2312"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4178642a4310ba81", "name": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-daily-self-audit.py:954", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-daily-self-audit.py:954"}, "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-de79e57362e9dfed", "name": "Commented-code block (14 lines) in src/scripts/nexo-email-monitor.py:2", "shortDescription": {"text": "Commented-code block (14 lines) in src/scripts/nexo-email-monitor.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd7870372fce4d34", "name": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-email-monitor.py:2079", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-email-monitor.py:2079"}, "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-d89cbde162ce1e35", "name": "Legacy-named symbol `files_to_backup` in src/scripts/nexo-evolution-run.py:1068", "shortDescription": {"text": "Legacy-named symbol `files_to_backup` in src/scripts/nexo-evolution-run.py:1068"}, "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-d43013d86a791310", "name": "Commented-code block (14 lines) in src/scripts/nexo-morning-agent.py:2", "shortDescription": {"text": "Commented-code block (14 lines) in src/scripts/nexo-morning-agent.py:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5003ccf5f1508779", "name": "Commented-code block (6 lines) in src/scripts/nexo-learning-housekeep.py:161", "shortDescription": {"text": "Commented-code block (6 lines) in src/scripts/nexo-learning-housekeep.py:161"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21385936e0f4bc6c", "name": "Legacy-named symbol `nexo_backup` in src/scripts/deep-sleep/apply_findings.py:2432", "shortDescription": {"text": "Legacy-named symbol `nexo_backup` in src/scripts/deep-sleep/apply_findings.py:2432"}, "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-380e3ef3d6163fff", "name": "Commented-code block (7 lines) in src/scripts/deep-sleep/apply_findings.py:2276", "shortDescription": {"text": "Commented-code block (7 lines) in src/scripts/deep-sleep/apply_findings.py:2276"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a0f570efd9b4f1d", "name": "Commented-code block (6 lines) in src/scripts/deep-sleep/extract.py:50", "shortDescription": {"text": "Commented-code block (6 lines) in src/scripts/deep-sleep/extract.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6af949110dde83d2", "name": "Commented-code block (5 lines) in src/scripts/deep-sleep/phase_protocol_debt_drain.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in src/scripts/deep-sleep/phase_protocol_debt_drain.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a07e7e8d4ffd482f", "name": "Legacy-named symbol `api_memory_search_v2` in src/dashboard/app.py:755", "shortDescription": {"text": "Legacy-named symbol `api_memory_search_v2` in src/dashboard/app.py:755"}, "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-80527f60acee6745", "name": "Commented-code block (7 lines) in src/dashboard/app.py:1209", "shortDescription": {"text": "Commented-code block (7 lines) in src/dashboard/app.py:1209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b789fdf0b845bfac", "name": "Network/subprocess call without timeout or try/except \u2014 src/dashboard/app.py:1206", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/dashboard/app.py:1206"}, "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-6362cf881c496829", "name": "Network/subprocess call without timeout or try/except \u2014 src/managed_mcp/reconcile.py:78", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/managed_mcp/reconcile.py:78"}, "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-5ddce02115877e71", "name": "Legacy-named symbol `sidecar_legacy` in src/hooks/compact_session_resolver.py:114", "shortDescription": {"text": "Legacy-named symbol `sidecar_legacy` in src/hooks/compact_session_resolver.py:114"}, "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-aa6288387382dcbc", "name": "Commented-code block (5 lines) in src/hooks/auto_capture.py:257", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/auto_capture.py:257"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f821d04a9b9338c", "name": "Commented-code block (7 lines) in src/hooks/post_tool_use.py:655", "shortDescription": {"text": "Commented-code block (7 lines) in src/hooks/post_tool_use.py:655"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-14460c03b5a01fa0", "name": "Legacy-named symbol `_memory_v2` in src/db/__init__.py:58", "shortDescription": {"text": "Legacy-named symbol `_memory_v2` in src/db/__init__.py:58"}, "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-71651af504dbf78a", "name": "Legacy-named symbol `_memory_v2` in src/db/_memory_v2.py:31", "shortDescription": {"text": "Legacy-named symbol `_memory_v2` in src/db/_memory_v2.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-5ce3eba5e9fbf498", "name": "Commented-code block (8 lines) in src/db/_email_accounts.py:81", "shortDescription": {"text": "Commented-code block (8 lines) in src/db/_email_accounts.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ccaa8ccd97593cb7", "name": "Commented-code block (6 lines) in src/db/_core.py:43", "shortDescription": {"text": "Commented-code block (6 lines) in src/db/_core.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e740aa92d0542f1a", "name": "Commented-code block (5 lines) in src/db/_reminders.py:66", "shortDescription": {"text": "Commented-code block (5 lines) in src/db/_reminders.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f103a06306bbeee3", "name": "Legacy-named symbol `_m19_skills_v2` in src/db/_schema.py:386", "shortDescription": {"text": "Legacy-named symbol `_m19_skills_v2` in src/db/_schema.py:386"}, "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-c9f24812f7aab4d5", "name": "Commented-code block (6 lines) in src/db/_hot_context.py:573", "shortDescription": {"text": "Commented-code block (6 lines) in src/db/_hot_context.py:573"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-178714502e52000d", "name": "Commented-code block (5 lines) in src/crons/sync.py:730", "shortDescription": {"text": "Commented-code block (5 lines) in src/crons/sync.py:730"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5d7592877448950", "name": "Network/subprocess call without timeout or try/except \u2014 src/crons/sync.py:592", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/crons/sync.py:592"}, "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-ef4e10b978449c91", "name": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-nexo-core-fix-cycle/script.py:189", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-nexo-core-fix-cycle/script.py:189"}, "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-06296e3526ccbc05", "name": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-runtime-doctor/script.py:16", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-runtime-doctor/script.py:16"}, "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-a1a432e7c64c5f44", "name": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-release-final-audit/script.py:146", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-release-final-audit/script.py:146"}, "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-90c0ca95957ef13e", "name": "Legacy-named symbol `embedding_v2` in src/cognitive/_ingest.py:102", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_ingest.py:102"}, "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-7cd799991c6868ee", "name": "Legacy-named symbol `embedding_v2` in src/cognitive/_core.py:353", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_core.py:353"}, "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-650680ce4f5bf76d", "name": "Commented-code block (6 lines) in src/cognitive/_search.py:249", "shortDescription": {"text": "Commented-code block (6 lines) in src/cognitive/_search.py:249"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4639d5d2db01aff", "name": "Legacy-named symbol `embedding_v2` in src/cognitive/_trust.py:140", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_trust.py:140"}, "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-9938e2cb0f9808f4", "name": "Commented-code block (5 lines) in src/cognitive/_trust.py:80", "shortDescription": {"text": "Commented-code block (5 lines) in src/cognitive/_trust.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c073e427eb131fd", "name": "Legacy-named symbol `embedding_v2` in src/cognitive/_decay.py:126", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_decay.py:126"}, "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-dc5493357f942dc7", "name": "Legacy-named symbol `embedding_v2` in src/cognitive/_memory.py:196", "shortDescription": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_memory.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-430bebad49c3bbcf", "name": "Commented-code block (7 lines) in src/plugins/protocol.py:52", "shortDescription": {"text": "Commented-code block (7 lines) in src/plugins/protocol.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f3e6f90cf181b043", "name": "Commented-code block (6 lines) in src/plugins/simple_api.py:14", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/simple_api.py:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55e4c47b82a09c59", "name": "Commented-code block (6 lines) in src/plugins/workflow.py:188", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/workflow.py:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f009490877c8bd6", "name": "Legacy-named symbol `_cleanup_old` in src/plugins/backup.py:103", "shortDescription": {"text": "Legacy-named symbol `_cleanup_old` in src/plugins/backup.py:103"}, "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-17d19feebbd0327d", "name": "Commented-code block (7 lines) in src/plugins/cortex.py:1434", "shortDescription": {"text": "Commented-code block (7 lines) in src/plugins/cortex.py:1434"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd0a8d891f1a589a", "name": "Commented-code block (10 lines) in src/plugins/guard.py:497", "shortDescription": {"text": "Commented-code block (10 lines) in src/plugins/guard.py:497"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2690c217bad1dfdc", "name": "Legacy-named symbol `latest_legacy` in src/plugins/schedule.py:121", "shortDescription": {"text": "Legacy-named symbol `latest_legacy` in src/plugins/schedule.py:121"}, "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-ee2bce0a73beb2de", "name": "Network/subprocess call without timeout or try/except \u2014 src/plugins/schedule.py:542", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/plugins/schedule.py:542"}, "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-9c91bfca5ec8d396", "name": "Legacy-named symbol `find_latest_hourly_backup` in src/plugins/recover.py:45", "shortDescription": {"text": "Legacy-named symbol `find_latest_hourly_backup` in src/plugins/recover.py:45"}, "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-a883e1da0b905a7f", "name": "Legacy-named symbol `find_best_hourly_backup` in src/plugins/update.py:55", "shortDescription": {"text": "Legacy-named symbol `find_best_hourly_backup` in src/plugins/update.py:55"}, "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-722d845bc6a1e63d", "name": "Commented-code block (7 lines) in src/plugins/update.py:124", "shortDescription": {"text": "Commented-code block (7 lines) in src/plugins/update.py:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80c56bf9f3150ef3", "name": "Network/subprocess call without timeout or try/except \u2014 src/plugins/update.py:556", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/plugins/update.py:556"}, "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-fe1d9311d6aee734", "name": "Near-duplicate function bodies in 12 places", "shortDescription": {"text": "Near-duplicate function bodies in 12 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/run_v7_30_25_smoke.py:main, scripts/run_v7_30_27_smoke.py:main, scripts/run_v7_30_28_smoke.py:main, scripts/run_v5_0_smoke.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}}, {"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:\nscripts/guardian_metrics_aggregate.py:aggregate, src/scripts/guardian_metrics_aggregate.py:aggregate\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/tools_hot_context.py:handle_recent_context_capture, src/tools_hot_context.py:handle_recent_context, src/server.py:nexo_recent_context_capture, src/server.py:nexo_recent_context\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/closure_plane.py:refresh_closure_items, src/closure_plane.py:closure_status, src/closure_plane.py:closure_snapshot, src/opportunity_orchestrator.py:collect_candidates\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-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/closure_plane.py:handle_closure_item_get, src/closure_plane.py:handle_closure_link, src/closure_plane.py:handle_closure_snapshot, src/closure_plane.py:handle_closure_verify\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-9553de4724f91a03", "name": "FastAPI POST `api_memory_backfill` without auth dependency \u2014 src/dashboard/app.py:776", "shortDescription": {"text": "FastAPI POST `api_memory_backfill` without auth dependency \u2014 src/dashboard/app.py:776"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee3d67a9118704a1", "name": "FastAPI POST `api_reminders_create` without auth dependency \u2014 src/dashboard/app.py:933", "shortDescription": {"text": "FastAPI POST `api_reminders_create` without auth dependency \u2014 src/dashboard/app.py:933"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9e81adc6f7564f02", "name": "FastAPI PUT `api_reminders_update` without auth dependency \u2014 src/dashboard/app.py:960", "shortDescription": {"text": "FastAPI PUT `api_reminders_update` without auth dependency \u2014 src/dashboard/app.py:960"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb653bbd74dad547", "name": "FastAPI DELETE `api_reminders_delete` without auth dependency \u2014 src/dashboard/app.py:987", "shortDescription": {"text": "FastAPI DELETE `api_reminders_delete` without auth dependency \u2014 src/dashboard/app.py:987"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-efe96af90f403808", "name": "FastAPI POST `api_followups_create` without auth dependency \u2014 src/dashboard/app.py:1037", "shortDescription": {"text": "FastAPI POST `api_followups_create` without auth dependency \u2014 src/dashboard/app.py:1037"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34463ddca5cef2c4", "name": "FastAPI PUT `api_followups_update` without auth dependency \u2014 src/dashboard/app.py:1065", "shortDescription": {"text": "FastAPI PUT `api_followups_update` without auth dependency \u2014 src/dashboard/app.py:1065"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55f86136adda4bbf", "name": "FastAPI DELETE `api_followups_delete` without auth dependency \u2014 src/dashboard/app.py:1094", "shortDescription": {"text": "FastAPI DELETE `api_followups_delete` without auth dependency \u2014 src/dashboard/app.py:1094"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe92b4efde906080", "name": "FastAPI POST `api_ops_move` without auth dependency \u2014 src/dashboard/app.py:1113", "shortDescription": {"text": "FastAPI POST `api_ops_move` without auth dependency \u2014 src/dashboard/app.py:1113"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57d08adaff8bb6ad", "name": "FastAPI POST `api_ops_execute` without auth dependency \u2014 src/dashboard/app.py:1176", "shortDescription": {"text": "FastAPI POST `api_ops_execute` without auth dependency \u2014 src/dashboard/app.py:1176"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-35c7f3c862ee09af", "name": "FastAPI POST `api_inbox_create` without auth dependency \u2014 src/dashboard/app.py:1289", "shortDescription": {"text": "FastAPI POST `api_inbox_create` without auth dependency \u2014 src/dashboard/app.py:1289"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d4c47bf714a31aa", "name": "FastAPI PUT `api_inbox_mark_read` without auth dependency \u2014 src/dashboard/app.py:1308", "shortDescription": {"text": "FastAPI PUT `api_inbox_mark_read` without auth dependency \u2014 src/dashboard/app.py:1308"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bef5cd820440e0d5", "name": "FastAPI POST `api_chat` without auth dependency \u2014 src/dashboard/app.py:1531", "shortDescription": {"text": "FastAPI POST `api_chat` without auth dependency \u2014 src/dashboard/app.py:1531"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfada129ce5bb026", "name": "Unused endpoint: GET /feed", "shortDescription": {"text": "Unused endpoint: GET /feed"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /feed` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e59ec6872274b1a4", "name": "Unused endpoint: GET /crons", "shortDescription": {"text": "Unused endpoint: GET /crons"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /crons` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19fd15f35c690f73", "name": "Unused endpoint: GET /ops", "shortDescription": {"text": "Unused endpoint: GET /ops"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /ops` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f9819d9ecb49931", "name": "Unused endpoint: GET /calendar", "shortDescription": {"text": "Unused endpoint: GET /calendar"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /calendar` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d3a434fedb1fa40", "name": "Unused endpoint: GET /chat", "shortDescription": {"text": "Unused endpoint: GET /chat"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /chat` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-279d61489dedfa5f", "name": "Unused endpoint: GET /memory", "shortDescription": {"text": "Unused endpoint: GET /memory"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /memory` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef990c0da88df323", "name": "Unused endpoint: GET /dreams", "shortDescription": {"text": "Unused endpoint: GET /dreams"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /dreams` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c5c6900e4670966", "name": "Unused endpoint: GET /skills", "shortDescription": {"text": "Unused endpoint: GET /skills"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /skills` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2ef035e9aa1697d", "name": "Unused endpoint: GET /trust", "shortDescription": {"text": "Unused endpoint: GET /trust"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /trust` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d303edec335b24e", "name": "Unused endpoint: GET /guard", "shortDescription": {"text": "Unused endpoint: GET /guard"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /guard` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91486b0090c59df7", "name": "Unused endpoint: GET /protocol", "shortDescription": {"text": "Unused endpoint: GET /protocol"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /protocol` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc69da52574bd40c", "name": "Unused endpoint: GET /cortex", "shortDescription": {"text": "Unused endpoint: GET /cortex"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /cortex` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26bf5f94d883f709", "name": "Unused endpoint: GET /rules", "shortDescription": {"text": "Unused endpoint: GET /rules"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /rules` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ac29e25b9f1dd29", "name": "Unused endpoint: GET /plugins", "shortDescription": {"text": "Unused endpoint: GET /plugins"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /plugins` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78124393f528246e", "name": "Unused endpoint: GET /evolution", "shortDescription": {"text": "Unused endpoint: GET /evolution"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /evolution` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daa962bae78e470b", "name": "Unused endpoint: GET /claims", "shortDescription": {"text": "Unused endpoint: GET /claims"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /claims` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cd73a504cb2b34e", "name": "Unused endpoint: GET /sentiment", "shortDescription": {"text": "Unused endpoint: GET /sentiment"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /sentiment` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b15d518d538de57d", "name": "Unused endpoint: GET /sessions", "shortDescription": {"text": "Unused endpoint: GET /sessions"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f77855b5601be75", "name": "Unused endpoint: GET /triggers", "shortDescription": {"text": "Unused endpoint: GET /triggers"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /triggers` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ad71d781550edea", "name": "Unused endpoint: GET /artifacts", "shortDescription": {"text": "Unused endpoint: GET /artifacts"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /artifacts` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d315efa0f1b0f8fb", "name": "Unused endpoint: GET /inbox", "shortDescription": {"text": "Unused endpoint: GET /inbox"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /inbox` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2036430dc3a32669", "name": "Unused endpoint: GET /email", "shortDescription": {"text": "Unused endpoint: GET /email"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /email` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35c268ad9306182e", "name": "Unused endpoint: GET /credentials", "shortDescription": {"text": "Unused endpoint: GET /credentials"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /credentials` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5dfd6eb0c2d510e", "name": "Unused endpoint: GET /backups", "shortDescription": {"text": "Unused endpoint: GET /backups"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /backups` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58da4656b3bd7765", "name": "Unused endpoint: GET /followup-health", "shortDescription": {"text": "Unused endpoint: GET /followup-health"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /followup-health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0ac2ef565a5459b", "name": "Unused endpoint: GET /graph", "shortDescription": {"text": "Unused endpoint: GET /graph"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /graph` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb4e107ab0a6efa9", "name": "Unused endpoint: GET /somatic", "shortDescription": {"text": "Unused endpoint: GET /somatic"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /somatic` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fb0ccb23c35832e", "name": "Unused endpoint: GET /adaptive", "shortDescription": {"text": "Unused endpoint: GET /adaptive"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /adaptive` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b37265900e79a8a", "name": "Unused endpoint: GET /api/stats", "shortDescription": {"text": "Unused endpoint: GET /api/stats"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9185678549c1ef6d", "name": "Unused endpoint: GET /api/graph", "shortDescription": {"text": "Unused endpoint: GET /api/graph"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/graph` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94760304cb683d43", "name": "Unused endpoint: GET /api/memories", "shortDescription": {"text": "Unused endpoint: GET /api/memories"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/memories` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2072d6c8007809d0", "name": "Unused endpoint: GET /api/memory/observations", "shortDescription": {"text": "Unused endpoint: GET /api/memory/observations"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/memory/observations` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2689e545dd384c20", "name": "Unused endpoint: GET /api/memory/search-v2", "shortDescription": {"text": "Unused endpoint: GET /api/memory/search-v2"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/memory/search-v2` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4837aa5f85455371", "name": "Unused endpoint: POST /api/memory/backfill", "shortDescription": {"text": "Unused endpoint: POST /api/memory/backfill"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `POST /api/memory/backfill` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-107b1ccde6915395", "name": "Unused endpoint: GET /api/somatic", "shortDescription": {"text": "Unused endpoint: GET /api/somatic"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/somatic` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea36dedbbdccf8aa", "name": "Unused endpoint: GET /api/trust", "shortDescription": {"text": "Unused endpoint: GET /api/trust"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/trust` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e44ded304301b0d1", "name": "Unused endpoint: GET /api/project-pulse", "shortDescription": {"text": "Unused endpoint: GET /api/project-pulse"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/project-pulse` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f712993f294692dd", "name": "Unused endpoint: GET /api/engineering-loop", "shortDescription": {"text": "Unused endpoint: GET /api/engineering-loop"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/engineering-loop` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-155229f7d409b30c", "name": "Unused endpoint: GET /api/adaptive", "shortDescription": {"text": "Unused endpoint: GET /api/adaptive"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/adaptive` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf2e6e2188a510ee", "name": "Unused endpoint: GET /api/sessions", "shortDescription": {"text": "Unused endpoint: GET /api/sessions"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd6689a6dea2a7ad", "name": "Unused endpoint: GET /api/kg/nodes", "shortDescription": {"text": "Unused endpoint: GET /api/kg/nodes"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/kg/nodes` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-980bba732a44b4fe", "name": "Unused endpoint: GET /api/reminders", "shortDescription": {"text": "Unused endpoint: GET /api/reminders"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/reminders` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e9ff3a8313a6cca", "name": "Unused endpoint: POST /api/reminders", "shortDescription": {"text": "Unused endpoint: POST /api/reminders"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `POST /api/reminders` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-550f0fa2d5b40271", "name": "Unused endpoint: GET /api/reminders/{rid}", "shortDescription": {"text": "Unused endpoint: GET /api/reminders/{rid}"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/reminders/{rid}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-213be412da057f69", "name": "Unused endpoint: PUT /api/reminders/{rid}", "shortDescription": {"text": "Unused endpoint: PUT /api/reminders/{rid}"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `PUT /api/reminders/{rid}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb4cbc997221db6d", "name": "Unused endpoint: DELETE /api/reminders/{rid}", "shortDescription": {"text": "Unused endpoint: DELETE /api/reminders/{rid}"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `DELETE /api/reminders/{rid}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c2a391588ba16e2", "name": "Unused endpoint: GET /api/followups", "shortDescription": {"text": "Unused endpoint: GET /api/followups"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/followups` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4809fc48720e7ccf", "name": "Unused endpoint: POST /api/followups", "shortDescription": {"text": "Unused endpoint: POST /api/followups"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `POST /api/followups` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13396613ce50b643", "name": "Unused endpoint: GET /api/followups/{fid}", "shortDescription": {"text": "Unused endpoint: GET /api/followups/{fid}"}, "fullDescription": {"text": "`src/dashboard/app.py` declares `GET /api/followups/{fid}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22564"}, "properties": {"repository": "wazionapps/nexo", "repoUrl": "https://github.com/wazionapps/nexo", "branch": "main"}, "results": [{"ruleId": "scanner-423e0dc5adf7bbb6", "level": "note", "message": {"text": "Possibly dead Python function: stddev"}, "properties": {"repobilityId": "c09372f18cafebb5", "scanner": "scanner-primary", "fingerprint": "423e0dc5adf7bbb6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "benchmarks/metrics.py:132"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c549dd65c31ebcb", "level": "note", "message": {"text": "Possibly dead Python function: call_tool_json"}, "properties": {"repobilityId": "3a3d73f15d653dde", "scanner": "scanner-primary", "fingerprint": "3c549dd65c31ebcb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/nexo_helper.py:168"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e15c3756441134fb", "level": "note", "message": {"text": "Possibly dead Python function: run_automation_text"}, "properties": {"repobilityId": "94192ff9b91f8096", "scanner": "scanner-primary", "fingerprint": "e15c3756441134fb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/nexo_helper.py:234"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a699243a0b08b042", "level": "note", "message": {"text": "Possibly dead Python function: run_automation_json"}, "properties": {"repobilityId": "155c69c9b0245d88", "scanner": "scanner-primary", "fingerprint": "a699243a0b08b042", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/nexo_helper.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0bc3d80fb016ec56", "level": "note", "message": {"text": "Possibly dead Python function: handle_starttag"}, "properties": {"repobilityId": "3bf216d149959ebf", "scanner": "scanner-primary", "fingerprint": "0bc3d80fb016ec56", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/email_presentation.py:53"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f439efa1c84c9a7", "level": "note", "message": {"text": "Possibly dead Python function: handle_endtag"}, "properties": {"repobilityId": "7eb6f3decafc1766", "scanner": "scanner-primary", "fingerprint": "3f439efa1c84c9a7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/email_presentation.py:75"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71c5ceb0283cf811", "level": "note", "message": {"text": "Possibly dead Python function: handle_data"}, "properties": {"repobilityId": "3a673a278f4fc1e6", "scanner": "scanner-primary", "fingerprint": "71c5ceb0283cf811", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/email_presentation.py:85"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5a77e9dc51ee2d5c", "level": "note", "message": {"text": "Possibly dead Python function: handle_entityref"}, "properties": {"repobilityId": "7c5ac18a5da0189d", "scanner": "scanner-primary", "fingerprint": "5a77e9dc51ee2d5c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/email_presentation.py:89"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-652dc397493bad4d", "level": "note", "message": {"text": "Possibly dead Python function: handle_charref"}, "properties": {"repobilityId": "2b5922bb3f88ade8", "scanner": "scanner-primary", "fingerprint": "652dc397493bad4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/email_presentation.py:93"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c3ffec213c61c4d", "level": "note", "message": {"text": "Possibly dead Python function: build_index"}, "properties": {"repobilityId": "b21250a9b69ad8f1", "scanner": "scanner-primary", "fingerprint": "8c3ffec213c61c4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/hnsw_index.py:95"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d542831dd77ac9c8", "level": "note", "message": {"text": "Possibly dead Python function: should_inject_r23b"}, "properties": {"repobilityId": "0c6512b5fb08d0b5", "scanner": "scanner-primary", "fingerprint": "d542831dd77ac9c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/r23b_deploy_vhost.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-86332545d4a47dce", "level": "note", "message": {"text": "Possibly dead Python function: should_inject_r23l"}, "properties": {"repobilityId": "7a8e69a4d0c26515", "scanner": "scanner-primary", "fingerprint": "86332545d4a47dce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/r23l_resource_collision.py:97"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40b04bde81b48964", "level": "note", "message": {"text": "Possibly dead Python function: list_lifecycle_events_by_status"}, "properties": {"repobilityId": "237f6892a873e1e1", "scanner": "scanner-primary", "fingerprint": "40b04bde81b48964", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lifecycle_events.py:1225"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-346fd3bf8371add7", "level": "note", "message": {"text": "Possibly dead Python function: query_at"}, "properties": {"repobilityId": "8e4b739e287237f7", "scanner": "scanner-primary", "fingerprint": "346fd3bf8371add7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/knowledge_graph.py:186"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d90394778a3463d5", "level": "note", "message": {"text": "Possibly dead Python function: cmd_schema"}, "properties": {"repobilityId": "6367cbd896e4e1d9", "scanner": "scanner-primary", "fingerprint": "d90394778a3463d5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop_bridge.py:273"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-968259bcbcf14f28", "level": "note", "message": {"text": "Possibly dead Python function: cmd_identity"}, "properties": {"repobilityId": "d4da2103a2f45ec1", "scanner": "scanner-primary", "fingerprint": "968259bcbcf14f28", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop_bridge.py:307"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-77149c2b6f2d5923", "level": "note", "message": {"text": "Possibly dead Python function: cmd_onboard"}, "properties": {"repobilityId": "be678ded5799a87a", "scanner": "scanner-primary", "fingerprint": "77149c2b6f2d5923", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop_bridge.py:474"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2a7f3871e332b94", "level": "note", "message": {"text": "Possibly dead Python function: cmd_scan_profile"}, "properties": {"repobilityId": "757a4a031a8be6eb", "scanner": "scanner-primary", "fingerprint": "f2a7f3871e332b94", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/desktop_bridge.py:559"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4e395afb1fa4fa1e", "level": "note", "message": {"text": "Possibly dead Python function: should_inject_r23d"}, "properties": {"repobilityId": "308e010cf6191d83", "scanner": "scanner-primary", "fingerprint": "4e395afb1fa4fa1e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/r23d_chown_chmod_recursive.py:62"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6005f16a357dc70f", "level": "note", "message": {"text": "Possibly dead Python function: set_interactive_db_timeout"}, "properties": {"repobilityId": "1dba6281ca093df0", "scanner": "scanner-primary", "fingerprint": "6005f16a357dc70f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/interactive_db.py:20"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2387bcc2b1e65b3", "level": "note", "message": {"text": "Possibly dead Python function: remaining_seconds"}, "properties": {"repobilityId": "ddceef8adfb7cc25", "scanner": "scanner-primary", "fingerprint": "f2387bcc2b1e65b3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/autonomy_mandate.py:96"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb54b5d5d885f881", "level": "note", "message": {"text": "Possibly dead Python function: clear_mandate"}, "properties": {"repobilityId": "21e09367389cd444", "scanner": "scanner-primary", "fingerprint": "eb54b5d5d885f881", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/autonomy_mandate.py:203"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c7d2475a8534192f", "level": "note", "message": {"text": "Possibly dead Python function: should_inject_r23j"}, "properties": {"repobilityId": "8ef66905ecc766eb", "scanner": "scanner-primary", "fingerprint": "c7d2475a8534192f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/r23j_global_install.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3cc034a7edaae53", "level": "note", "message": {"text": "Possibly dead Python function: queue_status"}, "properties": {"repobilityId": "db480da12cc36384", "scanner": "scanner-primary", "fingerprint": "d3cc034a7edaae53", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/mcp_write_queue.py:328"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-362004371c793ff1", "level": "note", "message": {"text": "Possibly dead Python function: stop_write_queue_worker"}, "properties": {"repobilityId": "c49a41ed6fb12d33", "scanner": "scanner-primary", "fingerprint": "362004371c793ff1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/mcp_write_queue.py:365"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45caf4ac41fd3f24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 openclaw-plugin/src/index.ts:294"}, "properties": {"repobilityId": "45116df21553d05f", "scanner": "scanner-primary", "fingerprint": "45caf4ac41fd3f24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d63da3583b14afc0", "level": "warning", "message": {"text": "Dockerfile runs as root: Dockerfile"}, "properties": {"repobilityId": "a2ed1bd120e507db", "scanner": "scanner-primary", "fingerprint": "d63da3583b14afc0", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-de3c1f217d72a063", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "1de0ecd007803dbd", "scanner": "scanner-primary", "fingerprint": "de3c1f217d72a063", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "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-007ea6d7b2d366aa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1756"}, "properties": {"repobilityId": "f91708437a3a5445", "scanner": "scanner-primary", "fingerprint": "007ea6d7b2d366aa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 1756}}}]}, {"ruleId": "scanner-9bb9206b341d96b5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in blog/nexo-6-0-1/index.html:96"}, "properties": {"repobilityId": "94cebb542a3cddc4", "scanner": "scanner-primary", "fingerprint": "9bb9206b341d96b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "blog/nexo-6-0-1/index.html"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-638f665ec35e0e7d", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in blog/nexo-6-4-0/index.html:75"}, "properties": {"repobilityId": "b14ec66e1bd6e74d", "scanner": "scanner-primary", "fingerprint": "638f665ec35e0e7d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "blog/nexo-6-4-0/index.html"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-aadde3e432119247", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in openclaw-plugin/src/mcp-bridge.ts:8"}, "properties": {"repobilityId": "95ab132570479589", "scanner": "scanner-primary", "fingerprint": "aadde3e432119247", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openclaw-plugin/src/mcp-bridge.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-8730d73999d4d2aa", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/auto_update.py:5149"}, "properties": {"repobilityId": "ab5fd89dfce0b2fa", "scanner": "scanner-primary", "fingerprint": "8730d73999d4d2aa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/auto_update.py"}, "region": {"startLine": 5149}}}]}, {"ruleId": "scanner-a53bf972e19b52fd", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2b57381939c1f612", "scanner": "scanner-primary", "fingerprint": "a53bf972e19b52fd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 198}}}]}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a0ab411e07edb56", "level": "note", "message": {"text": "Very large file: tests/test_hook_guardrails.py (1530 lines)"}, "properties": {"repobilityId": "aaf788731ed634dc", "scanner": "scanner-primary", "fingerprint": "3a0ab411e07edb56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bfbb3c7a2baa1f0", "level": "note", "message": {"text": "Very large file: tests/test_protocol.py (2046 lines)"}, "properties": {"repobilityId": "04450bffe41eacf4", "scanner": "scanner-primary", "fingerprint": "2bfbb3c7a2baa1f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d613a19ce5196f46", "level": "note", "message": {"text": "Very large file: tests/test_doctor.py (3756 lines)"}, "properties": {"repobilityId": "2c20b9c9520a0e41", "scanner": "scanner-primary", "fingerprint": "d613a19ce5196f46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d0d52b4c2e91b498", "level": "note", "message": {"text": "Very large file: tests/test_script_registry.py (1761 lines)"}, "properties": {"repobilityId": "79660366aeb20f68", "scanner": "scanner-primary", "fingerprint": "d0d52b4c2e91b498", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6bea8b50d37e3e3f", "level": "note", "message": {"text": "Very large file: tests/test_local_context.py (2073 lines)"}, "properties": {"repobilityId": "28e979f7a0efe4ec", "scanner": "scanner-primary", "fingerprint": "6bea8b50d37e3e3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7994db018408abd4", "level": "note", "message": {"text": "Very large file: src/script_registry.py (3424 lines)"}, "properties": {"repobilityId": "dd61b2929ca834bb", "scanner": "scanner-primary", "fingerprint": "7994db018408abd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bcd1095ad9451445", "level": "note", "message": {"text": "Very large file: src/hook_guardrails.py (2522 lines)"}, "properties": {"repobilityId": "7378c69e0a065b5d", "scanner": "scanner-primary", "fingerprint": "bcd1095ad9451445", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba27d4e767b23d2e", "level": "note", "message": {"text": "Very large file: src/enforcement_engine.py (3523 lines)"}, "properties": {"repobilityId": "00be30cf266e7bba", "scanner": "scanner-primary", "fingerprint": "ba27d4e767b23d2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f9db1a8bd68a44a9", "level": "note", "message": {"text": "Very large file: src/resolution_cache.py (1119 lines)"}, "properties": {"repobilityId": "ac227e00375b6cb5", "scanner": "scanner-primary", "fingerprint": "f9db1a8bd68a44a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-60b81b3098960fc8", "level": "note", "message": {"text": "Very large file: src/cli.py (5169 lines)"}, "properties": {"repobilityId": "ded7a44c63921bb3", "scanner": "scanner-primary", "fingerprint": "60b81b3098960fc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa38897fe2ff4f9f", "level": "note", "message": {"text": "Very large file: src/agent_runner.py (1565 lines)"}, "properties": {"repobilityId": "8712a9cf73e1257f", "scanner": "scanner-primary", "fingerprint": "fa38897fe2ff4f9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0d9a72ae81a4809", "level": "note", "message": {"text": "Very large file: src/server.py (3267 lines)"}, "properties": {"repobilityId": "072562acaf7192dd", "scanner": "scanner-primary", "fingerprint": "f0d9a72ae81a4809", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b4ceac9686bfdb8", "level": "note", "message": {"text": "Very large file: src/semantic_layers.py (1180 lines)"}, "properties": {"repobilityId": "4aa192cabbde12f7", "scanner": "scanner-primary", "fingerprint": "3b4ceac9686bfdb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fe657205d4f9b3bf", "level": "note", "message": {"text": "Very large file: src/tools_sessions.py (2047 lines)"}, "properties": {"repobilityId": "fd8cd32045729320", "scanner": "scanner-primary", "fingerprint": "fe657205d4f9b3bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f97a32c973816ad6", "level": "note", "message": {"text": "Very large file: src/memory_forget.py (1249 lines)"}, "properties": {"repobilityId": "dbb7ba43d5034240", "scanner": "scanner-primary", "fingerprint": "f97a32c973816ad6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b9ec2062aca646c6", "level": "note", "message": {"text": "Very large file: src/auto_update.py (6235 lines)"}, "properties": {"repobilityId": "165f4f5c24dae87d", "scanner": "scanner-primary", "fingerprint": "b9ec2062aca646c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f4669e25198495a", "level": "note", "message": {"text": "Very large file: src/pre_answer_router.py (2640 lines)"}, "properties": {"repobilityId": "a07de53673bb4964", "scanner": "scanner-primary", "fingerprint": "1f4669e25198495a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-346e7012d844e2f9", "level": "note", "message": {"text": "Very large file: src/client_sync.py (2042 lines)"}, "properties": {"repobilityId": "fe9f084f2c1c8d82", "scanner": "scanner-primary", "fingerprint": "346e7012d844e2f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1dd16eaf2be9cfa3", "level": "note", "message": {"text": "Very large file: src/doctor/providers/runtime.py (4331 lines)"}, "properties": {"repobilityId": "b04980f18b10b68a", "scanner": "scanner-primary", "fingerprint": "1dd16eaf2be9cfa3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18ef7d22fc67e44e", "level": "note", "message": {"text": "Very large file: src/local_context/api.py (5853 lines)"}, "properties": {"repobilityId": "0aa4533bc985186d", "scanner": "scanner-primary", "fingerprint": "18ef7d22fc67e44e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4d769288e3e5081", "level": "note", "message": {"text": "Very large file: src/scripts/nexo-daily-self-audit.py (2559 lines)"}, "properties": {"repobilityId": "95bc2d430f465e43", "scanner": "scanner-primary", "fingerprint": "e4d769288e3e5081", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-45bafece2700b098", "level": "note", "message": {"text": "Very large file: src/scripts/nexo-watchdog.sh (1486 lines)"}, "properties": {"repobilityId": "fa92b748a3494192", "scanner": "scanner-primary", "fingerprint": "45bafece2700b098", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4f7a332c054c8685", "level": "note", "message": {"text": "Very large file: src/scripts/nexo-email-monitor.py (3133 lines)"}, "properties": {"repobilityId": "432fd0ecedb8d1ea", "scanner": "scanner-primary", "fingerprint": "4f7a332c054c8685", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c052eebf5178a746", "level": "note", "message": {"text": "Very large file: src/scripts/nexo-evolution-run.py (1651 lines)"}, "properties": {"repobilityId": "84ceadcee7095246", "scanner": "scanner-primary", "fingerprint": "c052eebf5178a746", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9710e623717b1107", "level": "note", "message": {"text": "Very large file: src/scripts/deep-sleep/apply_findings.py (2595 lines)"}, "properties": {"repobilityId": "1ebe647bf6408df6", "scanner": "scanner-primary", "fingerprint": "9710e623717b1107", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-417ad6d5e33a0f1e", "level": "note", "message": {"text": "Very large file: src/dashboard/app.py (2143 lines)"}, "properties": {"repobilityId": "f7546f12def81268", "scanner": "scanner-primary", "fingerprint": "417ad6d5e33a0f1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-67a3344961937726", "level": "note", "message": {"text": "Very large file: src/db/_memory_v2.py (1581 lines)"}, "properties": {"repobilityId": "065d21b6dec2d93c", "scanner": "scanner-primary", "fingerprint": "67a3344961937726", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55d52c4a8f351a6f", "level": "note", "message": {"text": "Very large file: src/db/_schema.py (3530 lines)"}, "properties": {"repobilityId": "4ac7129c90130c07", "scanner": "scanner-primary", "fingerprint": "55d52c4a8f351a6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2cc8e02736954bf4", "level": "note", "message": {"text": "Very large file: src/db/_skills.py (1714 lines)"}, "properties": {"repobilityId": "32df37a8caa49ccb", "scanner": "scanner-primary", "fingerprint": "2cc8e02736954bf4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-150c29db4c36a1f8", "level": "note", "message": {"text": "Very large file: src/cognitive/_core.py (1376 lines)"}, "properties": {"repobilityId": "2fdd22a888a7048d", "scanner": "scanner-primary", "fingerprint": "150c29db4c36a1f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-57e953dad3d59f65", "level": "note", "message": {"text": "Very large file: src/cognitive/_search.py (1464 lines)"}, "properties": {"repobilityId": "a63f4a3de686b545", "scanner": "scanner-primary", "fingerprint": "57e953dad3d59f65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46a67b9b92a5a982", "level": "note", "message": {"text": "Very large file: src/plugins/protocol.py (3191 lines)"}, "properties": {"repobilityId": "aa44f7f3c014e7e1", "scanner": "scanner-primary", "fingerprint": "46a67b9b92a5a982", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b03603530dc1d235", "level": "note", "message": {"text": "Very large file: src/plugins/cortex.py (1525 lines)"}, "properties": {"repobilityId": "9478b9d7ff27cdc7", "scanner": "scanner-primary", "fingerprint": "b03603530dc1d235", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-313c2242528603d0", "level": "note", "message": {"text": "Very large file: src/plugins/update.py (2200 lines)"}, "properties": {"repobilityId": "49df839412d2a9ef", "scanner": "scanner-primary", "fingerprint": "313c2242528603d0", "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": "6720cf8c837a69ce", "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": "ae584281f46b7614", "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": "156b48e24b2616c6", "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": "4d2fa15c71acbb94", "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": "f605189b7fbe9cdd", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1d3fbc30bead412", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: AGENTS.md"}, "properties": {"repobilityId": "56bfc666b358d0d0", "scanner": "scanner-primary", "fingerprint": "e1d3fbc30bead412", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "AGENTS.md"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e725d2ab884fbd49", "level": "note", "message": {"text": "Multiple root agent instruction files without precedence"}, "properties": {"repobilityId": "1953db6c89508d22", "scanner": "scanner-primary", "fingerprint": "e725d2ab884fbd49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["agent-instructions", "governance"]}}, {"ruleId": "scanner-6b1a832c577646af", "level": "note", "message": {"text": "Legacy-named symbol `test_self_heal_uses_richest_backup_not_newest_regressed_backup` in tests/test_auto_update_selfheal.py:102"}, "properties": {"repobilityId": "38c5f3d19cc14b2b", "scanner": "scanner-primary", "fingerprint": "6b1a832c577646af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-33b9b622870bc678", "level": "note", "message": {"text": "Legacy-named symbol `test_server_guardrails_require_silent_enforcement_copy` in tests/test_enforcement_silent_contract.py:26"}, "properties": {"repobilityId": "14794193ce82d3f0", "scanner": "scanner-primary", "fingerprint": "33b9b622870bc678", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1421d98552fa9deb", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_v78_compaction_continuity.py:121"}, "properties": {"repobilityId": "8613935a130bba61", "scanner": "scanner-primary", "fingerprint": "1421d98552fa9deb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f14f68548fb80969", "level": "note", "message": {"text": "Legacy-named symbol `_fail_backup` in tests/test_deep_sleep_rewrite.py:360"}, "properties": {"repobilityId": "b3e319eac1ab976d", "scanner": "scanner-primary", "fingerprint": "f14f68548fb80969", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6dfbc5db9bf6caf0", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/test_deep_sleep_rewrite.py:72"}, "properties": {"repobilityId": "2d0b83fa4e74a263", "scanner": "scanner-primary", "fingerprint": "6dfbc5db9bf6caf0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fc16c3fbfe38f70", "level": "note", "message": {"text": "Legacy-named symbol `find_best_hourly_backup` in tests/test_db_guard.py:24"}, "properties": {"repobilityId": "bd30fe1f6d8010ba", "scanner": "scanner-primary", "fingerprint": "6fc16c3fbfe38f70", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9815fefce2055c0d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_workflow.py:26"}, "properties": {"repobilityId": "a4945c9f9dda972f", "scanner": "scanner-primary", "fingerprint": "9815fefce2055c0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a008e9f09ad777fd", "level": "note", "message": {"text": "Legacy-named symbol `runtime_budget_v1` in tests/test_local_context_usage_events.py:137"}, "properties": {"repobilityId": "4dbdc7c2a1af87b4", "scanner": "scanner-primary", "fingerprint": "a008e9f09ad777fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d5de5b7ed55d60f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_lifecycle_events.py:168"}, "properties": {"repobilityId": "7fef1339e430a12f", "scanner": "scanner-primary", "fingerprint": "d5de5b7ed55d60f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05c283ac5ddcdf69", "level": "note", "message": {"text": "Legacy-named symbol `test_cli_email_parser_help_uses_english_copy` in tests/test_cli_email.py:32"}, "properties": {"repobilityId": "61d8c03b0e8de7a1", "scanner": "scanner-primary", "fingerprint": "05c283ac5ddcdf69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c4ad31fd197df39a", "level": "note", "message": {"text": "Legacy-named symbol `test_check_duplicate_artifacts_rejects_duplicate_copy` in tests/test_verify_release_readiness.py:480"}, "properties": {"repobilityId": "58027247cbf0f045", "scanner": "scanner-primary", "fingerprint": "c4ad31fd197df39a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-72efc7aa76574d97", "level": "note", "message": {"text": "Legacy-named symbol `update_copy` in tests/test_cli_scripts.py:606"}, "properties": {"repobilityId": "d9f287b54e19aded", "scanner": "scanner-primary", "fingerprint": "72efc7aa76574d97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c729e63a1684ca1", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_cli_scripts.py:844"}, "properties": {"repobilityId": "84d75ad67b40a71b", "scanner": "scanner-primary", "fingerprint": "5c729e63a1684ca1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1155ad747cf32235", "level": "note", "message": {"text": "Legacy-named symbol `_memory_v2` in tests/test_memory_time_range.py:26"}, "properties": {"repobilityId": "be943008bcb0f75c", "scanner": "scanner-primary", "fingerprint": "1155ad747cf32235", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fb5ea3e0a6df3e86", "level": "note", "message": {"text": "Legacy-named symbol `deleted_old` in tests/test_hook_observability.py:178"}, "properties": {"repobilityId": "7b658aad2773e897", "scanner": "scanner-primary", "fingerprint": "fb5ea3e0a6df3e86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-126fd51385298aa0", "level": "note", "message": {"text": "Legacy-named symbol `orig_legacy` in tests/test_drive.py:403"}, "properties": {"repobilityId": "eab95acd5d46c4c5", "scanner": "scanner-primary", "fingerprint": "126fd51385298aa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9207f224ffbcbdce", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_auto_close_sessions_protocol.py:17"}, "properties": {"repobilityId": "294b77b7bf3ded2f", "scanner": "scanner-primary", "fingerprint": "9207f224ffbcbdce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce8f3124c090d002", "level": "note", "message": {"text": "Legacy-named symbol `sidecar_legacy` in tests/test_hook_runs_compact_sid_resolution.py:132"}, "properties": {"repobilityId": "5ae8d1f7e41ba400", "scanner": "scanner-primary", "fingerprint": "ce8f3124c090d002", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-da0e5e621446087d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_resolution_cache.py:383"}, "properties": {"repobilityId": "f5ffc1e67083195d", "scanner": "scanner-primary", "fingerprint": "da0e5e621446087d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a0e1c2f59813f1e", "level": "note", "message": {"text": "Legacy-named symbol `runtime_budget_v1` in tests/test_pre_answer_cli_contract.py:71"}, "properties": {"repobilityId": "f4ec5c061dfc95b7", "scanner": "scanner-primary", "fingerprint": "5a0e1c2f59813f1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-776453ed2cb6c0f6", "level": "note", "message": {"text": "Legacy-named symbol `_validate_db_backup` in tests/test_auto_update_zero_byte_db.py:5"}, "properties": {"repobilityId": "23168b20e0de7c1b", "scanner": "scanner-primary", "fingerprint": "776453ed2cb6c0f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a0fb7e917e925a83", "level": "note", "message": {"text": "Legacy-named symbol `tools_memory_v2` in tests/test_memory_v2.py:280"}, "properties": {"repobilityId": "60e0b10fb6664d74", "scanner": "scanner-primary", "fingerprint": "a0fb7e917e925a83", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-63d58e7dd0981e6d", "level": "note", "message": {"text": "Legacy-named symbol `test_preflight_blocks_wiped_db_with_healthy_backup` in tests/test_update_wipe_guard.py:72"}, "properties": {"repobilityId": "a65b197398585fa5", "scanner": "scanner-primary", "fingerprint": "63d58e7dd0981e6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc79afa7914c0bcc", "level": "note", "message": {"text": "Legacy-named symbol `_create_validated_db_backup` in tests/test_file_migrations.py:166"}, "properties": {"repobilityId": "188a775d8a57fe21", "scanner": "scanner-primary", "fingerprint": "dc79afa7914c0bcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c2e3ed019e07484", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_personal_scripts_enabled.py:24"}, "properties": {"repobilityId": "d76bc26021266a74", "scanner": "scanner-primary", "fingerprint": "5c2e3ed019e07484", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8ee38070393e5a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_deep_sleep_apply.py:26"}, "properties": {"repobilityId": "1b8963486753f93d", "scanner": "scanner-primary", "fingerprint": "c8ee38070393e5a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9eb660cab3cd1bf8", "level": "note", "message": {"text": "Legacy-named symbol `semantic_layers_v1` in tests/test_migrations.py:103"}, "properties": {"repobilityId": "c953d2f3595a1f75", "scanner": "scanner-primary", "fingerprint": "9eb660cab3cd1bf8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a3aea3b17462f6ea", "level": "note", "message": {"text": "Legacy-named symbol `_restore_valid_db_backup` in tests/test_server_startup_contract.py:37"}, "properties": {"repobilityId": "4f8c70c488cb0eaa", "scanner": "scanner-primary", "fingerprint": "a3aea3b17462f6ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-75d08678a271e6e9", "level": "note", "message": {"text": "Legacy-named symbol `entities_preset_copy` in tests/test_install_guardian.py:31"}, "properties": {"repobilityId": "818bed4434b2d421", "scanner": "scanner-primary", "fingerprint": "75d08678a271e6e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-43de2cdaaf39f3d9", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_system_catalog_discoverability.py:54"}, "properties": {"repobilityId": "ffe9343816e189f6", "scanner": "scanner-primary", "fingerprint": "43de2cdaaf39f3d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96d7a0c8179faad5", "level": "note", "message": {"text": "Legacy-named symbol `src_backup` in tests/test_backup_rate_limit.py:80"}, "properties": {"repobilityId": "e60ef732e8ad748c", "scanner": "scanner-primary", "fingerprint": "96d7a0c8179faad5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e1feca329aa732d3", "level": "note", "message": {"text": "Legacy-named symbol `digest_v1` in tests/test_resolution_cache_composite_ids.py:100"}, "properties": {"repobilityId": "f1f63257bf911dbb", "scanner": "scanner-primary", "fingerprint": "e1feca329aa732d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e282d37ef487dd24", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_resolution_cache_composite_ids.py:196"}, "properties": {"repobilityId": "3be8748e0966b083", "scanner": "scanner-primary", "fingerprint": "e282d37ef487dd24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cf090285483b142", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in tests/test_cognitive_embedding_migration.py:41"}, "properties": {"repobilityId": "399fc14da10b7c91", "scanner": "scanner-primary", "fingerprint": "2cf090285483b142", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0d3914607871e9ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_client_sync.py:1247"}, "properties": {"repobilityId": "06fc6640c72feb56", "scanner": "scanner-primary", "fingerprint": "0d3914607871e9ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a8e7d5330ceede8", "level": "note", "message": {"text": "Legacy-named symbol `test_recover_restores_wiped_db_from_hourly_backup` in tests/test_recover.py:67"}, "properties": {"repobilityId": "83c5640e97765ccd", "scanner": "scanner-primary", "fingerprint": "5a8e7d5330ceede8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-da4e1d587b05f37f", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_fase_2_audit_gaps.py:141"}, "properties": {"repobilityId": "9d9945230cb3db04", "scanner": "scanner-primary", "fingerprint": "da4e1d587b05f37f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f1030c2c198db2e", "level": "note", "message": {"text": "Legacy-named symbol `safety_backup` in tests/test_user_data_portability.py:152"}, "properties": {"repobilityId": "86b32769cc786d01", "scanner": "scanner-primary", "fingerprint": "6f1030c2c198db2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e1c07c4cc051ebf2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_shell_runtime_path_contract.py:123"}, "properties": {"repobilityId": "5d924ceb8d47f5b0", "scanner": "scanner-primary", "fingerprint": "e1c07c4cc051ebf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0083994b031aa147", "level": "note", "message": {"text": "Legacy-named symbol `_create_validated_db_backup` in tests/test_external_clis_update.py:292"}, "properties": {"repobilityId": "1488a37b63c82553", "scanner": "scanner-primary", "fingerprint": "0083994b031aa147", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-73dffd5e3885d3f1", "level": "note", "message": {"text": "Legacy-named symbol `move_current_nexo_home_to_backup` in tests/test_cli_rollback_f06.py:67"}, "properties": {"repobilityId": "96cfc5813e1d4b39", "scanner": "scanner-primary", "fingerprint": "73dffd5e3885d3f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d1c33d0bdd763874", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_preferences_cli.py:16"}, "properties": {"repobilityId": "36c025e90d728935", "scanner": "scanner-primary", "fingerprint": "d1c33d0bdd763874", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a17c60c379b36c5", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_continuity_runtime.py:22"}, "properties": {"repobilityId": "0938be0c4ad869e0", "scanner": "scanner-primary", "fingerprint": "2a17c60c379b36c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4f866688d06538b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_correction_requirements.py:20"}, "properties": {"repobilityId": "4f86e21e7c1fcf98", "scanner": "scanner-primary", "fingerprint": "e4f866688d06538b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c031f1263c91ceeb", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_entities_extended_schema.py:96"}, "properties": {"repobilityId": "6537e2afef8651b5", "scanner": "scanner-primary", "fingerprint": "c031f1263c91ceeb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7594495e1e049a56", "level": "note", "message": {"text": "Legacy-named symbol `r_old` in tests/test_memory_forget_multidb.py:363"}, "properties": {"repobilityId": "00d193f06c4e4004", "scanner": "scanner-primary", "fingerprint": "7594495e1e049a56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fc19efaed97e0a53", "level": "note", "message": {"text": "Legacy-named symbol `test_db_integrity_flags_wiped_db_with_backup` in tests/test_doctor.py:200"}, "properties": {"repobilityId": "e30098bc43368a06", "scanner": "scanner-primary", "fingerprint": "fc19efaed97e0a53", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e128946d5c640eb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_doctor.py:2852"}, "properties": {"repobilityId": "a68fc59a81bc2a3d", "scanner": "scanner-primary", "fingerprint": "e128946d5c640eb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a451c73a95d4504", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_script_registry.py:77"}, "properties": {"repobilityId": "c8c17102768a5d70", "scanner": "scanner-primary", "fingerprint": "1a451c73a95d4504", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac3d3dbeec02fa5c", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in tests/test_cognitive.py:450"}, "properties": {"repobilityId": "1554ac40aa825dd8", "scanner": "scanner-primary", "fingerprint": "ac3d3dbeec02fa5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c876110a58a2631a", "level": "note", "message": {"text": "Legacy-named symbol `_crons_old` in tests/test_packaged_update_runtime.py:174"}, "properties": {"repobilityId": "6a4d0c03a4d15034", "scanner": "scanner-primary", "fingerprint": "c876110a58a2631a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9cf3276365ed4a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_packaged_update_runtime.py:771"}, "properties": {"repobilityId": "8d777a091b53b11a", "scanner": "scanner-primary", "fingerprint": "e9cf3276365ed4a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46ef299ac3fe53c5", "level": "note", "message": {"text": "Legacy-named symbol `claude_mem_old` in tests/test_nexo_sleep.py:53"}, "properties": {"repobilityId": "4616f39cb3837532", "scanner": "scanner-primary", "fingerprint": "46ef299ac3fe53c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cccfaa57788a56fd", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_self_audit.py:27"}, "properties": {"repobilityId": "4630f4bf415f6925", "scanner": "scanner-primary", "fingerprint": "cccfaa57788a56fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a89a42fa8c181295", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_agent_runner.py:744"}, "properties": {"repobilityId": "8571781b894043af", "scanner": "scanner-primary", "fingerprint": "a89a42fa8c181295", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a581ce1839e40560", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_followup_hygiene.py:19"}, "properties": {"repobilityId": "73cf991942c28a48", "scanner": "scanner-primary", "fingerprint": "a581ce1839e40560", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-801a62d06ad35475", "level": "note", "message": {"text": "Legacy-named symbol `test_status_read_error_is_keyed_not_spanish_copy` in tests/test_local_context.py:1822"}, "properties": {"repobilityId": "612d363940c2ec24", "scanner": "scanner-primary", "fingerprint": "801a62d06ad35475", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c5b2455ec805c5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_v6_hooks_manifest_parity.py:52"}, "properties": {"repobilityId": "4645615375b91833", "scanner": "scanner-primary", "fingerprint": "0c5b2455ec805c5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5ef54a9003d4084", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/parity/test_python_driver.py:80"}, "properties": {"repobilityId": "e28bbc0767e604c4", "scanner": "scanner-primary", "fingerprint": "d5ef54a9003d4084", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-755c93c2e671b721", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_25_smoke.py:124"}, "properties": {"repobilityId": "9b8059f46e0021dd", "scanner": "scanner-primary", "fingerprint": "755c93c2e671b721", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e9726657bb32c334", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_27_smoke.py:136"}, "properties": {"repobilityId": "bad34f1e62c0da25", "scanner": "scanner-primary", "fingerprint": "e9726657bb32c334", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-afd23d1280d96083", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_28_smoke.py:137"}, "properties": {"repobilityId": "a1fcb95ef9a306e9", "scanner": "scanner-primary", "fingerprint": "afd23d1280d96083", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0beb7419d928c872", "level": "note", "message": {"text": "Legacy-named symbol `decision_cortex_v2` in scripts/run_v5_0_smoke.py:27"}, "properties": {"repobilityId": "114256a3aac74734", "scanner": "scanner-primary", "fingerprint": "0beb7419d928c872", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e18d0553589afc1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v5_0_smoke.py:77"}, "properties": {"repobilityId": "85978892f9657313", "scanner": "scanner-primary", "fingerprint": "3e18d0553589afc1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6bf2f87f45ff539c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_22_smoke.py:94"}, "properties": {"repobilityId": "bbad096ad18578b7", "scanner": "scanner-primary", "fingerprint": "6bf2f87f45ff539c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0cfd0f2bed40d33d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_26_smoke.py:101"}, "properties": {"repobilityId": "ad1dea7f8c143f9d", "scanner": "scanner-primary", "fingerprint": "0cfd0f2bed40d33d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-46a3a6384ea32336", "level": "note", "message": {"text": "Legacy-named symbol `entities_preset_copy` in scripts/install_guardian.py:184"}, "properties": {"repobilityId": "38362159208d098c", "scanner": "scanner-primary", "fingerprint": "46a3a6384ea32336", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-76ba3d901d6e02c9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_client_parity.py:62"}, "properties": {"repobilityId": "f741a236e7fface3", "scanner": "scanner-primary", "fingerprint": "76ba3d901d6e02c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-81f91b6a57bf93b0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v4_5_smoke.py:117"}, "properties": {"repobilityId": "d511cea72fb23e84", "scanner": "scanner-primary", "fingerprint": "81f91b6a57bf93b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02bda8abd493fd63", "level": "note", "message": {"text": "Legacy-named symbol `local_index_roots_v2` in scripts/run_v7_25_smoke.py:34"}, "properties": {"repobilityId": "5921b136d77b14a8", "scanner": "scanner-primary", "fingerprint": "02bda8abd493fd63", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-db9a8162716d6f9e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_25_smoke.py:95"}, "properties": {"repobilityId": "68eb5ef12b767b13", "scanner": "scanner-primary", "fingerprint": "db9a8162716d6f9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7da41319ff22b926", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_21_smoke.py:86"}, "properties": {"repobilityId": "92736aa32fa78d71", "scanner": "scanner-primary", "fingerprint": "7da41319ff22b926", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a4fc7f99915a476e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_23_smoke.py:103"}, "properties": {"repobilityId": "a8ea70f033f45465", "scanner": "scanner-primary", "fingerprint": "a4fc7f99915a476e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a59d82a1c405e370", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_24_smoke.py:115"}, "properties": {"repobilityId": "f22bac43d47ae947", "scanner": "scanner-primary", "fingerprint": "a59d82a1c405e370", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0f6f217185ff0c0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_release_readiness.py:50"}, "properties": {"repobilityId": "2ba724ef8e092dc2", "scanner": "scanner-primary", "fingerprint": "a0f6f217185ff0c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-061add5e98705809", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_v7_30_26_smoke.py:134"}, "properties": {"repobilityId": "b9c228f8e8105137", "scanner": "scanner-primary", "fingerprint": "061add5e98705809", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3650b7c13df53cf", "level": "note", "message": {"text": "Legacy-named symbol `cog_backup` in scripts/migrate-v1.5-to-v1.6.py:697"}, "properties": {"repobilityId": "5794da6f6ce089b8", "scanner": "scanner-primary", "fingerprint": "c3650b7c13df53cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-260fd2413d639039", "level": "none", "message": {"text": "Commented-code block (8 lines) in templates/script-template.py:2"}, "properties": {"repobilityId": "221c3ffe1f9c8875", "scanner": "scanner-primary", "fingerprint": "260fd2413d639039", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5dc920dd3aa14be", "level": "none", "message": {"text": "Commented-code block (5 lines) in templates/skill-script-template.py:40"}, "properties": {"repobilityId": "54017fbfcb3c0328", "scanner": "scanner-primary", "fingerprint": "b5dc920dd3aa14be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a270de3b25323bf5", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 templates/skill-script-template.py:36"}, "properties": {"repobilityId": "d01e917e4dd2c047", "scanner": "scanner-primary", "fingerprint": "a270de3b25323bf5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-49247e8fa3edeab9", "level": "note", "message": {"text": "Legacy-named symbol `_sqlite_backup` in src/user_data_portability.py:105"}, "properties": {"repobilityId": "8fa6e33099c009e1", "scanner": "scanner-primary", "fingerprint": "49247e8fa3edeab9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1abf3a61968b5aef", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/user_data_portability.py:29"}, "properties": {"repobilityId": "92e6514c9f10eeb7", "scanner": "scanner-primary", "fingerprint": "1abf3a61968b5aef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d8e18edc5f2d4d4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/r23_ssh_without_atlas.py:30"}, "properties": {"repobilityId": "08404d5340ed4f55", "scanner": "scanner-primary", "fingerprint": "2d8e18edc5f2d4d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ca51a1d87fb6b27", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/tools_reminders_crud.py:16"}, "properties": {"repobilityId": "5668dd646b0da152", "scanner": "scanner-primary", "fingerprint": "2ca51a1d87fb6b27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77b4ebdf0118233e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/schema_abstraction.py:69"}, "properties": {"repobilityId": "b236256bff7bc468", "scanner": "scanner-primary", "fingerprint": "77b4ebdf0118233e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f23c90e6df463148", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/classifier_local.py:14"}, "properties": {"repobilityId": "fae89e4789e8a450", "scanner": "scanner-primary", "fingerprint": "f23c90e6df463148", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c4319faee339bb9", "level": "note", "message": {"text": "Legacy-named symbol `resolved_old` in src/script_registry.py:2818"}, "properties": {"repobilityId": "c11956e06ce5ba53", "scanner": "scanner-primary", "fingerprint": "3c4319faee339bb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3788375a109bde0a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/script_registry.py:992"}, "properties": {"repobilityId": "466403958c65ba55", "scanner": "scanner-primary", "fingerprint": "3788375a109bde0a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e29b813a9878df7c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/script_registry.py:2454"}, "properties": {"repobilityId": "90bbe8543c73b523", "scanner": "scanner-primary", "fingerprint": "e29b813a9878df7c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-26170f8468d3f702", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/r23l_resource_collision.py:25"}, "properties": {"repobilityId": "939f89108a8aad20", "scanner": "scanner-primary", "fingerprint": "26170f8468d3f702", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-100651d6bbc61bcc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/transcript_utils.py:239"}, "properties": {"repobilityId": "f9d646cb86f8fd73", "scanner": "scanner-primary", "fingerprint": "100651d6bbc61bcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dc49c391daf8905", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/knowledge_graph.py:262"}, "properties": {"repobilityId": "07e2451e88aa6661", "scanner": "scanner-primary", "fingerprint": "8dc49c391daf8905", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddcbe8a3e949b38d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/desktop_bridge.py:314"}, "properties": {"repobilityId": "1a00abb712328284", "scanner": "scanner-primary", "fingerprint": "ddcbe8a3e949b38d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0db19617b0de96dc", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/r25_nora_maria_read_only.py:40"}, "properties": {"repobilityId": "b2eb3c58ad082e33", "scanner": "scanner-primary", "fingerprint": "0db19617b0de96dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fa52933862af32f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/tools_learnings.py:342"}, "properties": {"repobilityId": "b0c1197b9390fa24", "scanner": "scanner-primary", "fingerprint": "6fa52933862af32f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0553430541962c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/memory_retrieval.py:133"}, "properties": {"repobilityId": "ad1b3dc3b7214c0b", "scanner": "scanner-primary", "fingerprint": "e0553430541962c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4553723d670c651b", "level": "note", "message": {"text": "Legacy-named symbol `_canonical_supersedes_legacy` in src/cognitive_paths.py:152"}, "properties": {"repobilityId": "3becbd8b3ef4d389", "scanner": "scanner-primary", "fingerprint": "4553723d670c651b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eb9d0272b2a1a694", "level": "note", "message": {"text": "Legacy-named symbol `memory_utility_v1` in src/memory_utility.py:17"}, "properties": {"repobilityId": "f08f9f448aeb655a", "scanner": "scanner-primary", "fingerprint": "eb9d0272b2a1a694", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83fff7ef81b8460a", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/email_config.py:111"}, "properties": {"repobilityId": "9f60de8be90ad720", "scanner": "scanner-primary", "fingerprint": "83fff7ef81b8460a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c772487388afda24", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/constants.py:4"}, "properties": {"repobilityId": "f6a8e7549f7ccf20", "scanner": "scanner-primary", "fingerprint": "c772487388afda24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-216a5d7e54e6c72b", "level": "note", "message": {"text": "Legacy-named symbol `operational_state_v1` in src/user_state_model.py:17"}, "properties": {"repobilityId": "666adbc60641e263", "scanner": "scanner-primary", "fingerprint": "216a5d7e54e6c72b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b509664b0c2c5ad0", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/hook_guardrails.py:46"}, "properties": {"repobilityId": "78d535f6eb126f9c", "scanner": "scanner-primary", "fingerprint": "b509664b0c2c5ad0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b7c37c8f9e28bd0", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/enforcement_engine.py:283"}, "properties": {"repobilityId": "efc94bd2cc5264ae", "scanner": "scanner-primary", "fingerprint": "5b7c37c8f9e28bd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ae5dfa7ff94480f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/consolidation_prep.py:45"}, "properties": {"repobilityId": "25c759da914fc4f3", "scanner": "scanner-primary", "fingerprint": "0ae5dfa7ff94480f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-259ff10c24b95d02", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/runtime_service.py:37"}, "properties": {"repobilityId": "b8232c3e8434377f", "scanner": "scanner-primary", "fingerprint": "259ff10c24b95d02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd3b68f0105c2096", "level": "note", "message": {"text": "Legacy-named symbol `resolution_cache_v1` in src/resolution_cache.py:96"}, "properties": {"repobilityId": "4af35a83a870950e", "scanner": "scanner-primary", "fingerprint": "dd3b68f0105c2096", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-53a97ed8daffed9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/resolution_cache.py:109"}, "properties": {"repobilityId": "0004d706bd13ddac", "scanner": "scanner-primary", "fingerprint": "53a97ed8daffed9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c64a649ea6534905", "level": "note", "message": {"text": "Legacy-named symbol `_connect_backup` in src/memory_fabric.py:227"}, "properties": {"repobilityId": "0740a64493a15c81", "scanner": "scanner-primary", "fingerprint": "c64a649ea6534905", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e901702ca974d65f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/r23f_db_no_where.py:20"}, "properties": {"repobilityId": "0a318b372dc8326b", "scanner": "scanner-primary", "fingerprint": "e901702ca974d65f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-013bd83beaddc566", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/resonance_map.py:71"}, "properties": {"repobilityId": "924779afd37ac9bf", "scanner": "scanner-primary", "fingerprint": "013bd83beaddc566", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88ced8855ea2928c", "level": "note", "message": {"text": "Legacy-named symbol `_proposal_copy` in src/opportunity_orchestrator.py:509"}, "properties": {"repobilityId": "212ffaa49f83bba6", "scanner": "scanner-primary", "fingerprint": "88ced8855ea2928c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f21c534a59f57044", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/runtime_versioning.py:16"}, "properties": {"repobilityId": "95601d2cc3e14d41", "scanner": "scanner-primary", "fingerprint": "f21c534a59f57044", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-359891cd3d478c5a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugin_loader.py:50"}, "properties": {"repobilityId": "4e57d0854d74638d", "scanner": "scanner-primary", "fingerprint": "359891cd3d478c5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff53b63175150541", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/public_contribution.py:45"}, "properties": {"repobilityId": "68d2894ff842c825", "scanner": "scanner-primary", "fingerprint": "ff53b63175150541", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-252839785dfad88c", "level": "note", "message": {"text": "Legacy-named symbol `safety_backup` in src/cli.py:1573"}, "properties": {"repobilityId": "de8da39ad5e91ad4", "scanner": "scanner-primary", "fingerprint": "252839785dfad88c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b49052f74f90bf2f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/cli.py:2972"}, "properties": {"repobilityId": "4aeae012ac65ca2d", "scanner": "scanner-primary", "fingerprint": "b49052f74f90bf2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8f50d5182917021", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/cli.py:2981"}, "properties": {"repobilityId": "ead3e1fa0009a0dc", "scanner": "scanner-primary", "fingerprint": "a8f50d5182917021", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d917326659779e2b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/r23g_secrets_in_output.py:75"}, "properties": {"repobilityId": "c40ffa9d21dc8c9c", "scanner": "scanner-primary", "fingerprint": "d917326659779e2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a52ed819ff676e4c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/ppr.py:168"}, "properties": {"repobilityId": "36e48cf106b07fd1", "scanner": "scanner-primary", "fingerprint": "a52ed819ff676e4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21edf063dda13fc5", "level": "note", "message": {"text": "Legacy-named symbol `files_to_backup` in src/evolution_cycle.py:179"}, "properties": {"repobilityId": "e09ed5282212da45", "scanner": "scanner-primary", "fingerprint": "21edf063dda13fc5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bd1c9198b6bb955b", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/agent_runner.py:107"}, "properties": {"repobilityId": "75fa6646d4ca408f", "scanner": "scanner-primary", "fingerprint": "bd1c9198b6bb955b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1be36d7a9e7bc6a", "level": "note", "message": {"text": "Legacy-named symbol `tools_memory_v2` in src/server.py:46"}, "properties": {"repobilityId": "4a40f047ed0b8abc", "scanner": "scanner-primary", "fingerprint": "f1be36d7a9e7bc6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2bdb9911058a02b2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/server.py:159"}, "properties": {"repobilityId": "385ef31688c100ab", "scanner": "scanner-primary", "fingerprint": "2bdb9911058a02b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d66f93b0b9d74988", "level": "note", "message": {"text": "Legacy-named symbol `_brain_legacy` in src/calibration_migration.py:347"}, "properties": {"repobilityId": "8a9d1bcba9ead436", "scanner": "scanner-primary", "fingerprint": "d66f93b0b9d74988", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7c62396dafc44279", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/calibration_migration.py:258"}, "properties": {"repobilityId": "4fdea7e107735b81", "scanner": "scanner-primary", "fingerprint": "7c62396dafc44279", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8b1d85a45fb8f13", "level": "note", "message": {"text": "Legacy-named symbol `runtime_budget_v1` in src/pre_answer_runtime.py:13"}, "properties": {"repobilityId": "fdc39e1e4cd0ad48", "scanner": "scanner-primary", "fingerprint": "a8b1d85a45fb8f13", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1d9cd49340af54f4", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/pre_answer_runtime.py:20"}, "properties": {"repobilityId": "5b50a72492210ddf", "scanner": "scanner-primary", "fingerprint": "1d9cd49340af54f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c1be7f3775b5b32", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/nexo_sdk.py:17"}, "properties": {"repobilityId": "f0fe038267de8687", "scanner": "scanner-primary", "fingerprint": "2c1be7f3775b5b32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-09c38be1ef882fe5", "level": "note", "message": {"text": "Legacy-named symbol `semantic_layers_v1` in src/semantic_layers.py:20"}, "properties": {"repobilityId": "12b6ec75dc503628", "scanner": "scanner-primary", "fingerprint": "09c38be1ef882fe5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2b5d7f237aab708e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/semantic_layers.py:448"}, "properties": {"repobilityId": "4bcf62016e33a185", "scanner": "scanner-primary", "fingerprint": "2b5d7f237aab708e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86b0b238bedbe1c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/paths.py:768"}, "properties": {"repobilityId": "60c846775d5b5d4c", "scanner": "scanner-primary", "fingerprint": "86b0b238bedbe1c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a070a501507a3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/tools_sessions.py:36"}, "properties": {"repobilityId": "4f769872f2d13dca", "scanner": "scanner-primary", "fingerprint": "81a070a501507a3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc2992f89cb201f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/memory_forget.py:98"}, "properties": {"repobilityId": "795ae2286a04e4ab", "scanner": "scanner-primary", "fingerprint": "bc2992f89cb201f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29e38aec70ac11b2", "level": "note", "message": {"text": "Legacy-named symbol `deleted_old` in src/hook_observability.py:77"}, "properties": {"repobilityId": "602f5db00dc8e8e9", "scanner": "scanner-primary", "fingerprint": "29e38aec70ac11b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5d76b852fc648152", "level": "note", "message": {"text": "Legacy-named symbol `_should_include_local_context_backup` in src/auto_update.py:178"}, "properties": {"repobilityId": "40a4bd43b7de79e5", "scanner": "scanner-primary", "fingerprint": "5d76b852fc648152", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-49412f220737efc7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto_update.py:2261"}, "properties": {"repobilityId": "addca5517970ef30", "scanner": "scanner-primary", "fingerprint": "49412f220737efc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6954101b11fb6b04", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/pre_answer_router.py:1916"}, "properties": {"repobilityId": "1181cdf9da020e9c", "scanner": "scanner-primary", "fingerprint": "6954101b11fb6b04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-270f751b231c9b54", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lifecycle_prompts.py:27"}, "properties": {"repobilityId": "a8cb5b9ab9a4a5bd", "scanner": "scanner-primary", "fingerprint": "270f751b231c9b54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4380cf558ea51c2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/causal_graph.py:200"}, "properties": {"repobilityId": "8a88f7367d06867b", "scanner": "scanner-primary", "fingerprint": "e4380cf558ea51c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f10cd4f6f05f3d94", "level": "note", "message": {"text": "Legacy-named symbol `_memory_v2` in src/memory_executive.py:400"}, "properties": {"repobilityId": "ef52c91f2a9f2ddb", "scanner": "scanner-primary", "fingerprint": "f10cd4f6f05f3d94", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6d6f3b7c7cd35276", "level": "note", "message": {"text": "Legacy-named symbol `find_latest_hourly_backup` in src/db_guard.py:27"}, "properties": {"repobilityId": "3b7cb816e96e8443", "scanner": "scanner-primary", "fingerprint": "6d6f3b7c7cd35276", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7a1f0daef53e0195", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/call_model_raw.py:184"}, "properties": {"repobilityId": "be1377d21a53970d", "scanner": "scanner-primary", "fingerprint": "7a1f0daef53e0195", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad5b2950bc132287", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/client_sync.py:589"}, "properties": {"repobilityId": "4abee34242be609d", "scanner": "scanner-primary", "fingerprint": "ad5b2950bc132287", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ae60a62e9f45be4", "level": "note", "message": {"text": "Legacy-named symbol `find_best_hourly_backup` in src/doctor/providers/boot.py:56"}, "properties": {"repobilityId": "77f4c5fa79b8f4c5", "scanner": "scanner-primary", "fingerprint": "5ae60a62e9f45be4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f24798d9afb5ebb", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/local_context/db.py:83"}, "properties": {"repobilityId": "ad9babd15cf004f8", "scanner": "scanner-primary", "fingerprint": "3f24798d9afb5ebb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cdfddedea5de33e", "level": "note", "message": {"text": "Legacy-named symbol `_create_roots_v2_sqlite_backup` in src/local_context/api.py:962"}, "properties": {"repobilityId": "84297e5fbe36ae20", "scanner": "scanner-primary", "fingerprint": "0cdfddedea5de33e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f24b2ee593992494", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/local_context/api.py:2300"}, "properties": {"repobilityId": "d9e366fd3cd4a4eb", "scanner": "scanner-primary", "fingerprint": "f24b2ee593992494", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7651ce0e4884dea1", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/local_context/embeddings.py:135"}, "properties": {"repobilityId": "652c7b66e00d0dc1", "scanner": "scanner-primary", "fingerprint": "7651ce0e4884dea1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e220464c158e6b27", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-pre-commit.py:48"}, "properties": {"repobilityId": "acf2942699c18eb0", "scanner": "scanner-primary", "fingerprint": "e220464c158e6b27", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-361b631709907379", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/scripts/runner-health-check.py:2"}, "properties": {"repobilityId": "2bde6844acd3fb2e", "scanner": "scanner-primary", "fingerprint": "361b631709907379", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab05c9906bcc12ec", "level": "note", "message": {"text": "Legacy-named symbol `do_backup` in src/scripts/backfill_task_owner.py:307"}, "properties": {"repobilityId": "3a840d5b0828780c", "scanner": "scanner-primary", "fingerprint": "ab05c9906bcc12ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b3feae441a8d2dfb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/scripts/nexo-postmortem-consolidator.py:125"}, "properties": {"repobilityId": "a83aff9acdf0848d", "scanner": "scanner-primary", "fingerprint": "b3feae441a8d2dfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36b8e0c9be4e902d", "level": "note", "message": {"text": "Legacy-named symbol `claude_mem_old` in src/scripts/nexo-sleep.py:243"}, "properties": {"repobilityId": "ac7de5b4dffd72d5", "scanner": "scanner-primary", "fingerprint": "36b8e0c9be4e902d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f811e763484f6df", "level": "none", "message": {"text": "Commented-code block (14 lines) in src/scripts/nexo-followup-runner.py:2"}, "properties": {"repobilityId": "aace87b96d14e65c", "scanner": "scanner-primary", "fingerprint": "0f811e763484f6df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c806bb61fc64d6e7", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/scripts/nexo-memory-observation-watchdog.py:2"}, "properties": {"repobilityId": "b0e210f60e4bccff", "scanner": "scanner-primary", "fingerprint": "c806bb61fc64d6e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42358dae25d86c64", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/scripts/prune_runtime_backups.py:2"}, "properties": {"repobilityId": "7fb2607e6f9f47d7", "scanner": "scanner-primary", "fingerprint": "42358dae25d86c64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-702da5a0f5569d55", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/scripts/nexo-immune.py:107"}, "properties": {"repobilityId": "c8ddc7c4222b681a", "scanner": "scanner-primary", "fingerprint": "702da5a0f5569d55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82591bcab33e981b", "level": "note", "message": {"text": "Legacy-named symbol `_load_legacy` in src/scripts/nexo-email-migrate-config.py:52"}, "properties": {"repobilityId": "41e26049c50fd6ec", "scanner": "scanner-primary", "fingerprint": "82591bcab33e981b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5578b6d70cedf10c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/scripts/nexo-email-migrate-config.py:2"}, "properties": {"repobilityId": "ebf4b030a03c91cf", "scanner": "scanner-primary", "fingerprint": "5578b6d70cedf10c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea04d3cf04409011", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-watchdog-smoke.py:89"}, "properties": {"repobilityId": "081f754d787cc233", "scanner": "scanner-primary", "fingerprint": "ea04d3cf04409011", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-08ca790b5f762de7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/scripts/nexo-memory-fabric.py:2"}, "properties": {"repobilityId": "5032cfb7f86f36c1", "scanner": "scanner-primary", "fingerprint": "08ca790b5f762de7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8046f628cbb8bb38", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/scripts/nexo-local-index.py:2"}, "properties": {"repobilityId": "1eaf55b66b3821ae", "scanner": "scanner-primary", "fingerprint": "8046f628cbb8bb38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fdd0c35611b9e78", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/scripts/nexo-daily-self-audit.py:2312"}, "properties": {"repobilityId": "eb07909bc88c64fb", "scanner": "scanner-primary", "fingerprint": "5fdd0c35611b9e78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4178642a4310ba81", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-daily-self-audit.py:954"}, "properties": {"repobilityId": "41fa237af17afccd", "scanner": "scanner-primary", "fingerprint": "4178642a4310ba81", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de79e57362e9dfed", "level": "none", "message": {"text": "Commented-code block (14 lines) in src/scripts/nexo-email-monitor.py:2"}, "properties": {"repobilityId": "26c5d8337a6e7e7b", "scanner": "scanner-primary", "fingerprint": "de79e57362e9dfed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd7870372fce4d34", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/scripts/nexo-email-monitor.py:2079"}, "properties": {"repobilityId": "35bd7b109c2dd7ed", "scanner": "scanner-primary", "fingerprint": "bd7870372fce4d34", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d89cbde162ce1e35", "level": "note", "message": {"text": "Legacy-named symbol `files_to_backup` in src/scripts/nexo-evolution-run.py:1068"}, "properties": {"repobilityId": "19dfb257c706e601", "scanner": "scanner-primary", "fingerprint": "d89cbde162ce1e35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d43013d86a791310", "level": "none", "message": {"text": "Commented-code block (14 lines) in src/scripts/nexo-morning-agent.py:2"}, "properties": {"repobilityId": "de8cf9e9db3c42e3", "scanner": "scanner-primary", "fingerprint": "d43013d86a791310", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5003ccf5f1508779", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/scripts/nexo-learning-housekeep.py:161"}, "properties": {"repobilityId": "5f60e8fb31093455", "scanner": "scanner-primary", "fingerprint": "5003ccf5f1508779", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21385936e0f4bc6c", "level": "note", "message": {"text": "Legacy-named symbol `nexo_backup` in src/scripts/deep-sleep/apply_findings.py:2432"}, "properties": {"repobilityId": "354401316f80c1ce", "scanner": "scanner-primary", "fingerprint": "21385936e0f4bc6c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-380e3ef3d6163fff", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/scripts/deep-sleep/apply_findings.py:2276"}, "properties": {"repobilityId": "9b373be88b65b0b4", "scanner": "scanner-primary", "fingerprint": "380e3ef3d6163fff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a0f570efd9b4f1d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/scripts/deep-sleep/extract.py:50"}, "properties": {"repobilityId": "5b847c9562f63740", "scanner": "scanner-primary", "fingerprint": "6a0f570efd9b4f1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6af949110dde83d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/scripts/deep-sleep/phase_protocol_debt_drain.py:87"}, "properties": {"repobilityId": "27c1936547e78ce4", "scanner": "scanner-primary", "fingerprint": "6af949110dde83d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a07e7e8d4ffd482f", "level": "note", "message": {"text": "Legacy-named symbol `api_memory_search_v2` in src/dashboard/app.py:755"}, "properties": {"repobilityId": "2ea93a2fd49f7bea", "scanner": "scanner-primary", "fingerprint": "a07e7e8d4ffd482f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80527f60acee6745", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/dashboard/app.py:1209"}, "properties": {"repobilityId": "9ec0a6541a259576", "scanner": "scanner-primary", "fingerprint": "80527f60acee6745", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b789fdf0b845bfac", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/dashboard/app.py:1206"}, "properties": {"repobilityId": "852fc3ede15c89ee", "scanner": "scanner-primary", "fingerprint": "b789fdf0b845bfac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6362cf881c496829", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/managed_mcp/reconcile.py:78"}, "properties": {"repobilityId": "b83f786e09c7173c", "scanner": "scanner-primary", "fingerprint": "6362cf881c496829", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5ddce02115877e71", "level": "note", "message": {"text": "Legacy-named symbol `sidecar_legacy` in src/hooks/compact_session_resolver.py:114"}, "properties": {"repobilityId": "5097a80fa9278404", "scanner": "scanner-primary", "fingerprint": "5ddce02115877e71", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aa6288387382dcbc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/auto_capture.py:257"}, "properties": {"repobilityId": "bf1e230a6dc37104", "scanner": "scanner-primary", "fingerprint": "aa6288387382dcbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f821d04a9b9338c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/hooks/post_tool_use.py:655"}, "properties": {"repobilityId": "f109fbf356f64502", "scanner": "scanner-primary", "fingerprint": "6f821d04a9b9338c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14460c03b5a01fa0", "level": "note", "message": {"text": "Legacy-named symbol `_memory_v2` in src/db/__init__.py:58"}, "properties": {"repobilityId": "5559039a3ff19952", "scanner": "scanner-primary", "fingerprint": "14460c03b5a01fa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-71651af504dbf78a", "level": "note", "message": {"text": "Legacy-named symbol `_memory_v2` in src/db/_memory_v2.py:31"}, "properties": {"repobilityId": "48472395b445ed33", "scanner": "scanner-primary", "fingerprint": "71651af504dbf78a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5ce3eba5e9fbf498", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/db/_email_accounts.py:81"}, "properties": {"repobilityId": "75d83cf8e850b99f", "scanner": "scanner-primary", "fingerprint": "5ce3eba5e9fbf498", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccaa8ccd97593cb7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/db/_core.py:43"}, "properties": {"repobilityId": "c641cb1bced4df92", "scanner": "scanner-primary", "fingerprint": "ccaa8ccd97593cb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e740aa92d0542f1a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/db/_reminders.py:66"}, "properties": {"repobilityId": "281265fb86bc60f8", "scanner": "scanner-primary", "fingerprint": "e740aa92d0542f1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f103a06306bbeee3", "level": "note", "message": {"text": "Legacy-named symbol `_m19_skills_v2` in src/db/_schema.py:386"}, "properties": {"repobilityId": "b4e68a9488660fc5", "scanner": "scanner-primary", "fingerprint": "f103a06306bbeee3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c9f24812f7aab4d5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/db/_hot_context.py:573"}, "properties": {"repobilityId": "4a8c50941f4c0161", "scanner": "scanner-primary", "fingerprint": "c9f24812f7aab4d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-178714502e52000d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/crons/sync.py:730"}, "properties": {"repobilityId": "d4af9fe45645512e", "scanner": "scanner-primary", "fingerprint": "178714502e52000d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5d7592877448950", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/crons/sync.py:592"}, "properties": {"repobilityId": "433869347378874d", "scanner": "scanner-primary", "fingerprint": "d5d7592877448950", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef4e10b978449c91", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-nexo-core-fix-cycle/script.py:189"}, "properties": {"repobilityId": "bcea827919199582", "scanner": "scanner-primary", "fingerprint": "ef4e10b978449c91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06296e3526ccbc05", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-runtime-doctor/script.py:16"}, "properties": {"repobilityId": "7ac8a22bed883ba1", "scanner": "scanner-primary", "fingerprint": "06296e3526ccbc05", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1a432e7c64c5f44", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/skills/run-release-final-audit/script.py:146"}, "properties": {"repobilityId": "ea5ccdde00db9df6", "scanner": "scanner-primary", "fingerprint": "a1a432e7c64c5f44", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-90c0ca95957ef13e", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_ingest.py:102"}, "properties": {"repobilityId": "9a7a0f87da99d303", "scanner": "scanner-primary", "fingerprint": "90c0ca95957ef13e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7cd799991c6868ee", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_core.py:353"}, "properties": {"repobilityId": "a9e8e1e248bdd961", "scanner": "scanner-primary", "fingerprint": "7cd799991c6868ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-650680ce4f5bf76d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/cognitive/_search.py:249"}, "properties": {"repobilityId": "8910fc80219a7d7d", "scanner": "scanner-primary", "fingerprint": "650680ce4f5bf76d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4639d5d2db01aff", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_trust.py:140"}, "properties": {"repobilityId": "9cf83278434d76e8", "scanner": "scanner-primary", "fingerprint": "d4639d5d2db01aff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9938e2cb0f9808f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cognitive/_trust.py:80"}, "properties": {"repobilityId": "2f39497432035f9c", "scanner": "scanner-primary", "fingerprint": "9938e2cb0f9808f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c073e427eb131fd", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_decay.py:126"}, "properties": {"repobilityId": "9823babe455e7ab2", "scanner": "scanner-primary", "fingerprint": "0c073e427eb131fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc5493357f942dc7", "level": "note", "message": {"text": "Legacy-named symbol `embedding_v2` in src/cognitive/_memory.py:196"}, "properties": {"repobilityId": "176f27bef3acfd66", "scanner": "scanner-primary", "fingerprint": "dc5493357f942dc7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-430bebad49c3bbcf", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/plugins/protocol.py:52"}, "properties": {"repobilityId": "fa45c9a3c26792ec", "scanner": "scanner-primary", "fingerprint": "430bebad49c3bbcf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3e6f90cf181b043", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/simple_api.py:14"}, "properties": {"repobilityId": "5f84c9c107a42a25", "scanner": "scanner-primary", "fingerprint": "f3e6f90cf181b043", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55e4c47b82a09c59", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/workflow.py:188"}, "properties": {"repobilityId": "0c7520e11467fa16", "scanner": "scanner-primary", "fingerprint": "55e4c47b82a09c59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f009490877c8bd6", "level": "note", "message": {"text": "Legacy-named symbol `_cleanup_old` in src/plugins/backup.py:103"}, "properties": {"repobilityId": "6d98adf3adc00dbc", "scanner": "scanner-primary", "fingerprint": "1f009490877c8bd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-17d19feebbd0327d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/plugins/cortex.py:1434"}, "properties": {"repobilityId": "05a0de62a4f88229", "scanner": "scanner-primary", "fingerprint": "17d19feebbd0327d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd0a8d891f1a589a", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/plugins/guard.py:497"}, "properties": {"repobilityId": "f779aee9dcc8040c", "scanner": "scanner-primary", "fingerprint": "fd0a8d891f1a589a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2690c217bad1dfdc", "level": "note", "message": {"text": "Legacy-named symbol `latest_legacy` in src/plugins/schedule.py:121"}, "properties": {"repobilityId": "2097ee14eaa3fc44", "scanner": "scanner-primary", "fingerprint": "2690c217bad1dfdc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ee2bce0a73beb2de", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/plugins/schedule.py:542"}, "properties": {"repobilityId": "c71d4aab88556b52", "scanner": "scanner-primary", "fingerprint": "ee2bce0a73beb2de", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c91bfca5ec8d396", "level": "note", "message": {"text": "Legacy-named symbol `find_latest_hourly_backup` in src/plugins/recover.py:45"}, "properties": {"repobilityId": "bd870440422872fe", "scanner": "scanner-primary", "fingerprint": "9c91bfca5ec8d396", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a883e1da0b905a7f", "level": "note", "message": {"text": "Legacy-named symbol `find_best_hourly_backup` in src/plugins/update.py:55"}, "properties": {"repobilityId": "fc391f60da05d8b2", "scanner": "scanner-primary", "fingerprint": "a883e1da0b905a7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-722d845bc6a1e63d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/plugins/update.py:124"}, "properties": {"repobilityId": "c17ff313853fc66d", "scanner": "scanner-primary", "fingerprint": "722d845bc6a1e63d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80c56bf9f3150ef3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/plugins/update.py:556"}, "properties": {"repobilityId": "8bc9a23528b8bc4e", "scanner": "scanner-primary", "fingerprint": "80c56bf9f3150ef3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe1d9311d6aee734", "level": "note", "message": {"text": "Near-duplicate function bodies in 12 places"}, "properties": {"repobilityId": "00088a86e9514fd9", "scanner": "scanner-primary", "fingerprint": "fe1d9311d6aee734", "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": "6d7bb56bf164fdff", "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": "449364cd93e3a081", "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": "6be47f217dc013a8", "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": "e98d557a82645a63", "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": "a10533fa6ed20b9b", "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": "13b60d16bb26cb0b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "112a64f40ac956d9", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "f54db84028f68002", "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": "5d8143276dced167", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "1d14fa291291787c", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c344d6e4eaa586a4", "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": "0952389b87a3d10e", "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": "19458ff29492daf6", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "2f8580c5890f25d9", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "2d98fa119d616863", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "711e367b7b4a04cf", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "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": "de74fe8827fe6b0d", "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": "fa6adb99f963fde3", "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": "0431eb1592c82740", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9553de4724f91a03", "level": "error", "message": {"text": "FastAPI POST `api_memory_backfill` without auth dependency \u2014 src/dashboard/app.py:776"}, "properties": {"repobilityId": "0989b4b37c6d6ee8", "scanner": "scanner-primary", "fingerprint": "9553de4724f91a03", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 776}}}]}, {"ruleId": "scanner-ee3d67a9118704a1", "level": "error", "message": {"text": "FastAPI POST `api_reminders_create` without auth dependency \u2014 src/dashboard/app.py:933"}, "properties": {"repobilityId": "8a656a2710fbcd3b", "scanner": "scanner-primary", "fingerprint": "ee3d67a9118704a1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 933}}}]}, {"ruleId": "scanner-9e81adc6f7564f02", "level": "error", "message": {"text": "FastAPI PUT `api_reminders_update` without auth dependency \u2014 src/dashboard/app.py:960"}, "properties": {"repobilityId": "e13015e558ca726b", "scanner": "scanner-primary", "fingerprint": "9e81adc6f7564f02", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 960}}}]}, {"ruleId": "scanner-fb653bbd74dad547", "level": "error", "message": {"text": "FastAPI DELETE `api_reminders_delete` without auth dependency \u2014 src/dashboard/app.py:987"}, "properties": {"repobilityId": "c1a15c3b11bd4dee", "scanner": "scanner-primary", "fingerprint": "fb653bbd74dad547", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 987}}}]}, {"ruleId": "scanner-efe96af90f403808", "level": "error", "message": {"text": "FastAPI POST `api_followups_create` without auth dependency \u2014 src/dashboard/app.py:1037"}, "properties": {"repobilityId": "2524f80fa44c9761", "scanner": "scanner-primary", "fingerprint": "efe96af90f403808", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1037}}}]}, {"ruleId": "scanner-34463ddca5cef2c4", "level": "error", "message": {"text": "FastAPI PUT `api_followups_update` without auth dependency \u2014 src/dashboard/app.py:1065"}, "properties": {"repobilityId": "99895dcbcdd73abb", "scanner": "scanner-primary", "fingerprint": "34463ddca5cef2c4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1065}}}]}, {"ruleId": "scanner-55f86136adda4bbf", "level": "error", "message": {"text": "FastAPI DELETE `api_followups_delete` without auth dependency \u2014 src/dashboard/app.py:1094"}, "properties": {"repobilityId": "93f8301077c1b83c", "scanner": "scanner-primary", "fingerprint": "55f86136adda4bbf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1094}}}]}, {"ruleId": "scanner-fe92b4efde906080", "level": "error", "message": {"text": "FastAPI POST `api_ops_move` without auth dependency \u2014 src/dashboard/app.py:1113"}, "properties": {"repobilityId": "fdd3112e61dafa13", "scanner": "scanner-primary", "fingerprint": "fe92b4efde906080", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1113}}}]}, {"ruleId": "scanner-57d08adaff8bb6ad", "level": "error", "message": {"text": "FastAPI POST `api_ops_execute` without auth dependency \u2014 src/dashboard/app.py:1176"}, "properties": {"repobilityId": "3fa3b4a03474dc2e", "scanner": "scanner-primary", "fingerprint": "57d08adaff8bb6ad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1176}}}]}, {"ruleId": "scanner-35c7f3c862ee09af", "level": "error", "message": {"text": "FastAPI POST `api_inbox_create` without auth dependency \u2014 src/dashboard/app.py:1289"}, "properties": {"repobilityId": "9f190dbce55e3a35", "scanner": "scanner-primary", "fingerprint": "35c7f3c862ee09af", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1289}}}]}, {"ruleId": "scanner-1d4c47bf714a31aa", "level": "error", "message": {"text": "FastAPI PUT `api_inbox_mark_read` without auth dependency \u2014 src/dashboard/app.py:1308"}, "properties": {"repobilityId": "bad82033fadedd7a", "scanner": "scanner-primary", "fingerprint": "1d4c47bf714a31aa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1308}}}]}, {"ruleId": "scanner-bef5cd820440e0d5", "level": "error", "message": {"text": "FastAPI POST `api_chat` without auth dependency \u2014 src/dashboard/app.py:1531"}, "properties": {"repobilityId": "d325cfb1de3d84ef", "scanner": "scanner-primary", "fingerprint": "bef5cd820440e0d5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/dashboard/app.py"}, "region": {"startLine": 1531}}}]}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "2c74afc35bc04200", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bfada129ce5bb026", "level": "note", "message": {"text": "Unused endpoint: GET /feed"}, "properties": {"repobilityId": "a479670ff24b9bbb", "scanner": "scanner-primary", "fingerprint": "bfada129ce5bb026", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e59ec6872274b1a4", "level": "note", "message": {"text": "Unused endpoint: GET /crons"}, "properties": {"repobilityId": "a064b88b27e5c107", "scanner": "scanner-primary", "fingerprint": "e59ec6872274b1a4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-19fd15f35c690f73", "level": "note", "message": {"text": "Unused endpoint: GET /ops"}, "properties": {"repobilityId": "c09ad9251ddd491b", "scanner": "scanner-primary", "fingerprint": "19fd15f35c690f73", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5f9819d9ecb49931", "level": "note", "message": {"text": "Unused endpoint: GET /calendar"}, "properties": {"repobilityId": "ae7087041bf0b27a", "scanner": "scanner-primary", "fingerprint": "5f9819d9ecb49931", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0d3a434fedb1fa40", "level": "note", "message": {"text": "Unused endpoint: GET /chat"}, "properties": {"repobilityId": "e4bf2f4410f6c81c", "scanner": "scanner-primary", "fingerprint": "0d3a434fedb1fa40", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-279d61489dedfa5f", "level": "note", "message": {"text": "Unused endpoint: GET /memory"}, "properties": {"repobilityId": "7456b90bb34f9b64", "scanner": "scanner-primary", "fingerprint": "279d61489dedfa5f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ef990c0da88df323", "level": "note", "message": {"text": "Unused endpoint: GET /dreams"}, "properties": {"repobilityId": "5dc5f215366f65a4", "scanner": "scanner-primary", "fingerprint": "ef990c0da88df323", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5c5c6900e4670966", "level": "note", "message": {"text": "Unused endpoint: GET /skills"}, "properties": {"repobilityId": "0870463ea2625e21", "scanner": "scanner-primary", "fingerprint": "5c5c6900e4670966", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b2ef035e9aa1697d", "level": "note", "message": {"text": "Unused endpoint: GET /trust"}, "properties": {"repobilityId": "1f09f162effb0b9c", "scanner": "scanner-primary", "fingerprint": "b2ef035e9aa1697d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d303edec335b24e", "level": "note", "message": {"text": "Unused endpoint: GET /guard"}, "properties": {"repobilityId": "ad1f6a3876f8477b", "scanner": "scanner-primary", "fingerprint": "7d303edec335b24e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-91486b0090c59df7", "level": "note", "message": {"text": "Unused endpoint: GET /protocol"}, "properties": {"repobilityId": "888f0789fc1c294f", "scanner": "scanner-primary", "fingerprint": "91486b0090c59df7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc69da52574bd40c", "level": "note", "message": {"text": "Unused endpoint: GET /cortex"}, "properties": {"repobilityId": "e3134f8a3a709209", "scanner": "scanner-primary", "fingerprint": "dc69da52574bd40c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-26bf5f94d883f709", "level": "note", "message": {"text": "Unused endpoint: GET /rules"}, "properties": {"repobilityId": "6d6af50d1d1966d6", "scanner": "scanner-primary", "fingerprint": "26bf5f94d883f709", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9ac29e25b9f1dd29", "level": "note", "message": {"text": "Unused endpoint: GET /plugins"}, "properties": {"repobilityId": "916972f2a3fecd4a", "scanner": "scanner-primary", "fingerprint": "9ac29e25b9f1dd29", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-78124393f528246e", "level": "note", "message": {"text": "Unused endpoint: GET /evolution"}, "properties": {"repobilityId": "df087c12c334dd4b", "scanner": "scanner-primary", "fingerprint": "78124393f528246e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-daa962bae78e470b", "level": "note", "message": {"text": "Unused endpoint: GET /claims"}, "properties": {"repobilityId": "3c83fcb092b4c860", "scanner": "scanner-primary", "fingerprint": "daa962bae78e470b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3cd73a504cb2b34e", "level": "note", "message": {"text": "Unused endpoint: GET /sentiment"}, "properties": {"repobilityId": "2975394ff243925f", "scanner": "scanner-primary", "fingerprint": "3cd73a504cb2b34e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b15d518d538de57d", "level": "note", "message": {"text": "Unused endpoint: GET /sessions"}, "properties": {"repobilityId": "f08db743303ab033", "scanner": "scanner-primary", "fingerprint": "b15d518d538de57d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7f77855b5601be75", "level": "note", "message": {"text": "Unused endpoint: GET /triggers"}, "properties": {"repobilityId": "1166b8eef66b2553", "scanner": "scanner-primary", "fingerprint": "7f77855b5601be75", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6ad71d781550edea", "level": "note", "message": {"text": "Unused endpoint: GET /artifacts"}, "properties": {"repobilityId": "606898c0751a553a", "scanner": "scanner-primary", "fingerprint": "6ad71d781550edea", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d315efa0f1b0f8fb", "level": "note", "message": {"text": "Unused endpoint: GET /inbox"}, "properties": {"repobilityId": "141fd3c1c8e7cf93", "scanner": "scanner-primary", "fingerprint": "d315efa0f1b0f8fb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2036430dc3a32669", "level": "note", "message": {"text": "Unused endpoint: GET /email"}, "properties": {"repobilityId": "acf91368013ac148", "scanner": "scanner-primary", "fingerprint": "2036430dc3a32669", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-35c268ad9306182e", "level": "note", "message": {"text": "Unused endpoint: GET /credentials"}, "properties": {"repobilityId": "3c77d640219b26ee", "scanner": "scanner-primary", "fingerprint": "35c268ad9306182e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a5dfd6eb0c2d510e", "level": "note", "message": {"text": "Unused endpoint: GET /backups"}, "properties": {"repobilityId": "17989c5cb2c6b232", "scanner": "scanner-primary", "fingerprint": "a5dfd6eb0c2d510e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-58da4656b3bd7765", "level": "note", "message": {"text": "Unused endpoint: GET /followup-health"}, "properties": {"repobilityId": "1c679a02a21c5ac0", "scanner": "scanner-primary", "fingerprint": "58da4656b3bd7765", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c0ac2ef565a5459b", "level": "note", "message": {"text": "Unused endpoint: GET /graph"}, "properties": {"repobilityId": "d69b598c5c6a6eba", "scanner": "scanner-primary", "fingerprint": "c0ac2ef565a5459b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb4e107ab0a6efa9", "level": "note", "message": {"text": "Unused endpoint: GET /somatic"}, "properties": {"repobilityId": "165eb7feb7380365", "scanner": "scanner-primary", "fingerprint": "cb4e107ab0a6efa9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7fb0ccb23c35832e", "level": "note", "message": {"text": "Unused endpoint: GET /adaptive"}, "properties": {"repobilityId": "2f7d5aa4c982c648", "scanner": "scanner-primary", "fingerprint": "7fb0ccb23c35832e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b37265900e79a8a", "level": "note", "message": {"text": "Unused endpoint: GET /api/stats"}, "properties": {"repobilityId": "9bcce89e0d70ddb5", "scanner": "scanner-primary", "fingerprint": "3b37265900e79a8a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9185678549c1ef6d", "level": "note", "message": {"text": "Unused endpoint: GET /api/graph"}, "properties": {"repobilityId": "1f93c09b6731ea1e", "scanner": "scanner-primary", "fingerprint": "9185678549c1ef6d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-94760304cb683d43", "level": "note", "message": {"text": "Unused endpoint: GET /api/memories"}, "properties": {"repobilityId": "16b505af7d3fee1c", "scanner": "scanner-primary", "fingerprint": "94760304cb683d43", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2072d6c8007809d0", "level": "note", "message": {"text": "Unused endpoint: GET /api/memory/observations"}, "properties": {"repobilityId": "b77cf9f06f68f105", "scanner": "scanner-primary", "fingerprint": "2072d6c8007809d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2689e545dd384c20", "level": "note", "message": {"text": "Unused endpoint: GET /api/memory/search-v2"}, "properties": {"repobilityId": "28b5a669bbebcc2e", "scanner": "scanner-primary", "fingerprint": "2689e545dd384c20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4837aa5f85455371", "level": "note", "message": {"text": "Unused endpoint: POST /api/memory/backfill"}, "properties": {"repobilityId": "8c705e7072769c27", "scanner": "scanner-primary", "fingerprint": "4837aa5f85455371", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-107b1ccde6915395", "level": "note", "message": {"text": "Unused endpoint: GET /api/somatic"}, "properties": {"repobilityId": "b923244d6879cc7c", "scanner": "scanner-primary", "fingerprint": "107b1ccde6915395", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea36dedbbdccf8aa", "level": "note", "message": {"text": "Unused endpoint: GET /api/trust"}, "properties": {"repobilityId": "362e087880fbcdb4", "scanner": "scanner-primary", "fingerprint": "ea36dedbbdccf8aa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e44ded304301b0d1", "level": "note", "message": {"text": "Unused endpoint: GET /api/project-pulse"}, "properties": {"repobilityId": "a4590b38782dfa27", "scanner": "scanner-primary", "fingerprint": "e44ded304301b0d1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f712993f294692dd", "level": "note", "message": {"text": "Unused endpoint: GET /api/engineering-loop"}, "properties": {"repobilityId": "d247f16d2a5ee12e", "scanner": "scanner-primary", "fingerprint": "f712993f294692dd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-155229f7d409b30c", "level": "note", "message": {"text": "Unused endpoint: GET /api/adaptive"}, "properties": {"repobilityId": "069aa4e258cfc5fd", "scanner": "scanner-primary", "fingerprint": "155229f7d409b30c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf2e6e2188a510ee", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions"}, "properties": {"repobilityId": "d3a067e156ff1045", "scanner": "scanner-primary", "fingerprint": "bf2e6e2188a510ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dd6689a6dea2a7ad", "level": "note", "message": {"text": "Unused endpoint: GET /api/kg/nodes"}, "properties": {"repobilityId": "3fec3dbd23fc6b06", "scanner": "scanner-primary", "fingerprint": "dd6689a6dea2a7ad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-980bba732a44b4fe", "level": "note", "message": {"text": "Unused endpoint: GET /api/reminders"}, "properties": {"repobilityId": "7a275d1f3c72741a", "scanner": "scanner-primary", "fingerprint": "980bba732a44b4fe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7e9ff3a8313a6cca", "level": "note", "message": {"text": "Unused endpoint: POST /api/reminders"}, "properties": {"repobilityId": "1e7882a707d1703b", "scanner": "scanner-primary", "fingerprint": "7e9ff3a8313a6cca", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-550f0fa2d5b40271", "level": "note", "message": {"text": "Unused endpoint: GET /api/reminders/{rid}"}, "properties": {"repobilityId": "2988cb8df11e59a5", "scanner": "scanner-primary", "fingerprint": "550f0fa2d5b40271", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-213be412da057f69", "level": "note", "message": {"text": "Unused endpoint: PUT /api/reminders/{rid}"}, "properties": {"repobilityId": "27a6016212bb3d24", "scanner": "scanner-primary", "fingerprint": "213be412da057f69", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb4cbc997221db6d", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/reminders/{rid}"}, "properties": {"repobilityId": "81d9575cb1a517cb", "scanner": "scanner-primary", "fingerprint": "cb4cbc997221db6d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1c2a391588ba16e2", "level": "note", "message": {"text": "Unused endpoint: GET /api/followups"}, "properties": {"repobilityId": "d7a0652ed6f61a1d", "scanner": "scanner-primary", "fingerprint": "1c2a391588ba16e2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4809fc48720e7ccf", "level": "note", "message": {"text": "Unused endpoint: POST /api/followups"}, "properties": {"repobilityId": "b6dd7000d617562d", "scanner": "scanner-primary", "fingerprint": "4809fc48720e7ccf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-13396613ce50b643", "level": "note", "message": {"text": "Unused endpoint: GET /api/followups/{fid}"}, "properties": {"repobilityId": "25557df685f36169", "scanner": "scanner-primary", "fingerprint": "13396613ce50b643", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}