{"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-5983bdf6fa64a91e", "name": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind-worker.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind-worker.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fc3e8e77ea10341", "name": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6aec65cfb80d93b", "name": "Icon-only button without accessible name \u2014 registry/components/number_input/number_input_controller.test.js:19", "shortDescription": {"text": "Icon-only button without accessible name \u2014 registry/components/number_input/number_input_controller.test.js:19"}, "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-52e15d8656e34103", "name": "Privileged port 1000 in use", "shortDescription": {"text": "Privileged port 1000 in use"}, "fullDescription": {"text": "Port 1000 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-72b42797dfb0bb49", "name": "Privileged port 127 in use", "shortDescription": {"text": "Privileged port 127 in use"}, "fullDescription": {"text": "Port 127 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-da4394772127a33e", "name": "Docker base image is tag-pinned but not digest-pinned: docker.io/library/ruby:$RUBY_VERSION-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: docker.io/library/ruby:$RUBY_VERSION-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1fc17ba165d908ea", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/date_picker_controller.js:152", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/date_picker_controller.js:152"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c05e8e8cb738a16b", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/combobox_controller.js:197", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/combobox_controller.js:197"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-83ef7b1e2830c3b1", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/file_upload_controller.js:61", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/file_upload_controller.js:61"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8bbf9e5c0228597d", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/site/toc_controller.js:18", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/site/toc_controller.js:18"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82a8691eab956f58", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-ui.js:1", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-ui.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3ba87895851703b", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-modular-ui.js:1", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-modular-ui.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0e1b12f593c6fd10", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-component-ui.js:4", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-component-ui.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96cd2128ca5f1315", "name": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/file_upload/file_upload_controller.js:61", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/file_upload/file_upload_controller.js:61"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b73ad6ecf819b514", "name": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/date_picker/date_picker_controller.js:152", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/date_picker/date_picker_controller.js:152"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ea0f1f3da43bb96", "name": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/combobox/combobox_controller.js:197", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/combobox/combobox_controller.js:197"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d70d49b2ea2a20f3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-883763497b9e419f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "rubygems/configure-rubygems-credentials@v2.0.0 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d3f3f2465e855d8", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8fae141f052f3ab", "name": "Node manifest has dependencies but no lockfile: docs/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: docs/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "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 8 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 275 placeholder/mock markers across 56 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67330be4da85a3be", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toggle_group_controller.js:56", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toggle_group_controller.js: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-967459bf1e470472", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/date_picker_controller.js:66", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/date_picker_controller.js:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e2cc21cd542bbb3", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/context_menu_controller.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/context_menu_controller.js:6"}, "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-3eb302300e1ee313", "name": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/combobox_controller.js:149", "shortDescription": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/combobox_controller.js:149"}, "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-1a1620ff74a3796d", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toaster_controller.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toaster_controller.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-233d2f99db593107", "name": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/splitter_controller.js:25", "shortDescription": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/splitter_controller.js:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc1f084cbf8dca6c", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/data_table_controller.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/data_table_controller.js: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-e425ca225620eb0f", "name": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/toast_demo_controller.js:8", "shortDescription": {"text": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/toast_demo_controller.js:8"}, "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-1981565360eee23f", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/carousel_controller.js:37", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/carousel_controller.js:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28290293bd559b88", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toast_controller.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toast_controller.js: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-38f97ffe270b2d6a", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/dropdown_menu_controller.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/dropdown_menu_controller.js:6"}, "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-57a8d0ded74f2170", "name": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/command_controller.js:3", "shortDescription": {"text": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/command_controller.js: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-954579cc71017eed", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/tree_view_controller.js:54", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/tree_view_controller.js:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1a4d2cc8be6fb7c", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/portal_registry.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/portal_registry.js:6"}, "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-06f28801846f8933", "name": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/_shared/overlay_portal.js:49", "shortDescription": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/_shared/overlay_portal.js:49"}, "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-715ce727fec8aec4", "name": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/toast_stack.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/toast_stack.js: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-2b7ca97b9a4d3ec5", "name": "Commented-code block (7 lines) in docs/app/views/pwa/service-worker.js:8", "shortDescription": {"text": "Commented-code block (7 lines) in docs/app/views/pwa/service-worker.js:8"}, "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-c173eeccf714e968", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind-worker.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind-worker.js:1"}, "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-d563dfebaa39f424", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind.js:1"}, "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-edd09b04c7f8f303", "name": "Commented-code block (6 lines) in registry/test/support/setup.js:35", "shortDescription": {"text": "Commented-code block (6 lines) in registry/test/support/setup.js:35"}, "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-54f4bcb8885f3f5e", "name": "Commented-code block (6 lines) in registry/components/dialog/dialog_controller.test.js:79", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/dialog/dialog_controller.test.js:79"}, "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-a88630ef6a986363", "name": "Commented-code block (5 lines) in registry/components/toggle_group/toggle_group_controller.js:56", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/toggle_group/toggle_group_controller.js: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-63ec073d12a91d18", "name": "Commented-code block (5 lines) in registry/components/tree_view/tree_view_controller.js:54", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/tree_view/tree_view_controller.js:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-409ee6583e15596a", "name": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.js:6"}, "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-5703e6ed8f3167a0", "name": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.test.js:8", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.test.js:8"}, "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-0405c1e0f9f6adba", "name": "Commented-code block (6 lines) in registry/components/toast/toast_controller.test.js:12", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/toast/toast_controller.test.js:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df9d72eaa49da55b", "name": "Commented-code block (5 lines) in registry/components/toast/toaster_controller.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/toast/toaster_controller.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-381250539073172c", "name": "Commented-code block (5 lines) in registry/components/toast/toast_controller.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/toast/toast_controller.js: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-19ec9242735b92e6", "name": "Commented-code block (5 lines) in registry/components/tooltip/tooltip_controller.test.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/tooltip/tooltip_controller.test.js:6"}, "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-c7cab464656d8170", "name": "Commented-code block (6 lines) in registry/components/splitter/splitter_controller.js:25", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/splitter/splitter_controller.js:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-454ee2bde51096e9", "name": "Commented-code block (5 lines) in registry/components/splitter/splitter_controller.test.js:44", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/splitter/splitter_controller.test.js: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-33033a2251dee48c", "name": "Commented-code block (5 lines) in registry/components/date_picker/date_picker_controller.js:66", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/date_picker/date_picker_controller.js:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a88e63795e7da260", "name": "Commented-code block (5 lines) in registry/components/context_menu/context_menu_controller.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/context_menu/context_menu_controller.js:6"}, "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-1ab9b549fefc6fc4", "name": "Commented-code block (6 lines) in registry/components/context_menu/context_menu_controller.test.js:8", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/context_menu/context_menu_controller.test.js:8"}, "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-ae0b39f1caa2e84b", "name": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.js:37", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.js:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5d0c3441ad048f9f", "name": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.test.js:38", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.test.js:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-108aab7f289c26ec", "name": "Commented-code block (5 lines) in registry/components/combobox/combobox_controller.test.js:81", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/combobox/combobox_controller.test.js:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9692b025fae74caa", "name": "Commented-code block (6 lines) in registry/components/combobox/combobox_controller.js:149", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/combobox/combobox_controller.js:149"}, "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-febeff1cee641518", "name": "Commented-code block (5 lines) in registry/components/data_table/data_table_controller.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/data_table/data_table_controller.js: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-d79388db5b0e926b", "name": "Commented-code block (6 lines) in registry/components/accordion/accordion_controller.test.js:62", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/accordion/accordion_controller.test.js: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-76a7a421c259093b", "name": "Commented-code block (8 lines) in registry/components/command/command_controller.js:3", "shortDescription": {"text": "Commented-code block (8 lines) in registry/components/command/command_controller.js: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-be8882f9a8595b17", "name": "Commented-code block (6 lines) in registry/components/alert_dialog/alert_dialog_controller.test.js:6", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/alert_dialog/alert_dialog_controller.test.js:6"}, "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-93fd9ba97daff40c", "name": "Commented-code block (5 lines) in registry/components/_shared/portal_registry.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/_shared/portal_registry.js:6"}, "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-1743f5e982773c9f", "name": "Commented-code block (6 lines) in registry/components/_shared/overlay_portal.js:49", "shortDescription": {"text": "Commented-code block (6 lines) in registry/components/_shared/overlay_portal.js:49"}, "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-ffee635fbe2c855f", "name": "Commented-code block (5 lines) in registry/components/_shared/toast_stack.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in registry/components/_shared/toast_stack.js: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}}]}}, "automationDetails": {"id": "repobility/22487"}, "properties": {"repository": "wabikit/wabi", "repoUrl": "https://github.com/wabikit/wabi", "branch": "main"}, "results": [{"ruleId": "scanner-5983bdf6fa64a91e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind-worker.js:6"}, "properties": {"repobilityId": "ac9e206caa3f15e6", "scanner": "scanner-primary", "fingerprint": "5983bdf6fa64a91e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fc3e8e77ea10341", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 docs/public/pagefind/pagefind.js:6"}, "properties": {"repobilityId": "61f88e494c15d778", "scanner": "scanner-primary", "fingerprint": "8fc3e8e77ea10341", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6aec65cfb80d93b", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 registry/components/number_input/number_input_controller.test.js:19"}, "properties": {"repobilityId": "7731ecfd70c9088d", "scanner": "scanner-primary", "fingerprint": "d6aec65cfb80d93b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-52e15d8656e34103", "level": "warning", "message": {"text": "Privileged port 1000 in use"}, "properties": {"repobilityId": "5ac9fc9372cfe169", "scanner": "scanner-primary", "fingerprint": "52e15d8656e34103", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72b42797dfb0bb49", "level": "warning", "message": {"text": "Privileged port 127 in use"}, "properties": {"repobilityId": "afafb77f13b4bf59", "scanner": "scanner-primary", "fingerprint": "72b42797dfb0bb49", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/config/deploy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da4394772127a33e", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: docker.io/library/ruby:$RUBY_VERSION-slim"}, "properties": {"repobilityId": "9ae05ff6e9dd689a", "scanner": "scanner-primary", "fingerprint": "da4394772127a33e", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/Dockerfile"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-1fc17ba165d908ea", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/date_picker_controller.js:152"}, "properties": {"repobilityId": "6bc29eb34652f4c8", "scanner": "scanner-primary", "fingerprint": "1fc17ba165d908ea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/app/javascript/controllers/wabi/date_picker_controller.js"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-c05e8e8cb738a16b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/combobox_controller.js:197"}, "properties": {"repobilityId": "e7d032bdd80be9cd", "scanner": "scanner-primary", "fingerprint": "c05e8e8cb738a16b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/app/javascript/controllers/wabi/combobox_controller.js"}, "region": {"startLine": 197}}}]}, {"ruleId": "scanner-83ef7b1e2830c3b1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/wabi/file_upload_controller.js:61"}, "properties": {"repobilityId": "e16c1662162f2b7d", "scanner": "scanner-primary", "fingerprint": "83ef7b1e2830c3b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/app/javascript/controllers/wabi/file_upload_controller.js"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-8bbf9e5c0228597d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/app/javascript/controllers/site/toc_controller.js:18"}, "properties": {"repobilityId": "0f1f5285870842c0", "scanner": "scanner-primary", "fingerprint": "8bbf9e5c0228597d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/app/javascript/controllers/site/toc_controller.js"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-82a8691eab956f58", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-ui.js:1"}, "properties": {"repobilityId": "0f9dd9f50b58e7d1", "scanner": "scanner-primary", "fingerprint": "82a8691eab956f58", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/public/pagefind/pagefind-ui.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3ba87895851703b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-modular-ui.js:1"}, "properties": {"repobilityId": "38dec6d105998004", "scanner": "scanner-primary", "fingerprint": "a3ba87895851703b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/public/pagefind/pagefind-modular-ui.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e1b12f593c6fd10", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/public/pagefind/pagefind-component-ui.js:4"}, "properties": {"repobilityId": "a97f39e6204126b1", "scanner": "scanner-primary", "fingerprint": "0e1b12f593c6fd10", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/public/pagefind/pagefind-component-ui.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-96cd2128ca5f1315", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/file_upload/file_upload_controller.js:61"}, "properties": {"repobilityId": "0200ed912bfdd2aa", "scanner": "scanner-primary", "fingerprint": "96cd2128ca5f1315", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "registry/components/file_upload/file_upload_controller.js"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-b73ad6ecf819b514", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/date_picker/date_picker_controller.js:152"}, "properties": {"repobilityId": "8cec0640a0963a81", "scanner": "scanner-primary", "fingerprint": "b73ad6ecf819b514", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "registry/components/date_picker/date_picker_controller.js"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-6ea0f1f3da43bb96", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in registry/components/combobox/combobox_controller.js:197"}, "properties": {"repobilityId": "629ee07a525fb570", "scanner": "scanner-primary", "fingerprint": "6ea0f1f3da43bb96", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "registry/components/combobox/combobox_controller.js"}, "region": {"startLine": 197}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4c74f3d08cb0e32e", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80b538a8afc96059", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4c74f3d08cb0e32e", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80b538a8afc96059", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4c74f3d08cb0e32e", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80b538a8afc96059", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-d70d49b2ea2a20f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ef6dd7d000b9a8c3", "scanner": "scanner-primary", "fingerprint": "d70d49b2ea2a20f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/.github/workflows/ci.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-883763497b9e419f", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd20f45632b8a23e", "scanner": "scanner-primary", "fingerprint": "883763497b9e419f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gem-release.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-0d3f3f2465e855d8", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "067fad9990cf8a44", "scanner": "scanner-primary", "fingerprint": "0d3f3f2465e855d8", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gem-release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8fae141f052f3ab", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: docs/package.json"}, "properties": {"repobilityId": "e77ce50b08d152bb", "scanner": "scanner-primary", "fingerprint": "b8fae141f052f3ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7c9b11ca6240d4bc", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "7629b4c100d26feb", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "2921411ab4a53af9", "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": "6b4acb3b723699e6", "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": "71ad038fd7f1d981", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-67330be4da85a3be", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toggle_group_controller.js:56"}, "properties": {"repobilityId": "4e381de27ba5c4ea", "scanner": "scanner-primary", "fingerprint": "67330be4da85a3be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-967459bf1e470472", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/date_picker_controller.js:66"}, "properties": {"repobilityId": "3b0039874059754d", "scanner": "scanner-primary", "fingerprint": "967459bf1e470472", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e2cc21cd542bbb3", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/context_menu_controller.js:6"}, "properties": {"repobilityId": "f96a09c3eef6b3e6", "scanner": "scanner-primary", "fingerprint": "6e2cc21cd542bbb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3eb302300e1ee313", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/combobox_controller.js:149"}, "properties": {"repobilityId": "baf3b536d1cc2cd2", "scanner": "scanner-primary", "fingerprint": "3eb302300e1ee313", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a1620ff74a3796d", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toaster_controller.js:4"}, "properties": {"repobilityId": "ed006d7fcd8743a6", "scanner": "scanner-primary", "fingerprint": "1a1620ff74a3796d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-233d2f99db593107", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/splitter_controller.js:25"}, "properties": {"repobilityId": "5ce4864d1cb9fd10", "scanner": "scanner-primary", "fingerprint": "233d2f99db593107", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc1f084cbf8dca6c", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/data_table_controller.js:3"}, "properties": {"repobilityId": "aa6e5c13890e4f9d", "scanner": "scanner-primary", "fingerprint": "bc1f084cbf8dca6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e425ca225620eb0f", "level": "none", "message": {"text": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/toast_demo_controller.js:8"}, "properties": {"repobilityId": "fe3bd0fb788cd8ec", "scanner": "scanner-primary", "fingerprint": "e425ca225620eb0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1981565360eee23f", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/carousel_controller.js:37"}, "properties": {"repobilityId": "8bff65fc20cda111", "scanner": "scanner-primary", "fingerprint": "1981565360eee23f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28290293bd559b88", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/toast_controller.js:3"}, "properties": {"repobilityId": "cdd0ce0e9c8d29c4", "scanner": "scanner-primary", "fingerprint": "28290293bd559b88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38f97ffe270b2d6a", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/dropdown_menu_controller.js:6"}, "properties": {"repobilityId": "a4775829a45cbfdb", "scanner": "scanner-primary", "fingerprint": "38f97ffe270b2d6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57a8d0ded74f2170", "level": "none", "message": {"text": "Commented-code block (8 lines) in docs/app/javascript/controllers/wabi/command_controller.js:3"}, "properties": {"repobilityId": "fd7cac67b36e6de9", "scanner": "scanner-primary", "fingerprint": "57a8d0ded74f2170", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-954579cc71017eed", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/tree_view_controller.js:54"}, "properties": {"repobilityId": "4747c352eda073e1", "scanner": "scanner-primary", "fingerprint": "954579cc71017eed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1a4d2cc8be6fb7c", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/portal_registry.js:6"}, "properties": {"repobilityId": "d2f06a75d6245469", "scanner": "scanner-primary", "fingerprint": "b1a4d2cc8be6fb7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06f28801846f8933", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/app/javascript/controllers/wabi/_shared/overlay_portal.js:49"}, "properties": {"repobilityId": "34a66121cac0a3d9", "scanner": "scanner-primary", "fingerprint": "06f28801846f8933", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-715ce727fec8aec4", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/app/javascript/controllers/wabi/_shared/toast_stack.js:3"}, "properties": {"repobilityId": "0cf4289f5f4a6120", "scanner": "scanner-primary", "fingerprint": "715ce727fec8aec4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b7ca97b9a4d3ec5", "level": "none", "message": {"text": "Commented-code block (7 lines) in docs/app/views/pwa/service-worker.js:8"}, "properties": {"repobilityId": "c5742a8647741259", "scanner": "scanner-primary", "fingerprint": "2b7ca97b9a4d3ec5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c173eeccf714e968", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind-worker.js:1"}, "properties": {"repobilityId": "7e269020bfb70844", "scanner": "scanner-primary", "fingerprint": "c173eeccf714e968", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d563dfebaa39f424", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/public/pagefind/pagefind.js:1"}, "properties": {"repobilityId": "c3abf7289153524a", "scanner": "scanner-primary", "fingerprint": "d563dfebaa39f424", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-edd09b04c7f8f303", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/test/support/setup.js:35"}, "properties": {"repobilityId": "d554e510fcab2716", "scanner": "scanner-primary", "fingerprint": "edd09b04c7f8f303", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54f4bcb8885f3f5e", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/dialog/dialog_controller.test.js:79"}, "properties": {"repobilityId": "b63eb79d560723fa", "scanner": "scanner-primary", "fingerprint": "54f4bcb8885f3f5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a88630ef6a986363", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/toggle_group/toggle_group_controller.js:56"}, "properties": {"repobilityId": "e2fa027d0e3386d0", "scanner": "scanner-primary", "fingerprint": "a88630ef6a986363", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63ec073d12a91d18", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/tree_view/tree_view_controller.js:54"}, "properties": {"repobilityId": "cdd7dbe39e0ebb09", "scanner": "scanner-primary", "fingerprint": "63ec073d12a91d18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-409ee6583e15596a", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.js:6"}, "properties": {"repobilityId": "ba55994ea8c8ce98", "scanner": "scanner-primary", "fingerprint": "409ee6583e15596a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5703e6ed8f3167a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/dropdown_menu/dropdown_menu_controller.test.js:8"}, "properties": {"repobilityId": "4fa6f5c7d46d7e75", "scanner": "scanner-primary", "fingerprint": "5703e6ed8f3167a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0405c1e0f9f6adba", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/toast/toast_controller.test.js:12"}, "properties": {"repobilityId": "dcb81f26ea7b53f7", "scanner": "scanner-primary", "fingerprint": "0405c1e0f9f6adba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df9d72eaa49da55b", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/toast/toaster_controller.js:4"}, "properties": {"repobilityId": "1952433ca3b79bf3", "scanner": "scanner-primary", "fingerprint": "df9d72eaa49da55b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-381250539073172c", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/toast/toast_controller.js:3"}, "properties": {"repobilityId": "91543bf063fc4ebf", "scanner": "scanner-primary", "fingerprint": "381250539073172c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19ec9242735b92e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/tooltip/tooltip_controller.test.js:6"}, "properties": {"repobilityId": "d95c1ecba8790d57", "scanner": "scanner-primary", "fingerprint": "19ec9242735b92e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7cab464656d8170", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/splitter/splitter_controller.js:25"}, "properties": {"repobilityId": "7298f44c8e5d566f", "scanner": "scanner-primary", "fingerprint": "c7cab464656d8170", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-454ee2bde51096e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/splitter/splitter_controller.test.js:44"}, "properties": {"repobilityId": "9ca43d3e90462b4d", "scanner": "scanner-primary", "fingerprint": "454ee2bde51096e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33033a2251dee48c", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/date_picker/date_picker_controller.js:66"}, "properties": {"repobilityId": "acf40ba86ea974a1", "scanner": "scanner-primary", "fingerprint": "33033a2251dee48c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a88e63795e7da260", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/context_menu/context_menu_controller.js:6"}, "properties": {"repobilityId": "63bb410c10aa5818", "scanner": "scanner-primary", "fingerprint": "a88e63795e7da260", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ab9b549fefc6fc4", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/context_menu/context_menu_controller.test.js:8"}, "properties": {"repobilityId": "4b1c4d2761763281", "scanner": "scanner-primary", "fingerprint": "1ab9b549fefc6fc4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae0b39f1caa2e84b", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.js:37"}, "properties": {"repobilityId": "5a334913a0d45e5d", "scanner": "scanner-primary", "fingerprint": "ae0b39f1caa2e84b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d0c3441ad048f9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/carousel/carousel_controller.test.js:38"}, "properties": {"repobilityId": "88d17c99c1c54d83", "scanner": "scanner-primary", "fingerprint": "5d0c3441ad048f9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-108aab7f289c26ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/combobox/combobox_controller.test.js:81"}, "properties": {"repobilityId": "30bdd6f7d6ce689e", "scanner": "scanner-primary", "fingerprint": "108aab7f289c26ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9692b025fae74caa", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/combobox/combobox_controller.js:149"}, "properties": {"repobilityId": "5d33e97a59e1659a", "scanner": "scanner-primary", "fingerprint": "9692b025fae74caa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-febeff1cee641518", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/data_table/data_table_controller.js:3"}, "properties": {"repobilityId": "c358a26c85cfc8d5", "scanner": "scanner-primary", "fingerprint": "febeff1cee641518", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d79388db5b0e926b", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/accordion/accordion_controller.test.js:62"}, "properties": {"repobilityId": "f96e4f2f8eb8235c", "scanner": "scanner-primary", "fingerprint": "d79388db5b0e926b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76a7a421c259093b", "level": "none", "message": {"text": "Commented-code block (8 lines) in registry/components/command/command_controller.js:3"}, "properties": {"repobilityId": "a14696d6a45da9bf", "scanner": "scanner-primary", "fingerprint": "76a7a421c259093b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be8882f9a8595b17", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/alert_dialog/alert_dialog_controller.test.js:6"}, "properties": {"repobilityId": "96d946c3beb6e376", "scanner": "scanner-primary", "fingerprint": "be8882f9a8595b17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93fd9ba97daff40c", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/_shared/portal_registry.js:6"}, "properties": {"repobilityId": "265a609f10d60b6e", "scanner": "scanner-primary", "fingerprint": "93fd9ba97daff40c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1743f5e982773c9f", "level": "none", "message": {"text": "Commented-code block (6 lines) in registry/components/_shared/overlay_portal.js:49"}, "properties": {"repobilityId": "8b33d5eb32355933", "scanner": "scanner-primary", "fingerprint": "1743f5e982773c9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffee635fbe2c855f", "level": "none", "message": {"text": "Commented-code block (5 lines) in registry/components/_shared/toast_stack.js:3"}, "properties": {"repobilityId": "2eb6645c50283d90", "scanner": "scanner-primary", "fingerprint": "ffee635fbe2c855f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}