{"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-74ce26f7b7060707", "name": "Possibly dead Python function: generate_launch_description", "shortDescription": {"text": "Possibly dead Python function: generate_launch_description"}, "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-99a15512fc367b89", "name": "Possibly dead Python function: seek", "shortDescription": {"text": "Possibly dead Python function: seek"}, "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-a68dee112f596422", "name": "Possibly dead Python function: tell", "shortDescription": {"text": "Possibly dead Python function: tell"}, "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-26be081141a5a4d5", "name": "Possibly dead Python function: require_user", "shortDescription": {"text": "Possibly dead Python function: require_user"}, "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-1672db653027b18a", "name": "Possibly dead Python function: require_admin", "shortDescription": {"text": "Possibly dead Python function: require_admin"}, "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-77ea7cdd899c04ce", "name": "Possibly dead Python function: toggle", "shortDescription": {"text": "Possibly dead Python function: toggle"}, "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-e90ce6ad5fdbbd6e", "name": "Possibly dead Python function: pps_loop", "shortDescription": {"text": "Possibly dead Python function: pps_loop"}, "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-b37abb139d91f84a", "name": "Possibly dead Python function: worker", "shortDescription": {"text": "Possibly dead Python function: 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-e9c3f06e40d19e07", "name": "Icon-only button without accessible name \u2014 godo-frontend/src/components/LineageModal.svelte:76", "shortDescription": {"text": "Icon-only button without accessible name \u2014 godo-frontend/src/components/LineageModal.svelte:76"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da8df61ccfe93f2d", "name": "Privileged port 17 in use", "shortDescription": {"text": "Privileged port 17 in use"}, "fullDescription": {"text": "Port 17 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1fd4c4fac57d1432", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc0b723ea74f457a", "name": "Privileged port 184 in use", "shortDescription": {"text": "Privileged port 184 in use"}, "fullDescription": {"text": "Port 184 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-587eeda80f74e72a", "name": "Dockerfile runs as root: godo-mapping/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: godo-mapping/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-5dd95a6618dbfda8", "name": "Docker base image is tag-pinned but not digest-pinned: ros:jazzy-ros-base", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: ros:jazzy-ros-base"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cfd02a37089a0273", "name": "Very large file: production/RPi5/scripts/build.sh (967 lines)", "shortDescription": {"text": "Very large file: production/RPi5/scripts/build.sh (967 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-a5488a8623195a03", "name": "Very large file: godo-webctl/tests/test_app_integration.py (5288 lines)", "shortDescription": {"text": "Very large file: godo-webctl/tests/test_app_integration.py (5288 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-cd0f741d91ba1a84", "name": "Very large file: godo-webctl/src/godo_webctl/app.py (2774 lines)", "shortDescription": {"text": "Very large file: godo-webctl/src/godo_webctl/app.py (2774 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-343244e3a6bd5ec9", "name": "Very large file: godo-webctl/src/godo_webctl/mapping.py (1703 lines)", "shortDescription": {"text": "Very large file: godo-webctl/src/godo_webctl/mapping.py (1703 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 37 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-9ee132c4e278f38d", "name": "Commented-code block (7 lines) in godo-frontend/tests/unit/LineageModal.test.ts:151", "shortDescription": {"text": "Commented-code block (7 lines) in godo-frontend/tests/unit/LineageModal.test.ts:151"}, "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-6d0489f0f7688a31", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/format.test.ts:175", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/format.test.ts:175"}, "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-02dfcd986daf584e", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapYaml.test.ts:7", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapYaml.test.ts:7"}, "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-37ad9f595b2460c0", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/poseCanvasImageReload.test.ts:103", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/poseCanvasImageReload.test.ts: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-6ab7b615fe7e018f", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/ApplyMemoModal.test.ts:69", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/ApplyMemoModal.test.ts: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-9dca2841dfc2a2a1", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/maps.test.ts:36", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/maps.test.ts:36"}, "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-dd94824d15497535", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingNameValidation.test.ts:25", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingNameValidation.test.ts:25"}, "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-4aba28467bf9b476", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasFreshness.test.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasFreshness.test.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1aeddc29292bec36", "name": "Commented-code block (9 lines) in godo-frontend/tests/unit/poseCanvasScale.test.ts:77", "shortDescription": {"text": "Commented-code block (9 lines) in godo-frontend/tests/unit/poseCanvasScale.test.ts: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-a2924ad0f861a34a", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/protocol.test.ts:70", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/protocol.test.ts:70"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-930f65b9b5c6bf63", "name": "Commented-code block (10 lines) in godo-frontend/tests/unit/mapViewport.test.ts:107", "shortDescription": {"text": "Commented-code block (10 lines) in godo-frontend/tests/unit/mapViewport.test.ts: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-8833e36e154871f9", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/precheckStore.test.ts:71", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/precheckStore.test.ts: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-7b6bca5ca978fbdd", "name": "Legacy-named symbol `studio_v2` in godo-frontend/tests/unit/backup.test.ts:38", "shortDescription": {"text": "Legacy-named symbol `studio_v2` in godo-frontend/tests/unit/backup.test.ts:38"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52cd06010997bb40", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingStatusStore.test.ts:56", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingStatusStore.test.ts: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-973a36738a1cf7b8", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapMetadata.test.ts:24", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapMetadata.test.ts: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-32ec771bc8454b48", "name": "Commented-code block (6 lines) in godo-frontend/tests/unit/originMath.test.ts:218", "shortDescription": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/originMath.test.ts:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b27115ac3381c1e9", "name": "Commented-code block (6 lines) in godo-frontend/tests/unit/config.test.ts:638", "shortDescription": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/config.test.ts:638"}, "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-780fc3fd643e2589", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapEdit.test.ts:320", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapEdit.test.ts:320"}, "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-42b3b224ede88c69", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapEdit.test.ts:230", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapEdit.test.ts:230"}, "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-d721a93efe59a63f", "name": "Commented-code block (6 lines) in godo-frontend/tests/unit/mapZoomControls.test.ts:158", "shortDescription": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/mapZoomControls.test.ts:158"}, "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-881532e30a95fdfb", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapViewportNoWheelImports.test.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapViewportNoWheelImports.test.ts: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-2adc4424687626fe", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasScanLayer.test.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasScanLayer.test.ts:53"}, "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-2d824504432977cf", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/map_list_panel.test.ts:50", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/map_list_panel.test.ts:50"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a983f427d62d2ead", "name": "Commented-code block (5 lines) in godo-frontend/tests/unit/map_list_panel.test.ts:44", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/map_list_panel.test.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-469fa6ff6ddb967e", "name": "Legacy-named symbol `studio_v2` in godo-frontend/tests/e2e/map.spec.ts:53", "shortDescription": {"text": "Legacy-named symbol `studio_v2` in godo-frontend/tests/e2e/map.spec.ts: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-cf7422041693eeae", "name": "Commented-code block (7 lines) in godo-frontend/tests/e2e/map.spec.ts:145", "shortDescription": {"text": "Commented-code block (7 lines) in godo-frontend/tests/e2e/map.spec.ts:145"}, "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-d7fcfee1389c474f", "name": "Commented-code block (10 lines) in godo-frontend/tests/e2e/config.spec.ts:62", "shortDescription": {"text": "Commented-code block (10 lines) in godo-frontend/tests/e2e/config.spec.ts:62"}, "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-8cfd656f5c9a9a2b", "name": "Legacy-named symbol `studio_v1` in godo-frontend/tests/e2e/_stub_server.py:64", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/e2e/_stub_server.py:64"}, "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-0aaf4b2c0d34448f", "name": "Commented-code block (6 lines) in godo-frontend/src/routes.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in godo-frontend/src/routes.ts:9"}, "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-4ae51eeb2470f998", "name": "Commented-code block (5 lines) in godo-frontend/src/stores/mapMetadata.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/src/stores/mapMetadata.ts: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-35d94af738c73e24", "name": "`fetch()` without try/.catch or AbortSignal \u2014 godo-frontend/src/stores/mapMetadata.ts:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 godo-frontend/src/stores/mapMetadata.ts:5"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a87efff6859efc8", "name": "Commented-code block (5 lines) in godo-frontend/src/lib/api.ts:97", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/api.ts:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5483d968bec1a52f", "name": "Commented-code block (8 lines) in godo-frontend/src/lib/mapViewport.svelte.ts:379", "shortDescription": {"text": "Commented-code block (8 lines) in godo-frontend/src/lib/mapViewport.svelte.ts:379"}, "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-7abe86e44843baab", "name": "Legacy-named symbol `map_backup` in godo-frontend/src/lib/protocol.ts:497", "shortDescription": {"text": "Legacy-named symbol `map_backup` in godo-frontend/src/lib/protocol.ts:497"}, "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-887954007dbcb57b", "name": "Commented-code block (5 lines) in godo-frontend/src/lib/protocol.ts:56", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/protocol.ts:56"}, "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-e48e1de1658aef65", "name": "Commented-code block (5 lines) in godo-frontend/src/lib/constants.ts:40", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/constants.ts: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-a182e8578cbd9e0c", "name": "Commented-code block (5 lines) in godo-frontend/src/lib/scanTransform.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/scanTransform.ts:53"}, "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-7597cdc4e0eea709", "name": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/tests/test_raw_protocol.py:4", "shortDescription": {"text": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/tests/test_raw_protocol.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcb498d271b034fa", "name": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/src/godo_lidar/capture/raw_parser.py:8", "shortDescription": {"text": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/src/godo_lidar/capture/raw_parser.py:8"}, "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-42394487e297fd19", "name": "Legacy-named symbol `SLAMTEC_rplidar_datasheet_C1_v1` in godo-mapping/launch/map.launch.py:92", "shortDescription": {"text": "Legacy-named symbol `SLAMTEC_rplidar_datasheet_C1_v1` in godo-mapping/launch/map.launch.py:92"}, "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-cb1c81a3a7ef3fbe", "name": "Commented-code block (5 lines) in godo-mapping/launch/map.launch.py:3", "shortDescription": {"text": "Commented-code block (5 lines) in godo-mapping/launch/map.launch.py:3"}, "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-22669c9fb37b8ded", "name": "Commented-code block (8 lines) in godo-mapping/scripts/_uds_bridge.py:29", "shortDescription": {"text": "Commented-code block (8 lines) in godo-mapping/scripts/_uds_bridge.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-c52bc015c32cf44e", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sidecar.py:219", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sidecar.py:219"}, "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-afacaebea9350ec0", "name": "Commented-code block (5 lines) in godo-webctl/tests/test_sidecar.py:439", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_sidecar.py:439"}, "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-33716969d346b2a3", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_maps.py:39", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_maps.py:39"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ccb3b80ff2299e5", "name": "Commented-code block (5 lines) in godo-webctl/tests/test_maps.py:129", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_maps.py:129"}, "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-fbb476f26795e90b", "name": "Legacy-named symbol `map_backup` in godo-webctl/tests/test_map_backup.py:2", "shortDescription": {"text": "Legacy-named symbol `map_backup` in godo-webctl/tests/test_map_backup.py:2"}, "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-3736d89126d77d48", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/conftest.py:133", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/conftest.py:133"}, "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-3e7ae8b1dcd2bcee", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_constants.py:102", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_constants.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-64da02b3f209a449", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_origin.py:36", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_origin.py:36"}, "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-fab0668a029c607d", "name": "Commented-code block (5 lines) in godo-webctl/tests/test_map_transform.py:410", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_map_transform.py:410"}, "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-c927d6d838ef3d1e", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config.py:26", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config.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-b96313c8e5abb894", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config_schema.py:74", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config_schema.py:74"}, "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-2faa205329d392f9", "name": "Commented-code block (6 lines) in godo-webctl/tests/test_protocol.py:292", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/tests/test_protocol.py:292"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f39c6c3c938f8422", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping_precheck.py:282", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping_precheck.py:282"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06b9d3f85fe481dd", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping.py:72", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping.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-83936513a5b44a0f", "name": "Commented-code block (9 lines) in godo-webctl/tests/test_mapping.py:301", "shortDescription": {"text": "Commented-code block (9 lines) in godo-webctl/tests/test_mapping.py:301"}, "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-f07c7325632b46f3", "name": "Commented-code block (5 lines) in godo-webctl/tests/test_main_lock.py:191", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_main_lock.py:191"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e852f087150a7a8", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_backup.py:19", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_backup.py:19"}, "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-e47b4e8d3fe7b184", "name": "Legacy-named symbol `test_map_backup` in godo-webctl/tests/test_map_edit.py:231", "shortDescription": {"text": "Legacy-named symbol `test_map_backup` in godo-webctl/tests/test_map_edit.py:231"}, "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-85d34235dada2253", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sse.py:836", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sse.py:836"}, "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-2e9e6f33a9430de3", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_image.py:87", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_image.py:87"}, "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-d37725629a168522", "name": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_app_integration.py:438", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_app_integration.py:438"}, "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-02045ca3ed900f98", "name": "Commented-code block (9 lines) in godo-webctl/tests/test_app_integration.py:853", "shortDescription": {"text": "Commented-code block (9 lines) in godo-webctl/tests/test_app_integration.py:853"}, "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-a55e448e200389b5", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/restart_pending.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/restart_pending.py:82"}, "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-2f6bfba6b69185c7", "name": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/map_edit.py:55", "shortDescription": {"text": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/map_edit.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-05ac1d6f32f19634", "name": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/protocol.py:31", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/protocol.py:31"}, "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-db5b6fdb9d7ebf44", "name": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/map_origin.py:83", "shortDescription": {"text": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/map_origin.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-40e65a994350c407", "name": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/map_backup.py:19", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/map_backup.py:19"}, "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-8e643444c9bfe5f2", "name": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/map_backup.py:53", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/map_backup.py:53"}, "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-ff70c7db2badef7f", "name": "Legacy-named symbol `sidecar_schema_v2` in godo-webctl/src/godo_webctl/sidecar.py:66", "shortDescription": {"text": "Legacy-named symbol `sidecar_schema_v2` in godo-webctl/src/godo_webctl/sidecar.py:66"}, "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-f52d02909ddab972", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/sidecar.py:63", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/sidecar.py:63"}, "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-6cfc777e24407139", "name": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/backup.py:19", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/backup.py:19"}, "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-24996a4d50b15d58", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/backup.py:78", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/backup.py:78"}, "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-145ee39186536340", "name": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/constants.py:110", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/constants.py:110"}, "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-ec7494e8950870b8", "name": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/config.py:136", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/config.py:136"}, "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-7ce7d846d7888a71", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/config.py:71", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/config.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-7575e8d4d6371878", "name": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/app.py:65", "shortDescription": {"text": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/app.py:65"}, "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-014b2656b72c5f5b", "name": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/app.py:154", "shortDescription": {"text": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/app.py:154"}, "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-c817556bbbd4ba3f", "name": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/services.py:34", "shortDescription": {"text": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/services.py:34"}, "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-c85aad35360189bc", "name": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/processes.py:80", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/processes.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-645e2b0940a489fa", "name": "Commented-code block (8 lines) in godo-webctl/src/godo_webctl/map_transform.py:338", "shortDescription": {"text": "Commented-code block (8 lines) in godo-webctl/src/godo_webctl/map_transform.py:338"}, "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-fca9acdb3901ffad", "name": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/maps.py:9", "shortDescription": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/maps.py:9"}, "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-1c6b427c6fc54c55", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/maps.py:384", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/maps.py:384"}, "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-6ce86e8550a1b1bc", "name": "Commented-code block (9 lines) in godo-webctl/src/godo_webctl/mapping.py:83", "shortDescription": {"text": "Commented-code block (9 lines) in godo-webctl/src/godo_webctl/mapping.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-e909951a598cbb01", "name": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/sse.py:377", "shortDescription": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/sse.py:377"}, "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-3090a20c60b5f144", "name": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/config_schema.py:56", "shortDescription": {"text": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/config_schema.py:56"}, "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-2c476eb3d4b68da3", "name": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/webctl_toml.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/webctl_toml.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-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:\ngodo-webctl/src/godo_webctl/maps.py:to_dict, godo-webctl/src/godo_webctl/maps.py:to_dict\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ngodo-webctl/src/godo_webctl/sse.py:last_pose_stream, godo-webctl/src/godo_webctl/sse.py:last_scan_stream, godo-webctl/src/godo_webctl/sse.py:diag_stream\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-45b905b749743407", "name": "FastAPI POST `auth_login` without auth dependency \u2014 godo-webctl/src/godo_webctl/app.py:2304", "shortDescription": {"text": "FastAPI POST `auth_login` without auth dependency \u2014 godo-webctl/src/godo_webctl/app.py:2304"}, "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-04192b824f1cb035", "name": "Dangling fetch: GET /api/maps/<name>/dimensions (godo-frontend/src/stores/mapMetadata.ts:5)", "shortDescription": {"text": "Dangling fetch: GET /api/maps/<name>/dimensions (godo-frontend/src/stores/mapMetadata.ts:5)"}, "fullDescription": {"text": "`godo-frontend/src/stores/mapMetadata.ts:5` calls `GET /api/maps/<name>/dimensions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/maps/<name>/dimensions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/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-f67e70e423f40f22", "name": "Unused endpoint: POST /api/calibrate", "shortDescription": {"text": "Unused endpoint: POST /api/calibrate"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/calibrate` 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-c6c626584d5b1fa8", "name": "Unused endpoint: POST /api/live", "shortDescription": {"text": "Unused endpoint: POST /api/live"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/live` 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-1322322a51ec60e6", "name": "Unused endpoint: POST /api/map/backup", "shortDescription": {"text": "Unused endpoint: POST /api/map/backup"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/backup` 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-02b62db9a8a4c4af", "name": "Unused endpoint: GET /api/map/backup/list", "shortDescription": {"text": "Unused endpoint: GET /api/map/backup/list"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/map/backup/list` 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-09d4106bd941a1de", "name": "Unused endpoint: POST /api/map/backup/{ts}/restore", "shortDescription": {"text": "Unused endpoint: POST /api/map/backup/{ts}/restore"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/backup/{ts}/restore` 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-79bd6c9f4bd08f78", "name": "Unused endpoint: POST /api/map/edit", "shortDescription": {"text": "Unused endpoint: POST /api/map/edit"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/edit` 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-e0a103b185a1d4fb", "name": "Unused endpoint: POST /api/map/origin", "shortDescription": {"text": "Unused endpoint: POST /api/map/origin"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/origin` 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-57d7d4a4af0e4607", "name": "Unused endpoint: POST /api/map/edit/coord", "shortDescription": {"text": "Unused endpoint: POST /api/map/edit/coord"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/edit/coord` 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-5cf6e7d405ff440a", "name": "Unused endpoint: POST /api/map/edit/erase", "shortDescription": {"text": "Unused endpoint: POST /api/map/edit/erase"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/map/edit/erase` 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-f4fdfe05cf9906bd", "name": "Unused endpoint: GET /api/map/edit/progress", "shortDescription": {"text": "Unused endpoint: GET /api/map/edit/progress"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/map/edit/progress` 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-e95e59d13d67d389", "name": "Unused endpoint: GET /api/last_pose", "shortDescription": {"text": "Unused endpoint: GET /api/last_pose"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/last_pose` 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-c1ed43484de280ac", "name": "Unused endpoint: GET /api/last_pose/stream", "shortDescription": {"text": "Unused endpoint: GET /api/last_pose/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/last_pose/stream` 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-04615d2cea0a7606", "name": "Unused endpoint: GET /api/last_output", "shortDescription": {"text": "Unused endpoint: GET /api/last_output"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/last_output` 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-48ac324549ae75c8", "name": "Unused endpoint: GET /api/last_scan", "shortDescription": {"text": "Unused endpoint: GET /api/last_scan"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/last_scan` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac879d80fc7fa76e", "name": "Unused endpoint: GET /api/last_scan/stream", "shortDescription": {"text": "Unused endpoint: GET /api/last_scan/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/last_scan/stream` 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-8539fa1fbc438fe4", "name": "Unused endpoint: GET /api/system/jitter", "shortDescription": {"text": "Unused endpoint: GET /api/system/jitter"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/jitter` 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-710095cdb8468142", "name": "Unused endpoint: GET /api/system/amcl_rate", "shortDescription": {"text": "Unused endpoint: GET /api/system/amcl_rate"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/amcl_rate` 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-e18403e6223c6c45", "name": "Unused endpoint: GET /api/system/resources", "shortDescription": {"text": "Unused endpoint: GET /api/system/resources"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/resources` 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-7aa4b2518cbbbfa2", "name": "Unused endpoint: GET /api/config", "shortDescription": {"text": "Unused endpoint: GET /api/config"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/config` 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-b3df459b886bf814", "name": "Unused endpoint: GET /api/config/schema", "shortDescription": {"text": "Unused endpoint: GET /api/config/schema"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/config/schema` 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-3b4e6de82d71ecad", "name": "Unused endpoint: PATCH /api/config", "shortDescription": {"text": "Unused endpoint: PATCH /api/config"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `PATCH /api/config` 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-e4177a9432755c70", "name": "Unused endpoint: GET /api/system/restart_pending", "shortDescription": {"text": "Unused endpoint: GET /api/system/restart_pending"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/restart_pending` 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-b1878e4259515030", "name": "Unused endpoint: GET /api/logs/tail", "shortDescription": {"text": "Unused endpoint: GET /api/logs/tail"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/logs/tail` 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-5685f2d4dbe24161", "name": "Unused endpoint: GET /api/diag/stream", "shortDescription": {"text": "Unused endpoint: GET /api/diag/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/diag/stream` 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-236ffff5822d3fe6", "name": "Unused endpoint: GET /api/map/image", "shortDescription": {"text": "Unused endpoint: GET /api/map/image"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/map/image` 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-a887a89412dbd520", "name": "Unused endpoint: GET /api/maps", "shortDescription": {"text": "Unused endpoint: GET /api/maps"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/maps` 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-d7eac8c3928109c6", "name": "Unused endpoint: GET /api/maps/{name}/image", "shortDescription": {"text": "Unused endpoint: GET /api/maps/{name}/image"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/maps/{name}/image` 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-405fa2758cc08b02", "name": "Unused endpoint: GET /api/maps/{name}/yaml", "shortDescription": {"text": "Unused endpoint: GET /api/maps/{name}/yaml"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/maps/{name}/yaml` 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-bd36cfb32e86ff98", "name": "Unused endpoint: GET /api/maps/{name}/sidecar", "shortDescription": {"text": "Unused endpoint: GET /api/maps/{name}/sidecar"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/maps/{name}/sidecar` 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-4e38c13592d348f5", "name": "Unused endpoint: GET /api/maps/{name}/dimensions", "shortDescription": {"text": "Unused endpoint: GET /api/maps/{name}/dimensions"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/maps/{name}/dimensions` 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-7e5d4eccd3324503", "name": "Unused endpoint: POST /api/maps/{name}/activate", "shortDescription": {"text": "Unused endpoint: POST /api/maps/{name}/activate"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/maps/{name}/activate` 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-b5ffb1cc3823a257", "name": "Unused endpoint: DELETE /api/maps/{name}", "shortDescription": {"text": "Unused endpoint: DELETE /api/maps/{name}"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `DELETE /api/maps/{name}` 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-d30aa36f85b5752f", "name": "Unused endpoint: GET /api/activity", "shortDescription": {"text": "Unused endpoint: GET /api/activity"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/activity` 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-fd55aa0818a7c897", "name": "Unused endpoint: POST /api/auth/login", "shortDescription": {"text": "Unused endpoint: POST /api/auth/login"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/auth/login` 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-d5a39262ac205120", "name": "Unused endpoint: POST /api/auth/logout", "shortDescription": {"text": "Unused endpoint: POST /api/auth/logout"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/auth/logout` 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-ee4aa5ddab88c9dc", "name": "Unused endpoint: GET /api/auth/me", "shortDescription": {"text": "Unused endpoint: GET /api/auth/me"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/auth/me` 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-49ac19bb61ef30a3", "name": "Unused endpoint: POST /api/auth/refresh", "shortDescription": {"text": "Unused endpoint: POST /api/auth/refresh"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/auth/refresh` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b14ee108be36e9a", "name": "Unused endpoint: GET /api/local/services", "shortDescription": {"text": "Unused endpoint: GET /api/local/services"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/local/services` 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-adf2c68c2029d8fe", "name": "Unused endpoint: POST /api/local/service/{name}/{action}", "shortDescription": {"text": "Unused endpoint: POST /api/local/service/{name}/{action}"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/local/service/{name}/{action}` 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-34412c89e10a9f26", "name": "Unused endpoint: GET /api/local/journal/{name}", "shortDescription": {"text": "Unused endpoint: GET /api/local/journal/{name}"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/local/journal/{name}` 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-63e2daad1f9e608a", "name": "Unused endpoint: GET /api/local/services/stream", "shortDescription": {"text": "Unused endpoint: GET /api/local/services/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/local/services/stream` 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-1dc9585e23acfd4c", "name": "Unused endpoint: GET /api/system/services", "shortDescription": {"text": "Unused endpoint: GET /api/system/services"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/services` 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-c6cccb5f33f5c29a", "name": "Unused endpoint: GET /api/system/processes", "shortDescription": {"text": "Unused endpoint: GET /api/system/processes"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/processes` 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-9463fb7a50efb8aa", "name": "Unused endpoint: GET /api/system/processes/stream", "shortDescription": {"text": "Unused endpoint: GET /api/system/processes/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/processes/stream` 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-dd3b4b0e11fbbfd2", "name": "Unused endpoint: GET /api/system/resources/extended", "shortDescription": {"text": "Unused endpoint: GET /api/system/resources/extended"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/resources/extended` 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-77f89d28ef7d3727", "name": "Unused endpoint: GET /api/system/resources/extended/stream", "shortDescription": {"text": "Unused endpoint: GET /api/system/resources/extended/stream"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `GET /api/system/resources/extended/stream` 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-256031c18a2c0cfb", "name": "Unused endpoint: POST /api/system/service/{name}/{action}", "shortDescription": {"text": "Unused endpoint: POST /api/system/service/{name}/{action}"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/system/service/{name}/{action}` 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-60928c3589165d5e", "name": "Unused endpoint: POST /api/system/reboot", "shortDescription": {"text": "Unused endpoint: POST /api/system/reboot"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/system/reboot` 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-6c94ba68eabe23f8", "name": "Unused endpoint: POST /api/system/shutdown", "shortDescription": {"text": "Unused endpoint: POST /api/system/shutdown"}, "fullDescription": {"text": "`godo-webctl/src/godo_webctl/app.py` declares `POST /api/system/shutdown` 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/19036"}, "properties": {"repository": "SBS-NCENTER/GODO_PI", "repoUrl": "https://github.com/SBS-NCENTER/GODO_PI", "branch": "main"}, "results": [{"ruleId": "scanner-74ce26f7b7060707", "level": "note", "message": {"text": "Possibly dead Python function: generate_launch_description"}, "properties": {"repobilityId": "d9a90a15bddc43f1", "scanner": "scanner-primary", "fingerprint": "74ce26f7b7060707", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-mapping/launch/map.launch.py:46"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99a15512fc367b89", "level": "note", "message": {"text": "Possibly dead Python function: seek"}, "properties": {"repobilityId": "e1d31f7a1f6f4c1a", "scanner": "scanner-primary", "fingerprint": "99a15512fc367b89", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-webctl/src/godo_webctl/map_edit.py:209"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a68dee112f596422", "level": "note", "message": {"text": "Possibly dead Python function: tell"}, "properties": {"repobilityId": "189cfa49f3e30ed0", "scanner": "scanner-primary", "fingerprint": "a68dee112f596422", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-webctl/src/godo_webctl/map_edit.py:220"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26be081141a5a4d5", "level": "note", "message": {"text": "Possibly dead Python function: require_user"}, "properties": {"repobilityId": "2018d028cf795b1d", "scanner": "scanner-primary", "fingerprint": "26be081141a5a4d5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-webctl/src/godo_webctl/auth.py:395"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1672db653027b18a", "level": "note", "message": {"text": "Possibly dead Python function: require_admin"}, "properties": {"repobilityId": "3c06db2e25566bf7", "scanner": "scanner-primary", "fingerprint": "1672db653027b18a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-webctl/src/godo_webctl/auth.py:400"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-77ea7cdd899c04ce", "level": "note", "message": {"text": "Possibly dead Python function: toggle"}, "properties": {"repobilityId": "0f9993db32d0ee08", "scanner": "scanner-primary", "fingerprint": "77ea7cdd899c04ce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "XR_FreeD_to_UDP/Example/freed251221.py:102"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e90ce6ad5fdbbd6e", "level": "note", "message": {"text": "Possibly dead Python function: pps_loop"}, "properties": {"repobilityId": "894a1037821c2e0e", "scanner": "scanner-primary", "fingerprint": "e90ce6ad5fdbbd6e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "XR_FreeD_to_UDP/Example/freed251221.py:122"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b37abb139d91f84a", "level": "note", "message": {"text": "Possibly dead Python function: worker"}, "properties": {"repobilityId": "fbe2b50200068803", "scanner": "scanner-primary", "fingerprint": "b37abb139d91f84a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "XR_FreeD_to_UDP/Example/freed251221.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e9c3f06e40d19e07", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 godo-frontend/src/components/LineageModal.svelte:76"}, "properties": {"repobilityId": "d261dbb6eb3e4ec2", "scanner": "scanner-primary", "fingerprint": "e9c3f06e40d19e07", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-da8df61ccfe93f2d", "level": "warning", "message": {"text": "Privileged port 17 in use"}, "properties": {"repobilityId": "0bf38fb8f89ec589", "scanner": "scanner-primary", "fingerprint": "da8df61ccfe93f2d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "production/RPi5/scripts/profile_tracker_hil.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1fd4c4fac57d1432", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "1fd4c4fac57d1432", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "production/RPi5/scripts/profile_tracker_hil.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc0b723ea74f457a", "level": "warning", "message": {"text": "Privileged port 184 in use"}, "properties": {"repobilityId": "2f8ab78fea2c5421", "scanner": "scanner-primary", "fingerprint": "cc0b723ea74f457a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "production/RPi5/scripts/run-pi5-freed-passthrough.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-587eeda80f74e72a", "level": "warning", "message": {"text": "Dockerfile runs as root: godo-mapping/Dockerfile"}, "properties": {"repobilityId": "b07da3e210d81644", "scanner": "scanner-primary", "fingerprint": "587eeda80f74e72a", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-5dd95a6618dbfda8", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: ros:jazzy-ros-base"}, "properties": {"repobilityId": "bd48b17cff641718", "scanner": "scanner-primary", "fingerprint": "5dd95a6618dbfda8", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-mapping/Dockerfile"}, "region": {"startLine": 14}}}]}, {"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-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-cfd02a37089a0273", "level": "note", "message": {"text": "Very large file: production/RPi5/scripts/build.sh (967 lines)"}, "properties": {"repobilityId": "44de4890a1d85ea2", "scanner": "scanner-primary", "fingerprint": "cfd02a37089a0273", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a5488a8623195a03", "level": "note", "message": {"text": "Very large file: godo-webctl/tests/test_app_integration.py (5288 lines)"}, "properties": {"repobilityId": "e426e924b10c5006", "scanner": "scanner-primary", "fingerprint": "a5488a8623195a03", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd0f741d91ba1a84", "level": "note", "message": {"text": "Very large file: godo-webctl/src/godo_webctl/app.py (2774 lines)"}, "properties": {"repobilityId": "fc1879dd04d8d558", "scanner": "scanner-primary", "fingerprint": "cd0f741d91ba1a84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-343244e3a6bd5ec9", "level": "note", "message": {"text": "Very large file: godo-webctl/src/godo_webctl/mapping.py (1703 lines)"}, "properties": {"repobilityId": "d4c36b79fee4c128", "scanner": "scanner-primary", "fingerprint": "343244e3a6bd5ec9", "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": "92a055f617d39d79", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "f4888c4cd4b524d2", "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": "396bbbd09694ae2d", "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": "a71f15062f1581b3", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-9ee132c4e278f38d", "level": "none", "message": {"text": "Commented-code block (7 lines) in godo-frontend/tests/unit/LineageModal.test.ts:151"}, "properties": {"repobilityId": "742f8d19d772b07c", "scanner": "scanner-primary", "fingerprint": "9ee132c4e278f38d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d0489f0f7688a31", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/format.test.ts:175"}, "properties": {"repobilityId": "86d2e88b0462d6f2", "scanner": "scanner-primary", "fingerprint": "6d0489f0f7688a31", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-02dfcd986daf584e", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapYaml.test.ts:7"}, "properties": {"repobilityId": "26f84145d4312e86", "scanner": "scanner-primary", "fingerprint": "02dfcd986daf584e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-37ad9f595b2460c0", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/poseCanvasImageReload.test.ts:103"}, "properties": {"repobilityId": "30b6604c03f056ba", "scanner": "scanner-primary", "fingerprint": "37ad9f595b2460c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6ab7b615fe7e018f", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/ApplyMemoModal.test.ts:69"}, "properties": {"repobilityId": "daa484ace36556ae", "scanner": "scanner-primary", "fingerprint": "6ab7b615fe7e018f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dca2841dfc2a2a1", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/maps.test.ts:36"}, "properties": {"repobilityId": "4b46e150b58dcff1", "scanner": "scanner-primary", "fingerprint": "9dca2841dfc2a2a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd94824d15497535", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingNameValidation.test.ts:25"}, "properties": {"repobilityId": "6382d67e571ea9fb", "scanner": "scanner-primary", "fingerprint": "dd94824d15497535", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4aba28467bf9b476", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasFreshness.test.ts:18"}, "properties": {"repobilityId": "aa901d85f8561e08", "scanner": "scanner-primary", "fingerprint": "4aba28467bf9b476", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1aeddc29292bec36", "level": "none", "message": {"text": "Commented-code block (9 lines) in godo-frontend/tests/unit/poseCanvasScale.test.ts:77"}, "properties": {"repobilityId": "f2c71cd04329f0ee", "scanner": "scanner-primary", "fingerprint": "1aeddc29292bec36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2924ad0f861a34a", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/protocol.test.ts:70"}, "properties": {"repobilityId": "f9f35da3c4176bac", "scanner": "scanner-primary", "fingerprint": "a2924ad0f861a34a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-930f65b9b5c6bf63", "level": "none", "message": {"text": "Commented-code block (10 lines) in godo-frontend/tests/unit/mapViewport.test.ts:107"}, "properties": {"repobilityId": "ca9ff11ab661f8e3", "scanner": "scanner-primary", "fingerprint": "930f65b9b5c6bf63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8833e36e154871f9", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/precheckStore.test.ts:71"}, "properties": {"repobilityId": "16b7ae14861057db", "scanner": "scanner-primary", "fingerprint": "8833e36e154871f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7b6bca5ca978fbdd", "level": "note", "message": {"text": "Legacy-named symbol `studio_v2` in godo-frontend/tests/unit/backup.test.ts:38"}, "properties": {"repobilityId": "5ca700694671ff91", "scanner": "scanner-primary", "fingerprint": "7b6bca5ca978fbdd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-52cd06010997bb40", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mappingStatusStore.test.ts:56"}, "properties": {"repobilityId": "5d6e1fa951cca194", "scanner": "scanner-primary", "fingerprint": "52cd06010997bb40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-973a36738a1cf7b8", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapMetadata.test.ts:24"}, "properties": {"repobilityId": "314051dd4cbe5ac1", "scanner": "scanner-primary", "fingerprint": "973a36738a1cf7b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-32ec771bc8454b48", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/originMath.test.ts:218"}, "properties": {"repobilityId": "823cc7ef0bf68b9a", "scanner": "scanner-primary", "fingerprint": "32ec771bc8454b48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b27115ac3381c1e9", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/config.test.ts:638"}, "properties": {"repobilityId": "8af6b949146ee140", "scanner": "scanner-primary", "fingerprint": "b27115ac3381c1e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-780fc3fd643e2589", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/mapEdit.test.ts:320"}, "properties": {"repobilityId": "fbc077839ca02a5e", "scanner": "scanner-primary", "fingerprint": "780fc3fd643e2589", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42b3b224ede88c69", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapEdit.test.ts:230"}, "properties": {"repobilityId": "d17f92ab14907123", "scanner": "scanner-primary", "fingerprint": "42b3b224ede88c69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d721a93efe59a63f", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-frontend/tests/unit/mapZoomControls.test.ts:158"}, "properties": {"repobilityId": "ef843bb0e92f0c20", "scanner": "scanner-primary", "fingerprint": "d721a93efe59a63f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-881532e30a95fdfb", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/mapViewportNoWheelImports.test.ts:36"}, "properties": {"repobilityId": "a5eab685cc278480", "scanner": "scanner-primary", "fingerprint": "881532e30a95fdfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2adc4424687626fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/poseCanvasScanLayer.test.ts:53"}, "properties": {"repobilityId": "e8b0a6be915d19c9", "scanner": "scanner-primary", "fingerprint": "2adc4424687626fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d824504432977cf", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/unit/map_list_panel.test.ts:50"}, "properties": {"repobilityId": "646c0c536d76fd8a", "scanner": "scanner-primary", "fingerprint": "2d824504432977cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a983f427d62d2ead", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/tests/unit/map_list_panel.test.ts:44"}, "properties": {"repobilityId": "e670c6653c70e14d", "scanner": "scanner-primary", "fingerprint": "a983f427d62d2ead", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-469fa6ff6ddb967e", "level": "note", "message": {"text": "Legacy-named symbol `studio_v2` in godo-frontend/tests/e2e/map.spec.ts:53"}, "properties": {"repobilityId": "19337aee3c2fe34e", "scanner": "scanner-primary", "fingerprint": "469fa6ff6ddb967e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cf7422041693eeae", "level": "none", "message": {"text": "Commented-code block (7 lines) in godo-frontend/tests/e2e/map.spec.ts:145"}, "properties": {"repobilityId": "7d667b776c9d30c3", "scanner": "scanner-primary", "fingerprint": "cf7422041693eeae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7fcfee1389c474f", "level": "none", "message": {"text": "Commented-code block (10 lines) in godo-frontend/tests/e2e/config.spec.ts:62"}, "properties": {"repobilityId": "1152dd2f0a02be71", "scanner": "scanner-primary", "fingerprint": "d7fcfee1389c474f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cfd656f5c9a9a2b", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-frontend/tests/e2e/_stub_server.py:64"}, "properties": {"repobilityId": "225ded2569e8b945", "scanner": "scanner-primary", "fingerprint": "8cfd656f5c9a9a2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0aaf4b2c0d34448f", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-frontend/src/routes.ts:9"}, "properties": {"repobilityId": "7fa5360d498a2722", "scanner": "scanner-primary", "fingerprint": "0aaf4b2c0d34448f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ae51eeb2470f998", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/src/stores/mapMetadata.ts:36"}, "properties": {"repobilityId": "fc83151826006227", "scanner": "scanner-primary", "fingerprint": "4ae51eeb2470f998", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35d94af738c73e24", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 godo-frontend/src/stores/mapMetadata.ts:5"}, "properties": {"repobilityId": "e718441ca95f9905", "scanner": "scanner-primary", "fingerprint": "35d94af738c73e24", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3a87efff6859efc8", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/api.ts:97"}, "properties": {"repobilityId": "3db83b31ab8097cf", "scanner": "scanner-primary", "fingerprint": "3a87efff6859efc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5483d968bec1a52f", "level": "none", "message": {"text": "Commented-code block (8 lines) in godo-frontend/src/lib/mapViewport.svelte.ts:379"}, "properties": {"repobilityId": "9f02ceb58a778aba", "scanner": "scanner-primary", "fingerprint": "5483d968bec1a52f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7abe86e44843baab", "level": "note", "message": {"text": "Legacy-named symbol `map_backup` in godo-frontend/src/lib/protocol.ts:497"}, "properties": {"repobilityId": "1053ea05ccfb417a", "scanner": "scanner-primary", "fingerprint": "7abe86e44843baab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-887954007dbcb57b", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/protocol.ts:56"}, "properties": {"repobilityId": "7fd223a34edaa67c", "scanner": "scanner-primary", "fingerprint": "887954007dbcb57b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e48e1de1658aef65", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/constants.ts:40"}, "properties": {"repobilityId": "6a061aab188e3960", "scanner": "scanner-primary", "fingerprint": "e48e1de1658aef65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a182e8578cbd9e0c", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-frontend/src/lib/scanTransform.ts:53"}, "properties": {"repobilityId": "2e383065de0a9a4c", "scanner": "scanner-primary", "fingerprint": "a182e8578cbd9e0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7597cdc4e0eea709", "level": "note", "message": {"text": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/tests/test_raw_protocol.py:4"}, "properties": {"repobilityId": "4c87753051607f2f", "scanner": "scanner-primary", "fingerprint": "7597cdc4e0eea709", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fcb498d271b034fa", "level": "note", "message": {"text": "Legacy-named symbol `SLAMTEC_rplidar_protocol_v2` in prototype/Python/src/godo_lidar/capture/raw_parser.py:8"}, "properties": {"repobilityId": "149c0cf13a5606ed", "scanner": "scanner-primary", "fingerprint": "fcb498d271b034fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42394487e297fd19", "level": "note", "message": {"text": "Legacy-named symbol `SLAMTEC_rplidar_datasheet_C1_v1` in godo-mapping/launch/map.launch.py:92"}, "properties": {"repobilityId": "1d990efb0e500261", "scanner": "scanner-primary", "fingerprint": "42394487e297fd19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cb1c81a3a7ef3fbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-mapping/launch/map.launch.py:3"}, "properties": {"repobilityId": "7dd9f197217bed5d", "scanner": "scanner-primary", "fingerprint": "cb1c81a3a7ef3fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22669c9fb37b8ded", "level": "none", "message": {"text": "Commented-code block (8 lines) in godo-mapping/scripts/_uds_bridge.py:29"}, "properties": {"repobilityId": "a32db7e0559686a8", "scanner": "scanner-primary", "fingerprint": "22669c9fb37b8ded", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c52bc015c32cf44e", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sidecar.py:219"}, "properties": {"repobilityId": "9d68dbc936ee2589", "scanner": "scanner-primary", "fingerprint": "c52bc015c32cf44e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-afacaebea9350ec0", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_sidecar.py:439"}, "properties": {"repobilityId": "3ca2d52a0c987692", "scanner": "scanner-primary", "fingerprint": "afacaebea9350ec0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33716969d346b2a3", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_maps.py:39"}, "properties": {"repobilityId": "7c7e56253acbd7f1", "scanner": "scanner-primary", "fingerprint": "33716969d346b2a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9ccb3b80ff2299e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_maps.py:129"}, "properties": {"repobilityId": "0f573393d0e21f78", "scanner": "scanner-primary", "fingerprint": "9ccb3b80ff2299e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbb476f26795e90b", "level": "note", "message": {"text": "Legacy-named symbol `map_backup` in godo-webctl/tests/test_map_backup.py:2"}, "properties": {"repobilityId": "fd75d0723efb43d5", "scanner": "scanner-primary", "fingerprint": "fbb476f26795e90b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3736d89126d77d48", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/conftest.py:133"}, "properties": {"repobilityId": "5bcd403c8aaf43e6", "scanner": "scanner-primary", "fingerprint": "3736d89126d77d48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e7ae8b1dcd2bcee", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_constants.py:102"}, "properties": {"repobilityId": "5ce1aef890cd7315", "scanner": "scanner-primary", "fingerprint": "3e7ae8b1dcd2bcee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-64da02b3f209a449", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_origin.py:36"}, "properties": {"repobilityId": "0a799b717a24ecdb", "scanner": "scanner-primary", "fingerprint": "64da02b3f209a449", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fab0668a029c607d", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_map_transform.py:410"}, "properties": {"repobilityId": "1bdd8c642d0e28b9", "scanner": "scanner-primary", "fingerprint": "fab0668a029c607d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c927d6d838ef3d1e", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config.py:26"}, "properties": {"repobilityId": "772b0b49fb28b84c", "scanner": "scanner-primary", "fingerprint": "c927d6d838ef3d1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b96313c8e5abb894", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_config_schema.py:74"}, "properties": {"repobilityId": "7de37132baac61ef", "scanner": "scanner-primary", "fingerprint": "b96313c8e5abb894", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2faa205329d392f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/tests/test_protocol.py:292"}, "properties": {"repobilityId": "b52bd41a7cf26bee", "scanner": "scanner-primary", "fingerprint": "2faa205329d392f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f39c6c3c938f8422", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping_precheck.py:282"}, "properties": {"repobilityId": "09a936d0b85e7d81", "scanner": "scanner-primary", "fingerprint": "f39c6c3c938f8422", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-06b9d3f85fe481dd", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_mapping.py:72"}, "properties": {"repobilityId": "26af3e5e6d15b490", "scanner": "scanner-primary", "fingerprint": "06b9d3f85fe481dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83936513a5b44a0f", "level": "none", "message": {"text": "Commented-code block (9 lines) in godo-webctl/tests/test_mapping.py:301"}, "properties": {"repobilityId": "e2a917b95ee43b67", "scanner": "scanner-primary", "fingerprint": "83936513a5b44a0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f07c7325632b46f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/tests/test_main_lock.py:191"}, "properties": {"repobilityId": "031882e48116ff97", "scanner": "scanner-primary", "fingerprint": "f07c7325632b46f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e852f087150a7a8", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_backup.py:19"}, "properties": {"repobilityId": "c95e314339fee3ea", "scanner": "scanner-primary", "fingerprint": "5e852f087150a7a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e47b4e8d3fe7b184", "level": "note", "message": {"text": "Legacy-named symbol `test_map_backup` in godo-webctl/tests/test_map_edit.py:231"}, "properties": {"repobilityId": "74e53ae24306452f", "scanner": "scanner-primary", "fingerprint": "e47b4e8d3fe7b184", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-85d34235dada2253", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_sse.py:836"}, "properties": {"repobilityId": "c225656379583f4d", "scanner": "scanner-primary", "fingerprint": "85d34235dada2253", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2e9e6f33a9430de3", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_map_image.py:87"}, "properties": {"repobilityId": "e05eb4b3da3637f0", "scanner": "scanner-primary", "fingerprint": "2e9e6f33a9430de3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d37725629a168522", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/tests/test_app_integration.py:438"}, "properties": {"repobilityId": "f73e4e03755aa3d0", "scanner": "scanner-primary", "fingerprint": "d37725629a168522", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-02045ca3ed900f98", "level": "none", "message": {"text": "Commented-code block (9 lines) in godo-webctl/tests/test_app_integration.py:853"}, "properties": {"repobilityId": "7589bbe1d1d55d0e", "scanner": "scanner-primary", "fingerprint": "02045ca3ed900f98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a55e448e200389b5", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/restart_pending.py:82"}, "properties": {"repobilityId": "fe5732482005db0a", "scanner": "scanner-primary", "fingerprint": "a55e448e200389b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f6bfba6b69185c7", "level": "note", "message": {"text": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/map_edit.py:55"}, "properties": {"repobilityId": "9e66bb4690f493c4", "scanner": "scanner-primary", "fingerprint": "2f6bfba6b69185c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-05ac1d6f32f19634", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/protocol.py:31"}, "properties": {"repobilityId": "9b8c165ad51328c3", "scanner": "scanner-primary", "fingerprint": "05ac1d6f32f19634", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db5b6fdb9d7ebf44", "level": "none", "message": {"text": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/map_origin.py:83"}, "properties": {"repobilityId": "117e44026f2a85c4", "scanner": "scanner-primary", "fingerprint": "db5b6fdb9d7ebf44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40e65a994350c407", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/map_backup.py:19"}, "properties": {"repobilityId": "7a05cddcc4cabe59", "scanner": "scanner-primary", "fingerprint": "40e65a994350c407", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e643444c9bfe5f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/map_backup.py:53"}, "properties": {"repobilityId": "fb7bf389a17acd56", "scanner": "scanner-primary", "fingerprint": "8e643444c9bfe5f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff70c7db2badef7f", "level": "note", "message": {"text": "Legacy-named symbol `sidecar_schema_v2` in godo-webctl/src/godo_webctl/sidecar.py:66"}, "properties": {"repobilityId": "cb2a47aa46007b0b", "scanner": "scanner-primary", "fingerprint": "ff70c7db2badef7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f52d02909ddab972", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/sidecar.py:63"}, "properties": {"repobilityId": "e438d77b97dd2be0", "scanner": "scanner-primary", "fingerprint": "f52d02909ddab972", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cfc777e24407139", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/backup.py:19"}, "properties": {"repobilityId": "825444de1e9d5ad8", "scanner": "scanner-primary", "fingerprint": "6cfc777e24407139", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-24996a4d50b15d58", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/backup.py:78"}, "properties": {"repobilityId": "9d5f00173fb1b86a", "scanner": "scanner-primary", "fingerprint": "24996a4d50b15d58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-145ee39186536340", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/constants.py:110"}, "properties": {"repobilityId": "5e3c4e839a29b3f5", "scanner": "scanner-primary", "fingerprint": "145ee39186536340", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec7494e8950870b8", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/config.py:136"}, "properties": {"repobilityId": "2d2e711accce7d5d", "scanner": "scanner-primary", "fingerprint": "ec7494e8950870b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7ce7d846d7888a71", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/config.py:71"}, "properties": {"repobilityId": "ede839eb453825c5", "scanner": "scanner-primary", "fingerprint": "7ce7d846d7888a71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7575e8d4d6371878", "level": "note", "message": {"text": "Legacy-named symbol `map_backup` in godo-webctl/src/godo_webctl/app.py:65"}, "properties": {"repobilityId": "38645e18804e432d", "scanner": "scanner-primary", "fingerprint": "7575e8d4d6371878", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-014b2656b72c5f5b", "level": "none", "message": {"text": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/app.py:154"}, "properties": {"repobilityId": "3a59123c5e43f458", "scanner": "scanner-primary", "fingerprint": "014b2656b72c5f5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c817556bbbd4ba3f", "level": "none", "message": {"text": "Commented-code block (7 lines) in godo-webctl/src/godo_webctl/services.py:34"}, "properties": {"repobilityId": "85708441d9fcdc14", "scanner": "scanner-primary", "fingerprint": "c817556bbbd4ba3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c85aad35360189bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/processes.py:80"}, "properties": {"repobilityId": "a4e934b0ee3dda31", "scanner": "scanner-primary", "fingerprint": "c85aad35360189bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-645e2b0940a489fa", "level": "none", "message": {"text": "Commented-code block (8 lines) in godo-webctl/src/godo_webctl/map_transform.py:338"}, "properties": {"repobilityId": "902e0cc7d4461b92", "scanner": "scanner-primary", "fingerprint": "645e2b0940a489fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fca9acdb3901ffad", "level": "note", "message": {"text": "Legacy-named symbol `studio_v1` in godo-webctl/src/godo_webctl/maps.py:9"}, "properties": {"repobilityId": "69e76e72933a0574", "scanner": "scanner-primary", "fingerprint": "fca9acdb3901ffad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1c6b427c6fc54c55", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/maps.py:384"}, "properties": {"repobilityId": "248ba6c1d8d3c03c", "scanner": "scanner-primary", "fingerprint": "1c6b427c6fc54c55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ce86e8550a1b1bc", "level": "none", "message": {"text": "Commented-code block (9 lines) in godo-webctl/src/godo_webctl/mapping.py:83"}, "properties": {"repobilityId": "3ab370fe6a747931", "scanner": "scanner-primary", "fingerprint": "6ce86e8550a1b1bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e909951a598cbb01", "level": "none", "message": {"text": "Commented-code block (6 lines) in godo-webctl/src/godo_webctl/sse.py:377"}, "properties": {"repobilityId": "b1bd7af4bd6a6dd5", "scanner": "scanner-primary", "fingerprint": "e909951a598cbb01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3090a20c60b5f144", "level": "none", "message": {"text": "Commented-code block (11 lines) in godo-webctl/src/godo_webctl/config_schema.py:56"}, "properties": {"repobilityId": "eb003db0efde3b43", "scanner": "scanner-primary", "fingerprint": "3090a20c60b5f144", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c476eb3d4b68da3", "level": "none", "message": {"text": "Commented-code block (5 lines) in godo-webctl/src/godo_webctl/webctl_toml.py:48"}, "properties": {"repobilityId": "20c6938f49517dd7", "scanner": "scanner-primary", "fingerprint": "2c476eb3d4b68da3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "faa68bbcfeaf387b", "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": "f37ecd793d4aa4ca", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "0cb299c7b2fc69b1", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-45b905b749743407", "level": "error", "message": {"text": "FastAPI POST `auth_login` without auth dependency \u2014 godo-webctl/src/godo_webctl/app.py:2304"}, "properties": {"repobilityId": "61f5e332671d8f65", "scanner": "scanner-primary", "fingerprint": "45b905b749743407", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "godo-webctl/src/godo_webctl/app.py"}, "region": {"startLine": 2304}}}]}, {"ruleId": "scanner-04192b824f1cb035", "level": "error", "message": {"text": "Dangling fetch: GET /api/maps/<name>/dimensions (godo-frontend/src/stores/mapMetadata.ts:5)"}, "properties": {"repobilityId": "3d86c4de7b001335", "scanner": "scanner-primary", "fingerprint": "04192b824f1cb035", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "c2f10122a96a383f", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f67e70e423f40f22", "level": "note", "message": {"text": "Unused endpoint: POST /api/calibrate"}, "properties": {"repobilityId": "f81d7df61c2c24f4", "scanner": "scanner-primary", "fingerprint": "f67e70e423f40f22", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c6c626584d5b1fa8", "level": "note", "message": {"text": "Unused endpoint: POST /api/live"}, "properties": {"repobilityId": "0ea88f8f667c7471", "scanner": "scanner-primary", "fingerprint": "c6c626584d5b1fa8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1322322a51ec60e6", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/backup"}, "properties": {"repobilityId": "61de57ddf5c6876e", "scanner": "scanner-primary", "fingerprint": "1322322a51ec60e6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-02b62db9a8a4c4af", "level": "note", "message": {"text": "Unused endpoint: GET /api/map/backup/list"}, "properties": {"repobilityId": "76c1ce55f1cf96f0", "scanner": "scanner-primary", "fingerprint": "02b62db9a8a4c4af", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-09d4106bd941a1de", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/backup/{ts}/restore"}, "properties": {"repobilityId": "5760fe03ae2bdbe4", "scanner": "scanner-primary", "fingerprint": "09d4106bd941a1de", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79bd6c9f4bd08f78", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/edit"}, "properties": {"repobilityId": "ceee9cc7c2fb1f42", "scanner": "scanner-primary", "fingerprint": "79bd6c9f4bd08f78", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e0a103b185a1d4fb", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/origin"}, "properties": {"repobilityId": "6d5e645968ac3bfc", "scanner": "scanner-primary", "fingerprint": "e0a103b185a1d4fb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-57d7d4a4af0e4607", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/edit/coord"}, "properties": {"repobilityId": "0249201035821074", "scanner": "scanner-primary", "fingerprint": "57d7d4a4af0e4607", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5cf6e7d405ff440a", "level": "note", "message": {"text": "Unused endpoint: POST /api/map/edit/erase"}, "properties": {"repobilityId": "86fd0de9419900de", "scanner": "scanner-primary", "fingerprint": "5cf6e7d405ff440a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f4fdfe05cf9906bd", "level": "note", "message": {"text": "Unused endpoint: GET /api/map/edit/progress"}, "properties": {"repobilityId": "c1fa3af2687d1d0d", "scanner": "scanner-primary", "fingerprint": "f4fdfe05cf9906bd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e95e59d13d67d389", "level": "note", "message": {"text": "Unused endpoint: GET /api/last_pose"}, "properties": {"repobilityId": "f4d0be45045270aa", "scanner": "scanner-primary", "fingerprint": "e95e59d13d67d389", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c1ed43484de280ac", "level": "note", "message": {"text": "Unused endpoint: GET /api/last_pose/stream"}, "properties": {"repobilityId": "494515f85bc12c46", "scanner": "scanner-primary", "fingerprint": "c1ed43484de280ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-04615d2cea0a7606", "level": "note", "message": {"text": "Unused endpoint: GET /api/last_output"}, "properties": {"repobilityId": "013daed748a056f6", "scanner": "scanner-primary", "fingerprint": "04615d2cea0a7606", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-48ac324549ae75c8", "level": "note", "message": {"text": "Unused endpoint: GET /api/last_scan"}, "properties": {"repobilityId": "c9a68936fb40ae60", "scanner": "scanner-primary", "fingerprint": "48ac324549ae75c8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ac879d80fc7fa76e", "level": "note", "message": {"text": "Unused endpoint: GET /api/last_scan/stream"}, "properties": {"repobilityId": "d18735433f4404a7", "scanner": "scanner-primary", "fingerprint": "ac879d80fc7fa76e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8539fa1fbc438fe4", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/jitter"}, "properties": {"repobilityId": "16a4a2923de94e14", "scanner": "scanner-primary", "fingerprint": "8539fa1fbc438fe4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-710095cdb8468142", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/amcl_rate"}, "properties": {"repobilityId": "9eabd6dc6b114467", "scanner": "scanner-primary", "fingerprint": "710095cdb8468142", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e18403e6223c6c45", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/resources"}, "properties": {"repobilityId": "6421080f6ba220ea", "scanner": "scanner-primary", "fingerprint": "e18403e6223c6c45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7aa4b2518cbbbfa2", "level": "note", "message": {"text": "Unused endpoint: GET /api/config"}, "properties": {"repobilityId": "0bd58220c68983ef", "scanner": "scanner-primary", "fingerprint": "7aa4b2518cbbbfa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b3df459b886bf814", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/schema"}, "properties": {"repobilityId": "8e094badef47f871", "scanner": "scanner-primary", "fingerprint": "b3df459b886bf814", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b4e6de82d71ecad", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/config"}, "properties": {"repobilityId": "537f16b0ec5ebbe0", "scanner": "scanner-primary", "fingerprint": "3b4e6de82d71ecad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e4177a9432755c70", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/restart_pending"}, "properties": {"repobilityId": "eb4879bf00d12b69", "scanner": "scanner-primary", "fingerprint": "e4177a9432755c70", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b1878e4259515030", "level": "note", "message": {"text": "Unused endpoint: GET /api/logs/tail"}, "properties": {"repobilityId": "d500ab84a76ea90e", "scanner": "scanner-primary", "fingerprint": "b1878e4259515030", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5685f2d4dbe24161", "level": "note", "message": {"text": "Unused endpoint: GET /api/diag/stream"}, "properties": {"repobilityId": "1febcb84b4240816", "scanner": "scanner-primary", "fingerprint": "5685f2d4dbe24161", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-236ffff5822d3fe6", "level": "note", "message": {"text": "Unused endpoint: GET /api/map/image"}, "properties": {"repobilityId": "381717a95c5797db", "scanner": "scanner-primary", "fingerprint": "236ffff5822d3fe6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a887a89412dbd520", "level": "note", "message": {"text": "Unused endpoint: GET /api/maps"}, "properties": {"repobilityId": "565707a223a96d0c", "scanner": "scanner-primary", "fingerprint": "a887a89412dbd520", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d7eac8c3928109c6", "level": "note", "message": {"text": "Unused endpoint: GET /api/maps/{name}/image"}, "properties": {"repobilityId": "4087215d83d1e12b", "scanner": "scanner-primary", "fingerprint": "d7eac8c3928109c6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-405fa2758cc08b02", "level": "note", "message": {"text": "Unused endpoint: GET /api/maps/{name}/yaml"}, "properties": {"repobilityId": "9b0a6102e48dfdc0", "scanner": "scanner-primary", "fingerprint": "405fa2758cc08b02", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bd36cfb32e86ff98", "level": "note", "message": {"text": "Unused endpoint: GET /api/maps/{name}/sidecar"}, "properties": {"repobilityId": "a9da509b93426dea", "scanner": "scanner-primary", "fingerprint": "bd36cfb32e86ff98", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4e38c13592d348f5", "level": "note", "message": {"text": "Unused endpoint: GET /api/maps/{name}/dimensions"}, "properties": {"repobilityId": "4f63a55841323801", "scanner": "scanner-primary", "fingerprint": "4e38c13592d348f5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7e5d4eccd3324503", "level": "note", "message": {"text": "Unused endpoint: POST /api/maps/{name}/activate"}, "properties": {"repobilityId": "f15b0fbf8c3d766a", "scanner": "scanner-primary", "fingerprint": "7e5d4eccd3324503", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b5ffb1cc3823a257", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/maps/{name}"}, "properties": {"repobilityId": "3f0be8d6eb6dd6a6", "scanner": "scanner-primary", "fingerprint": "b5ffb1cc3823a257", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d30aa36f85b5752f", "level": "note", "message": {"text": "Unused endpoint: GET /api/activity"}, "properties": {"repobilityId": "fd252421150cddc1", "scanner": "scanner-primary", "fingerprint": "d30aa36f85b5752f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fd55aa0818a7c897", "level": "note", "message": {"text": "Unused endpoint: POST /api/auth/login"}, "properties": {"repobilityId": "3f0213fa02b3abcc", "scanner": "scanner-primary", "fingerprint": "fd55aa0818a7c897", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d5a39262ac205120", "level": "note", "message": {"text": "Unused endpoint: POST /api/auth/logout"}, "properties": {"repobilityId": "a9fbc96e5e3759b1", "scanner": "scanner-primary", "fingerprint": "d5a39262ac205120", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ee4aa5ddab88c9dc", "level": "note", "message": {"text": "Unused endpoint: GET /api/auth/me"}, "properties": {"repobilityId": "bc0370be9b763cf2", "scanner": "scanner-primary", "fingerprint": "ee4aa5ddab88c9dc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-49ac19bb61ef30a3", "level": "note", "message": {"text": "Unused endpoint: POST /api/auth/refresh"}, "properties": {"repobilityId": "8f73856d53884388", "scanner": "scanner-primary", "fingerprint": "49ac19bb61ef30a3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7b14ee108be36e9a", "level": "note", "message": {"text": "Unused endpoint: GET /api/local/services"}, "properties": {"repobilityId": "24bd1701bb2dd5e5", "scanner": "scanner-primary", "fingerprint": "7b14ee108be36e9a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-adf2c68c2029d8fe", "level": "note", "message": {"text": "Unused endpoint: POST /api/local/service/{name}/{action}"}, "properties": {"repobilityId": "8b1a5c7065308384", "scanner": "scanner-primary", "fingerprint": "adf2c68c2029d8fe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-34412c89e10a9f26", "level": "note", "message": {"text": "Unused endpoint: GET /api/local/journal/{name}"}, "properties": {"repobilityId": "faf21677d2737953", "scanner": "scanner-primary", "fingerprint": "34412c89e10a9f26", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63e2daad1f9e608a", "level": "note", "message": {"text": "Unused endpoint: GET /api/local/services/stream"}, "properties": {"repobilityId": "0db26468a14cd54c", "scanner": "scanner-primary", "fingerprint": "63e2daad1f9e608a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1dc9585e23acfd4c", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/services"}, "properties": {"repobilityId": "457ead2797f93639", "scanner": "scanner-primary", "fingerprint": "1dc9585e23acfd4c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c6cccb5f33f5c29a", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/processes"}, "properties": {"repobilityId": "c56e458781e219d3", "scanner": "scanner-primary", "fingerprint": "c6cccb5f33f5c29a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9463fb7a50efb8aa", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/processes/stream"}, "properties": {"repobilityId": "15295edeef31afeb", "scanner": "scanner-primary", "fingerprint": "9463fb7a50efb8aa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dd3b4b0e11fbbfd2", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/resources/extended"}, "properties": {"repobilityId": "54f77783a24f9474", "scanner": "scanner-primary", "fingerprint": "dd3b4b0e11fbbfd2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-77f89d28ef7d3727", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/resources/extended/stream"}, "properties": {"repobilityId": "c56bc3a8f0c12d88", "scanner": "scanner-primary", "fingerprint": "77f89d28ef7d3727", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-256031c18a2c0cfb", "level": "note", "message": {"text": "Unused endpoint: POST /api/system/service/{name}/{action}"}, "properties": {"repobilityId": "72cc3b0f286ccb48", "scanner": "scanner-primary", "fingerprint": "256031c18a2c0cfb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-60928c3589165d5e", "level": "note", "message": {"text": "Unused endpoint: POST /api/system/reboot"}, "properties": {"repobilityId": "ea3ab15ccb674b69", "scanner": "scanner-primary", "fingerprint": "60928c3589165d5e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c94ba68eabe23f8", "level": "note", "message": {"text": "Unused endpoint: POST /api/system/shutdown"}, "properties": {"repobilityId": "ce4459f98a2aa95d", "scanner": "scanner-primary", "fingerprint": "6c94ba68eabe23f8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}