{"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-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-372d180cf4f5fcb1", "name": "TODO/FIXME marker in shipping code \u2014 check-unused-queries.js:180", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 check-unused-queries.js:180"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4cb9dd045590139f", "name": "Stray `console.log` in TS/JS \u2014 check-unused-queries.js:98", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check-unused-queries.js:98"}, "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-2d970ba1a0ef5e7e", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/global-error.tsx:30", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/global-error.tsx:30"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef139963beefc06e", "name": "Stray `console.log` in TS/JS \u2014 src/app/layout.tsx:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/layout.tsx:205"}, "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-4867e8052adfa9cb", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:76", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:76"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3e2b96b824c93f6", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/studio/layout.tsx:22", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/studio/layout.tsx:22"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a856a486c9dc15bf", "name": "TODO/FIXME marker in shipping code \u2014 src/app/api/jobs/applications/route.ts:83", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/jobs/applications/route.ts:83"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c41671d1b24b6b1", "name": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/downloads/route.ts:132", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/downloads/route.ts:132"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5609697a6e71d9f2", "name": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/faq/route.ts:153", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/faq/route.ts:153"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7988caeb1360a823", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/CategoryFilterBar.tsx:137", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/CategoryFilterBar.tsx:137"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac067aefa50a5e6b", "name": "Stray `console.log` in TS/JS \u2014 src/components/ServerLayoutWrapper.tsx:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/components/ServerLayoutWrapper.tsx:102"}, "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-0a0d103bfa66a53b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/StructuredData.tsx:66", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/StructuredData.tsx:66"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e466b6548b7d8358", "name": "TODO/FIXME marker in shipping code \u2014 src/components/seo/SEOHead.tsx:122", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/components/seo/SEOHead.tsx:122"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c51624028cdc077", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/fallback/FallbackShell.tsx:274", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/fallback/FallbackShell.tsx:274"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9a00df30710dbc85", "name": "Stray `console.log` in TS/JS \u2014 src/lib/serverContentAggregator.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/serverContentAggregator.ts:24"}, "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-d5bf1b6ddc61ae0a", "name": "Stray `console.log` in TS/JS \u2014 src/lib/search.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/search.ts:69"}, "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-45d5ad89c145ef62", "name": "Stray `console.log` in TS/JS \u2014 src/lib/debugContentAggregator.ts:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/debugContentAggregator.ts:103"}, "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-a49c8aed518516f1", "name": "Privileged port 3 in use", "shortDescription": {"text": "Privileged port 3 in use"}, "fullDescription": {"text": "Port 3 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-75853f8eeb7c5787", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 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-09742be67b65f703", "name": "Privileged port 4 in use", "shortDescription": {"text": "Privileged port 4 in use"}, "fullDescription": {"text": "Port 4 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-94f31c1a6644330e", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 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-0e13cad974d24a95", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 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-877462963796b6e7", "name": "Privileged port 2 in use", "shortDescription": {"text": "Privileged port 2 in use"}, "fullDescription": {"text": "Port 2 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-241daa4a5c03b66b", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 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-dfee00021f024af1", "name": "Insecure pattern 'node_child_process' in scripts/probe-business-events.mjs:33", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/probe-business-events.mjs:33"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6fe4d61822647bf8", "name": "Insecure pattern 'node_child_process' in scripts/test-content-localization-workbench.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-localization-workbench.mjs:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19e81c97e4ab00bf", "name": "Insecure pattern 'node_child_process' in scripts/test-content-release-cli-guards.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-release-cli-guards.mjs:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11900da29c2239a4", "name": "Insecure pattern 'node_child_process' in scripts/probe-csp-violations.mjs:40", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/probe-csp-violations.mjs:40"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a23568bd3f7e10e6", "name": "Insecure pattern 'node_child_process' in scripts/verify-deploy-smoke.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/verify-deploy-smoke.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b728a57f4c7732c0", "name": "Insecure pattern 'node_child_process' in scripts/with-canonical-cwd.mjs:26", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/with-canonical-cwd.mjs:26"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f069bbfdef020a3f", "name": "Insecure pattern 'node_child_process' in scripts/probe-bundle-analyzer.mjs:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/probe-bundle-analyzer.mjs:16"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3fb39cab118b6e0", "name": "Insecure pattern 'node_child_process' in scripts/analyze.mjs:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/analyze.mjs:20"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac3472521a43ceac", "name": "Insecure pattern 'node_child_process' in scripts/content-automation-publisher.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/content-automation-publisher.mjs:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82aacdc780c5eb39", "name": "Insecure pattern 'node_child_process' in scripts/preflight-content-release.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/preflight-content-release.mjs:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-316c529f1f5ec160", "name": "Insecure pattern 'node_child_process' in scripts/check-text-encoding.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check-text-encoding.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa931400f1c41303", "name": "Insecure pattern 'node_child_process' in scripts/verify-content-release-workflow.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/verify-content-release-workflow.mjs:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d326677d948afde", "name": "Insecure pattern 'node_child_process' in scripts/ops-status.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/ops-status.mjs:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-81a83fef749add70", "name": "Insecure pattern 'node_child_process' in scripts/test-content-automation-publisher.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-automation-publisher.mjs:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22a07994b177b170", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/global-error.tsx:30", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/global-error.tsx:30"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5acd6cdd2aa4be36", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:76", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:76"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1915358639f2e368", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/studio/layout.tsx:22", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/studio/layout.tsx:22"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67d9125f1011c821", "name": "Insecure pattern 'cors_wildcard' in src/app/api/news/route.ts:223", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/news/route.ts:223"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59aab4159c8c7838", "name": "Insecure pattern 'cors_wildcard' in src/app/api/products/route.ts:361", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/products/route.ts:361"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00d4dfa5a23c0b6e", "name": "Insecure pattern 'cors_wildcard' in src/app/api/products/category/[categorySlug]/route.ts:304", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/products/category/[categorySlug]/route.ts:304"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e167728ac754cdd9", "name": "Insecure pattern 'cors_wildcard' in src/app/api/cases/route.ts:163", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/cases/route.ts:163"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-389a85c9e130e512", "name": "Insecure pattern 'local_storage_auth_token' in src/app/admin/live-chat/login/page.tsx:59", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/app/admin/live-chat/login/page.tsx:59"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f153492b5b15185", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/CategoryFilterBar.tsx:137", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/CategoryFilterBar.tsx:137"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8c1e912d67ad4fb7", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/components/admin/ETENZISRAdmin.tsx:380", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/admin/ETENZISRAdmin.tsx:380"}, "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-126b511d5f34ac3d", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/StructuredData.tsx:66", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/StructuredData.tsx:66"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56de4e5a6c49f7f9", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/fallback/FallbackShell.tsx:274", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/fallback/FallbackShell.tsx:274"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-033907f216668c88", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 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-c7764f1a54d16054", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 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-450fdef3db234b09", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 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-3708985a9548ca3b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2702fdbb804d455", "name": "Very large file: sanity.types.ts (3793 lines)", "shortDescription": {"text": "Very large file: sanity.types.ts (3793 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-ac9cdf94aa1129df", "name": "Very large file: scripts/validate-research-knowledge-base.mjs (1932 lines)", "shortDescription": {"text": "Very large file: scripts/validate-research-knowledge-base.mjs (1932 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-48a3c8adb5ea2a30", "name": "Very large file: scripts/complete-synchronous-condenser-product-locales.mjs (1073 lines)", "shortDescription": {"text": "Very large file: scripts/complete-synchronous-condenser-product-locales.mjs (1073 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-0a749dbf82c50c5c", "name": "Very large file: scripts/complete-synchronous-condenser-solution-locales.mjs (1303 lines)", "shortDescription": {"text": "Very large file: scripts/complete-synchronous-condenser-solution-locales.mjs (1303 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-6410a0c2bc603808", "name": "Very large file: scripts/create-control-ehouse-langs.mjs (1040 lines)", "shortDescription": {"text": "Very large file: scripts/create-control-ehouse-langs.mjs (1040 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-d6777ba6de07172c", "name": "Very large file: src/sanity/queries/jobs.ts (2161 lines)", "shortDescription": {"text": "Very large file: src/sanity/queries/jobs.ts (2161 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-170270e6fe3fa92e", "name": "Very large file: src/components/Header.tsx (1783 lines)", "shortDescription": {"text": "Very large file: src/components/Header.tsx (1783 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-0c274f7edc0e2f1e", "name": "Very large file: content-automation/scripts/content-media.mjs (1903 lines)", "shortDescription": {"text": "Very large file: content-automation/scripts/content-media.mjs (1903 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "14 test file(s) for 555 source file(s) (ratio 0.03). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 1425 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 146 placeholder/mock markers across 61 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-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-540f88f2b3ce5181", "name": "Agent authority lacks a verifier contract: .codex/skills/etenz-media-operations/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/skills/etenz-media-operations/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-020ea84a27b2be5d", "name": "Commented-code block (8 lines) in next.config.js:114", "shortDescription": {"text": "Commented-code block (8 lines) in next.config.js:114"}, "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-1820f091da966007", "name": "Commented-code block (5 lines) in playwright.config.ts:54", "shortDescription": {"text": "Commented-code block (5 lines) in playwright.config.ts: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-acf9e66a9807293c", "name": "Commented-code block (12 lines) in instrumentation-client.ts:30", "shortDescription": {"text": "Commented-code block (12 lines) in instrumentation-client.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22d26714d5a32b3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 sanity/scripts/fix-orphan-translations.mjs:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sanity/scripts/fix-orphan-translations.mjs:68"}, "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-876b2935a8dff1f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields-all-locales.mjs:631", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields-all-locales.mjs:631"}, "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-443b00dd99764f71", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-taxonomy-brand-names.mjs:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-taxonomy-brand-names.mjs:118"}, "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-d1986bdd88511755", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-editorial-quality.mjs:132", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-editorial-quality.mjs:132"}, "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-6184ccabf6f1ccef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-taxonomy-quality.mjs:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-taxonomy-quality.mjs:74"}, "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-769f3bb7f5150365", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-subcategories.mjs:152", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-subcategories.mjs:152"}, "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-f97172c66bba9fef", "name": "Commented-code block (9 lines) in scripts/probe-business-events.mjs:2", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/probe-business-events.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7eb0da22869c027", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-categories.mjs:485", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-categories.mjs:485"}, "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-26425715bf6c459d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategories-en.mjs:313", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategories-en.mjs:313"}, "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-663c9fee9b320ac9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-content-readiness.mjs:371", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-content-readiness.mjs:371"}, "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-a722d709d763113b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-thermal-management-taxonomy.mjs:127", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-thermal-management-taxonomy.mjs:127"}, "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-f26b9f9c7bb2f77e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-contact-nav-cleanup.mjs:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-contact-nav-cleanup.mjs:154"}, "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-618111c9342cebce", "name": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-product-brief-dry-run.mjs:353", "shortDescription": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-product-brief-dry-run.mjs:353"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f555a9f3c3a08a8e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-icons.mjs:130", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-icons.mjs:130"}, "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-662abfa52731c97f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-subcategories.mjs:125", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-subcategories.mjs:125"}, "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-b3148fb3d5f11383", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields.mjs:299", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields.mjs:299"}, "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-af80b0ce0bd7713b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/probe-i18n-content-readiness.mjs:137", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/probe-i18n-content-readiness.mjs:137"}, "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-548b26d9b2aaf05a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-region-taxonomy.mjs:465", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-region-taxonomy.mjs:465"}, "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-6b90cf3784c118c5", "name": "Legacy-named symbol `not_public_copy` in scripts/validate-research-knowledge-base.mjs:166", "shortDescription": {"text": "Legacy-named symbol `not_public_copy` in scripts/validate-research-knowledge-base.mjs:166"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0206d8b3accc71af", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-active-solution-public-copy.mjs:326", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-active-solution-public-copy.mjs:326"}, "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-05ab8a00a6a9a9e4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-descriptions.mjs:235", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-descriptions.mjs:235"}, "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-215d680a612f25fe", "name": "Legacy-named symbol `shouldDeactivateLegacy` in scripts/merge-solution-legacy-categories.mjs:186", "shortDescription": {"text": "Legacy-named symbol `shouldDeactivateLegacy` in scripts/merge-solution-legacy-categories.mjs:186"}, "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-ed95d5dd46fb6b76", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/merge-solution-legacy-categories.mjs:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/merge-solution-legacy-categories.mjs:116"}, "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-5c91b22bbf2030a5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-subcategories.mjs:516", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-subcategories.mjs:516"}, "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-e012da1325218233", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-detail-multilingual-readiness.mjs:102", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-detail-multilingual-readiness.mjs:102"}, "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-1e6e170fbdc1795d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-english-certification-drafts.mjs:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-english-certification-drafts.mjs:65"}, "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-20a58f86c4e20e5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-container-platform-category.mjs:107", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-container-platform-category.mjs:107"}, "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-dd9191efd7c5b8d4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-translations.mjs:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-translations.mjs:71"}, "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-c9e60dcaddc54761", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-case-study-taxonomy-locales.mjs:672", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-case-study-taxonomy-locales.mjs:672"}, "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-8847ba419cae8043", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-crypto-solution-public-detail-readiness.mjs:338", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-crypto-solution-public-detail-readiness.mjs:338"}, "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-dc343f7a1bc24894", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-composite-names.mjs:155", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-composite-names.mjs:155"}, "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-06015be4839c4b71", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-product-anchors.mjs:231", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-product-anchors.mjs:231"}, "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-4ad328bb2b85c19f", "name": "Legacy-named symbol `extracted_v1` in scripts/generate-research-source-backlog-report.mjs:93", "shortDescription": {"text": "Legacy-named symbol `extracted_v1` in scripts/generate-research-source-backlog-report.mjs:93"}, "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-6ed57b818561d87f", "name": "Commented-code block (5 lines) in scripts/probe-csp-violations.mjs:12", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/probe-csp-violations.mjs: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-9bd1014d101f4256", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-center-page-candidate.mjs:137", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-center-page-candidate.mjs:137"}, "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-24f6798502e285d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-case-study-test-content.mjs:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-case-study-test-content.mjs:89"}, "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-c80c73d20421eb9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-product-centered-cleanup.mjs:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-product-centered-cleanup.mjs:126"}, "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-4075953183c4e026", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-case-study-taxonomy-visibility.mjs:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-case-study-taxonomy-visibility.mjs:80"}, "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-e68e56e1c4d87ee5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-product-locales.mjs:829", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-product-locales.mjs:829"}, "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-9d040d191a01042a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-conservative.mjs:107", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-conservative.mjs:107"}, "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-0411757830210027", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-site-settings-es-fr.mjs:284", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-site-settings-es-fr.mjs:284"}, "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-891b326ebe68b772", "name": "Commented-code block (5 lines) in scripts/seed-business-lines.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/seed-business-lines.mjs:7"}, "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-c5a5b26355a62c17", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-business-lines.mjs:238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-business-lines.mjs:238"}, "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-6ee1461114274dff", "name": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-page-outline-dry-run.mjs:92", "shortDescription": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-page-outline-dry-run.mjs: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-d0f115ba0b37f3ad", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-solution-legacy-categories.mjs:79", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-solution-legacy-categories.mjs:79"}, "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-82d8c993008c2106", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategory-copy.mjs:541", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategory-copy.mjs:541"}, "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-dfa965c859621c9f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-scenarios.mjs:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-scenarios.mjs:129"}, "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-88248b7b0417a6b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-solution-zh-master-candidates.mjs:504", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-solution-zh-master-candidates.mjs:504"}, "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-e455d00b86fd0c0a", "name": "Commented-code block (5 lines) in scripts/patch-ro-feature-icons.mjs:2", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/patch-ro-feature-icons.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06382ed20b66b157", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-ro-feature-icons.mjs:159", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-ro-feature-icons.mjs:159"}, "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-3dbc3ac521e4fa84", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reassign-ggd-product-category.mjs:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reassign-ggd-product-category.mjs:68"}, "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-170fab14a68df239", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-conservative.mjs:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-conservative.mjs:113"}, "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-88be02c7f164eefd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-timeline.mjs:236", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-timeline.mjs:236"}, "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-798481cefc3ccabe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-scenario-locales.mjs:340", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-scenario-locales.mjs:340"}, "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-88b86050f69f5da2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-content-readiness.mjs:218", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-content-readiness.mjs:218"}, "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-0e2fa664a3198dbb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/activate-english-certifications.mjs:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/activate-english-certifications.mjs:65"}, "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-c493c816fcf755a2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-settings.mjs:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-settings.mjs:88"}, "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-ca249af68206013c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-foundation.mjs:318", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-foundation.mjs:318"}, "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-8c881fdaf5b1513a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-chain-solution-quality.mjs:203", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-chain-solution-quality.mjs:203"}, "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-f202894551e9538d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-partners-locales-to-en.mjs:77", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-partners-locales-to-en.mjs:77"}, "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-1da68f0cba9794ca", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-product-patch.mjs:117", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-product-patch.mjs:117"}, "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-b720aea5c87466f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-site-settings.mjs:174", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-site-settings.mjs:174"}, "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-d68a08a3085c1253", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-computing-solution-website-copy.mjs:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-computing-solution-website-copy.mjs:129"}, "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-4b3197dfbdf3ee12", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-subcategories.mjs:654", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-subcategories.mjs:654"}, "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-5361ac50d30feb03", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-solution-category-lang.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-solution-category-lang.mjs:40"}, "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-b7162d0d0d24764c", "name": "Legacy-named symbol `extracted_v1` in scripts/generate-research-coverage-report.mjs:207", "shortDescription": {"text": "Legacy-named symbol `extracted_v1` in scripts/generate-research-coverage-report.mjs:207"}, "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-b9ddb7f2f1d1efb0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-about-us.mjs:219", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-about-us.mjs:219"}, "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-7773d9e206256b09", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/quarantine-container-platform-review-subcategories.mjs:101", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/quarantine-container-platform-review-subcategories.mjs:101"}, "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-1ca808563b610d9b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-zh-to-en.mjs:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-zh-to-en.mjs:76"}, "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-baf78170b949d408", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-subcategories.mjs:521", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-subcategories.mjs:521"}, "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-eb4864931a1bbf18", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-existing-zh-patches.mjs:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-existing-zh-patches.mjs:89"}, "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-03ac08f2f1f0cecd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-module-cleanup.mjs:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-module-cleanup.mjs:126"}, "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-78b054231c1c0276", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-product-subcategory-slugs.mjs:134", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-product-subcategory-slugs.mjs:134"}, "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-19527ccd30448aae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-zh-sanity-write.mjs:127", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-zh-sanity-write.mjs:127"}, "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-cb709f5ab81a53d3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-patch.mjs:119", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-patch.mjs:119"}, "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-31651cf4050c4bf5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-risk-copy.mjs:145", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-risk-copy.mjs:145"}, "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-f7b9e644a4d90470", "name": "Commented-code block (6 lines) in scripts/probe-bundle-analyzer.mjs:7", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/probe-bundle-analyzer.mjs:7"}, "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-728df16153383f0e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-taxonomy-master.mjs:167", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-taxonomy-master.mjs:167"}, "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-cc9d0a98a0f723e5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-closure.mjs:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-closure.mjs:126"}, "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-4f69f6c1c62270f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-crypto-solution-scenario-copy.mjs:158", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-crypto-solution-scenario-copy.mjs:158"}, "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-0ae8da0092898e8a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-english-test-content.mjs:102", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-english-test-content.mjs:102"}, "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-e963ba88f1d6d14d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/optimize-crypto-solution-images.mjs:233", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/optimize-crypto-solution-images.mjs:233"}, "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-b9ed20cbcb2729d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix-partner-zh.mjs:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix-partner-zh.mjs:73"}, "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-a4b9422e7e5c2721", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-publishing-field-patches.mjs:218", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-publishing-field-patches.mjs:218"}, "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-a1e041d86fb5f5a7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-product-category-unknown-fields.mjs:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-product-category-unknown-fields.mjs:75"}, "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-9e627da6d070a405", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-solution-intake-workbench.mjs:258", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-solution-intake-workbench.mjs:258"}, "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-ea3d6aceb69b3c18", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-unused-product-categories.mjs:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-unused-product-categories.mjs:69"}, "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-fc5d14f268198853", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-automation-mvp.mjs:454", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-automation-mvp.mjs:454"}, "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-3a19f3aaddacfcf2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-localization-workbench.mjs:947", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-localization-workbench.mjs:947"}, "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-cf09538aff6681df", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-solution-locales.mjs:971", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-solution-locales.mjs:971"}, "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-25b4db637a21c409", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-locales-to-en.mjs:77", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-locales-to-en.mjs:77"}, "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-eca83a393d36b253", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-site-contact-settings.mjs:90", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-site-contact-settings.mjs:90"}, "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-a8ad5422d61b57e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-publishing-field-patches.mjs:186", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-publishing-field-patches.mjs:186"}, "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-b48abf09f6510f31", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-about-certifications-to-library.mjs:150", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-about-certifications-to-library.mjs:150"}, "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-c5aa198f5f6f65bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-backend-settings.mjs:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-backend-settings.mjs:106"}, "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-be0c081a937f657f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenarios.mjs:272", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenarios.mjs:272"}, "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-ff16e868d635b320", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-quarantined-subcategories.mjs:114", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-quarantined-subcategories.mjs:114"}, "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-a487ae07de746e87", "name": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-gaps-report.mjs:80", "shortDescription": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-gaps-report.mjs:80"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6bcb684c7bc0ea37", "name": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-schema-map-report.mjs:26", "shortDescription": {"text": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-schema-map-report.mjs: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-12e2cf7a11261f36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-crypto-solution-all-locales.mjs:754", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-crypto-solution-all-locales.mjs:754"}, "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-50f1d925aed02452", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-framework.mjs:172", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-framework.mjs:172"}, "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-aa780e9996580f9e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-content.mjs:237", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-content.mjs:237"}, "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-fbfa7fc65f480eac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-categories.mjs:288", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-categories.mjs:288"}, "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-47bf4666673d34bb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-de-ar-activation.mjs:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-de-ar-activation.mjs:94"}, "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-c4cde88dd48ffc4e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-application-taxonomy-locales.mjs:708", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-application-taxonomy-locales.mjs:708"}, "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-de0c5cce955e61c1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-about-certifications-zh.mjs:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-about-certifications-zh.mjs:92"}, "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-2d1bfbc13148ba92", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-taxonomy-normalization.mjs:501", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-taxonomy-normalization.mjs:501"}, "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-4932b806c718cca4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-category-structure.mjs:140", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-category-structure.mjs:140"}, "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-c8f667574e64c797", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-nari-logo-candidate.mjs:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-nari-logo-candidate.mjs:75"}, "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-7465d17f429d3e36", "name": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-public-ready-claims.mjs:76", "shortDescription": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-public-ready-claims.mjs:76"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9c8d50bdfe30af5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-category-multilingual-baseline.mjs:523", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-category-multilingual-baseline.mjs:523"}, "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-fbc3ad8f09ce4272", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-categories.mjs:352", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-categories.mjs:352"}, "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-78b2953bea8691ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-contact-foundation.mjs:165", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-contact-foundation.mjs:165"}, "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-5b6b483fa4daa045", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-floating-contact-locales-to-en.mjs:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-floating-contact-locales-to-en.mjs:86"}, "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-8beca405f494ae5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-contact-foundation-test-content.mjs:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-contact-foundation-test-content.mjs:154"}, "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-b21dea23bde69c72", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apply-case-study-closure.mjs:133", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apply-case-study-closure.mjs:133"}, "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-de7bb7da9ad3d769", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-taxonomy.mjs:288", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-taxonomy.mjs:288"}, "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-38de69ce8d273728", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-fire-security-taxonomy.mjs:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-fire-security-taxonomy.mjs:126"}, "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-8244bdfbff49af43", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-industry-taxonomy.mjs:281", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-industry-taxonomy.mjs:281"}, "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-527c2f46e4b18e24", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/upload-solution-category-cover-images.mjs:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/upload-solution-category-cover-images.mjs:116"}, "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-f3b7d00d9f4d5a53", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-feature-localization.mjs:195", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-feature-localization.mjs:195"}, "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-02a0005b58c8b955", "name": "Commented-code block (8 lines) in scripts/backfill-business-line.mjs:5", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/backfill-business-line.mjs:5"}, "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-7b0e48b82e28f903", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-business-line.mjs:172", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-business-line.mjs:172"}, "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-1d104bd450709021", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-operational-state.mjs:123", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-operational-state.mjs:123"}, "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-2e6b126f6e760ac1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-draft-hygiene.mjs:174", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-draft-hygiene.mjs:174"}, "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-8eaa82929cb9ae9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenario-library.mjs:420", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenario-library.mjs:420"}, "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-7f363aaa99030434", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-seo.mjs:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-seo.mjs:98"}, "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-5b4267f7785bb0ab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-existing-zh-patches.mjs:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-existing-zh-patches.mjs:88"}, "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-73730d79a41b5ede", "name": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-confirmation-queue.mjs:114", "shortDescription": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-confirmation-queue.mjs:114"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9af6ed9fbd9e2037", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-categories.mjs:319", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-categories.mjs:319"}, "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-9da4f8e129f515db", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-domains.mjs:206", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-domains.mjs:206"}, "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-0bf6f21a1224d0ee", "name": "Commented-code block (9 lines) in scripts/migrate-partners.mjs:5", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/migrate-partners.mjs:5"}, "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-ada90014b638ebbc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-partners.mjs:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-partners.mjs:73"}, "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-e2104d23de95b915", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-container-platform-subcategory-names.mjs:164", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-container-platform-subcategory-names.mjs:164"}, "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-b47c31a6d7fd2108", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-certification-locales.mjs:369", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-certification-locales.mjs:369"}, "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-4c63a7fcf256ad8c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-support-subcategories.mjs:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-support-subcategories.mjs:106"}, "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-b4363e1198100c83", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-test-products.mjs:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-test-products.mjs:87"}, "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-c937b251dfe601f9", "name": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-evidence-registers.mjs:54", "shortDescription": {"text": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-evidence-registers.mjs:54"}, "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-123f5eb97f5936a4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-footer-nav.mjs:344", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-footer-nav.mjs:344"}, "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-addcee0072d8e863", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/repair-case-study-product-loop.mjs:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/repair-case-study-product-loop.mjs:88"}, "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-0b9d5b352936ebfa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-backend.mjs:155", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-backend.mjs:155"}, "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-46a9f2b792cd2652", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-backend-copy.mjs:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-backend-copy.mjs:115"}, "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-a71ca4aba6f4b57c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-about-us-seo-advanced.mjs:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-about-us-seo-advanced.mjs:64"}, "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-9b8db33f977a191c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-product-intake-workbench.mjs:333", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-product-intake-workbench.mjs:333"}, "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-01ccedf1adaf3a90", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-backend-settings.mjs:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-backend-settings.mjs:92"}, "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-9d845eb394bff992", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/localize-crypto-solution-hero-and-architecture.mjs:199", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/localize-crypto-solution-hero-and-architecture.mjs:199"}, "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-f3833042da3b46e6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-out-of-framework-product-categories.mjs:84", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-out-of-framework-product-categories.mjs:84"}, "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-938396fbf21ee70b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-electrical-system-taxonomy.mjs:143", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-electrical-system-taxonomy.mjs:143"}, "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-4f522acb3626d8f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rename-bad-ids.mjs:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rename-bad-ids.mjs:50"}, "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-275d7dbce454c3cd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-cover-alt.mjs:90", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-cover-alt.mjs:90"}, "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-64ea998a171c8fd9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-quality-patch.mjs:206", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-quality-patch.mjs:206"}, "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-fa0ded2c9f71eb15", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-backend-ops-fields.mjs:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-backend-ops-fields.mjs:99"}, "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-96779a78314e5c9e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/standardize-feature-icons.mjs:271", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/standardize-feature-icons.mjs:271"}, "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-12da569d834c5ca4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-certification-unknown-fields.mjs:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-certification-unknown-fields.mjs:64"}, "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-86855187dbe5d95d", "name": "Commented-code block (5 lines) in src/sanity/client.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/sanity/client.ts:7"}, "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-57cf0c0d563ac6c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/webhook-handler.ts:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/webhook-handler.ts:11"}, "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-7a61bda2323942a3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/jobs.ts:1759", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/jobs.ts:1759"}, "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-e72fc80191d5d448", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/support.ts:854", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/support.ts:854"}, "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-a96848cc013518c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/quickContact.ts:131", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/quickContact.ts:131"}, "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-8aa61b1448cbe4b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/site.ts:1669", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/site.ts:1669"}, "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-7334ed43c3687404", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/solutions.ts:957", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/solutions.ts:957"}, "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-0748c403e3293c22", "name": "Commented-code block (9 lines) in src/app/layout.tsx:7", "shortDescription": {"text": "Commented-code block (9 lines) in src/app/layout.tsx:7"}, "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-bf5a4a3937a7a5a2", "name": "Commented-code block (7 lines) in src/app/sitemap.ts:22", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/sitemap.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1328a73e4479ef6d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/query-comparison/route.ts:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/query-comparison/route.ts:49"}, "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-f09c5ddcbefd6bae", "name": "Commented-code block (7 lines) in src/app/api/sentry-test/route.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/api/sentry-test/route.ts:10"}, "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-6ecb40f75629c58f", "name": "Commented-code block (5 lines) in src/app/api/csp-report/route.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/csp-report/route.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-b15dce09fe3877ed", "name": "Commented-code block (6 lines) in src/app/api/web-vitals-alert/route.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/api/web-vitals-alert/route.ts:15"}, "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-d8e268f9e6ac07d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/debug-page/route.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/debug-page/route.ts:28"}, "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-7f9f2b9a18f9c709", "name": "Commented-code block (11 lines) in src/app/[locale]/about/CorporateCultureClient.tsx:4", "shortDescription": {"text": "Commented-code block (11 lines) in src/app/[locale]/about/CorporateCultureClient.tsx: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-30b37df4a5bdf621", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteCases.ts:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteCases.ts:126"}, "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-a5dc8e5707361450", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteNews.ts:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteNews.ts:108"}, "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-94299325be2b980a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteProducts.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteProducts.ts:118"}, "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-2dc333c09cc5a13a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/ProductFilter.tsx:190", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/ProductFilter.tsx:190"}, "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-eb10ffaf4dbee06a", "name": "Commented-code block (5 lines) in src/components/ProductPageEngagementTracker.tsx:10", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ProductPageEngagementTracker.tsx:10"}, "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-fd27b3db57021d07", "name": "Commented-code block (5 lines) in src/components/ClientLayoutWrapper.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ClientLayoutWrapper.tsx: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-2930b08eb6b2ec74", "name": "Commented-code block (8 lines) in src/components/WebVitalsReporter.tsx:10", "shortDescription": {"text": "Commented-code block (8 lines) in src/components/WebVitalsReporter.tsx:10"}, "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-3d2e7c98ed806bfe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/admin/ETENZISRAdmin.tsx:234", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/admin/ETENZISRAdmin.tsx:234"}, "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-c70fc3923f9587f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/support/DownloadCard.tsx:187", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/support/DownloadCard.tsx:187"}, "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-3bdcf9df16d170a3", "name": "Commented-code block (6 lines) in src/components/seo/StructuredData.tsx:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/seo/StructuredData.tsx: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-99221caca38491be", "name": "Legacy-named symbol `generateStructuredDataForPageOld` in src/components/seo/SEOHead.tsx:44", "shortDescription": {"text": "Legacy-named symbol `generateStructuredDataForPageOld` in src/components/seo/SEOHead.tsx:44"}, "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-42cf126bbffc3e6e", "name": "Commented-code block (6 lines) in src/components/seo/internal/generators/JobDataGenerator.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/seo/internal/generators/JobDataGenerator.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f370be7e38d1cfb2", "name": "Commented-code block (7 lines) in src/components/FloatingContact/index.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/FloatingContact/index.tsx: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-b0b5bf16cd7f551c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/FloatingContact/hooks/index.ts:175", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/FloatingContact/hooks/index.ts:175"}, "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-51c305d853c0bc2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/Search/SearchModal.tsx:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/Search/SearchModal.tsx:120"}, "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-e9d52f3770e15e1e", "name": "Commented-code block (8 lines) in src/components/animations/HeroSection.tsx:4", "shortDescription": {"text": "Commented-code block (8 lines) in src/components/animations/HeroSection.tsx: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-a82cd99282e88749", "name": "Commented-code block (5 lines) in src/components/fallback/FallbackShell.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/fallback/FallbackShell.tsx: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-144fbd7aa4ee38e3", "name": "Commented-code block (7 lines) in src/lib/serverContentAggregator.ts:362", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/serverContentAggregator.ts:362"}, "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-819b7d22fc576673", "name": "Legacy-named symbol `daysOld` in src/lib/contentAggregator.ts:220", "shortDescription": {"text": "Legacy-named symbol `daysOld` in src/lib/contentAggregator.ts:220"}, "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-30f58df2dea04faa", "name": "Legacy-named symbol `daysOld` in src/lib/debugContentAggregator.ts:349", "shortDescription": {"text": "Legacy-named symbol `daysOld` in src/lib/debugContentAggregator.ts:349"}, "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-491afdce5c50c17d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hubspot.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hubspot.ts:73"}, "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-b706c80a855a7fe6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/sanity/getCookieConfig.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/sanity/getCookieConfig.ts:28"}, "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-ba366d9d2fc2b38d", "name": "Commented-code block (8 lines) in src/lib/theme/provider.tsx:182", "shortDescription": {"text": "Commented-code block (8 lines) in src/lib/theme/provider.tsx:182"}, "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-f61486ea86dd26c5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/content-media.mjs:978", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/content-media.mjs:978"}, "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-95dabe461b0565e3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/solution-write-draft.mjs:503", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/solution-write-draft.mjs:503"}, "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-9e4a20ff067a3388", "name": "Commented-code block (5 lines) in e2e/cookie-consent.spec.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/cookie-consent.spec.ts: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-4b9c61fca9ce7828", "name": "Commented-code block (5 lines) in e2e/search-modal.spec.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/search-modal.spec.ts: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-ca56c3eb643b1cc3", "name": "Commented-code block (5 lines) in e2e/support-hub.spec.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/support-hub.spec.ts: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-beb403ee56a784ea", "name": "Commented-code block (9 lines) in e2e/security-headers.spec.ts:9", "shortDescription": {"text": "Commented-code block (9 lines) in e2e/security-headers.spec.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-9f027c18327fb701", "name": "Commented-code block (5 lines) in e2e/faq.spec.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/faq.spec.ts: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-e6e8bffc0c422114", "name": "Commented-code block (11 lines) in e2e/csp-enforce-mode.spec.ts:8", "shortDescription": {"text": "Commented-code block (11 lines) in e2e/csp-enforce-mode.spec.ts: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-befdf5a5cb369234", "name": "Commented-code block (7 lines) in e2e/api-search.spec.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in e2e/api-search.spec.ts: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-2dacfc9e560e12d0", "name": "Commented-code block (5 lines) in e2e/business-event-file-download.spec.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in e2e/business-event-file-download.spec.ts: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-ef22fd58bfde6f76", "name": "51 env vars used in code but missing from .env.example", "shortDescription": {"text": "51 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ANALYZE`, `BASE_URL`, `CI`, `CONTENT_AGGREGATOR_DEBUG`, `CONTENT_PREVIEW_BASE_URL`, `DEBUG`, `E2E_PRODUCT_PATH`, `ETENZ_BASE_URL` + 43 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/25386"}, "properties": {"repository": "dido880/etenz-website", "repoUrl": "https://github.com/dido880/etenz-website", "branch": "main"}, "results": [{"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-372d180cf4f5fcb1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 check-unused-queries.js:180"}, "properties": {"repobilityId": "9e388b608508581f", "scanner": "scanner-primary", "fingerprint": "372d180cf4f5fcb1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4cb9dd045590139f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check-unused-queries.js:98"}, "properties": {"repobilityId": "c4112e97b1240174", "scanner": "scanner-primary", "fingerprint": "4cb9dd045590139f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d970ba1a0ef5e7e", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/global-error.tsx:30"}, "properties": {"repobilityId": "45196619b29b7209", "scanner": "scanner-primary", "fingerprint": "2d970ba1a0ef5e7e", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ef139963beefc06e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/layout.tsx:205"}, "properties": {"repobilityId": "e6f1c20565ac23de", "scanner": "scanner-primary", "fingerprint": "ef139963beefc06e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4867e8052adfa9cb", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:76"}, "properties": {"repobilityId": "0d72350965068f5b", "scanner": "scanner-primary", "fingerprint": "4867e8052adfa9cb", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b3e2b96b824c93f6", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/studio/layout.tsx:22"}, "properties": {"repobilityId": "079456b90cb87c55", "scanner": "scanner-primary", "fingerprint": "b3e2b96b824c93f6", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a856a486c9dc15bf", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/jobs/applications/route.ts:83"}, "properties": {"repobilityId": "563e2bf77e9b96ea", "scanner": "scanner-primary", "fingerprint": "a856a486c9dc15bf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2c41671d1b24b6b1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/downloads/route.ts:132"}, "properties": {"repobilityId": "99ba18bbfd65383f", "scanner": "scanner-primary", "fingerprint": "2c41671d1b24b6b1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5609697a6e71d9f2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/app/api/support/faq/route.ts:153"}, "properties": {"repobilityId": "80605de1b8bee5ef", "scanner": "scanner-primary", "fingerprint": "5609697a6e71d9f2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7988caeb1360a823", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/CategoryFilterBar.tsx:137"}, "properties": {"repobilityId": "81c43006e929d27a", "scanner": "scanner-primary", "fingerprint": "7988caeb1360a823", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ac067aefa50a5e6b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/components/ServerLayoutWrapper.tsx:102"}, "properties": {"repobilityId": "cde12a077a4f6ea7", "scanner": "scanner-primary", "fingerprint": "ac067aefa50a5e6b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a0d103bfa66a53b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/StructuredData.tsx:66"}, "properties": {"repobilityId": "cae5f701972a46de", "scanner": "scanner-primary", "fingerprint": "0a0d103bfa66a53b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e466b6548b7d8358", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/components/seo/SEOHead.tsx:122"}, "properties": {"repobilityId": "bbfd7bf8d93c6414", "scanner": "scanner-primary", "fingerprint": "e466b6548b7d8358", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7c51624028cdc077", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/fallback/FallbackShell.tsx:274"}, "properties": {"repobilityId": "3d2e45b6b136138d", "scanner": "scanner-primary", "fingerprint": "7c51624028cdc077", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-9a00df30710dbc85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/serverContentAggregator.ts:24"}, "properties": {"repobilityId": "df746ca720270f54", "scanner": "scanner-primary", "fingerprint": "9a00df30710dbc85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5bf1b6ddc61ae0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/search.ts:69"}, "properties": {"repobilityId": "db62604bc3c80cde", "scanner": "scanner-primary", "fingerprint": "d5bf1b6ddc61ae0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45d5ad89c145ef62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/debugContentAggregator.ts:103"}, "properties": {"repobilityId": "26cd182057957b94", "scanner": "scanner-primary", "fingerprint": "45d5ad89c145ef62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a49c8aed518516f1", "level": "warning", "message": {"text": "Privileged port 3 in use"}, "properties": {"repobilityId": "261b7b1c6a18d412", "scanner": "scanner-primary", "fingerprint": "a49c8aed518516f1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-coverage.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75853f8eeb7c5787", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "75853f8eeb7c5787", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-coverage.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09742be67b65f703", "level": "warning", "message": {"text": "Privileged port 4 in use"}, "properties": {"repobilityId": "1594bfeff919296e", "scanner": "scanner-primary", "fingerprint": "09742be67b65f703", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sanity-ttfb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94f31c1a6644330e", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "94f31c1a6644330e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sanity-ttfb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e13cad974d24a95", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "0e13cad974d24a95", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sanity-ttfb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-877462963796b6e7", "level": "warning", "message": {"text": "Privileged port 2 in use"}, "properties": {"repobilityId": "755b04866010e843", "scanner": "scanner-primary", "fingerprint": "877462963796b6e7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ops-status.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-241daa4a5c03b66b", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "241daa4a5c03b66b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ops-status.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dfee00021f024af1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/probe-business-events.mjs:33"}, "properties": {"repobilityId": "5c1772c4ee4dd7ce", "scanner": "scanner-primary", "fingerprint": "dfee00021f024af1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/probe-business-events.mjs"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-6fe4d61822647bf8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-localization-workbench.mjs:3"}, "properties": {"repobilityId": "345b312eadde70ba", "scanner": "scanner-primary", "fingerprint": "6fe4d61822647bf8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/test-content-localization-workbench.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-19e81c97e4ab00bf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-release-cli-guards.mjs:3"}, "properties": {"repobilityId": "3626d804f625e9cd", "scanner": "scanner-primary", "fingerprint": "19e81c97e4ab00bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/test-content-release-cli-guards.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-11900da29c2239a4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/probe-csp-violations.mjs:40"}, "properties": {"repobilityId": "797a12ace46eef68", "scanner": "scanner-primary", "fingerprint": "11900da29c2239a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/probe-csp-violations.mjs"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-a23568bd3f7e10e6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/verify-deploy-smoke.mjs:1"}, "properties": {"repobilityId": "1eb7ecbe0171e0c3", "scanner": "scanner-primary", "fingerprint": "a23568bd3f7e10e6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify-deploy-smoke.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b728a57f4c7732c0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/with-canonical-cwd.mjs:26"}, "properties": {"repobilityId": "5983f9615c5bc295", "scanner": "scanner-primary", "fingerprint": "b728a57f4c7732c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/with-canonical-cwd.mjs"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-f069bbfdef020a3f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/probe-bundle-analyzer.mjs:16"}, "properties": {"repobilityId": "25747083e8969fbd", "scanner": "scanner-primary", "fingerprint": "f069bbfdef020a3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/probe-bundle-analyzer.mjs"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-d3fb39cab118b6e0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/analyze.mjs:20"}, "properties": {"repobilityId": "f5c370a9d980b726", "scanner": "scanner-primary", "fingerprint": "d3fb39cab118b6e0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/analyze.mjs"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-ac3472521a43ceac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/content-automation-publisher.mjs:2"}, "properties": {"repobilityId": "1cb4f8266a268298", "scanner": "scanner-primary", "fingerprint": "ac3472521a43ceac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/content-automation-publisher.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-82aacdc780c5eb39", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/preflight-content-release.mjs:2"}, "properties": {"repobilityId": "dabf54cc4155ab01", "scanner": "scanner-primary", "fingerprint": "82aacdc780c5eb39", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/preflight-content-release.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-316c529f1f5ec160", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check-text-encoding.mjs:1"}, "properties": {"repobilityId": "72bfade7663d1247", "scanner": "scanner-primary", "fingerprint": "316c529f1f5ec160", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-text-encoding.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fa931400f1c41303", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/verify-content-release-workflow.mjs:2"}, "properties": {"repobilityId": "b0e11f32c9f2d0e8", "scanner": "scanner-primary", "fingerprint": "fa931400f1c41303", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify-content-release-workflow.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-8d326677d948afde", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/ops-status.mjs:3"}, "properties": {"repobilityId": "0878cd33eea016e4", "scanner": "scanner-primary", "fingerprint": "8d326677d948afde", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ops-status.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-81a83fef749add70", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/test-content-automation-publisher.mjs:3"}, "properties": {"repobilityId": "1869fc468be6ea0b", "scanner": "scanner-primary", "fingerprint": "81a83fef749add70", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/test-content-automation-publisher.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-22a07994b177b170", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/global-error.tsx:30"}, "properties": {"repobilityId": "60007e2e99ae93bb", "scanner": "scanner-primary", "fingerprint": "22a07994b177b170", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/global-error.tsx"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-5acd6cdd2aa4be36", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:76"}, "properties": {"repobilityId": "0bca654fa2052eb0", "scanner": "scanner-primary", "fingerprint": "5acd6cdd2aa4be36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/layout.tsx"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-1915358639f2e368", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/studio/layout.tsx:22"}, "properties": {"repobilityId": "e637b6187160f91e", "scanner": "scanner-primary", "fingerprint": "1915358639f2e368", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/studio/layout.tsx"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-67d9125f1011c821", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/news/route.ts:223"}, "properties": {"repobilityId": "3953c197bb86285e", "scanner": "scanner-primary", "fingerprint": "67d9125f1011c821", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/api/news/route.ts"}, "region": {"startLine": 223}}}]}, {"ruleId": "scanner-59aab4159c8c7838", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/products/route.ts:361"}, "properties": {"repobilityId": "f9d6c8e1de72558a", "scanner": "scanner-primary", "fingerprint": "59aab4159c8c7838", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/api/products/route.ts"}, "region": {"startLine": 361}}}]}, {"ruleId": "scanner-00d4dfa5a23c0b6e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/products/category/[categorySlug]/route.ts:304"}, "properties": {"repobilityId": "bc384ffa3f6ee49b", "scanner": "scanner-primary", "fingerprint": "00d4dfa5a23c0b6e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/api/products/category/[categorySlug]/route.ts"}, "region": {"startLine": 304}}}]}, {"ruleId": "scanner-e167728ac754cdd9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/app/api/cases/route.ts:163"}, "properties": {"repobilityId": "63ef902a416f1a76", "scanner": "scanner-primary", "fingerprint": "e167728ac754cdd9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/api/cases/route.ts"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-389a85c9e130e512", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/app/admin/live-chat/login/page.tsx:59"}, "properties": {"repobilityId": "9c3afd646d6bd108", "scanner": "scanner-primary", "fingerprint": "389a85c9e130e512", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/admin/live-chat/login/page.tsx"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-4f153492b5b15185", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/CategoryFilterBar.tsx:137"}, "properties": {"repobilityId": "aa6554fa1ad5efeb", "scanner": "scanner-primary", "fingerprint": "4f153492b5b15185", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/CategoryFilterBar.tsx"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-8c1e912d67ad4fb7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/admin/ETENZISRAdmin.tsx:380"}, "properties": {"repobilityId": "9c5f5fa4aa2694a7", "scanner": "scanner-primary", "fingerprint": "8c1e912d67ad4fb7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/admin/ETENZISRAdmin.tsx"}, "region": {"startLine": 380}}}]}, {"ruleId": "scanner-126b511d5f34ac3d", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/StructuredData.tsx:66"}, "properties": {"repobilityId": "7d3c32f54bbf1523", "scanner": "scanner-primary", "fingerprint": "126b511d5f34ac3d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/seo/StructuredData.tsx"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-56de4e5a6c49f7f9", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/fallback/FallbackShell.tsx:274"}, "properties": {"repobilityId": "d603659ad70a0484", "scanner": "scanner-primary", "fingerprint": "56de4e5a6c49f7f9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/fallback/FallbackShell.tsx"}, "region": {"startLine": 274}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-033907f216668c88", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0803ed9cdf8b233f", "scanner": "scanner-primary", "fingerprint": "033907f216668c88", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-coverage.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-033907f216668c88", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "92d383519b501233", "scanner": "scanner-primary", "fingerprint": "033907f216668c88", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-coverage.yml"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-c7764f1a54d16054", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4f317bdf1b89f4e1", "scanner": "scanner-primary", "fingerprint": "c7764f1a54d16054", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sanity-ttfb.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-c7764f1a54d16054", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ac042a7d276231d8", "scanner": "scanner-primary", "fingerprint": "c7764f1a54d16054", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sanity-ttfb.yml"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-450fdef3db234b09", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d74d2a29d820d8e5", "scanner": "scanner-primary", "fingerprint": "450fdef3db234b09", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/csp-violations.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-450fdef3db234b09", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2dfd70998ebde032", "scanner": "scanner-primary", "fingerprint": "450fdef3db234b09", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/csp-violations.yml"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "54c8f1b47dd62535", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd7f3c1c34d83159", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd7f3c1c34d83159", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-3708985a9548ca3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b233d8722620d3a", "scanner": "scanner-primary", "fingerprint": "3708985a9548ca3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ops-status.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-3708985a9548ca3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f8e0789d40f516ce", "scanner": "scanner-primary", "fingerprint": "3708985a9548ca3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ops-status.yml"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e2702fdbb804d455", "level": "note", "message": {"text": "Very large file: sanity.types.ts (3793 lines)"}, "properties": {"repobilityId": "b2f87bce4fe15f00", "scanner": "scanner-primary", "fingerprint": "e2702fdbb804d455", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac9cdf94aa1129df", "level": "note", "message": {"text": "Very large file: scripts/validate-research-knowledge-base.mjs (1932 lines)"}, "properties": {"repobilityId": "ecb3bbe045a05566", "scanner": "scanner-primary", "fingerprint": "ac9cdf94aa1129df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48a3c8adb5ea2a30", "level": "note", "message": {"text": "Very large file: scripts/complete-synchronous-condenser-product-locales.mjs (1073 lines)"}, "properties": {"repobilityId": "8daf86c49bb0f79c", "scanner": "scanner-primary", "fingerprint": "48a3c8adb5ea2a30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0a749dbf82c50c5c", "level": "note", "message": {"text": "Very large file: scripts/complete-synchronous-condenser-solution-locales.mjs (1303 lines)"}, "properties": {"repobilityId": "d2bfdbd98da3a719", "scanner": "scanner-primary", "fingerprint": "0a749dbf82c50c5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6410a0c2bc603808", "level": "note", "message": {"text": "Very large file: scripts/create-control-ehouse-langs.mjs (1040 lines)"}, "properties": {"repobilityId": "942bc453bf1e711b", "scanner": "scanner-primary", "fingerprint": "6410a0c2bc603808", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d6777ba6de07172c", "level": "note", "message": {"text": "Very large file: src/sanity/queries/jobs.ts (2161 lines)"}, "properties": {"repobilityId": "c44ebb5cd3d987ef", "scanner": "scanner-primary", "fingerprint": "d6777ba6de07172c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-170270e6fe3fa92e", "level": "note", "message": {"text": "Very large file: src/components/Header.tsx (1783 lines)"}, "properties": {"repobilityId": "221c179d096a822d", "scanner": "scanner-primary", "fingerprint": "170270e6fe3fa92e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c274f7edc0e2f1e", "level": "note", "message": {"text": "Very large file: content-automation/scripts/content-media.mjs (1903 lines)"}, "properties": {"repobilityId": "9bea0470d97541e1", "scanner": "scanner-primary", "fingerprint": "0c274f7edc0e2f1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "59da7caf5e9b9b3a", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "16d62d781b587652", "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": "cdc15dea70fdc18a", "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": "d4e55a174fa18d2f", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "a08bef7f419780b0", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-540f88f2b3ce5181", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/skills/etenz-media-operations/SKILL.md"}, "properties": {"repobilityId": "88f3ae7403c80f38", "scanner": "scanner-primary", "fingerprint": "540f88f2b3ce5181", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/skills/etenz-media-operations/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-020ea84a27b2be5d", "level": "none", "message": {"text": "Commented-code block (8 lines) in next.config.js:114"}, "properties": {"repobilityId": "fc5607048ee32b81", "scanner": "scanner-primary", "fingerprint": "020ea84a27b2be5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1820f091da966007", "level": "none", "message": {"text": "Commented-code block (5 lines) in playwright.config.ts:54"}, "properties": {"repobilityId": "05f3a9b1bb48d409", "scanner": "scanner-primary", "fingerprint": "1820f091da966007", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acf9e66a9807293c", "level": "none", "message": {"text": "Commented-code block (12 lines) in instrumentation-client.ts:30"}, "properties": {"repobilityId": "c01739d28ea99684", "scanner": "scanner-primary", "fingerprint": "acf9e66a9807293c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22d26714d5a32b3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 sanity/scripts/fix-orphan-translations.mjs:68"}, "properties": {"repobilityId": "45b266c549df80ca", "scanner": "scanner-primary", "fingerprint": "22d26714d5a32b3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-876b2935a8dff1f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields-all-locales.mjs:631"}, "properties": {"repobilityId": "44e824ae355f833b", "scanner": "scanner-primary", "fingerprint": "876b2935a8dff1f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-443b00dd99764f71", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-taxonomy-brand-names.mjs:118"}, "properties": {"repobilityId": "b5c64f968a560d32", "scanner": "scanner-primary", "fingerprint": "443b00dd99764f71", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d1986bdd88511755", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-editorial-quality.mjs:132"}, "properties": {"repobilityId": "33e31e349e9fcb3b", "scanner": "scanner-primary", "fingerprint": "d1986bdd88511755", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6184ccabf6f1ccef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-taxonomy-quality.mjs:74"}, "properties": {"repobilityId": "a6d5e2cc226b1b95", "scanner": "scanner-primary", "fingerprint": "6184ccabf6f1ccef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-769f3bb7f5150365", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-subcategories.mjs:152"}, "properties": {"repobilityId": "3de375aa1b4ae8b1", "scanner": "scanner-primary", "fingerprint": "769f3bb7f5150365", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f97172c66bba9fef", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/probe-business-events.mjs:2"}, "properties": {"repobilityId": "255469eec53e02c4", "scanner": "scanner-primary", "fingerprint": "f97172c66bba9fef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7eb0da22869c027", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-categories.mjs:485"}, "properties": {"repobilityId": "a85caf22fc44f1a7", "scanner": "scanner-primary", "fingerprint": "f7eb0da22869c027", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-26425715bf6c459d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategories-en.mjs:313"}, "properties": {"repobilityId": "9a054dd9e95f72ae", "scanner": "scanner-primary", "fingerprint": "26425715bf6c459d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-663c9fee9b320ac9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-content-readiness.mjs:371"}, "properties": {"repobilityId": "9f4ca2f558e07c7b", "scanner": "scanner-primary", "fingerprint": "663c9fee9b320ac9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a722d709d763113b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-thermal-management-taxonomy.mjs:127"}, "properties": {"repobilityId": "fd629f631b1d67a9", "scanner": "scanner-primary", "fingerprint": "a722d709d763113b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f26b9f9c7bb2f77e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-contact-nav-cleanup.mjs:154"}, "properties": {"repobilityId": "66a242704ef4b6cf", "scanner": "scanner-primary", "fingerprint": "f26b9f9c7bb2f77e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-618111c9342cebce", "level": "note", "message": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-product-brief-dry-run.mjs:353"}, "properties": {"repobilityId": "c5a37f916f3465d6", "scanner": "scanner-primary", "fingerprint": "618111c9342cebce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f555a9f3c3a08a8e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-icons.mjs:130"}, "properties": {"repobilityId": "5b692b0b732316b7", "scanner": "scanner-primary", "fingerprint": "f555a9f3c3a08a8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-662abfa52731c97f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-subcategories.mjs:125"}, "properties": {"repobilityId": "15dafa33ffd8c424", "scanner": "scanner-primary", "fingerprint": "662abfa52731c97f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b3148fb3d5f11383", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore-crypto-solution-detailed-fields.mjs:299"}, "properties": {"repobilityId": "10765832f502da90", "scanner": "scanner-primary", "fingerprint": "b3148fb3d5f11383", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af80b0ce0bd7713b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/probe-i18n-content-readiness.mjs:137"}, "properties": {"repobilityId": "33a11420f81edc26", "scanner": "scanner-primary", "fingerprint": "af80b0ce0bd7713b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-548b26d9b2aaf05a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-region-taxonomy.mjs:465"}, "properties": {"repobilityId": "a3a4485151d3be2d", "scanner": "scanner-primary", "fingerprint": "548b26d9b2aaf05a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6b90cf3784c118c5", "level": "note", "message": {"text": "Legacy-named symbol `not_public_copy` in scripts/validate-research-knowledge-base.mjs:166"}, "properties": {"repobilityId": "576d6f1be911410f", "scanner": "scanner-primary", "fingerprint": "6b90cf3784c118c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0206d8b3accc71af", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-active-solution-public-copy.mjs:326"}, "properties": {"repobilityId": "49257785df0e1fa2", "scanner": "scanner-primary", "fingerprint": "0206d8b3accc71af", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-05ab8a00a6a9a9e4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-descriptions.mjs:235"}, "properties": {"repobilityId": "1f520ecb1d4f3813", "scanner": "scanner-primary", "fingerprint": "05ab8a00a6a9a9e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-215d680a612f25fe", "level": "note", "message": {"text": "Legacy-named symbol `shouldDeactivateLegacy` in scripts/merge-solution-legacy-categories.mjs:186"}, "properties": {"repobilityId": "25988bf4ced8edcc", "scanner": "scanner-primary", "fingerprint": "215d680a612f25fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ed95d5dd46fb6b76", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/merge-solution-legacy-categories.mjs:116"}, "properties": {"repobilityId": "ef6618aa9d149640", "scanner": "scanner-primary", "fingerprint": "ed95d5dd46fb6b76", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5c91b22bbf2030a5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-subcategories.mjs:516"}, "properties": {"repobilityId": "d441303f5b80a21c", "scanner": "scanner-primary", "fingerprint": "5c91b22bbf2030a5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e012da1325218233", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-detail-multilingual-readiness.mjs:102"}, "properties": {"repobilityId": "dc03362925690984", "scanner": "scanner-primary", "fingerprint": "e012da1325218233", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1e6e170fbdc1795d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-english-certification-drafts.mjs:65"}, "properties": {"repobilityId": "47bb8646d212efea", "scanner": "scanner-primary", "fingerprint": "1e6e170fbdc1795d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-20a58f86c4e20e5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-container-platform-category.mjs:107"}, "properties": {"repobilityId": "e5519ddee12a699a", "scanner": "scanner-primary", "fingerprint": "20a58f86c4e20e5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd9191efd7c5b8d4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-translations.mjs:71"}, "properties": {"repobilityId": "abbd83c22864864b", "scanner": "scanner-primary", "fingerprint": "dd9191efd7c5b8d4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c9e60dcaddc54761", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-case-study-taxonomy-locales.mjs:672"}, "properties": {"repobilityId": "40560a4c9fed2202", "scanner": "scanner-primary", "fingerprint": "c9e60dcaddc54761", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8847ba419cae8043", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-crypto-solution-public-detail-readiness.mjs:338"}, "properties": {"repobilityId": "71865959f4f314b3", "scanner": "scanner-primary", "fingerprint": "8847ba419cae8043", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc343f7a1bc24894", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-composite-names.mjs:155"}, "properties": {"repobilityId": "163243c78e3d9504", "scanner": "scanner-primary", "fingerprint": "dc343f7a1bc24894", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06015be4839c4b71", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-product-anchors.mjs:231"}, "properties": {"repobilityId": "3e888d69bea698b0", "scanner": "scanner-primary", "fingerprint": "06015be4839c4b71", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ad328bb2b85c19f", "level": "note", "message": {"text": "Legacy-named symbol `extracted_v1` in scripts/generate-research-source-backlog-report.mjs:93"}, "properties": {"repobilityId": "ac9647f1e7ca22f9", "scanner": "scanner-primary", "fingerprint": "4ad328bb2b85c19f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6ed57b818561d87f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/probe-csp-violations.mjs:12"}, "properties": {"repobilityId": "f14a9b7f3ff54dd7", "scanner": "scanner-primary", "fingerprint": "6ed57b818561d87f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bd1014d101f4256", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-center-page-candidate.mjs:137"}, "properties": {"repobilityId": "2392e5878cd3883d", "scanner": "scanner-primary", "fingerprint": "9bd1014d101f4256", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-24f6798502e285d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-case-study-test-content.mjs:89"}, "properties": {"repobilityId": "ec980ecda32082c8", "scanner": "scanner-primary", "fingerprint": "24f6798502e285d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c80c73d20421eb9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-product-centered-cleanup.mjs:126"}, "properties": {"repobilityId": "3bd7dbc86c81e176", "scanner": "scanner-primary", "fingerprint": "c80c73d20421eb9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4075953183c4e026", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-case-study-taxonomy-visibility.mjs:80"}, "properties": {"repobilityId": "7c0b519a427cbabf", "scanner": "scanner-primary", "fingerprint": "4075953183c4e026", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e68e56e1c4d87ee5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-product-locales.mjs:829"}, "properties": {"repobilityId": "15e3b73af0ac3c3f", "scanner": "scanner-primary", "fingerprint": "e68e56e1c4d87ee5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d040d191a01042a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-conservative.mjs:107"}, "properties": {"repobilityId": "8c0445a5e59890ac", "scanner": "scanner-primary", "fingerprint": "9d040d191a01042a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0411757830210027", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-site-settings-es-fr.mjs:284"}, "properties": {"repobilityId": "af14a5d337180e47", "scanner": "scanner-primary", "fingerprint": "0411757830210027", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-891b326ebe68b772", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/seed-business-lines.mjs:7"}, "properties": {"repobilityId": "890aedde50b2ed4e", "scanner": "scanner-primary", "fingerprint": "891b326ebe68b772", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5a5b26355a62c17", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-business-lines.mjs:238"}, "properties": {"repobilityId": "0c42e1de9d3adebd", "scanner": "scanner-primary", "fingerprint": "c5a5b26355a62c17", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6ee1461114274dff", "level": "note", "message": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-page-outline-dry-run.mjs:92"}, "properties": {"repobilityId": "bda0f088b94e1404", "scanner": "scanner-primary", "fingerprint": "6ee1461114274dff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d0f115ba0b37f3ad", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-solution-legacy-categories.mjs:79"}, "properties": {"repobilityId": "28731a2ea050de22", "scanner": "scanner-primary", "fingerprint": "d0f115ba0b37f3ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82d8c993008c2106", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-container-platform-subcategory-copy.mjs:541"}, "properties": {"repobilityId": "67483ce6fd625d54", "scanner": "scanner-primary", "fingerprint": "82d8c993008c2106", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfa965c859621c9f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-scenarios.mjs:129"}, "properties": {"repobilityId": "2f948d5eb3160982", "scanner": "scanner-primary", "fingerprint": "dfa965c859621c9f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88248b7b0417a6b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-solution-zh-master-candidates.mjs:504"}, "properties": {"repobilityId": "7c72006d12c649a8", "scanner": "scanner-primary", "fingerprint": "88248b7b0417a6b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e455d00b86fd0c0a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/patch-ro-feature-icons.mjs:2"}, "properties": {"repobilityId": "31dcc4723d1d7066", "scanner": "scanner-primary", "fingerprint": "e455d00b86fd0c0a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06382ed20b66b157", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-ro-feature-icons.mjs:159"}, "properties": {"repobilityId": "4d6ccc6c940d6b30", "scanner": "scanner-primary", "fingerprint": "06382ed20b66b157", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3dbc3ac521e4fa84", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reassign-ggd-product-category.mjs:68"}, "properties": {"repobilityId": "15dff9c774d9f9c6", "scanner": "scanner-primary", "fingerprint": "3dbc3ac521e4fa84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-170fab14a68df239", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-site-settings-conservative.mjs:113"}, "properties": {"repobilityId": "664bd19a6f11987b", "scanner": "scanner-primary", "fingerprint": "170fab14a68df239", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88be02c7f164eefd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-timeline.mjs:236"}, "properties": {"repobilityId": "c2a5c3b62f4b9998", "scanner": "scanner-primary", "fingerprint": "88be02c7f164eefd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-798481cefc3ccabe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-scenario-locales.mjs:340"}, "properties": {"repobilityId": "9248cb6667136f1f", "scanner": "scanner-primary", "fingerprint": "798481cefc3ccabe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88b86050f69f5da2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-content-readiness.mjs:218"}, "properties": {"repobilityId": "1961356c392faf34", "scanner": "scanner-primary", "fingerprint": "88b86050f69f5da2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e2fa664a3198dbb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/activate-english-certifications.mjs:65"}, "properties": {"repobilityId": "dd9f9ef5cf2f51e6", "scanner": "scanner-primary", "fingerprint": "0e2fa664a3198dbb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c493c816fcf755a2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-settings.mjs:88"}, "properties": {"repobilityId": "be348d72d4ab8461", "scanner": "scanner-primary", "fingerprint": "c493c816fcf755a2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ca249af68206013c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-foundation.mjs:318"}, "properties": {"repobilityId": "46cc66f427df638c", "scanner": "scanner-primary", "fingerprint": "ca249af68206013c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8c881fdaf5b1513a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-chain-solution-quality.mjs:203"}, "properties": {"repobilityId": "b8ad58485643aef3", "scanner": "scanner-primary", "fingerprint": "8c881fdaf5b1513a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f202894551e9538d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-partners-locales-to-en.mjs:77"}, "properties": {"repobilityId": "3d4561cdc3c616ba", "scanner": "scanner-primary", "fingerprint": "f202894551e9538d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1da68f0cba9794ca", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-product-patch.mjs:117"}, "properties": {"repobilityId": "90c7ba17d29da7af", "scanner": "scanner-primary", "fingerprint": "1da68f0cba9794ca", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b720aea5c87466f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-site-settings.mjs:174"}, "properties": {"repobilityId": "d8eb744435a8c4c9", "scanner": "scanner-primary", "fingerprint": "b720aea5c87466f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d68a08a3085c1253", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-computing-solution-website-copy.mjs:129"}, "properties": {"repobilityId": "36b8efba00dfbffd", "scanner": "scanner-primary", "fingerprint": "d68a08a3085c1253", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4b3197dfbdf3ee12", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-electrical-system-subcategories.mjs:654"}, "properties": {"repobilityId": "93ce54ab8b071bef", "scanner": "scanner-primary", "fingerprint": "4b3197dfbdf3ee12", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5361ac50d30feb03", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-solution-category-lang.mjs:40"}, "properties": {"repobilityId": "7f7847dd112766dd", "scanner": "scanner-primary", "fingerprint": "5361ac50d30feb03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7162d0d0d24764c", "level": "note", "message": {"text": "Legacy-named symbol `extracted_v1` in scripts/generate-research-coverage-report.mjs:207"}, "properties": {"repobilityId": "52c9772a5c23ac48", "scanner": "scanner-primary", "fingerprint": "b7162d0d0d24764c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b9ddb7f2f1d1efb0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-english-about-us.mjs:219"}, "properties": {"repobilityId": "8b2176efb752e690", "scanner": "scanner-primary", "fingerprint": "b9ddb7f2f1d1efb0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7773d9e206256b09", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/quarantine-container-platform-review-subcategories.mjs:101"}, "properties": {"repobilityId": "1b65e61c33f6d5fd", "scanner": "scanner-primary", "fingerprint": "7773d9e206256b09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ca808563b610d9b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-zh-to-en.mjs:76"}, "properties": {"repobilityId": "139dd4c12c895d5a", "scanner": "scanner-primary", "fingerprint": "1ca808563b610d9b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-baf78170b949d408", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-subcategories.mjs:521"}, "properties": {"repobilityId": "104c38749afec005", "scanner": "scanner-primary", "fingerprint": "baf78170b949d408", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb4864931a1bbf18", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-solution-existing-zh-patches.mjs:89"}, "properties": {"repobilityId": "f7c1244acdcf2398", "scanner": "scanner-primary", "fingerprint": "eb4864931a1bbf18", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-03ac08f2f1f0cecd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-about-us-module-cleanup.mjs:126"}, "properties": {"repobilityId": "a9a9c298f6f48212", "scanner": "scanner-primary", "fingerprint": "03ac08f2f1f0cecd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-78b054231c1c0276", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-product-subcategory-slugs.mjs:134"}, "properties": {"repobilityId": "72f59d9a663870d8", "scanner": "scanner-primary", "fingerprint": "78b054231c1c0276", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19527ccd30448aae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-zh-sanity-write.mjs:127"}, "properties": {"repobilityId": "5f429434fe6b97b7", "scanner": "scanner-primary", "fingerprint": "19527ccd30448aae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cb709f5ab81a53d3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-patch.mjs:119"}, "properties": {"repobilityId": "415dcb3ce97b10ed", "scanner": "scanner-primary", "fingerprint": "cb709f5ab81a53d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-31651cf4050c4bf5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-container-platform-subcategory-risk-copy.mjs:145"}, "properties": {"repobilityId": "45a9920a52d964a3", "scanner": "scanner-primary", "fingerprint": "31651cf4050c4bf5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f7b9e644a4d90470", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/probe-bundle-analyzer.mjs:7"}, "properties": {"repobilityId": "a62cde2a09a6a105", "scanner": "scanner-primary", "fingerprint": "f7b9e644a4d90470", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-728df16153383f0e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-taxonomy-master.mjs:167"}, "properties": {"repobilityId": "ea7733d910677027", "scanner": "scanner-primary", "fingerprint": "728df16153383f0e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cc9d0a98a0f723e5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-closure.mjs:126"}, "properties": {"repobilityId": "3c9b21997e242729", "scanner": "scanner-primary", "fingerprint": "cc9d0a98a0f723e5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f69f6c1c62270f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-crypto-solution-scenario-copy.mjs:158"}, "properties": {"repobilityId": "a1d950e9229dccaf", "scanner": "scanner-primary", "fingerprint": "4f69f6c1c62270f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0ae8da0092898e8a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-english-test-content.mjs:102"}, "properties": {"repobilityId": "906e189f3297378b", "scanner": "scanner-primary", "fingerprint": "0ae8da0092898e8a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e963ba88f1d6d14d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/optimize-crypto-solution-images.mjs:233"}, "properties": {"repobilityId": "59e05168b784d732", "scanner": "scanner-primary", "fingerprint": "e963ba88f1d6d14d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9ed20cbcb2729d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix-partner-zh.mjs:73"}, "properties": {"repobilityId": "42ac46a9632fa143", "scanner": "scanner-primary", "fingerprint": "b9ed20cbcb2729d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a4b9422e7e5c2721", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-publishing-field-patches.mjs:218"}, "properties": {"repobilityId": "4e91bcdbc0ac1782", "scanner": "scanner-primary", "fingerprint": "a4b9422e7e5c2721", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1e041d86fb5f5a7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-product-category-unknown-fields.mjs:75"}, "properties": {"repobilityId": "2ee07d61e44ddac1", "scanner": "scanner-primary", "fingerprint": "a1e041d86fb5f5a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e627da6d070a405", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-solution-intake-workbench.mjs:258"}, "properties": {"repobilityId": "ad0fd2f78fe7f475", "scanner": "scanner-primary", "fingerprint": "9e627da6d070a405", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea3d6aceb69b3c18", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-unused-product-categories.mjs:69"}, "properties": {"repobilityId": "43a71f40c9bf5bc3", "scanner": "scanner-primary", "fingerprint": "ea3d6aceb69b3c18", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc5d14f268198853", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-automation-mvp.mjs:454"}, "properties": {"repobilityId": "c8b8c24c76f525cc", "scanner": "scanner-primary", "fingerprint": "fc5d14f268198853", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3a19f3aaddacfcf2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-localization-workbench.mjs:947"}, "properties": {"repobilityId": "4e2d3ca50643270f", "scanner": "scanner-primary", "fingerprint": "3a19f3aaddacfcf2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf09538aff6681df", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-solution-locales.mjs:971"}, "properties": {"repobilityId": "a2e1cebef5f9892d", "scanner": "scanner-primary", "fingerprint": "cf09538aff6681df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25b4db637a21c409", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-certifications-locales-to-en.mjs:77"}, "properties": {"repobilityId": "6e579d9a5b16bd38", "scanner": "scanner-primary", "fingerprint": "25b4db637a21c409", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eca83a393d36b253", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-site-contact-settings.mjs:90"}, "properties": {"repobilityId": "11a3622c267f4738", "scanner": "scanner-primary", "fingerprint": "eca83a393d36b253", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a8ad5422d61b57e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-publishing-field-patches.mjs:186"}, "properties": {"repobilityId": "dca3526292d8a2de", "scanner": "scanner-primary", "fingerprint": "a8ad5422d61b57e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b48abf09f6510f31", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-about-certifications-to-library.mjs:150"}, "properties": {"repobilityId": "dd8119551d43f472", "scanner": "scanner-primary", "fingerprint": "b48abf09f6510f31", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c5aa198f5f6f65bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-backend-settings.mjs:106"}, "properties": {"repobilityId": "1c401a62469ff818", "scanner": "scanner-primary", "fingerprint": "c5aa198f5f6f65bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be0c081a937f657f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenarios.mjs:272"}, "properties": {"repobilityId": "4760d103c1850d57", "scanner": "scanner-primary", "fingerprint": "be0c081a937f657f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff16e868d635b320", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-quarantined-subcategories.mjs:114"}, "properties": {"repobilityId": "0760d8392325ab0e", "scanner": "scanner-primary", "fingerprint": "ff16e868d635b320", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a487ae07de746e87", "level": "note", "message": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-gaps-report.mjs:80"}, "properties": {"repobilityId": "2719ff2d1572efa3", "scanner": "scanner-primary", "fingerprint": "a487ae07de746e87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6bcb684c7bc0ea37", "level": "note", "message": {"text": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-schema-map-report.mjs:26"}, "properties": {"repobilityId": "de80dcd0d4f46903", "scanner": "scanner-primary", "fingerprint": "6bcb684c7bc0ea37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12e2cf7a11261f36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-crypto-solution-all-locales.mjs:754"}, "properties": {"repobilityId": "0d64463f289d87c0", "scanner": "scanner-primary", "fingerprint": "12e2cf7a11261f36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-50f1d925aed02452", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-backend-framework.mjs:172"}, "properties": {"repobilityId": "9cd0916b2079d01c", "scanner": "scanner-primary", "fingerprint": "50f1d925aed02452", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa780e9996580f9e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-english-content.mjs:237"}, "properties": {"repobilityId": "518044ccc35682c7", "scanner": "scanner-primary", "fingerprint": "aa780e9996580f9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fbfa7fc65f480eac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-fire-security-categories.mjs:288"}, "properties": {"repobilityId": "693a88c52b5becef", "scanner": "scanner-primary", "fingerprint": "fbfa7fc65f480eac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47bf4666673d34bb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-de-ar-activation.mjs:94"}, "properties": {"repobilityId": "6489b65a4a6cabc8", "scanner": "scanner-primary", "fingerprint": "47bf4666673d34bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c4cde88dd48ffc4e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-application-taxonomy-locales.mjs:708"}, "properties": {"repobilityId": "f33108b097267a61", "scanner": "scanner-primary", "fingerprint": "c4cde88dd48ffc4e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de0c5cce955e61c1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-about-certifications-zh.mjs:92"}, "properties": {"repobilityId": "027275cd2bda8773", "scanner": "scanner-primary", "fingerprint": "de0c5cce955e61c1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d1bfbc13148ba92", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/propose-case-study-taxonomy-normalization.mjs:501"}, "properties": {"repobilityId": "4ff338f090c708e2", "scanner": "scanner-primary", "fingerprint": "2d1bfbc13148ba92", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4932b806c718cca4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-category-structure.mjs:140"}, "properties": {"repobilityId": "752da2f5b0da2758", "scanner": "scanner-primary", "fingerprint": "4932b806c718cca4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c8f667574e64c797", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/draft-nari-logo-candidate.mjs:75"}, "properties": {"repobilityId": "79be2d0d1700aada", "scanner": "scanner-primary", "fingerprint": "c8f667574e64c797", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7465d17f429d3e36", "level": "note", "message": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-public-ready-claims.mjs:76"}, "properties": {"repobilityId": "2eca909b4214ed87", "scanner": "scanner-primary", "fingerprint": "7465d17f429d3e36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9c8d50bdfe30af5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-category-multilingual-baseline.mjs:523"}, "properties": {"repobilityId": "66540aee15f9a922", "scanner": "scanner-primary", "fingerprint": "9c8d50bdfe30af5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fbc3ad8f09ce4272", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-container-platform-categories.mjs:352"}, "properties": {"repobilityId": "103cef15c33bfe1f", "scanner": "scanner-primary", "fingerprint": "fbc3ad8f09ce4272", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-78b2953bea8691ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-contact-foundation.mjs:165"}, "properties": {"repobilityId": "39373ef0f12e754d", "scanner": "scanner-primary", "fingerprint": "78b2953bea8691ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b6b483fa4daa045", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/align-floating-contact-locales-to-en.mjs:86"}, "properties": {"repobilityId": "97be7b058d3eb72b", "scanner": "scanner-primary", "fingerprint": "5b6b483fa4daa045", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8beca405f494ae5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-contact-foundation-test-content.mjs:154"}, "properties": {"repobilityId": "9e10ac9a28557232", "scanner": "scanner-primary", "fingerprint": "8beca405f494ae5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b21dea23bde69c72", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apply-case-study-closure.mjs:133"}, "properties": {"repobilityId": "f6ec03c6d552c5b6", "scanner": "scanner-primary", "fingerprint": "b21dea23bde69c72", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de7bb7da9ad3d769", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-category-taxonomy.mjs:288"}, "properties": {"repobilityId": "eb8ad9fc25db748a", "scanner": "scanner-primary", "fingerprint": "de7bb7da9ad3d769", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-38de69ce8d273728", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-fire-security-taxonomy.mjs:126"}, "properties": {"repobilityId": "905c0a7811c96cf3", "scanner": "scanner-primary", "fingerprint": "38de69ce8d273728", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8244bdfbff49af43", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-case-study-industry-taxonomy.mjs:281"}, "properties": {"repobilityId": "52b512c2f3b00ed8", "scanner": "scanner-primary", "fingerprint": "8244bdfbff49af43", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-527c2f46e4b18e24", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/upload-solution-category-cover-images.mjs:116"}, "properties": {"repobilityId": "d12ae3bc8729c6de", "scanner": "scanner-primary", "fingerprint": "527c2f46e4b18e24", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3b7d00d9f4d5a53", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-crypto-solution-feature-localization.mjs:195"}, "properties": {"repobilityId": "a14ef98f45485b82", "scanner": "scanner-primary", "fingerprint": "f3b7d00d9f4d5a53", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02a0005b58c8b955", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/backfill-business-line.mjs:5"}, "properties": {"repobilityId": "cc51b8cc86166c8b", "scanner": "scanner-primary", "fingerprint": "02a0005b58c8b955", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b0e48b82e28f903", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-business-line.mjs:172"}, "properties": {"repobilityId": "25951379ecbb44c0", "scanner": "scanner-primary", "fingerprint": "7b0e48b82e28f903", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1d104bd450709021", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-operational-state.mjs:123"}, "properties": {"repobilityId": "9ebc0f4c927fb4b7", "scanner": "scanner-primary", "fingerprint": "1d104bd450709021", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e6b126f6e760ac1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-solution-draft-hygiene.mjs:174"}, "properties": {"repobilityId": "c3ce06454ae61641", "scanner": "scanner-primary", "fingerprint": "2e6b126f6e760ac1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8eaa82929cb9ae9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-application-scenario-library.mjs:420"}, "properties": {"repobilityId": "c8ea5b8e98f41b8c", "scanner": "scanner-primary", "fingerprint": "8eaa82929cb9ae9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f363aaa99030434", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/publish-about-us-seo.mjs:98"}, "properties": {"repobilityId": "d824c4e405e1c25d", "scanner": "scanner-primary", "fingerprint": "7f363aaa99030434", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b4267f7785bb0ab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-solution-existing-zh-patches.mjs:88"}, "properties": {"repobilityId": "0413779fd5633086", "scanner": "scanner-primary", "fingerprint": "5b4267f7785bb0ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73730d79a41b5ede", "level": "note", "message": {"text": "Legacy-named symbol `safe_capability_copy` in scripts/generate-research-confirmation-queue.mjs:114"}, "properties": {"repobilityId": "7072906999d5a591", "scanner": "scanner-primary", "fingerprint": "73730d79a41b5ede", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9af6ed9fbd9e2037", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-thermal-management-categories.mjs:319"}, "properties": {"repobilityId": "542093d5638821a3", "scanner": "scanner-primary", "fingerprint": "9af6ed9fbd9e2037", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9da4f8e129f515db", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/normalize-product-application-domains.mjs:206"}, "properties": {"repobilityId": "3129a21ee45b1092", "scanner": "scanner-primary", "fingerprint": "9da4f8e129f515db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0bf6f21a1224d0ee", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/migrate-partners.mjs:5"}, "properties": {"repobilityId": "5bccfe56d1451edd", "scanner": "scanner-primary", "fingerprint": "0bf6f21a1224d0ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ada90014b638ebbc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-partners.mjs:73"}, "properties": {"repobilityId": "aac3f5527512f5da", "scanner": "scanner-primary", "fingerprint": "ada90014b638ebbc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e2104d23de95b915", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-container-platform-subcategory-names.mjs:164"}, "properties": {"repobilityId": "161e075a6d36bd24", "scanner": "scanner-primary", "fingerprint": "e2104d23de95b915", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b47c31a6d7fd2108", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/complete-synchronous-condenser-certification-locales.mjs:369"}, "properties": {"repobilityId": "ea7bddc85213402d", "scanner": "scanner-primary", "fingerprint": "b47c31a6d7fd2108", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c63a7fcf256ad8c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-container-platform-support-subcategories.mjs:106"}, "properties": {"repobilityId": "462cb9ce88036a4f", "scanner": "scanner-primary", "fingerprint": "4c63a7fcf256ad8c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b4363e1198100c83", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-test-products.mjs:87"}, "properties": {"repobilityId": "efbfa88551373c52", "scanner": "scanner-primary", "fingerprint": "b4363e1198100c83", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c937b251dfe601f9", "level": "note", "message": {"text": "Legacy-named symbol `not_public_copy` in scripts/generate-research-product-intake-evidence-registers.mjs:54"}, "properties": {"repobilityId": "18c89e96f3b0766d", "scanner": "scanner-primary", "fingerprint": "c937b251dfe601f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-123f5eb97f5936a4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-footer-nav.mjs:344"}, "properties": {"repobilityId": "db94324f8760a535", "scanner": "scanner-primary", "fingerprint": "123f5eb97f5936a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-addcee0072d8e863", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/repair-case-study-product-loop.mjs:88"}, "properties": {"repobilityId": "9483b102b8f0e673", "scanner": "scanner-primary", "fingerprint": "addcee0072d8e863", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b9d5b352936ebfa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-case-study-backend.mjs:155"}, "properties": {"repobilityId": "ad164c63fa2a96e1", "scanner": "scanner-primary", "fingerprint": "0b9d5b352936ebfa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-46a9f2b792cd2652", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-container-platform-backend-copy.mjs:115"}, "properties": {"repobilityId": "2e35bbf16d1eeda4", "scanner": "scanner-primary", "fingerprint": "46a9f2b792cd2652", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a71ca4aba6f4b57c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-about-us-seo-advanced.mjs:64"}, "properties": {"repobilityId": "fbd419eec0beaf29", "scanner": "scanner-primary", "fingerprint": "a71ca4aba6f4b57c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9b8db33f977a191c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/content-product-intake-workbench.mjs:333"}, "properties": {"repobilityId": "76d1fe105d47ac1c", "scanner": "scanner-primary", "fingerprint": "9b8db33f977a191c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01ccedf1adaf3a90", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-product-backend-settings.mjs:92"}, "properties": {"repobilityId": "76bd698fc61e6bad", "scanner": "scanner-primary", "fingerprint": "01ccedf1adaf3a90", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d845eb394bff992", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/localize-crypto-solution-hero-and-architecture.mjs:199"}, "properties": {"repobilityId": "67ea069b68579bfe", "scanner": "scanner-primary", "fingerprint": "9d845eb394bff992", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3833042da3b46e6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/delete-out-of-framework-product-categories.mjs:84"}, "properties": {"repobilityId": "277015b1b11aed7c", "scanner": "scanner-primary", "fingerprint": "f3833042da3b46e6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-938396fbf21ee70b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/review-electrical-system-taxonomy.mjs:143"}, "properties": {"repobilityId": "9b663e18431b3b18", "scanner": "scanner-primary", "fingerprint": "938396fbf21ee70b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f522acb3626d8f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rename-bad-ids.mjs:50"}, "properties": {"repobilityId": "2ed71f16245ab968", "scanner": "scanner-primary", "fingerprint": "4f522acb3626d8f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-275d7dbce454c3cd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-category-cover-alt.mjs:90"}, "properties": {"repobilityId": "f84df9847e4dfe1a", "scanner": "scanner-primary", "fingerprint": "275d7dbce454c3cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-64ea998a171c8fd9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/plan-product-chain-solution-quality-patch.mjs:206"}, "properties": {"repobilityId": "390f44b2f7eb8e16", "scanner": "scanner-primary", "fingerprint": "64ea998a171c8fd9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fa0ded2c9f71eb15", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/patch-solution-backend-ops-fields.mjs:99"}, "properties": {"repobilityId": "1117f754801e3437", "scanner": "scanner-primary", "fingerprint": "fa0ded2c9f71eb15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-96779a78314e5c9e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/standardize-feature-icons.mjs:271"}, "properties": {"repobilityId": "5d7e876a54030b57", "scanner": "scanner-primary", "fingerprint": "96779a78314e5c9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-12da569d834c5ca4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cleanup-certification-unknown-fields.mjs:64"}, "properties": {"repobilityId": "9917e9d3469e3a90", "scanner": "scanner-primary", "fingerprint": "12da569d834c5ca4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86855187dbe5d95d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/sanity/client.ts:7"}, "properties": {"repobilityId": "78337897aa99bbe8", "scanner": "scanner-primary", "fingerprint": "86855187dbe5d95d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57cf0c0d563ac6c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/webhook-handler.ts:11"}, "properties": {"repobilityId": "2970c9548bf86f2b", "scanner": "scanner-primary", "fingerprint": "57cf0c0d563ac6c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7a61bda2323942a3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/jobs.ts:1759"}, "properties": {"repobilityId": "975ea9ac063cbf6b", "scanner": "scanner-primary", "fingerprint": "7a61bda2323942a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e72fc80191d5d448", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/support.ts:854"}, "properties": {"repobilityId": "31a54a573a42ce25", "scanner": "scanner-primary", "fingerprint": "e72fc80191d5d448", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a96848cc013518c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/quickContact.ts:131"}, "properties": {"repobilityId": "629a7b58f37baaee", "scanner": "scanner-primary", "fingerprint": "a96848cc013518c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8aa61b1448cbe4b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/site.ts:1669"}, "properties": {"repobilityId": "7c55640e003ae361", "scanner": "scanner-primary", "fingerprint": "8aa61b1448cbe4b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7334ed43c3687404", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/sanity/queries/solutions.ts:957"}, "properties": {"repobilityId": "398203094edf871a", "scanner": "scanner-primary", "fingerprint": "7334ed43c3687404", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0748c403e3293c22", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/app/layout.tsx:7"}, "properties": {"repobilityId": "85bd5f52e274b268", "scanner": "scanner-primary", "fingerprint": "0748c403e3293c22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf5a4a3937a7a5a2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/sitemap.ts:22"}, "properties": {"repobilityId": "76620bb3957c30cf", "scanner": "scanner-primary", "fingerprint": "bf5a4a3937a7a5a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1328a73e4479ef6d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/query-comparison/route.ts:49"}, "properties": {"repobilityId": "8babcf4b6e8cbac2", "scanner": "scanner-primary", "fingerprint": "1328a73e4479ef6d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f09c5ddcbefd6bae", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/api/sentry-test/route.ts:10"}, "properties": {"repobilityId": "16e78168d674ebd2", "scanner": "scanner-primary", "fingerprint": "f09c5ddcbefd6bae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ecb40f75629c58f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/csp-report/route.ts:9"}, "properties": {"repobilityId": "d3476043d2cedd5f", "scanner": "scanner-primary", "fingerprint": "6ecb40f75629c58f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b15dce09fe3877ed", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/api/web-vitals-alert/route.ts:15"}, "properties": {"repobilityId": "b3f48fc490eb2a89", "scanner": "scanner-primary", "fingerprint": "b15dce09fe3877ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8e268f9e6ac07d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/api/debug-page/route.ts:28"}, "properties": {"repobilityId": "c7bf89c05f3feae0", "scanner": "scanner-primary", "fingerprint": "d8e268f9e6ac07d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f9f2b9a18f9c709", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/app/[locale]/about/CorporateCultureClient.tsx:4"}, "properties": {"repobilityId": "224588878c2ec3dc", "scanner": "scanner-primary", "fingerprint": "7f9f2b9a18f9c709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30b37df4a5bdf621", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteCases.ts:126"}, "properties": {"repobilityId": "d118dc83c74a5dc4", "scanner": "scanner-primary", "fingerprint": "30b37df4a5bdf621", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a5dc8e5707361450", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteNews.ts:108"}, "properties": {"repobilityId": "b21b96795ecfd111", "scanner": "scanner-primary", "fingerprint": "a5dc8e5707361450", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-94299325be2b980a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/hooks/useInfiniteProducts.ts:118"}, "properties": {"repobilityId": "55e6bc80b40b5b89", "scanner": "scanner-primary", "fingerprint": "94299325be2b980a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2dc333c09cc5a13a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/ProductFilter.tsx:190"}, "properties": {"repobilityId": "179c78fafa9abd22", "scanner": "scanner-primary", "fingerprint": "2dc333c09cc5a13a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb10ffaf4dbee06a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ProductPageEngagementTracker.tsx:10"}, "properties": {"repobilityId": "298d36e092a92b09", "scanner": "scanner-primary", "fingerprint": "eb10ffaf4dbee06a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd27b3db57021d07", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ClientLayoutWrapper.tsx:3"}, "properties": {"repobilityId": "ced20cac582d45f4", "scanner": "scanner-primary", "fingerprint": "fd27b3db57021d07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2930b08eb6b2ec74", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/components/WebVitalsReporter.tsx:10"}, "properties": {"repobilityId": "9949ef1b7595a88a", "scanner": "scanner-primary", "fingerprint": "2930b08eb6b2ec74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d2e7c98ed806bfe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/admin/ETENZISRAdmin.tsx:234"}, "properties": {"repobilityId": "ecb3df26314fcfb3", "scanner": "scanner-primary", "fingerprint": "3d2e7c98ed806bfe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c70fc3923f9587f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/support/DownloadCard.tsx:187"}, "properties": {"repobilityId": "75a4cc0571b9c770", "scanner": "scanner-primary", "fingerprint": "c70fc3923f9587f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3bdcf9df16d170a3", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/seo/StructuredData.tsx:6"}, "properties": {"repobilityId": "ee9638bd811fef98", "scanner": "scanner-primary", "fingerprint": "3bdcf9df16d170a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99221caca38491be", "level": "note", "message": {"text": "Legacy-named symbol `generateStructuredDataForPageOld` in src/components/seo/SEOHead.tsx:44"}, "properties": {"repobilityId": "ff309402d4c6c090", "scanner": "scanner-primary", "fingerprint": "99221caca38491be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42cf126bbffc3e6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/seo/internal/generators/JobDataGenerator.ts:1"}, "properties": {"repobilityId": "1a2e3174f924d7bc", "scanner": "scanner-primary", "fingerprint": "42cf126bbffc3e6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f370be7e38d1cfb2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/FloatingContact/index.tsx:3"}, "properties": {"repobilityId": "9336ef88410c2178", "scanner": "scanner-primary", "fingerprint": "f370be7e38d1cfb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0b5bf16cd7f551c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/FloatingContact/hooks/index.ts:175"}, "properties": {"repobilityId": "3f99a8834f813ca4", "scanner": "scanner-primary", "fingerprint": "b0b5bf16cd7f551c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51c305d853c0bc2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/Search/SearchModal.tsx:120"}, "properties": {"repobilityId": "1d8ad8a3b11abdba", "scanner": "scanner-primary", "fingerprint": "51c305d853c0bc2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e9d52f3770e15e1e", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/components/animations/HeroSection.tsx:4"}, "properties": {"repobilityId": "45c019cdc7cce928", "scanner": "scanner-primary", "fingerprint": "e9d52f3770e15e1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a82cd99282e88749", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/fallback/FallbackShell.tsx:6"}, "properties": {"repobilityId": "bf001e55ab7fb1f9", "scanner": "scanner-primary", "fingerprint": "a82cd99282e88749", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-144fbd7aa4ee38e3", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/serverContentAggregator.ts:362"}, "properties": {"repobilityId": "30a0102b682f236a", "scanner": "scanner-primary", "fingerprint": "144fbd7aa4ee38e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-819b7d22fc576673", "level": "note", "message": {"text": "Legacy-named symbol `daysOld` in src/lib/contentAggregator.ts:220"}, "properties": {"repobilityId": "0ecd26d62ba6315e", "scanner": "scanner-primary", "fingerprint": "819b7d22fc576673", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-30f58df2dea04faa", "level": "note", "message": {"text": "Legacy-named symbol `daysOld` in src/lib/debugContentAggregator.ts:349"}, "properties": {"repobilityId": "9f44f16f2b6009c9", "scanner": "scanner-primary", "fingerprint": "30f58df2dea04faa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-491afdce5c50c17d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hubspot.ts:73"}, "properties": {"repobilityId": "f46a10e8c1359b41", "scanner": "scanner-primary", "fingerprint": "491afdce5c50c17d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b706c80a855a7fe6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/sanity/getCookieConfig.ts:28"}, "properties": {"repobilityId": "dae13af74be385a0", "scanner": "scanner-primary", "fingerprint": "b706c80a855a7fe6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ba366d9d2fc2b38d", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/lib/theme/provider.tsx:182"}, "properties": {"repobilityId": "f2f3ce06b8a90b24", "scanner": "scanner-primary", "fingerprint": "ba366d9d2fc2b38d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f61486ea86dd26c5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/content-media.mjs:978"}, "properties": {"repobilityId": "c9e7fa7d9a12ad2d", "scanner": "scanner-primary", "fingerprint": "f61486ea86dd26c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95dabe461b0565e3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 content-automation/scripts/solution-write-draft.mjs:503"}, "properties": {"repobilityId": "eae7fb76dfba1ac0", "scanner": "scanner-primary", "fingerprint": "95dabe461b0565e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e4a20ff067a3388", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/cookie-consent.spec.ts:6"}, "properties": {"repobilityId": "a09eabd27287469b", "scanner": "scanner-primary", "fingerprint": "9e4a20ff067a3388", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b9c61fca9ce7828", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/search-modal.spec.ts:6"}, "properties": {"repobilityId": "f1db0f74fa36502a", "scanner": "scanner-primary", "fingerprint": "4b9c61fca9ce7828", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca56c3eb643b1cc3", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/support-hub.spec.ts:6"}, "properties": {"repobilityId": "cdb4547b69371323", "scanner": "scanner-primary", "fingerprint": "ca56c3eb643b1cc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-beb403ee56a784ea", "level": "none", "message": {"text": "Commented-code block (9 lines) in e2e/security-headers.spec.ts:9"}, "properties": {"repobilityId": "576e533995969ab2", "scanner": "scanner-primary", "fingerprint": "beb403ee56a784ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f027c18327fb701", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/faq.spec.ts:6"}, "properties": {"repobilityId": "1cf679c043e19dc9", "scanner": "scanner-primary", "fingerprint": "9f027c18327fb701", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6e8bffc0c422114", "level": "none", "message": {"text": "Commented-code block (11 lines) in e2e/csp-enforce-mode.spec.ts:8"}, "properties": {"repobilityId": "1b96652b3554e98e", "scanner": "scanner-primary", "fingerprint": "e6e8bffc0c422114", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-befdf5a5cb369234", "level": "none", "message": {"text": "Commented-code block (7 lines) in e2e/api-search.spec.ts:3"}, "properties": {"repobilityId": "763e68af7d2f5d71", "scanner": "scanner-primary", "fingerprint": "befdf5a5cb369234", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2dacfc9e560e12d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in e2e/business-event-file-download.spec.ts:8"}, "properties": {"repobilityId": "5614bd9cd7c4d2d2", "scanner": "scanner-primary", "fingerprint": "2dacfc9e560e12d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef22fd58bfde6f76", "level": "note", "message": {"text": "51 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "3022eac3b673b267", "scanner": "scanner-primary", "fingerprint": "ef22fd58bfde6f76", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}]}]}