{"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-3b316b6b2c1f6b30", "name": "Stray `console.log` in TS/JS \u2014 docs/scripts/lint-rendered-links.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 docs/scripts/lint-rendered-links.ts:31"}, "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-8f6a88ee54552c77", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ui/chart.tsx:83", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ui/chart.tsx:83"}, "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-314c7c9fb32f4eff", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/BenchmarkChart.tsx:167", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/BenchmarkChart.tsx:167"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a80fcee22ae42708", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/WorldCardSimple.tsx:33", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/WorldCardSimple.tsx:33"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09df3676b3e1d05c", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/components/custom/agent-traces.tsx:123", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/custom/agent-traces.tsx:123"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6cdbeddaed4bfacc", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/mermaid.tsx:60", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/mermaid.tsx:60"}, "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-e48681218fc5233c", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/sidebar.tsx:135", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/sidebar.tsx:135"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6141d4ad5e14703d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/code-block.tsx:140", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/code-block.tsx:140"}, "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-8392a52aaa34a8c2", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/version-switcher.tsx:61", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/version-switcher.tsx:61"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa63c0e584edfb23", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ai-elements/code-block.tsx:114", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ai-elements/code-block.tsx:114"}, "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-16ebb204ff3a02be", "name": "Stray `console.log` in TS/JS \u2014 docs/app/api/chat/tools.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 docs/app/api/chat/tools.ts:22"}, "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-ad3e6eb9bc78960e", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/worlds/page.tsx:125", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/worlds/page.tsx:125"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b77064e9a0315c3", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/app/[lang]/(home)/components/code-block.tsx:29", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/app/[lang]/(home)/components/code-block.tsx:29"}, "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-06bed6f2b52f79a7", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/bar.tsx:52", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/bar.tsx:52"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3c9cee68619800e", "name": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/o11y-visual.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/o11y-visual.tsx:113"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbbf069b1208a112", "name": "Stray `console.log` in TS/JS \u2014 tarballs/scripts/pack.ts:169", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tarballs/scripts/pack.ts:169"}, "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-3eef3b08a5f2e287", "name": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/hooks.server.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/hooks.server.ts:10"}, "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-2496f04e7060e2e6", "name": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/chat/+server.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/chat/+server.ts:12"}, "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-c905b567e71ce6b4", "name": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/test-direct-step-call/+server.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/test-direct-step-call/+server.ts:12"}, "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-50a771d36e238e8a", "name": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/user-signup.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/user-signup.ts:15"}, "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-2339a6e8a376de1b", "name": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/0_calc.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/0_calc.ts:5"}, "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-9308d0bffb536373", "name": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/chat.post.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/chat.post.ts:7"}, "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-bfca912414f086dc", "name": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/test-direct-step-call.post.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/test-direct-step-call.post.ts:13"}, "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-7e7aa76015afa745", "name": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/plugins/start-pg-world.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/plugins/start-pg-world.ts:10"}, "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-9784fe8f8b5146f0", "name": "Stray `console.log` in TS/JS \u2014 workbench/express/src/index.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/express/src/index.ts:20"}, "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-5a25ed884594ec9e", "name": "Stray `console.log` in TS/JS \u2014 workbench/scripts/generate-workflows-registry.js:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/scripts/generate-workflows-registry.js:111"}, "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-f81b59dd978b4925", "name": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/chat.post.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/chat.post.ts:7"}, "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-e8360d0d0e15626b", "name": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/test-direct-step-call.post.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/test-direct-step-call.post.ts:11"}, "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-50a02696077d4d4b", "name": "Stray `console.log` in TS/JS \u2014 workbench/fastify/src/index.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/fastify/src/index.ts:60"}, "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-054ec6045518f779", "name": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/wasm/build.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/wasm/build.js:27"}, "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-3b6757a2983d9290", "name": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/generate-monaco-types.js:189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/generate-monaco-types.js:189"}, "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-a01836abb460a3fe", "name": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/copy-wasm.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/copy-wasm.js:26"}, "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-324d738cc090771e", "name": "Stray `console.log` in TS/JS \u2014 workbench/hono/src/index.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/hono/src/index.ts:17"}, "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-cb7d429eddf70893", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/app/api/test-direct-step-call/route.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/app/api/test-direct-step-call/route.ts:11"}, "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-03b9af5d78bf443a", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/pages/api/trigger-pages.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/pages/api/trigger-pages.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-c07c9673011ac264", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/workflows/8_react_render.tsx:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/workflows/8_react_render.tsx:11"}, "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-6f2fa8f456e8b800", "name": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/test-direct-step-call.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/test-direct-step-call.ts:29"}, "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-e94fbae9f0a0f3ab", "name": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/chat.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/chat.ts:15"}, "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-4b3aed68d55d9d37", "name": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/chat.post.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/chat.post.ts:7"}, "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-ae79c887ab120ceb", "name": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/test-direct-step-call.post.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/test-direct-step-call.post.ts:11"}, "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-0c12c30b8ce795a7", "name": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/workflows/0_demo.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/workflows/0_demo.ts:5"}, "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-c96f0faf53224623", "name": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/plugins/start-pg-world.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/plugins/start-pg-world.ts:10"}, "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-c7407a45009b4d7d", "name": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/test-direct-step-call.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/test-direct-step-call.ts:10"}, "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-5f143bc0ddfb972c", "name": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/chat.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/chat.ts:8"}, "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-c938f7c944ea4f0f", "name": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v2/server/api/chat.post.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v2/server/api/chat.post.ts:7"}, "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-08064adc3cf414f7", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/api/test-direct-step-call.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/api/test-direct-step-call.ts:12"}, "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-0e5e66b738e22b36", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/1_simple.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/1_simple.ts:21"}, "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-c5b33996e3da8afa", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/3_streams.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/3_streams.ts:9"}, "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-d4e266ca247a9d21", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/2_control_flow.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/2_control_flow.ts:5"}, "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-88bf1627980a578e", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/5_hooks.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/5_hooks.ts:14"}, "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-2301634bebefaf71", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/7_full.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/7_full.ts:15"}, "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-bafd9e3c66fa9824", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/serde-steps.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/serde-steps.ts:18"}, "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-3bc66590edf09cd7", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/6_batching.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/6_batching.ts:14"}, "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-26167d2873681ef0", "name": "TODO/FIXME marker in shipping code \u2014 workbench/example/workflows/99_e2e.ts:99", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 workbench/example/workflows/99_e2e.ts:99"}, "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-1d35367dbf50db93", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/99_e2e.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/99_e2e.ts:106"}, "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-faa14534f20990ee", "name": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/4_ai.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/4_ai.ts:8"}, "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-bdd0d779706a3516", "name": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/app.controller.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/app.controller.ts:14"}, "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-257b6ffb19088a74", "name": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/main.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/main.ts:12"}, "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-f4dbe36fbe65e814", "name": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/invocations-panel.tsx:208", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/invocations-panel.tsx:208"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d759f7f85c60ccc", "name": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/workflow-button.tsx:27", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/workflow-button.tsx:27"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b99675ec1af5fbfa", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/app/api/test-direct-step-call/route.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/app/api/test-direct-step-call/route.ts:11"}, "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-0e16bdf1f89eff2f", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/pages/api/trigger-pages.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/pages/api/trigger-pages.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-2eddb7fdcb8beaef", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/8_react_render.tsx:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/8_react_render.tsx:11"}, "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-41c86faca3b7ec69", "name": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/agent_chat.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/agent_chat.ts:111"}, "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-63823d151fb22a4f", "name": "Stray `console.log` in TS/JS \u2014 workbench/vitest/workflows/cookbook/distributed-abort-controller.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vitest/workflows/cookbook/distributed-abort-controller.ts:9"}, "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-c7cefb2f15d716a3", "name": "TODO/FIXME marker in shipping code \u2014 packages/world-vercel/src/http-client.ts:29", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world-vercel/src/http-client.ts:29"}, "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-3cc658ad1108dd7e", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/spinner.tsx:54", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/spinner.tsx:54"}, "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-fe0d44c034553894", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/decrypt-button.tsx:27", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/decrypt-button.tsx:27"}, "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-8cec0e67fcf20068", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/menu-dropdown.tsx:45", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/menu-dropdown.tsx:45"}, "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-a5fa9eedb834ce67", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/load-more-button.tsx:26", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/load-more-button.tsx:26"}, "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-500e50e3fd0573da", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/new-trace-viewer/trace-viewer.ts", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/new-trace-viewer/trace-viewer.tsx:683"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e39a4bdec277afff", "name": "React Flow <MiniMap> without dark background \u2014 packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:455", "shortDescription": {"text": "React Flow <MiniMap> without dark background \u2014 packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:455"}, "fullDescription": {"text": "A bare <MiniMap> renders with the vendor's white default in dark themes. Wrap the canvas in a class that overrides `.react-flow__minimap` background, or pass an explicit `style`/`maskColor`/`bgColor`.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.minimap.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f0e0d711fafd717", "name": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/worker.ts:107", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/worker.ts:107"}, "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-0610cb22b61f9394", "name": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/components/map.tsx:145", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/components/map.tsx:145"}, "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-dd970d191ef8c768", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/events-list.tsx:138", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/events-list.tsx:138"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63de7d80d4dfe7ea", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/attributes-block.tsx:51", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/attributes-block.tsx:51"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7955ecadd949bb8f", "name": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/apply-swc-transform.ts:126", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/apply-swc-transform.ts:126"}, "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-41f8f459215f2e3a", "name": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/base-builder.ts:1636", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/base-builder.ts:1636"}, "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-cef2f422b93213a5", "name": "Stray `console.log` in TS/JS \u2014 packages/builders/src/base-builder.ts:162", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/base-builder.ts:162"}, "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-8fdddac75a929daa", "name": "Stray `console.log` in TS/JS \u2014 packages/builders/src/standalone.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/standalone.ts:23"}, "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-7101e6e4893b4f57", "name": "Stray `console.log` in TS/JS \u2014 packages/builders/src/vercel-build-output-api.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/vercel-build-output-api.ts:18"}, "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-5e0f0cd2dba67136", "name": "Custom React Flow node registered without explicit width/height \u2014 packages/builders/src/workflows-extractor.ts:568", "shortDescription": {"text": "Custom React Flow node registered without explicit width/height \u2014 packages/builders/src/workflows-extractor.ts:568"}, "fullDescription": {"text": "When you register a custom node type via `nodeTypes`, the RFNode object you build must include `width` and `height` props. Without them, MiniMap renders ZERO mini-nodes for that type and `fitView` underestimates the bounds (cuts off lane labels, etc.). Add `width: \u2026, height: \u2026` to the node object. See P-I.\n\nWhy: P-I in CHECKLIST.md \u2014 RF MiniMap + fitView need explicit dims on custom nodes.\nRule id: fq.rfnode.no-dims"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fcc7837cef33828b", "name": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/utils.test.ts:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/utils.test.ts:197"}, "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-40d1c8ece466a80d", "name": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.test.ts:336", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.test.ts:336"}, "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-9028e69090f6a028", "name": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.ts:327", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.ts:327"}, "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-c120c0679e132c1f", "name": "TODO/FIXME marker in shipping code \u2014 packages/next/src/builder-eager.ts:97", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/next/src/builder-eager.ts:97"}, "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-acd7c2acb4f21adf", "name": "Stray `console.log` in TS/JS \u2014 packages/next/src/builder-eager.ts:254", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/next/src/builder-eager.ts:254"}, "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-71348b783805df31", "name": "Stray `console.log` in TS/JS \u2014 packages/ai/src/agent/durable-agent.ts:570", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/ai/src/agent/durable-agent.ts:570"}, "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-ea5899c588b38049", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/health.ts:340", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/health.ts:340"}, "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-943b47e3bf73d414", "name": "Stray `console.log` in TS/JS \u2014 packages/cli/src/lib/config/log.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/lib/config/log.ts:51"}, "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-51b1f495fd2b171e", "name": "TODO/FIXME marker in shipping code \u2014 packages/cli/src/lib/inspect/env.ts:239", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/cli/src/lib/inspect/env.ts:239"}, "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-ae9fa09cd79657fe", "name": "Stray `console.log` in TS/JS \u2014 packages/utils/src/get-port.test.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/utils/src/get-port.test.ts:88"}, "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-4e35418010745c12", "name": "Stray `console.log` in TS/JS \u2014 packages/vite/src/hot-update.ts:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/vite/src/hot-update.ts:67"}, "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-7140de864d61beee", "name": "TODO/FIXME marker in shipping code \u2014 packages/errors/src/index.ts:617", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/errors/src/index.ts:617"}, "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-827bce30b2fa0953", "name": "Stray `console.log` in TS/JS \u2014 packages/errors/src/index.ts:781", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/errors/src/index.ts:781"}, "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-b4517dcd0cd0d96d", "name": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/noop.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/noop.ts:20"}, "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-98735db81fef5b82", "name": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/hooks.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/hooks.ts:35"}, "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-b76e3b65ed9d14ed", "name": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/addition.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/addition.ts:9"}, "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-87945abd6a6b1266", "name": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/retriable-and-fatal.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/retriable-and-fatal.ts:23"}, "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-0afe974b0412bf7c", "name": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/init.ts:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/init.ts:198"}, "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-ddd526deee4fded0", "name": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/streamer.test.ts:126", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/streamer.test.ts:126"}, "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-167a7b34f9980ca4", "name": "TODO/FIXME marker in shipping code \u2014 packages/world-postgres/src/storage.ts:1362", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world-postgres/src/storage.ts:1362"}, "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-70629d91337b2763", "name": "Stray `console.log` in TS/JS \u2014 packages/world-postgres/src/cli.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-postgres/src/cli.ts:20"}, "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-145c1813200b3c77", "name": "Stray `console.log` in TS/JS \u2014 packages/web/server.js:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/server.js:59"}, "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-62bd10845d35e6ff", "name": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/run-detail-view.tsx:207", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/run-detail-view.tsx:207"}, "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-3dc10e0c3a7bed25", "name": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/runs-table.tsx:386", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/runs-table.tsx:386"}, "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-fd58f31a1b396010", "name": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/display-utils/connection-status.tsx:111", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/display-utils/connection-status.tsx:111"}, "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-80c1821474383c0b", "name": "TODO/FIXME marker in shipping code \u2014 packages/web/app/lib/client/workflow-primitives.ts:32", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/lib/client/workflow-primitives.ts:32"}, "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-b0d6492048d46580", "name": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/use-workflow-graph.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/use-workflow-graph.ts:35"}, "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-0503759d9bd79888", "name": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/manifest-adapter.ts:193", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/manifest-adapter.ts:193"}, "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-211b37a136905c51", "name": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/graph-execution-mapper.ts:419", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/graph-execution-mapper.ts:419"}, "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-aa05912454a28c38", "name": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/scripts/find-incomplete.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/scripts/find-incomplete.ts:21"}, "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-5dc1d090e1ed9f7d", "name": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/src/__tests__/docs.test.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/src/__tests__/docs.test.ts:44"}, "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-c7aa3ddf059f6c0e", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/capabilities.ts:83", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/capabilities.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-756571ba05c246e6", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/create-hook.ts:210", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/create-hook.ts:210"}, "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-1ffeec3ae066ed19", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.ts:257", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.ts:257"}, "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-18e9f6e7fd2f1938", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime.ts:686", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime.ts:686"}, "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-8efe875cbe5da80f", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.test.ts:573", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.test.ts:573"}, "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-376aaaa01ba59437", "name": "Stray `console.log` in TS/JS \u2014 packages/core/src/context-violation-error.ts:109", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/context-violation-error.ts:109"}, "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-9cdc7ce2dbc45f2e", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/vm/index.ts:115", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/vm/index.ts:115"}, "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-3fe0f2b8a127cdc1", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/helpers.ts:438", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/helpers.ts:438"}, "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-fe81ede53e822cd6", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/step-handler.ts:648", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/step-handler.ts:648"}, "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-19ab2deb0e84d304", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/src/serialization/types.ts:79", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/serialization/types.ts:79"}, "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-3ca03cb1ebc1e43e", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/utils.ts:134", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/utils.ts:134"}, "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-9053e18d08381761", "name": "Stray `console.log` in TS/JS \u2014 packages/core/e2e/utils.ts:226", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/e2e/utils.ts:226"}, "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-2a46d82dcf61c03b", "name": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/e2e.test.ts:186", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/e2e.test.ts:186"}, "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-c5bade87480c07f5", "name": "TODO/FIXME marker in shipping code \u2014 packages/world/src/steps.ts:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world/src/steps.ts:21"}, "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-8471f792e8987391", "name": "TODO/FIXME marker in shipping code \u2014 packages/world/src/events.ts:83", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world/src/events.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-6c0df9329db44ee0", "name": "Stray `console.log` in TS/JS \u2014 packages/world/src/recovery.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/world/src/recovery.ts:45"}, "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-7f4d9449d57d9e31", "name": "Stray `console.log` in TS/JS \u2014 packages/nest/src/cli.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/nest/src/cli.ts:50"}, "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-dc0c79599ffae166", "name": "TODO/FIXME marker in shipping code \u2014 packages/swc-plugin-workflow/build.js:100", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/swc-plugin-workflow/build.js:100"}, "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-c7f28bfb6d32cd92", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/build.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/build.js:29"}, "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-4d616c6f43c4a745", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-wo", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-workflow.js:5"}, "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-4fbb59beb93e7e6a", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-st", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-step.js:5"}, "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-6cc7903d15f2e3c2", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/input.js:", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/input.js:5"}, "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-ddd93d6ac82feff2", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/output-step", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/output-step.js:145"}, "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-9fb5675d18bfd42f", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/input.js:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/input.js:71"}, "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-94ef540ea570bba9", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-w", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-workflow.js:4"}, "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-4876232d44509f49", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-s", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-step.js:18"}, "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-f66789135346d193", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/input.js", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/input.js:9"}, "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-ffd483491a27a982", "name": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/examples/use-step-example.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/examples/use-step-example.ts:30"}, "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-f7dc6451daf2aaf5", "name": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-benchmarks.js:285", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-benchmarks.js:285"}, "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-b4905aa624db3196", "name": "Stray `console.log` in TS/JS \u2014 .github/scripts/generate-docs-data.js:308", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/generate-docs-data.js:308"}, "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-f2493fcd08028d18", "name": "Stray `console.log` in TS/JS \u2014 .github/scripts/render-event-log-race-repro-results.js:309", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/render-event-log-race-repro-results.js:309"}, "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-784d12744a42e686", "name": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-e2e-results.js:366", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-e2e-results.js:366"}, "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-b3677ea7c26461c0", "name": "Stray `console.log` in TS/JS \u2014 .github/actions/render-benchmarks/render.js:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 .github/actions/render-benchmarks/render.js:135"}, "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-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-813696681f249840", "name": "Insecure pattern 'node_child_process' in docs/scripts/check-docs-smoke.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in docs/scripts/check-docs-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-c6dc5997bb979c7d", "name": "Insecure pattern 'dangerous_innerhtml' in docs/components/ui/chart.tsx:83", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/ui/chart.tsx:83"}, "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-c0df8f821e8e7cc3", "name": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/mermaid.tsx:60", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/mermaid.tsx:60"}, "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-beb2efa3281ffccf", "name": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/code-block.tsx:140", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/code-block.tsx:140"}, "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-69c0e61dc4a09cc6", "name": "Insecure pattern 'dangerous_innerhtml' in docs/components/ai-elements/code-block.tsx:114", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/ai-elements/code-block.tsx:114"}, "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-6b5251c710bc2428", "name": "Insecure pattern 'dangerous_innerhtml' in docs/app/[lang]/(home)/components/code-block.tsx:29", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/app/[lang]/(home)/components/code-block.tsx:29"}, "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-9d36a507dae2f0e4", "name": "Insecure pattern 'node_child_process' in scripts/generate-release-notes.mjs:31", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/generate-release-notes.mjs:31"}, "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-33fbd799049bd3ac", "name": "Insecure pattern 'node_child_process' in scripts/stage-workbench-with-tarballs.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/stage-workbench-with-tarballs.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-14de62aebb4475af", "name": "Insecure pattern 'node_child_process' in scripts/generate-release-slack-payload.mjs:49", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/generate-release-slack-payload.mjs:49"}, "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-6e0d48b2f6552d31", "name": "Insecure pattern 'exec_used' in tarballs/scripts/pack.ts:150", "shortDescription": {"text": "Insecure pattern 'exec_used' in tarballs/scripts/pack.ts:150"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bae62077a4a6e901", "name": "Insecure pattern 'node_child_process' in tarballs/scripts/pack.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tarballs/scripts/pack.ts: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-578e51004694637f", "name": "Insecure pattern 'node_child_process' in workbench/swc-playground/wasm/build.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in workbench/swc-playground/wasm/build.js: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-f12c485f21640636", "name": "Insecure pattern 'new_function_used' in workbench/nextjs-turbopack/workflows/agent_chat.ts:56", "shortDescription": {"text": "Insecure pattern 'new_function_used' in workbench/nextjs-turbopack/workflows/agent_chat.ts:56"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7dfcc51d06fff37", "name": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/spinner.tsx:54", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/spinner.tsx:54"}, "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-1c10fe035736d3f9", "name": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/decrypt-button.tsx:27", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/decrypt-button.tsx:27"}, "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-251fd96d6de9d32b", "name": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/menu-dropdown.tsx:45", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/menu-dropdown.tsx:45"}, "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-bfab198af17b63b9", "name": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/load-more-button.tsx:26", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/load-more-button.tsx:26"}, "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-c436b9f90e196fc2", "name": "Insecure pattern 'eval_used' in packages/next/src/loader.ts:533", "shortDescription": {"text": "Insecure pattern 'eval_used' in packages/next/src/loader.ts:533"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-718924d1fd41068d", "name": "Insecure pattern 'eval_used' in packages/next/src/builder-deferred.ts:61", "shortDescription": {"text": "Insecure pattern 'eval_used' in packages/next/src/builder-deferred.ts:61"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad7cbf61c05b6545", "name": "Insecure pattern 'eval_used' in packages/next/src/builder-eager.ts:22", "shortDescription": {"text": "Insecure pattern 'eval_used' in packages/next/src/builder-eager.ts:22"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-253128ed7e167b1b", "name": "Insecure pattern 'node_child_process' in packages/cli/src/lib/inspect/vercel-link.ts:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/cli/src/lib/inspect/vercel-link.ts:11"}, "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-a4a86955b8f9d029", "name": "Insecure pattern 'node_child_process' in packages/utils/src/get-port.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/utils/src/get-port.ts: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-3738df6560e30ea0", "name": "Insecure pattern 'cors_wildcard' in packages/core/src/runtime/helpers.ts:529", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/core/src/runtime/helpers.ts:529"}, "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-f8c0479de8af7478", "name": "Insecure pattern 'exec_used' in packages/core/e2e/build-errors.test.ts:54", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/core/e2e/build-errors.test.ts:54"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d6288cb75322578", "name": "Insecure pattern 'node_child_process' in packages/core/e2e/build-errors.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/build-errors.test.ts: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-5b8427c953ab17d8", "name": "Insecure pattern 'node_child_process' in packages/core/e2e/utils.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/utils.ts: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-fbaa0c4cfa56f364", "name": "Insecure pattern 'node_child_process' in packages/core/e2e/local-build.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/local-build.test.ts: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-d495e071703cdeca", "name": "Insecure pattern 'node_child_process' in packages/swc-plugin-workflow/build.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/swc-plugin-workflow/build.js: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-5a2e0fa6a3491809", "name": "Insecure pattern 'node_child_process' in .github/scripts/render-event-log-race-repro-results.test.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .github/scripts/render-event-log-race-repro-results.test.js: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-503125b6376499cf", "name": "Insecure pattern 'node_child_process' in .github/workflows/backport.yml:636", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .github/workflows/backport.yml:636"}, "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-ae7a6eedfd749c37", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-3c072b75712254ca", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-aca825d4dfc95338", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-266162aa2c525a31", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-219c40ab3a2fc560", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-417812ee0708bed3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a50467f36b413ec", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-aaa9f922787b35c5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b10756e71c9bf570", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-97af40536ad9710b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aab1aded5e7f9545", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-de630e1943ea2ba8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-a9d2ff811688047f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/create-github-app-token@v1 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-54bbb45bc458afb9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-a6e1efeef7329329", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-24405a161e352a3e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8114ceb36c24158e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-529d9f2b5dd1170d", "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-1bb4ec0766ed8a8a", "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-135176501aabe469", "name": "Very large file: docs/app/[lang]/(home)/components/frameworks.tsx (802 lines)", "shortDescription": {"text": "Very large file: docs/app/[lang]/(home)/components/frameworks.tsx (802 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-0d1facd121621c2d", "name": "Very large file: workbench/example/workflows/99_e2e.ts (3646 lines)", "shortDescription": {"text": "Very large file: workbench/example/workflows/99_e2e.ts (3646 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-2a49635552e6b74c", "name": "Very large file: packages/web-shared/src/components/event-list-view.tsx (1770 lines)", "shortDescription": {"text": "Very large file: packages/web-shared/src/components/event-list-view.tsx (1770 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-0f8ee2f7efbfa7d1", "name": "Very large file: packages/builders/src/base-builder.ts (2034 lines)", "shortDescription": {"text": "Very large file: packages/builders/src/base-builder.ts (2034 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-18c784c70e52ad02", "name": "Very large file: packages/builders/src/workflows-extractor.ts (2044 lines)", "shortDescription": {"text": "Very large file: packages/builders/src/workflows-extractor.ts (2044 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-e10f3607bcb03b99", "name": "Very large file: packages/next/src/builder-deferred.ts (2084 lines)", "shortDescription": {"text": "Very large file: packages/next/src/builder-deferred.ts (2084 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-33ed7c441f223147", "name": "Very large file: packages/ai/src/agent/durable-agent.test.ts (2831 lines)", "shortDescription": {"text": "Very large file: packages/ai/src/agent/durable-agent.test.ts (2831 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-2d3794bd83f5be1c", "name": "Very large file: packages/ai/src/agent/durable-agent.ts (1729 lines)", "shortDescription": {"text": "Very large file: packages/ai/src/agent/durable-agent.ts (1729 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-9f1c4e7cf3e244d7", "name": "Very large file: packages/world-local/src/storage.test.ts (4256 lines)", "shortDescription": {"text": "Very large file: packages/world-local/src/storage.test.ts (4256 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-9571949a078b227b", "name": "Very large file: packages/world-local/src/storage/events-storage.ts (1875 lines)", "shortDescription": {"text": "Very large file: packages/world-local/src/storage/events-storage.ts (1875 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-571f6a89dc55afc8", "name": "Very large file: packages/world-postgres/test/storage.test.ts (2866 lines)", "shortDescription": {"text": "Very large file: packages/world-postgres/test/storage.test.ts (2866 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-94e2223b2784c41a", "name": "Very large file: packages/world-postgres/src/storage.ts (1845 lines)", "shortDescription": {"text": "Very large file: packages/world-postgres/src/storage.ts (1845 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-1d952ba7305a3912", "name": "Very large file: packages/core/src/hook-sleep-interaction.test.ts (1691 lines)", "shortDescription": {"text": "Very large file: packages/core/src/hook-sleep-interaction.test.ts (1691 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-b501192de4295502", "name": "Very large file: packages/core/src/serialization.ts (2884 lines)", "shortDescription": {"text": "Very large file: packages/core/src/serialization.ts (2884 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-289a14c4d9459415", "name": "Very large file: packages/core/src/runtime.ts (1515 lines)", "shortDescription": {"text": "Very large file: packages/core/src/runtime.ts (1515 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-ae110f54a180c701", "name": "Very large file: packages/core/src/workflow.test.ts (5354 lines)", "shortDescription": {"text": "Very large file: packages/core/src/workflow.test.ts (5354 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-69e287ada7f6c430", "name": "Very large file: packages/core/src/serialization.test.ts (6674 lines)", "shortDescription": {"text": "Very large file: packages/core/src/serialization.test.ts (6674 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-daea7c9a7e849b08", "name": "Very large file: packages/core/src/serialization/serialization.test.ts (1442 lines)", "shortDescription": {"text": "Very large file: packages/core/src/serialization/serialization.test.ts (1442 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-2537a3626a61b5ae", "name": "Very large file: packages/core/e2e/e2e.test.ts (4204 lines)", "shortDescription": {"text": "Very large file: packages/core/e2e/e2e.test.ts (4204 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-249ac64ce0f0063b", "name": "Very large file: packages/swc-plugin-workflow/transform/src/lib.rs (9773 lines)", "shortDescription": {"text": "Very large file: packages/swc-plugin-workflow/transform/src/lib.rs (9773 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-786c8c22d3fe624f", "name": "48 TODO/FIXME markers", "shortDescription": {"text": "48 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8fae141f052f3ab", "name": "Node manifest has dependencies but no lockfile: docs/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: docs/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cf54182ce4ae95c", "name": "Node manifest has dependencies but no lockfile: tarballs/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: tarballs/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7af38f746b2b80c1", "name": "Node manifest has dependencies but no lockfile: workbench/sveltekit/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/sveltekit/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03d468b618df2406", "name": "Node manifest has dependencies but no lockfile: workbench/nuxt/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nuxt/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34f54ca8808bcee7", "name": "Node manifest has dependencies but no lockfile: workbench/express/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/express/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-def0fd83811d9b93", "name": "Node manifest has dependencies but no lockfile: workbench/vite/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/vite/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e6892ef34bb21f0", "name": "Node manifest has dependencies but no lockfile: workbench/fastify/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/fastify/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a521ea90ca7d1b85", "name": "Node manifest has dependencies but no lockfile: workbench/swc-playground/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/swc-playground/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77663dfbeb8fd2dd", "name": "Node manifest has dependencies but no lockfile: workbench/hono/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/hono/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec8de86300e05dce", "name": "Node manifest has dependencies but no lockfile: workbench/nextjs-webpack/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nextjs-webpack/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07222677114efdaf", "name": "Node manifest has dependencies but no lockfile: workbench/tanstack-start/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/tanstack-start/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8bab13e333a23b9", "name": "Node manifest has dependencies but no lockfile: workbench/nitro-v3/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nitro-v3/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-103f8779d8fab5b9", "name": "Node manifest has dependencies but no lockfile: workbench/astro/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/astro/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3935f8a3cba06eb2", "name": "Node manifest has dependencies but no lockfile: workbench/nitro-v2/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nitro-v2/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2e14597eb2a9eff", "name": "Node manifest has dependencies but no lockfile: workbench/example/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/example/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a7598f038719ca8", "name": "Node manifest has dependencies but no lockfile: workbench/nest/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nest/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8725dcd9ebf7f499", "name": "Node manifest has dependencies but no lockfile: workbench/nextjs-turbopack/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/nextjs-turbopack/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37d6244475904dc0", "name": "Node manifest has dependencies but no lockfile: workbench/vitest/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: workbench/vitest/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c077b1d096a1b7cf", "name": "Node manifest has dependencies but no lockfile: packages/world-vercel/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/world-vercel/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c504228b8c61070", "name": "Node manifest has dependencies but no lockfile: packages/nitro/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/nitro/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0964018166774686", "name": "Node manifest has dependencies but no lockfile: packages/sveltekit/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/sveltekit/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc91e72f3b5e1630", "name": "Node manifest has dependencies but no lockfile: packages/web-shared/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/web-shared/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5dc939bc79e259e6", "name": "Node manifest has dependencies but no lockfile: packages/builders/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/builders/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-094bbbe25a132785", "name": "Node manifest has dependencies but no lockfile: packages/nuxt/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/nuxt/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e56980bb8ab02afd", "name": "Node manifest has dependencies but no lockfile: packages/typescript-plugin/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/typescript-plugin/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af0afa605486e6fa", "name": "Node manifest has dependencies but no lockfile: packages/next/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/next/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80f569ae36a3e3bf", "name": "Node manifest has dependencies but no lockfile: packages/ai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ai/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c2e3196a4ef0cdd", "name": "Node manifest has dependencies but no lockfile: packages/cli/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/cli/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47edb5907af5997f", "name": "Node manifest has dependencies but no lockfile: packages/utils/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/utils/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2235d413c8ef4721", "name": "Node manifest has dependencies but no lockfile: packages/vite/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/vite/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-592524165b9fc40c", "name": "Node manifest has dependencies but no lockfile: packages/errors/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/errors/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e162f1af2764c9fc", "name": "Node manifest has dependencies but no lockfile: packages/world-testing/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/world-testing/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90f84b7aa148f14e", "name": "Node manifest has dependencies but no lockfile: packages/world-local/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/world-local/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d18646346ddcd93", "name": "Node manifest has dependencies but no lockfile: packages/workflow/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/workflow/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71356ac5dfea61b3", "name": "Node manifest has dependencies but no lockfile: packages/world-postgres/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/world-postgres/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a28850983a0b02d5", "name": "Node manifest has dependencies but no lockfile: packages/web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/web/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e29b2ecbaf4ae8ff", "name": "Node manifest has dependencies but no lockfile: packages/astro/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/astro/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-279487383290a5f5", "name": "Node manifest has dependencies but no lockfile: packages/docs-typecheck/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/docs-typecheck/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bc32a3f8f902da1", "name": "Node manifest has dependencies but no lockfile: packages/serde/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/serde/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28e92806c0db3cd2", "name": "Node manifest has dependencies but no lockfile: packages/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa8e3625811f6d1c", "name": "Node manifest has dependencies but no lockfile: packages/world/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/world/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b37a872e8437a89", "name": "Node manifest has dependencies but no lockfile: packages/nest/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/nest/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a49e81e74bb4f59", "name": "Node manifest has dependencies but no lockfile: packages/rollup/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/rollup/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40a444dde66e3a06", "name": "Node manifest has dependencies but no lockfile: packages/vitest/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/vitest/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 465 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 99 placeholder/mock markers across 49 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 lockfile. 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-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff7d71d373c5e7fb", "name": "Agent authority lacks a verifier contract: .claude/commands/demo.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/demo.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-e99e93becbdaf7d4", "name": "Agent instruction/config may expose a secret: skills/workflow/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/workflow/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3915410a51bd84ef", "name": "Commented-code block (6 lines) in docs/next.config.ts:121", "shortDescription": {"text": "Commented-code block (6 lines) in docs/next.config.ts:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-503add38915625dd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/scripts/check-docs-smoke.mjs:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/scripts/check-docs-smoke.mjs:29"}, "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-4334b9e2e808c3a8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/api/benchmark-history/route.ts:221", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/api/benchmark-history/route.ts:221"}, "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-0c8e63c5a35b119d", "name": "Commented-code block (6 lines) in docs/app/[lang]/v5/docs/[[...slug]]/page.tsx:56", "shortDescription": {"text": "Commented-code block (6 lines) in docs/app/[lang]/v5/docs/[[...slug]]/page.tsx:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f11c031d259c9e1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/[lang]/(home)/components/use-cases-server.tsx:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/[lang]/(home)/components/use-cases-server.tsx:31"}, "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-7d9eddc7788f9850", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/actions/feedback/index.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/actions/feedback/index.ts:18"}, "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-19779b709514db73", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trusted-sources-headers.mjs:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trusted-sources-headers.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-51a24eb8b78032b5", "name": "Commented-code block (6 lines) in tarballs/vite.config.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in tarballs/vite.config.ts: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-d6e7beaa5727c579", "name": "`fetch()` without try/.catch or AbortSignal \u2014 tarballs/scripts/check-tarballs-smoke.mjs:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 tarballs/scripts/check-tarballs-smoke.mjs:26"}, "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-5f1d13423359b26e", "name": "Commented-code block (5 lines) in workbench/sveltekit/src/app.d.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in workbench/sveltekit/src/app.d.ts: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-0e3b3833136fc8a4", "name": "Commented-code block (6 lines) in workbench/vite/vite.config.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in workbench/vite/vite.config.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-c553e1ef7f0875d4", "name": "Commented-code block (5 lines) in workbench/fastify/src/index.ts:69", "shortDescription": {"text": "Commented-code block (5 lines) in workbench/fastify/src/index.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffa640c6c2671420", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-webpack/app/home-client.tsx:238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-webpack/app/home-client.tsx: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-47572a877201ce06", "name": "Commented-code block (7 lines) in workbench/tanstack-start/src/routes/api/test-direct-step-call.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in workbench/tanstack-start/src/routes/api/test-direct-step-call.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-08504ef31f0a8d4b", "name": "Commented-code block (5 lines) in workbench/tanstack-start/src/routes/api/chat.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in workbench/tanstack-start/src/routes/api/chat.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-e61f7c1490b65445", "name": "Commented-code block (5 lines) in workbench/example/workflows/helpers.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in workbench/example/workflows/helpers.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-fd30a81faa6481d5", "name": "Commented-code block (7 lines) in workbench/example/workflows/99_e2e.ts:1086", "shortDescription": {"text": "Commented-code block (7 lines) in workbench/example/workflows/99_e2e.ts:1086"}, "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-b0a5a83ce640bfba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/example/workflows/99_e2e.ts:416", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/example/workflows/99_e2e.ts:416"}, "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-48774affa9a6716d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-turbopack/app/home-client.tsx:238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-turbopack/app/home-client.tsx: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-e2e7bacb0cf67a13", "name": "Commented-code block (6 lines) in workbench/nextjs-turbopack/app/api/workflows/start/route.ts:91", "shortDescription": {"text": "Commented-code block (6 lines) in workbench/nextjs-turbopack/app/api/workflows/start/route.ts:91"}, "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-9de44664ed353475", "name": "Commented-code block (8 lines) in packages/world-vercel/src/streamer.ts:150", "shortDescription": {"text": "Commented-code block (8 lines) in packages/world-vercel/src/streamer.ts:150"}, "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-5b0960e4209614d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/streamer.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/streamer.ts:21"}, "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-5893eb4c7bd9b65c", "name": "Commented-code block (5 lines) in packages/world-vercel/src/index.ts:33", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/index.ts:33"}, "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-8b740d87f011d32d", "name": "Commented-code block (5 lines) in packages/world-vercel/src/utils.ts:336", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/utils.ts:336"}, "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-04553f6506928679", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/utils.ts:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/utils.ts: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-0d4a9245869b1286", "name": "Legacy-named symbol `wrun_legacy` in packages/world-vercel/src/events.test.ts:52", "shortDescription": {"text": "Legacy-named symbol `wrun_legacy` in packages/world-vercel/src/events.test.ts:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db0d66051ac3037e", "name": "Commented-code block (6 lines) in packages/world-vercel/src/events.test.ts:165", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events.test.ts:165"}, "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-7c451643cbb1bf5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/encryption.ts:123", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/encryption.ts: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-e8d8e8170947b297", "name": "Commented-code block (5 lines) in packages/world-vercel/src/frames.test.ts:178", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/frames.test.ts:178"}, "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-654f052e913c72d3", "name": "Commented-code block (6 lines) in packages/world-vercel/src/events.ts:307", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events.ts:307"}, "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-dcce5748053b3802", "name": "Commented-code block (6 lines) in packages/world-vercel/src/events-v4.ts:447", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events-v4.ts:447"}, "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-9c153ff07ab3a81d", "name": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.test.ts:187", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.test.ts:187"}, "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-86783d1fdf6ab60d", "name": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.ts:190", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.ts:190"}, "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-d3c8d2b210d0eb1c", "name": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/codec.ts:138", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/codec.ts:138"}, "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-0d46ba796b7be509", "name": "Legacy-named symbol `expectLegacy` in packages/nitro/src/index.test.ts:272", "shortDescription": {"text": "Legacy-named symbol `expectLegacy` in packages/nitro/src/index.test.ts:272"}, "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-b4bed2b35213200a", "name": "Commented-code block (5 lines) in packages/nitro/src/index.test.ts:266", "shortDescription": {"text": "Commented-code block (5 lines) in packages/nitro/src/index.test.ts:266"}, "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-db388409d804c55a", "name": "Commented-code block (8 lines) in packages/nitro/src/index.ts:75", "shortDescription": {"text": "Commented-code block (8 lines) in packages/nitro/src/index.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-545c7fa6478e8bb7", "name": "Commented-code block (5 lines) in packages/web-shared/test/hydration.test.ts:71", "shortDescription": {"text": "Commented-code block (5 lines) in packages/web-shared/test/hydration.test.ts:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a74ab32e0323fa98", "name": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:135", "shortDescription": {"text": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-01d91b009727b05b", "name": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/components/span-segments.ts:344", "shortDescription": {"text": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/components/span-segments.ts:344"}, "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-56f355845e81ea38", "name": "Commented-code block (6 lines) in packages/web-shared/src/components/trace-viewer/components/node.tsx:259", "shortDescription": {"text": "Commented-code block (6 lines) in packages/web-shared/src/components/trace-viewer/components/node.tsx:259"}, "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-a8987e572cfe08c9", "name": "Commented-code block (8 lines) in packages/web-shared/src/lib/hydration.ts:135", "shortDescription": {"text": "Commented-code block (8 lines) in packages/web-shared/src/lib/hydration.ts:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abc6aec6ee0b115d", "name": "Commented-code block (5 lines) in packages/builders/src/discover-entries-esbuild-plugin.ts:100", "shortDescription": {"text": "Commented-code block (5 lines) in packages/builders/src/discover-entries-esbuild-plugin.ts:100"}, "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-0e1e22c242ed1b6f", "name": "Commented-code block (6 lines) in packages/builders/src/base-builder.ts:350", "shortDescription": {"text": "Commented-code block (6 lines) in packages/builders/src/base-builder.ts:350"}, "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-685f5f3f9319ffa1", "name": "Commented-code block (5 lines) in packages/builders/src/swc-esbuild-plugin.ts:349", "shortDescription": {"text": "Commented-code block (5 lines) in packages/builders/src/swc-esbuild-plugin.ts:349"}, "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-d4c97f4bae84183c", "name": "Commented-code block (7 lines) in packages/builders/src/node-module-esbuild-plugin.ts:308", "shortDescription": {"text": "Commented-code block (7 lines) in packages/builders/src/node-module-esbuild-plugin.ts:308"}, "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-24abd61ca2772522", "name": "Commented-code block (7 lines) in packages/builders/src/module-specifier.ts:393", "shortDescription": {"text": "Commented-code block (7 lines) in packages/builders/src/module-specifier.ts:393"}, "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-2627cb364b9341b0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.test.ts:394", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.test.ts:394"}, "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-050e0b2c0e7ee163", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.ts:258", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.ts: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-aa8bc1f22d849fff", "name": "Commented-code block (6 lines) in packages/next/src/builder-deferred.ts:46", "shortDescription": {"text": "Commented-code block (6 lines) in packages/next/src/builder-deferred.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66bd6c110ebb183b", "name": "Commented-code block (6 lines) in packages/ai/src/workflow-chat-transport.ts:303", "shortDescription": {"text": "Commented-code block (6 lines) in packages/ai/src/workflow-chat-transport.ts:303"}, "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-19d9229aaa710d7b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ai/src/workflow-chat-transport.ts:216", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ai/src/workflow-chat-transport.ts:216"}, "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-698f91b865f427a0", "name": "Commented-code block (5 lines) in packages/ai/src/agent/do-stream-step.ts:678", "shortDescription": {"text": "Commented-code block (5 lines) in packages/ai/src/agent/do-stream-step.ts:678"}, "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-f02d91a22780bd12", "name": "Commented-code block (5 lines) in packages/ai/src/agent/durable-agent.ts:1676", "shortDescription": {"text": "Commented-code block (5 lines) in packages/ai/src/agent/durable-agent.ts:1676"}, "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-922fd9a147cb85aa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/update-check.ts:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/update-check.ts: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-29598c2eba319c8c", "name": "Commented-code block (6 lines) in packages/cli/src/lib/inspect/output.ts:450", "shortDescription": {"text": "Commented-code block (6 lines) in packages/cli/src/lib/inspect/output.ts:450"}, "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-fea67f6625505ec6", "name": "Commented-code block (5 lines) in packages/cli/src/lib/inspect/env.ts:201", "shortDescription": {"text": "Commented-code block (5 lines) in packages/cli/src/lib/inspect/env.ts:201"}, "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-da8346d43aa90025", "name": "Commented-code block (11 lines) in packages/cli/src/lib/inspect/vercel-api.ts:71", "shortDescription": {"text": "Commented-code block (11 lines) in packages/cli/src/lib/inspect/vercel-api.ts:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da13c662731fd711", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/inspect/vercel-api.ts:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/inspect/vercel-api.ts:22"}, "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-9ca84e39570c77fd", "name": "Commented-code block (7 lines) in packages/utils/src/parse-name.ts:13", "shortDescription": {"text": "Commented-code block (7 lines) in packages/utils/src/parse-name.ts:13"}, "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-27b6e0b56d7aa9e7", "name": "Commented-code block (6 lines) in packages/errors/src/index.ts:129", "shortDescription": {"text": "Commented-code block (6 lines) in packages/errors/src/index.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-45c3a853f0eb1ddb", "name": "Commented-code block (5 lines) in packages/errors/src/fatal-error.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in packages/errors/src/fatal-error.test.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-94271e11faf2ee52", "name": "Commented-code block (5 lines) in packages/errors/src/ansi.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/errors/src/ansi.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-1955e9dd0ee1f084", "name": "Commented-code block (5 lines) in packages/errors/src/ansi.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/errors/src/ansi.test.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-4473fdc038341fa6", "name": "Legacy-named symbol `hook_event_first_orphan_legacy` in packages/world-local/src/storage.test.ts:2755", "shortDescription": {"text": "Legacy-named symbol `hook_event_first_orphan_legacy` in packages/world-local/src/storage.test.ts:2755"}, "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-2bc3398fc77b436d", "name": "Commented-code block (7 lines) in packages/world-local/src/storage.test.ts:2233", "shortDescription": {"text": "Commented-code block (7 lines) in packages/world-local/src/storage.test.ts:2233"}, "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-afff1bca3827547b", "name": "Commented-code block (6 lines) in packages/world-local/src/index.ts:101", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-local/src/index.ts:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1df66f3ca56e9cf2", "name": "Commented-code block (5 lines) in packages/world-local/src/fs.ts:503", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-local/src/fs.ts:503"}, "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-4b4c65cb3519afa1", "name": "Commented-code block (5 lines) in packages/world-local/src/queue.ts:109", "shortDescription": {"text": "Commented-code block (5 lines) in packages/world-local/src/queue.ts:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70f02a2386364b80", "name": "Commented-code block (10 lines) in packages/world-local/src/storage/events-storage.ts:74", "shortDescription": {"text": "Commented-code block (10 lines) in packages/world-local/src/storage/events-storage.ts:74"}, "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-daa7819158a47004", "name": "Commented-code block (6 lines) in packages/world-local/src/storage/hooks-storage.ts:128", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-local/src/storage/hooks-storage.ts:128"}, "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-aaccf42c1bf4e139", "name": "Commented-code block (9 lines) in packages/workflow/src/api.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in packages/workflow/src/api.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-56bd86436b3e40c0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/workflow/src/stdlib.ts:9", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/workflow/src/stdlib.ts:9"}, "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-26b343b2f446a82f", "name": "Legacy-named symbol `wrun_legacy_v1` in packages/world-postgres/test/storage.test.ts:2678", "shortDescription": {"text": "Legacy-named symbol `wrun_legacy_v1` in packages/world-postgres/test/storage.test.ts:2678"}, "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-57cccc32529ffac7", "name": "Commented-code block (7 lines) in packages/world-postgres/test/storage.test.ts:1408", "shortDescription": {"text": "Commented-code block (7 lines) in packages/world-postgres/test/storage.test.ts:1408"}, "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-b4ab7c75ca0adf25", "name": "Commented-code block (6 lines) in packages/world-postgres/src/storage.ts:154", "shortDescription": {"text": "Commented-code block (6 lines) in packages/world-postgres/src/storage.ts:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f69b0975c69baa8", "name": "Commented-code block (9 lines) in packages/world-postgres/src/cli.ts:48", "shortDescription": {"text": "Commented-code block (9 lines) in packages/world-postgres/src/cli.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9dfee6d99a08646", "name": "Commented-code block (9 lines) in packages/world-postgres/src/queue.ts:500", "shortDescription": {"text": "Commented-code block (9 lines) in packages/world-postgres/src/queue.ts:500"}, "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-17974ce858940ca1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-postgres/src/queue.ts:255", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-postgres/src/queue.ts:255"}, "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-571e47db24168248", "name": "Commented-code block (7 lines) in packages/world-postgres/src/drizzle/schema.ts:144", "shortDescription": {"text": "Commented-code block (7 lines) in packages/world-postgres/src/drizzle/schema.ts:144"}, "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-ff0b37084e151e1d", "name": "Commented-code block (6 lines) in packages/web/vite.config.ts:20", "shortDescription": {"text": "Commented-code block (6 lines) in packages/web/vite.config.ts:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcb79adf6a290dbb", "name": "Commented-code block (5 lines) in packages/web/react-router.config.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in packages/web/react-router.config.ts: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-982b8c45d300bab7", "name": "Commented-code block (5 lines) in packages/docs-typecheck/src/docs-globals.d.ts:265", "shortDescription": {"text": "Commented-code block (5 lines) in packages/docs-typecheck/src/docs-globals.d.ts:265"}, "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-e1262957e1e8576e", "name": "Commented-code block (8 lines) in packages/core/src/serialization-format.ts:411", "shortDescription": {"text": "Commented-code block (8 lines) in packages/core/src/serialization-format.ts:411"}, "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-0fa8dc2090795062", "name": "Commented-code block (6 lines) in packages/core/src/step.ts:180", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/step.ts:180"}, "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-e7133f30b0606fb2", "name": "Commented-code block (5 lines) in packages/core/src/capabilities.ts:83", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/capabilities.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc41ec7e3487b158", "name": "Commented-code block (6 lines) in packages/core/src/events-consumer.ts:141", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/events-consumer.ts:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd40937faeaffbce", "name": "Commented-code block (5 lines) in packages/core/src/async-deserialization-ordering.test.ts:687", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/async-deserialization-ordering.test.ts:687"}, "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-49f7c4999b163804", "name": "Commented-code block (6 lines) in packages/core/src/step.test.ts:29", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/step.test.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce9dad6cba7679f0", "name": "Commented-code block (14 lines) in packages/core/src/hook-sleep-interaction.test.ts:800", "shortDescription": {"text": "Commented-code block (14 lines) in packages/core/src/hook-sleep-interaction.test.ts:800"}, "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-d453b0e9c8206fe0", "name": "Commented-code block (5 lines) in packages/core/src/abort-consistency.test.ts:568", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/abort-consistency.test.ts:568"}, "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-22af5d1450e14c35", "name": "Commented-code block (6 lines) in packages/core/src/serialization.ts:21", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/serialization.ts:21"}, "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-5e096d5af169abb3", "name": "Commented-code block (6 lines) in packages/core/src/workflow.ts:87", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/workflow.ts:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba6a63b9ceeebaa9", "name": "Legacy-named symbol `execute_v2` in packages/core/src/runtime.ts:407", "shortDescription": {"text": "Legacy-named symbol `execute_v2` in packages/core/src/runtime.ts:407"}, "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-2b1a6e3344789574", "name": "Commented-code block (5 lines) in packages/core/src/runtime.ts:262", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime.ts:262"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25140fbd7f502ffd", "name": "Commented-code block (6 lines) in packages/core/src/abort-controller.test.ts:346", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/abort-controller.test.ts:346"}, "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-162a641ebf1e74a7", "name": "Commented-code block (5 lines) in packages/core/src/workflow.test.ts:383", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/workflow.test.ts:383"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ab2c2b5aab30563", "name": "Commented-code block (5 lines) in packages/core/src/context-errors.test.ts:140", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/context-errors.test.ts:140"}, "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-0c2a528f07698e6f", "name": "Commented-code block (6 lines) in packages/core/src/flushable-stream.test.ts:366", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/flushable-stream.test.ts:366"}, "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-9cde05128b63bec7", "name": "Commented-code block (5 lines) in packages/core/src/flushable-stream.ts:269", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/flushable-stream.ts:269"}, "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-ce251d1fe3bebc25", "name": "Commented-code block (6 lines) in packages/core/src/encryption.ts:154", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/encryption.ts:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49d9f0bd98f870cb", "name": "Commented-code block (6 lines) in packages/core/src/runtime.test.ts:683", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/runtime.test.ts:683"}, "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-61c2815ac23ee8db", "name": "Commented-code block (5 lines) in packages/core/src/byte-stream-framing.test.ts:483", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/byte-stream-framing.test.ts:483"}, "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-e440dcbff1de3d11", "name": "Commented-code block (9 lines) in packages/core/src/serialization.test.ts:504", "shortDescription": {"text": "Commented-code block (9 lines) in packages/core/src/serialization.test.ts:504"}, "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-e4386d3d6e693479", "name": "Commented-code block (6 lines) in packages/core/src/logger.ts:86", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/logger.ts:86"}, "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-38eea70e9a13d4d2", "name": "Commented-code block (5 lines) in packages/core/src/encryption.test.ts:96", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/encryption.test.ts:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2542470eb348ec55", "name": "Commented-code block (8 lines) in packages/core/src/workflow/sleep.ts:92", "shortDescription": {"text": "Commented-code block (8 lines) in packages/core/src/workflow/sleep.ts:92"}, "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-667b2e8ca15a6eb2", "name": "Commented-code block (6 lines) in packages/core/src/workflow/create-hook.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/workflow/create-hook.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9019dea37213745a", "name": "Commented-code block (5 lines) in packages/core/src/workflow/hook.ts:75", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/workflow/hook.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b314e010c0bc348e", "name": "Commented-code block (7 lines) in packages/core/src/workflow/abort-controller.ts:173", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/workflow/abort-controller.ts:173"}, "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-acbdcd68bdaf5845", "name": "Commented-code block (5 lines) in packages/core/src/runtime/run.ts:306", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/run.ts:306"}, "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-a6e908cdd56dcbe8", "name": "Commented-code block (5 lines) in packages/core/src/runtime/step-executor.ts:213", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/step-executor.ts:213"}, "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-3691b221d5efd4de", "name": "Commented-code block (8 lines) in packages/core/src/runtime/helpers.ts:484", "shortDescription": {"text": "Commented-code block (8 lines) in packages/core/src/runtime/helpers.ts:484"}, "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-8c3701664c6ce1ca", "name": "Commented-code block (8 lines) in packages/core/src/runtime/start.ts:204", "shortDescription": {"text": "Commented-code block (8 lines) in packages/core/src/runtime/start.ts:204"}, "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-891f964f14f5b8da", "name": "Commented-code block (7 lines) in packages/core/src/runtime/suspension-handler.ts:304", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/runtime/suspension-handler.ts:304"}, "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-ed134351f77956b2", "name": "Commented-code block (5 lines) in packages/core/src/runtime/get-world-lazy.ts:44", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/get-world-lazy.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e093056daf62820", "name": "Commented-code block (5 lines) in packages/core/src/runtime/world-init.test.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/world-init.test.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ee2148082e4c708", "name": "Commented-code block (5 lines) in packages/core/src/runtime/step-handler.ts:101", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/step-handler.ts:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8a2c46d39ae361a", "name": "Commented-code block (7 lines) in packages/core/src/runtime/helpers.test.ts:250", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/runtime/helpers.test.ts:250"}, "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-59345544c1eca056", "name": "Commented-code block (6 lines) in packages/core/src/runtime/resume-hook.ts:154", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/runtime/resume-hook.ts:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d239b551f6c01c3b", "name": "Commented-code block (6 lines) in packages/core/src/runtime/world.ts:37", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/runtime/world.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e41f28cc9eb462c", "name": "Commented-code block (6 lines) in packages/core/src/step/writable-stream.ts:59", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/step/writable-stream.ts:59"}, "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-5bb6421071bd15f0", "name": "Commented-code block (7 lines) in packages/core/src/step/writable-stream.test.ts:118", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/step/writable-stream.test.ts:118"}, "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-fc576a6c7fdab7d7", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/step.ts:53", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/step.ts:53"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97cf36e525338ecf", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/workflow.ts:52", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/workflow.ts:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-297adef8d4745dbe", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec.ts:105", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec.ts:105"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2375ee644684d2f2", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/client.ts:53", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/client.ts:53"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6faf1efa02134886", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec-devalue.ts:133", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec-devalue.ts:133"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1bf7c8b0680a940", "name": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/serialization.test.ts:969", "shortDescription": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/serialization.test.ts:969"}, "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-d4480bb79ff09246", "name": "Commented-code block (5 lines) in packages/core/src/serialization/serialization.test.ts:867", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/src/serialization/serialization.test.ts:867"}, "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-52a4ef041ac17905", "name": "Commented-code block (7 lines) in packages/core/src/serialization/reducers/step-function.ts:38", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/src/serialization/reducers/step-function.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d4b41ff5c1c4b70", "name": "Commented-code block (6 lines) in packages/core/src/serialization/reducers/common.ts:189", "shortDescription": {"text": "Commented-code block (6 lines) in packages/core/src/serialization/reducers/common.ts:189"}, "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-ecaa756273720266", "name": "Legacy-named symbol `execute_v2` in packages/core/src/telemetry/semantic-conventions.ts:59", "shortDescription": {"text": "Legacy-named symbol `execute_v2` in packages/core/src/telemetry/semantic-conventions.ts:59"}, "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-45a06089acdce97c", "name": "Commented-code block (7 lines) in packages/core/e2e/dev.test.ts:44", "shortDescription": {"text": "Commented-code block (7 lines) in packages/core/e2e/dev.test.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29e4fc948c4df4d4", "name": "Commented-code block (5 lines) in packages/core/e2e/bench.bench.ts:142", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/e2e/bench.bench.ts:142"}, "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-5d1153cdf8d85007", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/utils.ts:376", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/utils.ts:376"}, "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-aa9bffefa7489a0a", "name": "Commented-code block (5 lines) in packages/core/e2e/e2e.test.ts:235", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/e2e/e2e.test.ts:235"}, "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-d5dcdc63c9ae1677", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/e2e.test.ts:165", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/e2e.test.ts: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-77b1c6d1d3051dcc", "name": "Commented-code block (5 lines) in packages/core/e2e/event-log-race-repro.test.ts:39", "shortDescription": {"text": "Commented-code block (5 lines) in packages/core/e2e/event-log-race-repro.test.ts:39"}, "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-68737018be944889", "name": "Commented-code block (15 lines) in packages/nest/src/cjs-rewrite.ts:29", "shortDescription": {"text": "Commented-code block (15 lines) in packages/nest/src/cjs-rewrite.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43188be3822d5a54", "name": "Commented-code block (5 lines) in packages/vitest/src/index.ts:183", "shortDescription": {"text": "Commented-code block (5 lines) in packages/vitest/src/index.ts:183"}, "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-6921a646b96eb1ea", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output-workflow.js: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-70d7af019059b62f", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output-step.js: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-4c6a12ba0aa1b857", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/input.", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/input.js: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-680ecf0cb661c1ad", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/ou", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/output-workflow.js: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-0500c6c13ae35dea", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/ou", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/output-step.js: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-9273c875d82b6382", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/in", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/input.js: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-3dbd55c73025987f", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/ou", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/output-workflow.js: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-55ea88e69aadb0af", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/ou", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/output-step.js: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-fb96062c455a6e70", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/in", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/input.js: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-8c4805fc2a1c3f28", "name": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/", "shortDescription": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/output-workflow.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d0a1884f357c53e", "name": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/", "shortDescription": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/output-step.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-962cf6faf6aae962", "name": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/", "shortDescription": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/input.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76c5201bc7d12d42", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-wor", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-workflow.js: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-c511408606ba61ae", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-ste", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-step.js: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-358c0094053eb3e5", "name": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/input.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/input.js: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-700817544e3c0e81", "name": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-im", "shortDescription": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/output-workflow.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b3604bb7c9ebe08", "name": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-im", "shortDescription": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/output-step.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b487ace7843b57d9", "name": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-im", "shortDescription": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/input.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c711f2063795f9a", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-work", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-workflow.js: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-d47448418ea2ed2d", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-step", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-step.js:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-57cac4436b82d951", "name": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/input.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/input.js: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-2615cd29c1e93aae", "name": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/outp", "shortDescription": {"text": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/output-workflow.js: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-6d4c81659a4530d3", "name": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/outp", "shortDescription": {"text": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/output-step.js:32"}, "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-b348ebf85201f0e7", "name": "Commented-code block (8 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/inpu", "shortDescription": {"text": "Commented-code block (8 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/input.js: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-46dc80c392bf1a26", "name": "Commented-code block (5 lines) in .github/scripts/generate-docs-data.js:47", "shortDescription": {"text": "Commented-code block (5 lines) in .github/scripts/generate-docs-data.js:47"}, "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-ca91699875c45e3d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 .github/scripts/fetch-e2e-runtime-logs.mjs:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .github/scripts/fetch-e2e-runtime-logs.mjs:96"}, "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-1b9a8b10003e2f0c", "name": "Commented-code block (5 lines) in .github/scripts/aggregate-e2e-results.js:150", "shortDescription": {"text": "Commented-code block (5 lines) in .github/scripts/aggregate-e2e-results.js:150"}, "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-f8f6771f90172a5a", "name": "Commented-code block (5 lines) in .github/actions/publish-to-gh-pages/publish.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in .github/actions/publish-to-gh-pages/publish.js: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-fe09627b662a88a2", "name": "Dangling fetch: GET https://raw.githubusercontent.com/${REPO}/${ghPagesSha}/${FILE_PATH} (docs/app/api/benchmark-history", "shortDescription": {"text": "Dangling fetch: GET https://raw.githubusercontent.com/${REPO}/${ghPagesSha}/${FILE_PATH} (docs/app/api/benchmark-history/route.ts:112)"}, "fullDescription": {"text": "`docs/app/api/benchmark-history/route.ts:112` calls `GET https://raw.githubusercontent.com/${REPO}/${ghPagesSha}/${FILE_PATH}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/raw.githubusercontent.com/<p>/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98e2b1d8f404aa8f", "name": "Dangling fetch: POST https://api.example-payments.com/validate-method (docs/app/[lang]/(home)/components/use-cases-serve", "shortDescription": {"text": "Dangling fetch: POST https://api.example-payments.com/validate-method (docs/app/[lang]/(home)/components/use-cases-server.tsx:88)"}, "fullDescription": {"text": "`docs/app/[lang]/(home)/components/use-cases-server.tsx:88` calls `POST https://api.example-payments.com/validate-method` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.example-payments.com/validate-method`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46e84355ac7d63de", "name": "Dangling fetch: GET /catalog.json (tarballs/src/main.tsx:11)", "shortDescription": {"text": "Dangling fetch: GET /catalog.json (tarballs/src/main.tsx:11)"}, "fullDescription": {"text": "`tarballs/src/main.tsx:11` calls `GET /catalog.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/catalog.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34ef6ee1ae8c7168", "name": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-webpack/app/home-client.tsx:90)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-webpack/app/home-client.tsx:90)"}, "fullDescription": {"text": "`workbench/nextjs-webpack/app/home-client.tsx:90` calls `POST /api/workflows/await` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/await`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0acabde09df1059", "name": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-webpack/app/home-client.tsx:150)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-webpack/app/home-client.tsx:150)"}, "fullDescription": {"text": "`workbench/nextjs-webpack/app/home-client.tsx:150` calls `POST /api/workflows/stream` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/stream`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47c4e48523403398", "name": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-webpack/app/home-client.tsx:238)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-webpack/app/home-client.tsx:238)"}, "fullDescription": {"text": "`workbench/nextjs-webpack/app/home-client.tsx:238` calls `POST /api/workflows/start` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/start`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-786a12f71371fcef", "name": "Dangling fetch: GET https://jsonplaceholder.typicode.com/todos/1 (workbench/example/workflows/99_e2e.ts:416)", "shortDescription": {"text": "Dangling fetch: GET https://jsonplaceholder.typicode.com/todos/1 (workbench/example/workflows/99_e2e.ts:416)"}, "fullDescription": {"text": "`workbench/example/workflows/99_e2e.ts:416` calls `GET https://jsonplaceholder.typicode.com/todos/1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/jsonplaceholder.typicode.com/todos/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a42827003248e1f", "name": "Dangling fetch: GET https://example.com (workbench/example/workflows/99_e2e.ts:2607)", "shortDescription": {"text": "Dangling fetch: GET https://example.com (workbench/example/workflows/99_e2e.ts:2607)"}, "fullDescription": {"text": "`workbench/example/workflows/99_e2e.ts:2607` calls `GET https://example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/example.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81a25e12b450c1b0", "name": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-turbopack/app/home-client.tsx:90)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-turbopack/app/home-client.tsx:90)"}, "fullDescription": {"text": "`workbench/nextjs-turbopack/app/home-client.tsx:90` calls `POST /api/workflows/await` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/await`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-35b71afb222a1b4c", "name": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-turbopack/app/home-client.tsx:150)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-turbopack/app/home-client.tsx:150)"}, "fullDescription": {"text": "`workbench/nextjs-turbopack/app/home-client.tsx:150` calls `POST /api/workflows/stream` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/stream`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-897482df700277bf", "name": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-turbopack/app/home-client.tsx:238)", "shortDescription": {"text": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-turbopack/app/home-client.tsx:238)"}, "fullDescription": {"text": "`workbench/nextjs-turbopack/app/home-client.tsx:238` calls `POST /api/workflows/start` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workflows/start`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63476cc0c7674c7c", "name": "Dangling fetch: GET https://api.vercel.com/v1/workflow/run-key/${deploymentId}?${params} (packages/world-vercel/src/encr", "shortDescription": {"text": "Dangling fetch: GET https://api.vercel.com/v1/workflow/run-key/${deploymentId}?${params} (packages/world-vercel/src/encryption.ts:123)"}, "fullDescription": {"text": "`packages/world-vercel/src/encryption.ts:123` calls `GET https://api.vercel.com/v1/workflow/run-key/${deploymentId}?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.vercel.com/v1/workflow/run-key/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d0a41a5e82decd2f", "name": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:394)", "shortDescription": {"text": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:394)"}, "fullDescription": {"text": "`packages/typescript-plugin/src/diagnostics.test.ts:394` calls `GET https://api.example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.example.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2aacf2f1768cd42d", "name": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:414)", "shortDescription": {"text": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:414)"}, "fullDescription": {"text": "`packages/typescript-plugin/src/diagnostics.test.ts:414` calls `GET https://api.example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.example.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6131d87d25db313", "name": "Dangling fetch: GET https://api.vercel.com/v2/teams/${teamId} (packages/cli/src/lib/inspect/vercel-api.ts:22)", "shortDescription": {"text": "Dangling fetch: GET https://api.vercel.com/v2/teams/${teamId} (packages/cli/src/lib/inspect/vercel-api.ts:22)"}, "fullDescription": {"text": "`packages/cli/src/lib/inspect/vercel-api.ts:22` calls `GET https://api.vercel.com/v2/teams/${teamId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.vercel.com/v2/teams/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e10f6062e2f4509", "name": "Dangling fetch: HEAD http://localhost:${port}${endpoint} (packages/utils/src/get-port.ts:260)", "shortDescription": {"text": "Dangling fetch: HEAD http://localhost:${port}${endpoint} (packages/utils/src/get-port.ts:260)"}, "fullDescription": {"text": "`packages/utils/src/get-port.ts:260` calls `HEAD http://localhost:${port}${endpoint}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4bd7f44b95c844d", "name": "Dangling fetch: POST /api/rpc (packages/web/app/lib/rpc-client.ts:29)", "shortDescription": {"text": "Dangling fetch: POST /api/rpc (packages/web/app/lib/rpc-client.ts:29)"}, "fullDescription": {"text": "`packages/web/app/lib/rpc-client.ts:29` calls `POST /api/rpc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/rpc`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b59435b3211a9df", "name": "Unused endpoint: USE /assets", "shortDescription": {"text": "Unused endpoint: USE /assets"}, "fullDescription": {"text": "`packages/web/server.js` declares `USE /assets` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d5f3b3ce3a50032", "name": "Unused endpoint: POST /api/test-direct-step-call", "shortDescription": {"text": "Unused endpoint: POST /api/test-direct-step-call"}, "fullDescription": {"text": "`workbench/express/src/index.ts` declares `POST /api/test-direct-step-call` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`workbench/fastify/src/index.ts` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-684f0e83ba7e1558", "name": "Unused endpoint: GET ", "shortDescription": {"text": "Unused endpoint: GET "}, "fullDescription": {"text": "`packages/web-shared/src/components/trace-viewer/trace-viewer.tsx` declares `GET ` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82deb24f509b3419", "name": "Unused endpoint: ALL /{*splat}", "shortDescription": {"text": "Unused endpoint: ALL /{*splat}"}, "fullDescription": {"text": "`packages/web/server/app.ts` declares `ALL /{*splat}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22193"}, "properties": {"repository": "vercel/workflow", "repoUrl": "https://github.com/vercel/workflow", "branch": "main"}, "results": [{"ruleId": "scanner-3b316b6b2c1f6b30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 docs/scripts/lint-rendered-links.ts:31"}, "properties": {"repobilityId": "7b301b974f6be353", "scanner": "scanner-primary", "fingerprint": "3b316b6b2c1f6b30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f6a88ee54552c77", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "2aec35b7e175f245", "scanner": "scanner-primary", "fingerprint": "8f6a88ee54552c77", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-314c7c9fb32f4eff", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/BenchmarkChart.tsx:167"}, "properties": {"repobilityId": "8de470a96a135d49", "scanner": "scanner-primary", "fingerprint": "314c7c9fb32f4eff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a80fcee22ae42708", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/worlds/WorldCardSimple.tsx:33"}, "properties": {"repobilityId": "d75a803b27bc8c20", "scanner": "scanner-primary", "fingerprint": "a80fcee22ae42708", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-09df3676b3e1d05c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/custom/agent-traces.tsx:123"}, "properties": {"repobilityId": "9f70e905bff348ad", "scanner": "scanner-primary", "fingerprint": "09df3676b3e1d05c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6cdbeddaed4bfacc", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/mermaid.tsx:60"}, "properties": {"repobilityId": "3d5399f5013385d4", "scanner": "scanner-primary", "fingerprint": "6cdbeddaed4bfacc", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e48681218fc5233c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/sidebar.tsx:135"}, "properties": {"repobilityId": "1e76d1bf973d4efb", "scanner": "scanner-primary", "fingerprint": "e48681218fc5233c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6141d4ad5e14703d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/geistdocs/code-block.tsx:140"}, "properties": {"repobilityId": "0d7d4fe1ef6489b0", "scanner": "scanner-primary", "fingerprint": "6141d4ad5e14703d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8392a52aaa34a8c2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/components/geistdocs/version-switcher.tsx:61"}, "properties": {"repobilityId": "7812f450e256c6df", "scanner": "scanner-primary", "fingerprint": "8392a52aaa34a8c2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aa63c0e584edfb23", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/components/ai-elements/code-block.tsx:114"}, "properties": {"repobilityId": "b600930fa9b8b12c", "scanner": "scanner-primary", "fingerprint": "aa63c0e584edfb23", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-16ebb204ff3a02be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 docs/app/api/chat/tools.ts:22"}, "properties": {"repobilityId": "6e4c480ae606eaa6", "scanner": "scanner-primary", "fingerprint": "16ebb204ff3a02be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad3e6eb9bc78960e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/worlds/page.tsx:125"}, "properties": {"repobilityId": "35a295dd76eefc7c", "scanner": "scanner-primary", "fingerprint": "ad3e6eb9bc78960e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7b77064e9a0315c3", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 docs/app/[lang]/(home)/components/code-block.tsx:29"}, "properties": {"repobilityId": "b0a3a6aef88cdbba", "scanner": "scanner-primary", "fingerprint": "7b77064e9a0315c3", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-06bed6f2b52f79a7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/bar.tsx:52"}, "properties": {"repobilityId": "277967cdc280fecd", "scanner": "scanner-primary", "fingerprint": "06bed6f2b52f79a7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b3c9cee68619800e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 docs/app/[lang]/(home)/components/vercel-com-visuals/o11y-visual.tsx:113"}, "properties": {"repobilityId": "3379f8f582ffb4d5", "scanner": "scanner-primary", "fingerprint": "b3c9cee68619800e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fbbf069b1208a112", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tarballs/scripts/pack.ts:169"}, "properties": {"repobilityId": "fa214b5b07aae645", "scanner": "scanner-primary", "fingerprint": "fbbf069b1208a112", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3eef3b08a5f2e287", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/hooks.server.ts:10"}, "properties": {"repobilityId": "a1805eea48080fb9", "scanner": "scanner-primary", "fingerprint": "3eef3b08a5f2e287", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2496f04e7060e2e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/chat/+server.ts:12"}, "properties": {"repobilityId": "d56956d1a5d4c165", "scanner": "scanner-primary", "fingerprint": "2496f04e7060e2e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c905b567e71ce6b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/routes/api/test-direct-step-call/+server.ts:12"}, "properties": {"repobilityId": "32bd22581f7f0a07", "scanner": "scanner-primary", "fingerprint": "c905b567e71ce6b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50a771d36e238e8a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/user-signup.ts:15"}, "properties": {"repobilityId": "6b733ae98f0ea4f7", "scanner": "scanner-primary", "fingerprint": "50a771d36e238e8a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2339a6e8a376de1b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/sveltekit/src/workflows/0_calc.ts:5"}, "properties": {"repobilityId": "5a6de80bd7651658", "scanner": "scanner-primary", "fingerprint": "2339a6e8a376de1b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9308d0bffb536373", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/chat.post.ts:7"}, "properties": {"repobilityId": "f6b9a2f31616eb2b", "scanner": "scanner-primary", "fingerprint": "9308d0bffb536373", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfca912414f086dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/api/test-direct-step-call.post.ts:13"}, "properties": {"repobilityId": "936dd698582240c8", "scanner": "scanner-primary", "fingerprint": "bfca912414f086dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7e7aa76015afa745", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nuxt/server/plugins/start-pg-world.ts:10"}, "properties": {"repobilityId": "6984a1998196b138", "scanner": "scanner-primary", "fingerprint": "7e7aa76015afa745", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9784fe8f8b5146f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/express/src/index.ts:20"}, "properties": {"repobilityId": "a11c021eae12b8a9", "scanner": "scanner-primary", "fingerprint": "9784fe8f8b5146f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a25ed884594ec9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/scripts/generate-workflows-registry.js:111"}, "properties": {"repobilityId": "dfaaa2191bfd8a13", "scanner": "scanner-primary", "fingerprint": "5a25ed884594ec9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f81b59dd978b4925", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/chat.post.ts:7"}, "properties": {"repobilityId": "28ffa9e6eeac5f2a", "scanner": "scanner-primary", "fingerprint": "f81b59dd978b4925", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8360d0d0e15626b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vite/routes/api/test-direct-step-call.post.ts:11"}, "properties": {"repobilityId": "1828c7cb9a162a5b", "scanner": "scanner-primary", "fingerprint": "e8360d0d0e15626b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50a02696077d4d4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/fastify/src/index.ts:60"}, "properties": {"repobilityId": "4a2c1ee4b0a9ae84", "scanner": "scanner-primary", "fingerprint": "50a02696077d4d4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-054ec6045518f779", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/wasm/build.js:27"}, "properties": {"repobilityId": "adc15b6215dd177d", "scanner": "scanner-primary", "fingerprint": "054ec6045518f779", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b6757a2983d9290", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/generate-monaco-types.js:189"}, "properties": {"repobilityId": "a3187e85fd511704", "scanner": "scanner-primary", "fingerprint": "3b6757a2983d9290", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a01836abb460a3fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/swc-playground/scripts/copy-wasm.js:26"}, "properties": {"repobilityId": "e6ec7bda033874c3", "scanner": "scanner-primary", "fingerprint": "a01836abb460a3fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-324d738cc090771e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/hono/src/index.ts:17"}, "properties": {"repobilityId": "12128d169ab7ecc5", "scanner": "scanner-primary", "fingerprint": "324d738cc090771e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cb7d429eddf70893", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/app/api/test-direct-step-call/route.ts:11"}, "properties": {"repobilityId": "6047d1707e112ca8", "scanner": "scanner-primary", "fingerprint": "cb7d429eddf70893", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03b9af5d78bf443a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/pages/api/trigger-pages.ts:69"}, "properties": {"repobilityId": "0f462423acf51c8c", "scanner": "scanner-primary", "fingerprint": "03b9af5d78bf443a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c07c9673011ac264", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-webpack/workflows/8_react_render.tsx:11"}, "properties": {"repobilityId": "9925ee790ddfa350", "scanner": "scanner-primary", "fingerprint": "c07c9673011ac264", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f2fa8f456e8b800", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/test-direct-step-call.ts:29"}, "properties": {"repobilityId": "9267e2428e24168d", "scanner": "scanner-primary", "fingerprint": "6f2fa8f456e8b800", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e94fbae9f0a0f3ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/tanstack-start/src/routes/api/chat.ts:15"}, "properties": {"repobilityId": "2212e1021d3f212f", "scanner": "scanner-primary", "fingerprint": "e94fbae9f0a0f3ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b3aed68d55d9d37", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/chat.post.ts:7"}, "properties": {"repobilityId": "9ddd69feed818fc6", "scanner": "scanner-primary", "fingerprint": "4b3aed68d55d9d37", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae79c887ab120ceb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/routes/api/test-direct-step-call.post.ts:11"}, "properties": {"repobilityId": "39091f5f7462d596", "scanner": "scanner-primary", "fingerprint": "ae79c887ab120ceb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c12c30b8ce795a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/workflows/0_demo.ts:5"}, "properties": {"repobilityId": "3f9db6a77fec8c9b", "scanner": "scanner-primary", "fingerprint": "0c12c30b8ce795a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c96f0faf53224623", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v3/plugins/start-pg-world.ts:10"}, "properties": {"repobilityId": "aeffbc51dc61362e", "scanner": "scanner-primary", "fingerprint": "c96f0faf53224623", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7407a45009b4d7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/test-direct-step-call.ts:10"}, "properties": {"repobilityId": "47491fadbbd79042", "scanner": "scanner-primary", "fingerprint": "c7407a45009b4d7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f143bc0ddfb972c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/astro/src/pages/api/chat.ts:8"}, "properties": {"repobilityId": "af3d39c56045db1b", "scanner": "scanner-primary", "fingerprint": "5f143bc0ddfb972c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c938f7c944ea4f0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nitro-v2/server/api/chat.post.ts:7"}, "properties": {"repobilityId": "df5ea8ed741c7d0c", "scanner": "scanner-primary", "fingerprint": "c938f7c944ea4f0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-08064adc3cf414f7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/api/test-direct-step-call.ts:12"}, "properties": {"repobilityId": "afb3d4782a11dbce", "scanner": "scanner-primary", "fingerprint": "08064adc3cf414f7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e5e66b738e22b36", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/1_simple.ts:21"}, "properties": {"repobilityId": "1b600c02d32f2132", "scanner": "scanner-primary", "fingerprint": "0e5e66b738e22b36", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5b33996e3da8afa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/3_streams.ts:9"}, "properties": {"repobilityId": "b887f420703dea52", "scanner": "scanner-primary", "fingerprint": "c5b33996e3da8afa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d4e266ca247a9d21", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/2_control_flow.ts:5"}, "properties": {"repobilityId": "d17abcf7cd131777", "scanner": "scanner-primary", "fingerprint": "d4e266ca247a9d21", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88bf1627980a578e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/5_hooks.ts:14"}, "properties": {"repobilityId": "c5d4ca46c56675bb", "scanner": "scanner-primary", "fingerprint": "88bf1627980a578e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2301634bebefaf71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/7_full.ts:15"}, "properties": {"repobilityId": "3d604bd259e9d0b8", "scanner": "scanner-primary", "fingerprint": "2301634bebefaf71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bafd9e3c66fa9824", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/serde-steps.ts:18"}, "properties": {"repobilityId": "d9c1285b3c4da5fc", "scanner": "scanner-primary", "fingerprint": "bafd9e3c66fa9824", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3bc66590edf09cd7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/6_batching.ts:14"}, "properties": {"repobilityId": "58ea97f616c1c16d", "scanner": "scanner-primary", "fingerprint": "3bc66590edf09cd7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26167d2873681ef0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 workbench/example/workflows/99_e2e.ts:99"}, "properties": {"repobilityId": "ae487aa60a5505b5", "scanner": "scanner-primary", "fingerprint": "26167d2873681ef0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1d35367dbf50db93", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/99_e2e.ts:106"}, "properties": {"repobilityId": "8d2f76bbdc303fde", "scanner": "scanner-primary", "fingerprint": "1d35367dbf50db93", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-faa14534f20990ee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/example/workflows/4_ai.ts:8"}, "properties": {"repobilityId": "a0153319ea1fcdf5", "scanner": "scanner-primary", "fingerprint": "faa14534f20990ee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bdd0d779706a3516", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/app.controller.ts:14"}, "properties": {"repobilityId": "15fefbd1a76a84ec", "scanner": "scanner-primary", "fingerprint": "bdd0d779706a3516", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-257b6ffb19088a74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nest/src/main.ts:12"}, "properties": {"repobilityId": "d461f5db19dbf80d", "scanner": "scanner-primary", "fingerprint": "257b6ffb19088a74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4dbe36fbe65e814", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/invocations-panel.tsx:208"}, "properties": {"repobilityId": "593889d00516fd1b", "scanner": "scanner-primary", "fingerprint": "f4dbe36fbe65e814", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1d759f7f85c60ccc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 workbench/nextjs-turbopack/components/workflow-button.tsx:27"}, "properties": {"repobilityId": "576303d19a541104", "scanner": "scanner-primary", "fingerprint": "1d759f7f85c60ccc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b99675ec1af5fbfa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/app/api/test-direct-step-call/route.ts:11"}, "properties": {"repobilityId": "11c299fd22cc2994", "scanner": "scanner-primary", "fingerprint": "b99675ec1af5fbfa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e16bdf1f89eff2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/pages/api/trigger-pages.ts:69"}, "properties": {"repobilityId": "c91d434d645ae89b", "scanner": "scanner-primary", "fingerprint": "0e16bdf1f89eff2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2eddb7fdcb8beaef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/8_react_render.tsx:11"}, "properties": {"repobilityId": "b0a1eed041b7426f", "scanner": "scanner-primary", "fingerprint": "2eddb7fdcb8beaef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-41c86faca3b7ec69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/nextjs-turbopack/workflows/agent_chat.ts:111"}, "properties": {"repobilityId": "fa60029b0fc45d80", "scanner": "scanner-primary", "fingerprint": "41c86faca3b7ec69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63823d151fb22a4f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 workbench/vitest/workflows/cookbook/distributed-abort-controller.ts:9"}, "properties": {"repobilityId": "fed53d2899a8d051", "scanner": "scanner-primary", "fingerprint": "63823d151fb22a4f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7cefb2f15d716a3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world-vercel/src/http-client.ts:29"}, "properties": {"repobilityId": "f5fa2c9d455db935", "scanner": "scanner-primary", "fingerprint": "c7cefb2f15d716a3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3cc658ad1108dd7e", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/spinner.tsx:54"}, "properties": {"repobilityId": "a1f689dda55b3057", "scanner": "scanner-primary", "fingerprint": "3cc658ad1108dd7e", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-fe0d44c034553894", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/decrypt-button.tsx:27"}, "properties": {"repobilityId": "c26217008e87a974", "scanner": "scanner-primary", "fingerprint": "fe0d44c034553894", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8cec0e67fcf20068", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/menu-dropdown.tsx:45"}, "properties": {"repobilityId": "5e74612f5cd9242e", "scanner": "scanner-primary", "fingerprint": "8cec0e67fcf20068", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a5fa9eedb834ce67", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/web-shared/src/components/ui/load-more-button.tsx:26"}, "properties": {"repobilityId": "c15898e6b02c8ff8", "scanner": "scanner-primary", "fingerprint": "a5fa9eedb834ce67", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-500e50e3fd0573da", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/new-trace-viewer/trace-viewer.tsx:683"}, "properties": {"repobilityId": "30fd191786766e3d", "scanner": "scanner-primary", "fingerprint": "500e50e3fd0573da", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e39a4bdec277afff", "level": "note", "message": {"text": "React Flow <MiniMap> without dark background \u2014 packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:455"}, "properties": {"repobilityId": "28635819c9396f1c", "scanner": "scanner-primary", "fingerprint": "e39a4bdec277afff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.minimap.no-bg"]}}, {"ruleId": "scanner-4f0e0d711fafd717", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/worker.ts:107"}, "properties": {"repobilityId": "89bd82351c74c908", "scanner": "scanner-primary", "fingerprint": "4f0e0d711fafd717", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0610cb22b61f9394", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web-shared/src/components/trace-viewer/components/map.tsx:145"}, "properties": {"repobilityId": "504095189b315e5f", "scanner": "scanner-primary", "fingerprint": "0610cb22b61f9394", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dd970d191ef8c768", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/events-list.tsx:138"}, "properties": {"repobilityId": "828c6060718bc852", "scanner": "scanner-primary", "fingerprint": "dd970d191ef8c768", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-63de7d80d4dfe7ea", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/web-shared/src/components/sidebar/attributes-block.tsx:51"}, "properties": {"repobilityId": "2033a3f3d9f2ae3a", "scanner": "scanner-primary", "fingerprint": "63de7d80d4dfe7ea", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7955ecadd949bb8f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/apply-swc-transform.ts:126"}, "properties": {"repobilityId": "718928046e8cc520", "scanner": "scanner-primary", "fingerprint": "7955ecadd949bb8f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-41f8f459215f2e3a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/builders/src/base-builder.ts:1636"}, "properties": {"repobilityId": "ff388a54cc3c61d9", "scanner": "scanner-primary", "fingerprint": "41f8f459215f2e3a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-cef2f422b93213a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/base-builder.ts:162"}, "properties": {"repobilityId": "eb439937de6ea136", "scanner": "scanner-primary", "fingerprint": "cef2f422b93213a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fdddac75a929daa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/standalone.ts:23"}, "properties": {"repobilityId": "5a3c41d5993c1ce5", "scanner": "scanner-primary", "fingerprint": "8fdddac75a929daa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7101e6e4893b4f57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/builders/src/vercel-build-output-api.ts:18"}, "properties": {"repobilityId": "2ee3850b16d3ba4b", "scanner": "scanner-primary", "fingerprint": "7101e6e4893b4f57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e0f0cd2dba67136", "level": "warning", "message": {"text": "Custom React Flow node registered without explicit width/height \u2014 packages/builders/src/workflows-extractor.ts:568"}, "properties": {"repobilityId": "2ded5fb6509b42bc", "scanner": "scanner-primary", "fingerprint": "5e0f0cd2dba67136", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.rfnode.no-dims"]}}, {"ruleId": "scanner-fcc7837cef33828b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/utils.test.ts:197"}, "properties": {"repobilityId": "6fc0cefeccd6f40f", "scanner": "scanner-primary", "fingerprint": "fcc7837cef33828b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40d1c8ece466a80d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.test.ts:336"}, "properties": {"repobilityId": "2461afbed73ae3c8", "scanner": "scanner-primary", "fingerprint": "40d1c8ece466a80d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9028e69090f6a028", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/typescript-plugin/src/diagnostics.ts:327"}, "properties": {"repobilityId": "e770a735e012e60d", "scanner": "scanner-primary", "fingerprint": "9028e69090f6a028", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c120c0679e132c1f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/next/src/builder-eager.ts:97"}, "properties": {"repobilityId": "35455b8a068bebb0", "scanner": "scanner-primary", "fingerprint": "c120c0679e132c1f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-acd7c2acb4f21adf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/next/src/builder-eager.ts:254"}, "properties": {"repobilityId": "135581e9b93ebd38", "scanner": "scanner-primary", "fingerprint": "acd7c2acb4f21adf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71348b783805df31", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/ai/src/agent/durable-agent.ts:570"}, "properties": {"repobilityId": "c364a4c990917432", "scanner": "scanner-primary", "fingerprint": "71348b783805df31", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ea5899c588b38049", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/commands/health.ts:340"}, "properties": {"repobilityId": "c8f5c8221a028a03", "scanner": "scanner-primary", "fingerprint": "ea5899c588b38049", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-943b47e3bf73d414", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/cli/src/lib/config/log.ts:51"}, "properties": {"repobilityId": "0bfa1a7647ade565", "scanner": "scanner-primary", "fingerprint": "943b47e3bf73d414", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51b1f495fd2b171e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/cli/src/lib/inspect/env.ts:239"}, "properties": {"repobilityId": "9ba043094741c317", "scanner": "scanner-primary", "fingerprint": "51b1f495fd2b171e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ae9fa09cd79657fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/utils/src/get-port.test.ts:88"}, "properties": {"repobilityId": "0753d7d3dd74930c", "scanner": "scanner-primary", "fingerprint": "ae9fa09cd79657fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e35418010745c12", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/vite/src/hot-update.ts:67"}, "properties": {"repobilityId": "625e87bd8ff10129", "scanner": "scanner-primary", "fingerprint": "4e35418010745c12", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7140de864d61beee", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/errors/src/index.ts:617"}, "properties": {"repobilityId": "315a6cec14c38c3b", "scanner": "scanner-primary", "fingerprint": "7140de864d61beee", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-827bce30b2fa0953", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/errors/src/index.ts:781"}, "properties": {"repobilityId": "b8a541cb35b7b6c0", "scanner": "scanner-primary", "fingerprint": "827bce30b2fa0953", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4517dcd0cd0d96d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/noop.ts:20"}, "properties": {"repobilityId": "54eb32bc03db6f3f", "scanner": "scanner-primary", "fingerprint": "b4517dcd0cd0d96d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98735db81fef5b82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/hooks.ts:35"}, "properties": {"repobilityId": "b059a33f0251d9a8", "scanner": "scanner-primary", "fingerprint": "98735db81fef5b82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b76e3b65ed9d14ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/addition.ts:9"}, "properties": {"repobilityId": "6b26c902e1626043", "scanner": "scanner-primary", "fingerprint": "b76e3b65ed9d14ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87945abd6a6b1266", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-testing/workflows/retriable-and-fatal.ts:23"}, "properties": {"repobilityId": "d9ba6dc17c217eb6", "scanner": "scanner-primary", "fingerprint": "87945abd6a6b1266", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0afe974b0412bf7c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/init.ts:198"}, "properties": {"repobilityId": "7c14208e9dabc9f7", "scanner": "scanner-primary", "fingerprint": "0afe974b0412bf7c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ddd526deee4fded0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-local/src/streamer.test.ts:126"}, "properties": {"repobilityId": "1e5945eff1561742", "scanner": "scanner-primary", "fingerprint": "ddd526deee4fded0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-167a7b34f9980ca4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world-postgres/src/storage.ts:1362"}, "properties": {"repobilityId": "4c04b29c1446175a", "scanner": "scanner-primary", "fingerprint": "167a7b34f9980ca4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-70629d91337b2763", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world-postgres/src/cli.ts:20"}, "properties": {"repobilityId": "f2744a80f5cfc2d8", "scanner": "scanner-primary", "fingerprint": "70629d91337b2763", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-145c1813200b3c77", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/server.js:59"}, "properties": {"repobilityId": "23f8f4a9d7e9c9a9", "scanner": "scanner-primary", "fingerprint": "145c1813200b3c77", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62bd10845d35e6ff", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/run-detail-view.tsx:207"}, "properties": {"repobilityId": "76f52eded2a18449", "scanner": "scanner-primary", "fingerprint": "62bd10845d35e6ff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3dc10e0c3a7bed25", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/runs-table.tsx:386"}, "properties": {"repobilityId": "9f84f7677bac5dc5", "scanner": "scanner-primary", "fingerprint": "3dc10e0c3a7bed25", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fd58f31a1b396010", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/components/display-utils/connection-status.tsx:111"}, "properties": {"repobilityId": "117639df5f32e05b", "scanner": "scanner-primary", "fingerprint": "fd58f31a1b396010", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-80c1821474383c0b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/web/app/lib/client/workflow-primitives.ts:32"}, "properties": {"repobilityId": "ea4a73019c7205cf", "scanner": "scanner-primary", "fingerprint": "80c1821474383c0b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b0d6492048d46580", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/use-workflow-graph.ts:35"}, "properties": {"repobilityId": "f9b651b7bf795376", "scanner": "scanner-primary", "fingerprint": "b0d6492048d46580", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0503759d9bd79888", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/manifest-adapter.ts:193"}, "properties": {"repobilityId": "b28a12bc57abef38", "scanner": "scanner-primary", "fingerprint": "0503759d9bd79888", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-211b37a136905c51", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/web/app/lib/flow-graph/graph-execution-mapper.ts:419"}, "properties": {"repobilityId": "db6a36922019ff48", "scanner": "scanner-primary", "fingerprint": "211b37a136905c51", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa05912454a28c38", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/scripts/find-incomplete.ts:21"}, "properties": {"repobilityId": "84492e43d17cfde4", "scanner": "scanner-primary", "fingerprint": "aa05912454a28c38", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5dc1d090e1ed9f7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/docs-typecheck/src/__tests__/docs.test.ts:44"}, "properties": {"repobilityId": "5b59cdc994d3b902", "scanner": "scanner-primary", "fingerprint": "5dc1d090e1ed9f7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7aa3ddf059f6c0e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/capabilities.ts:83"}, "properties": {"repobilityId": "503d7eea371169cf", "scanner": "scanner-primary", "fingerprint": "c7aa3ddf059f6c0e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-756571ba05c246e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/create-hook.ts:210"}, "properties": {"repobilityId": "81c9daaadef56553", "scanner": "scanner-primary", "fingerprint": "756571ba05c246e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ffeec3ae066ed19", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.ts:257"}, "properties": {"repobilityId": "40e4c80e0cd6b0af", "scanner": "scanner-primary", "fingerprint": "1ffeec3ae066ed19", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-18e9f6e7fd2f1938", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime.ts:686"}, "properties": {"repobilityId": "83c37aa1f1840762", "scanner": "scanner-primary", "fingerprint": "18e9f6e7fd2f1938", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8efe875cbe5da80f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/workflow.test.ts:573"}, "properties": {"repobilityId": "196f5792f200e388", "scanner": "scanner-primary", "fingerprint": "8efe875cbe5da80f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-376aaaa01ba59437", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/src/context-violation-error.ts:109"}, "properties": {"repobilityId": "c3599d8e97494c8e", "scanner": "scanner-primary", "fingerprint": "376aaaa01ba59437", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9cdc7ce2dbc45f2e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/vm/index.ts:115"}, "properties": {"repobilityId": "8e4f744324609a7f", "scanner": "scanner-primary", "fingerprint": "9cdc7ce2dbc45f2e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3fe0f2b8a127cdc1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/helpers.ts:438"}, "properties": {"repobilityId": "f59c86c592c2649a", "scanner": "scanner-primary", "fingerprint": "3fe0f2b8a127cdc1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fe81ede53e822cd6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/runtime/step-handler.ts:648"}, "properties": {"repobilityId": "eec81ac175523cc6", "scanner": "scanner-primary", "fingerprint": "fe81ede53e822cd6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-19ab2deb0e84d304", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/src/serialization/types.ts:79"}, "properties": {"repobilityId": "cbe2d59f0eb825f3", "scanner": "scanner-primary", "fingerprint": "19ab2deb0e84d304", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3ca03cb1ebc1e43e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/utils.ts:134"}, "properties": {"repobilityId": "8f134f06ca8875f4", "scanner": "scanner-primary", "fingerprint": "3ca03cb1ebc1e43e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9053e18d08381761", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/core/e2e/utils.ts:226"}, "properties": {"repobilityId": "b8ceb8df293e0d86", "scanner": "scanner-primary", "fingerprint": "9053e18d08381761", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a46d82dcf61c03b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/core/e2e/e2e.test.ts:186"}, "properties": {"repobilityId": "1835b03158ca22e9", "scanner": "scanner-primary", "fingerprint": "2a46d82dcf61c03b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c5bade87480c07f5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world/src/steps.ts:21"}, "properties": {"repobilityId": "b03fa53b69534cac", "scanner": "scanner-primary", "fingerprint": "c5bade87480c07f5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8471f792e8987391", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/world/src/events.ts:83"}, "properties": {"repobilityId": "1c32281942bae9eb", "scanner": "scanner-primary", "fingerprint": "8471f792e8987391", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6c0df9329db44ee0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/world/src/recovery.ts:45"}, "properties": {"repobilityId": "73ad80de7dac32e4", "scanner": "scanner-primary", "fingerprint": "6c0df9329db44ee0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f4d9449d57d9e31", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/nest/src/cli.ts:50"}, "properties": {"repobilityId": "9b66191a5a41ce81", "scanner": "scanner-primary", "fingerprint": "7f4d9449d57d9e31", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc0c79599ffae166", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/swc-plugin-workflow/build.js:100"}, "properties": {"repobilityId": "d9fa9c893436a98a", "scanner": "scanner-primary", "fingerprint": "dc0c79599ffae166", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c7f28bfb6d32cd92", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/build.js:29"}, "properties": {"repobilityId": "0ae4835c92cff4b9", "scanner": "scanner-primary", "fingerprint": "c7f28bfb6d32cd92", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d616c6f43c4a745", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-workflow.js:5"}, "properties": {"repobilityId": "67d6326779ac37ac", "scanner": "scanner-primary", "fingerprint": "4d616c6f43c4a745", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4fbb59beb93e7e6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/output-step.js:5"}, "properties": {"repobilityId": "550417aadf858fe3", "scanner": "scanner-primary", "fingerprint": "4fbb59beb93e7e6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6cc7903d15f2e3c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/default-workflow-collision/input.js:5"}, "properties": {"repobilityId": "0932801e2375dcef", "scanner": "scanner-primary", "fingerprint": "6cc7903d15f2e3c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ddd93d6ac82feff2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/output-step.js:145"}, "properties": {"repobilityId": "7ca0b5267e7b50e4", "scanner": "scanner-primary", "fingerprint": "ddd93d6ac82feff2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9fb5675d18bfd42f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/fixture/nested-step-with-closure/input.js:71"}, "properties": {"repobilityId": "66c05912d5976c4f", "scanner": "scanner-primary", "fingerprint": "9fb5675d18bfd42f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94ef540ea570bba9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-workflow.js:4"}, "properties": {"repobilityId": "69344e7280e44614", "scanner": "scanner-primary", "fingerprint": "94ef540ea570bba9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4876232d44509f49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/output-step.js:18"}, "properties": {"repobilityId": "a67b5611fffec907", "scanner": "scanner-primary", "fingerprint": "4876232d44509f49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f66789135346d193", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/transform/tests/errors/misplaced-function-directive/input.js:9"}, "properties": {"repobilityId": "a5730cd6443ac94f", "scanner": "scanner-primary", "fingerprint": "f66789135346d193", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ffd483491a27a982", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/swc-plugin-workflow/examples/use-step-example.ts:30"}, "properties": {"repobilityId": "865fa279f7dcda45", "scanner": "scanner-primary", "fingerprint": "ffd483491a27a982", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7dc6451daf2aaf5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-benchmarks.js:285"}, "properties": {"repobilityId": "4976487d423e37c2", "scanner": "scanner-primary", "fingerprint": "f7dc6451daf2aaf5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4905aa624db3196", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/generate-docs-data.js:308"}, "properties": {"repobilityId": "4a4ab26ee3d0aa0c", "scanner": "scanner-primary", "fingerprint": "b4905aa624db3196", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2493fcd08028d18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/render-event-log-race-repro-results.js:309"}, "properties": {"repobilityId": "a53512bb922cbccd", "scanner": "scanner-primary", "fingerprint": "f2493fcd08028d18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-784d12744a42e686", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/scripts/aggregate-e2e-results.js:366"}, "properties": {"repobilityId": "5a54e7fd3d0ab753", "scanner": "scanner-primary", "fingerprint": "784d12744a42e686", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3677ea7c26461c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 .github/actions/render-benchmarks/render.js:135"}, "properties": {"repobilityId": "2fff430d5f35d552", "scanner": "scanner-primary", "fingerprint": "b3677ea7c26461c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-813696681f249840", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in docs/scripts/check-docs-smoke.mjs:1"}, "properties": {"repobilityId": "c2f9c1840b07c83a", "scanner": "scanner-primary", "fingerprint": "813696681f249840", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/scripts/check-docs-smoke.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6dc5997bb979c7d", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "29a88e77e24e4493", "scanner": "scanner-primary", "fingerprint": "c6dc5997bb979c7d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/components/ui/chart.tsx"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-c0df8f821e8e7cc3", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/mermaid.tsx:60"}, "properties": {"repobilityId": "03cc62527aa68ad2", "scanner": "scanner-primary", "fingerprint": "c0df8f821e8e7cc3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/components/geistdocs/mermaid.tsx"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-beb2efa3281ffccf", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/geistdocs/code-block.tsx:140"}, "properties": {"repobilityId": "e46c88807e95a114", "scanner": "scanner-primary", "fingerprint": "beb2efa3281ffccf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/components/geistdocs/code-block.tsx"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-69c0e61dc4a09cc6", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/components/ai-elements/code-block.tsx:114"}, "properties": {"repobilityId": "1e3bdc44557f10d1", "scanner": "scanner-primary", "fingerprint": "69c0e61dc4a09cc6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/components/ai-elements/code-block.tsx"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-6b5251c710bc2428", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/app/[lang]/(home)/components/code-block.tsx:29"}, "properties": {"repobilityId": "0024f31a80a699f7", "scanner": "scanner-primary", "fingerprint": "6b5251c710bc2428", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/app/[lang]/(home)/components/code-block.tsx"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-9d36a507dae2f0e4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/generate-release-notes.mjs:31"}, "properties": {"repobilityId": "5aeaac04feaf5348", "scanner": "scanner-primary", "fingerprint": "9d36a507dae2f0e4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate-release-notes.mjs"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-33fbd799049bd3ac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/stage-workbench-with-tarballs.mjs:1"}, "properties": {"repobilityId": "befbbba33961aee2", "scanner": "scanner-primary", "fingerprint": "33fbd799049bd3ac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/stage-workbench-with-tarballs.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14de62aebb4475af", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/generate-release-slack-payload.mjs:49"}, "properties": {"repobilityId": "3138c40b7d8c5b02", "scanner": "scanner-primary", "fingerprint": "14de62aebb4475af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate-release-slack-payload.mjs"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-6e0d48b2f6552d31", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in tarballs/scripts/pack.ts:150"}, "properties": {"repobilityId": "d709c4f37b57dd2b", "scanner": "scanner-primary", "fingerprint": "6e0d48b2f6552d31", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tarballs/scripts/pack.ts"}, "region": {"startLine": 150}}}]}, {"ruleId": "scanner-bae62077a4a6e901", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tarballs/scripts/pack.ts:1"}, "properties": {"repobilityId": "01ed14087ac8b556", "scanner": "scanner-primary", "fingerprint": "bae62077a4a6e901", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tarballs/scripts/pack.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-578e51004694637f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in workbench/swc-playground/wasm/build.js:1"}, "properties": {"repobilityId": "6da60c14927ab353", "scanner": "scanner-primary", "fingerprint": "578e51004694637f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/swc-playground/wasm/build.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f12c485f21640636", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in workbench/nextjs-turbopack/workflows/agent_chat.ts:56"}, "properties": {"repobilityId": "62b980186620612b", "scanner": "scanner-primary", "fingerprint": "f12c485f21640636", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nextjs-turbopack/workflows/agent_chat.ts"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-d7dfcc51d06fff37", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/spinner.tsx:54"}, "properties": {"repobilityId": "28ed13f943829184", "scanner": "scanner-primary", "fingerprint": "d7dfcc51d06fff37", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web-shared/src/components/ui/spinner.tsx"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-1c10fe035736d3f9", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/decrypt-button.tsx:27"}, "properties": {"repobilityId": "de31ea8bb47d780a", "scanner": "scanner-primary", "fingerprint": "1c10fe035736d3f9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web-shared/src/components/ui/decrypt-button.tsx"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-251fd96d6de9d32b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/menu-dropdown.tsx:45"}, "properties": {"repobilityId": "a96dc3c4d873ba79", "scanner": "scanner-primary", "fingerprint": "251fd96d6de9d32b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web-shared/src/components/ui/menu-dropdown.tsx"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-bfab198af17b63b9", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/web-shared/src/components/ui/load-more-button.tsx:26"}, "properties": {"repobilityId": "4061f356e48c8dd7", "scanner": "scanner-primary", "fingerprint": "bfab198af17b63b9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web-shared/src/components/ui/load-more-button.tsx"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-c436b9f90e196fc2", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in packages/next/src/loader.ts:533"}, "properties": {"repobilityId": "372d715977d2e5bf", "scanner": "scanner-primary", "fingerprint": "c436b9f90e196fc2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/next/src/loader.ts"}, "region": {"startLine": 533}}}]}, {"ruleId": "scanner-718924d1fd41068d", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in packages/next/src/builder-deferred.ts:61"}, "properties": {"repobilityId": "85dfe1da2bbcf237", "scanner": "scanner-primary", "fingerprint": "718924d1fd41068d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/next/src/builder-deferred.ts"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-ad7cbf61c05b6545", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in packages/next/src/builder-eager.ts:22"}, "properties": {"repobilityId": "77ab94f5ef484a2b", "scanner": "scanner-primary", "fingerprint": "ad7cbf61c05b6545", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/next/src/builder-eager.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-253128ed7e167b1b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/cli/src/lib/inspect/vercel-link.ts:11"}, "properties": {"repobilityId": "41ac7907c625f8d9", "scanner": "scanner-primary", "fingerprint": "253128ed7e167b1b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/cli/src/lib/inspect/vercel-link.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-a4a86955b8f9d029", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/utils/src/get-port.ts:1"}, "properties": {"repobilityId": "f9b85c5596fef182", "scanner": "scanner-primary", "fingerprint": "a4a86955b8f9d029", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/utils/src/get-port.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3738df6560e30ea0", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/core/src/runtime/helpers.ts:529"}, "properties": {"repobilityId": "7463fb5c100900ec", "scanner": "scanner-primary", "fingerprint": "3738df6560e30ea0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/src/runtime/helpers.ts"}, "region": {"startLine": 529}}}]}, {"ruleId": "scanner-f8c0479de8af7478", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/core/e2e/build-errors.test.ts:54"}, "properties": {"repobilityId": "e5dd4c57a482d398", "scanner": "scanner-primary", "fingerprint": "f8c0479de8af7478", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/e2e/build-errors.test.ts"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-7d6288cb75322578", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/build-errors.test.ts:1"}, "properties": {"repobilityId": "aa72421a1a5e0e6a", "scanner": "scanner-primary", "fingerprint": "7d6288cb75322578", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/e2e/build-errors.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b8427c953ab17d8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/utils.ts:1"}, "properties": {"repobilityId": "0ce279b913a395cf", "scanner": "scanner-primary", "fingerprint": "5b8427c953ab17d8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/e2e/utils.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fbaa0c4cfa56f364", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/core/e2e/local-build.test.ts:1"}, "properties": {"repobilityId": "d488b87e11a79b2c", "scanner": "scanner-primary", "fingerprint": "fbaa0c4cfa56f364", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/e2e/local-build.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d495e071703cdeca", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/swc-plugin-workflow/build.js:2"}, "properties": {"repobilityId": "237c0c780d036854", "scanner": "scanner-primary", "fingerprint": "d495e071703cdeca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/swc-plugin-workflow/build.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-5a2e0fa6a3491809", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .github/scripts/render-event-log-race-repro-results.test.js:2"}, "properties": {"repobilityId": "84b205ccfb007735", "scanner": "scanner-primary", "fingerprint": "5a2e0fa6a3491809", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/scripts/render-event-log-race-repro-results.test.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-503125b6376499cf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .github/workflows/backport.yml:636"}, "properties": {"repobilityId": "f139f3612a2f007d", "scanner": "scanner-primary", "fingerprint": "503125b6376499cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 636}}}]}, {"ruleId": "scanner-ae7a6eedfd749c37", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "99edd6c2addc77db", "scanner": "scanner-primary", "fingerprint": "ae7a6eedfd749c37", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tarballs-checks.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-ae7a6eedfd749c37", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7c70cef5149f13ce", "scanner": "scanner-primary", "fingerprint": "ae7a6eedfd749c37", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tarballs-checks.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-3c072b75712254ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f2acc22b8c04c0f9", "scanner": "scanner-primary", "fingerprint": "3c072b75712254ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/event-log-race-repro.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-3c072b75712254ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9b2d0e341de4f5b3", "scanner": "scanner-primary", "fingerprint": "3c072b75712254ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/event-log-race-repro.yml"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-aca825d4dfc95338", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c875febd1258886f", "scanner": "scanner-primary", "fingerprint": "aca825d4dfc95338", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/event-log-race-repro.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0804dfb44932a56a", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0804dfb44932a56a", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1ae122469e2b1fde", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0804dfb44932a56a", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1ae122469e2b1fde", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "24539be94094b108", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "041399af0313aa5c", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18b608a7d2b2bdc0", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47233ab35adce04d", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 208}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18b608a7d2b2bdc0", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 256}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47233ab35adce04d", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 308}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18b608a7d2b2bdc0", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 360}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47233ab35adce04d", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 403}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18b608a7d2b2bdc0", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 463}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47233ab35adce04d", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 538}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18b608a7d2b2bdc0", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 640}}}]}, {"ruleId": "scanner-219c40ab3a2fc560", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47233ab35adce04d", "scanner": "scanner-primary", "fingerprint": "219c40ab3a2fc560", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 661}}}]}, {"ruleId": "scanner-417812ee0708bed3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "38d47b9904b37d37", "scanner": "scanner-primary", "fingerprint": "417812ee0708bed3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmarks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "34b07cdfc577d24b", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 213}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fc166fcb4bb93c1b", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 221}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 250}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 277}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b34e143cdd267736", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 287}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 359}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b34e143cdd267736", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 428}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 450}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 484}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aaa2eeaa58c0bd0f", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 508}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b34e143cdd267736", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 543}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 568}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aaa2eeaa58c0bd0f", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 592}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b34e143cdd267736", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 631}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aecc3f31ca3f42da", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 673}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aaa2eeaa58c0bd0f", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 697}}}]}, {"ruleId": "scanner-aaa9f922787b35c5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8bb3533fe91c32f3", "scanner": "scanner-primary", "fingerprint": "aaa9f922787b35c5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2644034c718fb80d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eeb76410cc935c30", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b10756e71c9bf570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "07cebb7077f65587", "scanner": "scanner-primary", "fingerprint": "b10756e71c9bf570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-checks.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-b10756e71c9bf570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8f156e358566ddc1", "scanner": "scanner-primary", "fingerprint": "b10756e71c9bf570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-checks.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-b10756e71c9bf570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "07cebb7077f65587", "scanner": "scanner-primary", "fingerprint": "b10756e71c9bf570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-checks.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-b10756e71c9bf570", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8f156e358566ddc1", "scanner": "scanner-primary", "fingerprint": "b10756e71c9bf570", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-checks.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-97af40536ad9710b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "12866fdfac7f5400", "scanner": "scanner-primary", "fingerprint": "97af40536ad9710b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-checks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aab1aded5e7f9545", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1c4d502e8419bc8", "scanner": "scanner-primary", "fingerprint": "aab1aded5e7f9545", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmark-community-world.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-aab1aded5e7f9545", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d51ed395d560b9b3", "scanner": "scanner-primary", "fingerprint": "aab1aded5e7f9545", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/benchmark-community-world.yml"}, "region": {"startLine": 166}}}]}, {"ruleId": "scanner-de630e1943ea2ba8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0134a33cc69dec22", "scanner": "scanner-primary", "fingerprint": "de630e1943ea2ba8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-digest.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-de630e1943ea2ba8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2450e7bb9ca39d6d", "scanner": "scanner-primary", "fingerprint": "de630e1943ea2ba8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-digest.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c515a57050e2972d", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "136e905ad604046e", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49b093c33e29f8f4", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c515a57050e2972d", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 88}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "136e905ad604046e", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-a9d2ff811688047f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49b093c33e29f8f4", "scanner": "scanner-primary", "fingerprint": "a9d2ff811688047f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/dispatch-front-workflow-release-pr.yml"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-54bbb45bc458afb9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "74a945bd8b916c53", "scanner": "scanner-primary", "fingerprint": "54bbb45bc458afb9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e-community-world.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-54bbb45bc458afb9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "809cc6bd744fcc03", "scanner": "scanner-primary", "fingerprint": "54bbb45bc458afb9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e-community-world.yml"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "714713499b3d1875", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0cc57b0f9412810b", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 187}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2273180ac0266c11", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 373}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2273180ac0266c11", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 629}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2273180ac0266c11", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 894}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2273180ac0266c11", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 927}}}]}, {"ruleId": "scanner-a6e1efeef7329329", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2273180ac0266c11", "scanner": "scanner-primary", "fingerprint": "a6e1efeef7329329", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 976}}}]}, {"ruleId": "scanner-24405a161e352a3e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f7ae12eb2d276802", "scanner": "scanner-primary", "fingerprint": "24405a161e352a3e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backport.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8114ceb36c24158e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a3d09ab60d6ced2", "scanner": "scanner-primary", "fingerprint": "8114ceb36c24158e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/debug-windows.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-8114ceb36c24158e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3afe856c0b968552", "scanner": "scanner-primary", "fingerprint": "8114ceb36c24158e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/debug-windows.yml"}, "region": {"startLine": 33}}}]}, {"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-529d9f2b5dd1170d", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "2439334d3cfe9a0e", "scanner": "scanner-primary", "fingerprint": "529d9f2b5dd1170d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1bb4ec0766ed8a8a", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "de7643e68ce98c19", "scanner": "scanner-primary", "fingerprint": "1bb4ec0766ed8a8a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/sveltekit/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-135176501aabe469", "level": "note", "message": {"text": "Very large file: docs/app/[lang]/(home)/components/frameworks.tsx (802 lines)"}, "properties": {"repobilityId": "e46e86a3e485679d", "scanner": "scanner-primary", "fingerprint": "135176501aabe469", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d1facd121621c2d", "level": "note", "message": {"text": "Very large file: workbench/example/workflows/99_e2e.ts (3646 lines)"}, "properties": {"repobilityId": "c040518925418b9c", "scanner": "scanner-primary", "fingerprint": "0d1facd121621c2d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a49635552e6b74c", "level": "note", "message": {"text": "Very large file: packages/web-shared/src/components/event-list-view.tsx (1770 lines)"}, "properties": {"repobilityId": "b54c1249c022adf4", "scanner": "scanner-primary", "fingerprint": "2a49635552e6b74c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0f8ee2f7efbfa7d1", "level": "note", "message": {"text": "Very large file: packages/builders/src/base-builder.ts (2034 lines)"}, "properties": {"repobilityId": "d168a11ac301466c", "scanner": "scanner-primary", "fingerprint": "0f8ee2f7efbfa7d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18c784c70e52ad02", "level": "note", "message": {"text": "Very large file: packages/builders/src/workflows-extractor.ts (2044 lines)"}, "properties": {"repobilityId": "694b4e5acd9f5681", "scanner": "scanner-primary", "fingerprint": "18c784c70e52ad02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e10f3607bcb03b99", "level": "note", "message": {"text": "Very large file: packages/next/src/builder-deferred.ts (2084 lines)"}, "properties": {"repobilityId": "8cb96149ed432e62", "scanner": "scanner-primary", "fingerprint": "e10f3607bcb03b99", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-33ed7c441f223147", "level": "note", "message": {"text": "Very large file: packages/ai/src/agent/durable-agent.test.ts (2831 lines)"}, "properties": {"repobilityId": "756d30b3b7c50eca", "scanner": "scanner-primary", "fingerprint": "33ed7c441f223147", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d3794bd83f5be1c", "level": "note", "message": {"text": "Very large file: packages/ai/src/agent/durable-agent.ts (1729 lines)"}, "properties": {"repobilityId": "f184839bf6637784", "scanner": "scanner-primary", "fingerprint": "2d3794bd83f5be1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9f1c4e7cf3e244d7", "level": "note", "message": {"text": "Very large file: packages/world-local/src/storage.test.ts (4256 lines)"}, "properties": {"repobilityId": "cc05bc6952f9d388", "scanner": "scanner-primary", "fingerprint": "9f1c4e7cf3e244d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9571949a078b227b", "level": "note", "message": {"text": "Very large file: packages/world-local/src/storage/events-storage.ts (1875 lines)"}, "properties": {"repobilityId": "aaaeec557e10845d", "scanner": "scanner-primary", "fingerprint": "9571949a078b227b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-571f6a89dc55afc8", "level": "note", "message": {"text": "Very large file: packages/world-postgres/test/storage.test.ts (2866 lines)"}, "properties": {"repobilityId": "2ad7405b2c23c28c", "scanner": "scanner-primary", "fingerprint": "571f6a89dc55afc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94e2223b2784c41a", "level": "note", "message": {"text": "Very large file: packages/world-postgres/src/storage.ts (1845 lines)"}, "properties": {"repobilityId": "fd8795aa6912cfcb", "scanner": "scanner-primary", "fingerprint": "94e2223b2784c41a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d952ba7305a3912", "level": "note", "message": {"text": "Very large file: packages/core/src/hook-sleep-interaction.test.ts (1691 lines)"}, "properties": {"repobilityId": "1ffd498a11210b12", "scanner": "scanner-primary", "fingerprint": "1d952ba7305a3912", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b501192de4295502", "level": "note", "message": {"text": "Very large file: packages/core/src/serialization.ts (2884 lines)"}, "properties": {"repobilityId": "5b82ff470baee294", "scanner": "scanner-primary", "fingerprint": "b501192de4295502", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-289a14c4d9459415", "level": "note", "message": {"text": "Very large file: packages/core/src/runtime.ts (1515 lines)"}, "properties": {"repobilityId": "3a2961f85859de3a", "scanner": "scanner-primary", "fingerprint": "289a14c4d9459415", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ae110f54a180c701", "level": "note", "message": {"text": "Very large file: packages/core/src/workflow.test.ts (5354 lines)"}, "properties": {"repobilityId": "7cda7c45ff90fcdd", "scanner": "scanner-primary", "fingerprint": "ae110f54a180c701", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69e287ada7f6c430", "level": "note", "message": {"text": "Very large file: packages/core/src/serialization.test.ts (6674 lines)"}, "properties": {"repobilityId": "ed6a3e5ac49fb922", "scanner": "scanner-primary", "fingerprint": "69e287ada7f6c430", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-daea7c9a7e849b08", "level": "note", "message": {"text": "Very large file: packages/core/src/serialization/serialization.test.ts (1442 lines)"}, "properties": {"repobilityId": "75060e642a60a7b8", "scanner": "scanner-primary", "fingerprint": "daea7c9a7e849b08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2537a3626a61b5ae", "level": "note", "message": {"text": "Very large file: packages/core/e2e/e2e.test.ts (4204 lines)"}, "properties": {"repobilityId": "cdf37def85405581", "scanner": "scanner-primary", "fingerprint": "2537a3626a61b5ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-249ac64ce0f0063b", "level": "note", "message": {"text": "Very large file: packages/swc-plugin-workflow/transform/src/lib.rs (9773 lines)"}, "properties": {"repobilityId": "20d9a8c9b4860090", "scanner": "scanner-primary", "fingerprint": "249ac64ce0f0063b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-786c8c22d3fe624f", "level": "note", "message": {"text": "48 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "786c8c22d3fe624f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-b8fae141f052f3ab", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: docs/package.json"}, "properties": {"repobilityId": "e77ce50b08d152bb", "scanner": "scanner-primary", "fingerprint": "b8fae141f052f3ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1cf54182ce4ae95c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: tarballs/package.json"}, "properties": {"repobilityId": "b4c21b1f61b808be", "scanner": "scanner-primary", "fingerprint": "1cf54182ce4ae95c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tarballs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7af38f746b2b80c1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/sveltekit/package.json"}, "properties": {"repobilityId": "198a8a4d64512295", "scanner": "scanner-primary", "fingerprint": "7af38f746b2b80c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/sveltekit/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-03d468b618df2406", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nuxt/package.json"}, "properties": {"repobilityId": "378aeb364c8b377c", "scanner": "scanner-primary", "fingerprint": "03d468b618df2406", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nuxt/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-34f54ca8808bcee7", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/express/package.json"}, "properties": {"repobilityId": "9c6e8764582dd4cb", "scanner": "scanner-primary", "fingerprint": "34f54ca8808bcee7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/express/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-def0fd83811d9b93", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/vite/package.json"}, "properties": {"repobilityId": "bcd7ef7ecc8fd17c", "scanner": "scanner-primary", "fingerprint": "def0fd83811d9b93", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/vite/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e6892ef34bb21f0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/fastify/package.json"}, "properties": {"repobilityId": "16f1fa98ed8c2558", "scanner": "scanner-primary", "fingerprint": "7e6892ef34bb21f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/fastify/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a521ea90ca7d1b85", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/swc-playground/package.json"}, "properties": {"repobilityId": "34f659f9848295f6", "scanner": "scanner-primary", "fingerprint": "a521ea90ca7d1b85", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/swc-playground/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-77663dfbeb8fd2dd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/hono/package.json"}, "properties": {"repobilityId": "110e91526283a61f", "scanner": "scanner-primary", "fingerprint": "77663dfbeb8fd2dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/hono/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec8de86300e05dce", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nextjs-webpack/package.json"}, "properties": {"repobilityId": "173ea4d0edc485f9", "scanner": "scanner-primary", "fingerprint": "ec8de86300e05dce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nextjs-webpack/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07222677114efdaf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/tanstack-start/package.json"}, "properties": {"repobilityId": "274f1518d9c6dcd0", "scanner": "scanner-primary", "fingerprint": "07222677114efdaf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/tanstack-start/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8bab13e333a23b9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nitro-v3/package.json"}, "properties": {"repobilityId": "1f0dec0c76c9aa17", "scanner": "scanner-primary", "fingerprint": "c8bab13e333a23b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nitro-v3/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-103f8779d8fab5b9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/astro/package.json"}, "properties": {"repobilityId": "b692179c10ab9ad4", "scanner": "scanner-primary", "fingerprint": "103f8779d8fab5b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/astro/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3935f8a3cba06eb2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nitro-v2/package.json"}, "properties": {"repobilityId": "3437fdc82c4f1c4e", "scanner": "scanner-primary", "fingerprint": "3935f8a3cba06eb2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nitro-v2/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2e14597eb2a9eff", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/example/package.json"}, "properties": {"repobilityId": "d19b5ea321cf4923", "scanner": "scanner-primary", "fingerprint": "c2e14597eb2a9eff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/example/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a7598f038719ca8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nest/package.json"}, "properties": {"repobilityId": "b5d0337c81ea0481", "scanner": "scanner-primary", "fingerprint": "6a7598f038719ca8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nest/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8725dcd9ebf7f499", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/nextjs-turbopack/package.json"}, "properties": {"repobilityId": "b4d967c3f171d82c", "scanner": "scanner-primary", "fingerprint": "8725dcd9ebf7f499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/nextjs-turbopack/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37d6244475904dc0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: workbench/vitest/package.json"}, "properties": {"repobilityId": "ac072c6570330252", "scanner": "scanner-primary", "fingerprint": "37d6244475904dc0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "workbench/vitest/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c077b1d096a1b7cf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/world-vercel/package.json"}, "properties": {"repobilityId": "b0cd8f289d83e4f3", "scanner": "scanner-primary", "fingerprint": "c077b1d096a1b7cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/world-vercel/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c504228b8c61070", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/nitro/package.json"}, "properties": {"repobilityId": "b00fc34bb2c15d32", "scanner": "scanner-primary", "fingerprint": "3c504228b8c61070", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/nitro/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0964018166774686", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/sveltekit/package.json"}, "properties": {"repobilityId": "8ee039f570a94aef", "scanner": "scanner-primary", "fingerprint": "0964018166774686", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/sveltekit/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc91e72f3b5e1630", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/web-shared/package.json"}, "properties": {"repobilityId": "4fb20fa79e11e9d4", "scanner": "scanner-primary", "fingerprint": "dc91e72f3b5e1630", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web-shared/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5dc939bc79e259e6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/builders/package.json"}, "properties": {"repobilityId": "a4df86ca44ba54a2", "scanner": "scanner-primary", "fingerprint": "5dc939bc79e259e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/builders/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-094bbbe25a132785", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/nuxt/package.json"}, "properties": {"repobilityId": "539c6770e58f974f", "scanner": "scanner-primary", "fingerprint": "094bbbe25a132785", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/nuxt/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e56980bb8ab02afd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/typescript-plugin/package.json"}, "properties": {"repobilityId": "5ff332b56f31905e", "scanner": "scanner-primary", "fingerprint": "e56980bb8ab02afd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/typescript-plugin/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af0afa605486e6fa", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/next/package.json"}, "properties": {"repobilityId": "06f41ce649b5f218", "scanner": "scanner-primary", "fingerprint": "af0afa605486e6fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/next/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80f569ae36a3e3bf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ai/package.json"}, "properties": {"repobilityId": "2d5eb1212f62ce31", "scanner": "scanner-primary", "fingerprint": "80f569ae36a3e3bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c2e3196a4ef0cdd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/cli/package.json"}, "properties": {"repobilityId": "2faf23490612d7a6", "scanner": "scanner-primary", "fingerprint": "8c2e3196a4ef0cdd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/cli/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47edb5907af5997f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/utils/package.json"}, "properties": {"repobilityId": "64857de4b757dead", "scanner": "scanner-primary", "fingerprint": "47edb5907af5997f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/utils/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2235d413c8ef4721", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/vite/package.json"}, "properties": {"repobilityId": "d70b6c9e2caaf9ac", "scanner": "scanner-primary", "fingerprint": "2235d413c8ef4721", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/vite/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-592524165b9fc40c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/errors/package.json"}, "properties": {"repobilityId": "6af0ef8d92d825b4", "scanner": "scanner-primary", "fingerprint": "592524165b9fc40c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/errors/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e162f1af2764c9fc", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/world-testing/package.json"}, "properties": {"repobilityId": "835a06579a12a374", "scanner": "scanner-primary", "fingerprint": "e162f1af2764c9fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/world-testing/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-90f84b7aa148f14e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/world-local/package.json"}, "properties": {"repobilityId": "e11ba91c2f303aa3", "scanner": "scanner-primary", "fingerprint": "90f84b7aa148f14e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/world-local/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d18646346ddcd93", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/workflow/package.json"}, "properties": {"repobilityId": "a6fa85a6d2a29c32", "scanner": "scanner-primary", "fingerprint": "0d18646346ddcd93", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/workflow/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71356ac5dfea61b3", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/world-postgres/package.json"}, "properties": {"repobilityId": "a42fc0f229c38659", "scanner": "scanner-primary", "fingerprint": "71356ac5dfea61b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/world-postgres/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a28850983a0b02d5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/web/package.json"}, "properties": {"repobilityId": "8f313f0fe526a925", "scanner": "scanner-primary", "fingerprint": "a28850983a0b02d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e29b2ecbaf4ae8ff", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/astro/package.json"}, "properties": {"repobilityId": "6e75e68b9e293747", "scanner": "scanner-primary", "fingerprint": "e29b2ecbaf4ae8ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/astro/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-279487383290a5f5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/docs-typecheck/package.json"}, "properties": {"repobilityId": "53d7984236f97921", "scanner": "scanner-primary", "fingerprint": "279487383290a5f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/docs-typecheck/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2bc32a3f8f902da1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/serde/package.json"}, "properties": {"repobilityId": "d3f18cfd103d4450", "scanner": "scanner-primary", "fingerprint": "2bc32a3f8f902da1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/serde/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28e92806c0db3cd2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/core/package.json"}, "properties": {"repobilityId": "8640e46be7e3f9b2", "scanner": "scanner-primary", "fingerprint": "28e92806c0db3cd2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fa8e3625811f6d1c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/world/package.json"}, "properties": {"repobilityId": "d9c7bf5d2a553287", "scanner": "scanner-primary", "fingerprint": "fa8e3625811f6d1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/world/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b37a872e8437a89", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/nest/package.json"}, "properties": {"repobilityId": "88dd91e633629d49", "scanner": "scanner-primary", "fingerprint": "8b37a872e8437a89", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/nest/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a49e81e74bb4f59", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/rollup/package.json"}, "properties": {"repobilityId": "2c574ddb1e1e9b4d", "scanner": "scanner-primary", "fingerprint": "3a49e81e74bb4f59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/rollup/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40a444dde66e3a06", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/vitest/package.json"}, "properties": {"repobilityId": "045afcc0e733671b", "scanner": "scanner-primary", "fingerprint": "40a444dde66e3a06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/vitest/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "8a593f01753d3dd8", "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": "32ecfba83a4a0515", "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": "024e47090380f6d1", "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": "70a993f9aa3dc5cf", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "cbf16d2b0c2cf51d", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "e475b5be2948fb47", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-ff7d71d373c5e7fb", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/demo.md"}, "properties": {"repobilityId": "8032c567cbb3e161", "scanner": "scanner-primary", "fingerprint": "ff7d71d373c5e7fb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/demo.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e99e93becbdaf7d4", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/workflow/SKILL.md"}, "properties": {"repobilityId": "16a1628738e53af6", "scanner": "scanner-primary", "fingerprint": "e99e93becbdaf7d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/workflow/SKILL.md"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-3915410a51bd84ef", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/next.config.ts:121"}, "properties": {"repobilityId": "2e47d7ae27131b89", "scanner": "scanner-primary", "fingerprint": "3915410a51bd84ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-503add38915625dd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/scripts/check-docs-smoke.mjs:29"}, "properties": {"repobilityId": "8908b7457feda172", "scanner": "scanner-primary", "fingerprint": "503add38915625dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4334b9e2e808c3a8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/api/benchmark-history/route.ts:221"}, "properties": {"repobilityId": "b04039249c416300", "scanner": "scanner-primary", "fingerprint": "4334b9e2e808c3a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0c8e63c5a35b119d", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/app/[lang]/v5/docs/[[...slug]]/page.tsx:56"}, "properties": {"repobilityId": "342566289cf4f8fc", "scanner": "scanner-primary", "fingerprint": "0c8e63c5a35b119d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f11c031d259c9e1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/[lang]/(home)/components/use-cases-server.tsx:31"}, "properties": {"repobilityId": "1f3e5c7ef41ab3ea", "scanner": "scanner-primary", "fingerprint": "5f11c031d259c9e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d9eddc7788f9850", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs/app/actions/feedback/index.ts:18"}, "properties": {"repobilityId": "1cb4d92bf1fa8088", "scanner": "scanner-primary", "fingerprint": "7d9eddc7788f9850", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19779b709514db73", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/trusted-sources-headers.mjs:98"}, "properties": {"repobilityId": "93dda175709f2d11", "scanner": "scanner-primary", "fingerprint": "19779b709514db73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51a24eb8b78032b5", "level": "none", "message": {"text": "Commented-code block (6 lines) in tarballs/vite.config.ts:4"}, "properties": {"repobilityId": "8a0e761a74266e98", "scanner": "scanner-primary", "fingerprint": "51a24eb8b78032b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6e7beaa5727c579", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 tarballs/scripts/check-tarballs-smoke.mjs:26"}, "properties": {"repobilityId": "8a8d9dee00b0aa3d", "scanner": "scanner-primary", "fingerprint": "d6e7beaa5727c579", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5f1d13423359b26e", "level": "none", "message": {"text": "Commented-code block (5 lines) in workbench/sveltekit/src/app.d.ts:5"}, "properties": {"repobilityId": "33eb1ed2698a6143", "scanner": "scanner-primary", "fingerprint": "5f1d13423359b26e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e3b3833136fc8a4", "level": "none", "message": {"text": "Commented-code block (6 lines) in workbench/vite/vite.config.ts:8"}, "properties": {"repobilityId": "660c58e4eb7d2d43", "scanner": "scanner-primary", "fingerprint": "0e3b3833136fc8a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c553e1ef7f0875d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in workbench/fastify/src/index.ts:69"}, "properties": {"repobilityId": "cf9cabaa883b8240", "scanner": "scanner-primary", "fingerprint": "c553e1ef7f0875d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffa640c6c2671420", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-webpack/app/home-client.tsx:238"}, "properties": {"repobilityId": "e7abd25caac1ac92", "scanner": "scanner-primary", "fingerprint": "ffa640c6c2671420", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47572a877201ce06", "level": "none", "message": {"text": "Commented-code block (7 lines) in workbench/tanstack-start/src/routes/api/test-direct-step-call.ts:6"}, "properties": {"repobilityId": "a24279316f1496cc", "scanner": "scanner-primary", "fingerprint": "47572a877201ce06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08504ef31f0a8d4b", "level": "none", "message": {"text": "Commented-code block (5 lines) in workbench/tanstack-start/src/routes/api/chat.ts:1"}, "properties": {"repobilityId": "7efe3020b9326817", "scanner": "scanner-primary", "fingerprint": "08504ef31f0a8d4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e61f7c1490b65445", "level": "none", "message": {"text": "Commented-code block (5 lines) in workbench/example/workflows/helpers.ts:1"}, "properties": {"repobilityId": "a212901601a2950c", "scanner": "scanner-primary", "fingerprint": "e61f7c1490b65445", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd30a81faa6481d5", "level": "none", "message": {"text": "Commented-code block (7 lines) in workbench/example/workflows/99_e2e.ts:1086"}, "properties": {"repobilityId": "a95bc771a78b0dbe", "scanner": "scanner-primary", "fingerprint": "fd30a81faa6481d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0a5a83ce640bfba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/example/workflows/99_e2e.ts:416"}, "properties": {"repobilityId": "44d65d9fe2911b99", "scanner": "scanner-primary", "fingerprint": "b0a5a83ce640bfba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-48774affa9a6716d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workbench/nextjs-turbopack/app/home-client.tsx:238"}, "properties": {"repobilityId": "353651d3f2b6d7d5", "scanner": "scanner-primary", "fingerprint": "48774affa9a6716d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e2e7bacb0cf67a13", "level": "none", "message": {"text": "Commented-code block (6 lines) in workbench/nextjs-turbopack/app/api/workflows/start/route.ts:91"}, "properties": {"repobilityId": "63f49ceff4077c95", "scanner": "scanner-primary", "fingerprint": "e2e7bacb0cf67a13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9de44664ed353475", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/world-vercel/src/streamer.ts:150"}, "properties": {"repobilityId": "5729e711fb7e9ac7", "scanner": "scanner-primary", "fingerprint": "9de44664ed353475", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b0960e4209614d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/streamer.ts:21"}, "properties": {"repobilityId": "edebbd0e995d8c94", "scanner": "scanner-primary", "fingerprint": "5b0960e4209614d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5893eb4c7bd9b65c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/index.ts:33"}, "properties": {"repobilityId": "c0bca4be89308f1b", "scanner": "scanner-primary", "fingerprint": "5893eb4c7bd9b65c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b740d87f011d32d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/utils.ts:336"}, "properties": {"repobilityId": "171278743cfcdbde", "scanner": "scanner-primary", "fingerprint": "8b740d87f011d32d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04553f6506928679", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/utils.ts:129"}, "properties": {"repobilityId": "5b42bc7576e028db", "scanner": "scanner-primary", "fingerprint": "04553f6506928679", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0d4a9245869b1286", "level": "note", "message": {"text": "Legacy-named symbol `wrun_legacy` in packages/world-vercel/src/events.test.ts:52"}, "properties": {"repobilityId": "feddb7939e640f1e", "scanner": "scanner-primary", "fingerprint": "0d4a9245869b1286", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-db0d66051ac3037e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events.test.ts:165"}, "properties": {"repobilityId": "1d7099d691c849df", "scanner": "scanner-primary", "fingerprint": "db0d66051ac3037e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c451643cbb1bf5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-vercel/src/encryption.ts:123"}, "properties": {"repobilityId": "146b52ce8b4fe7b4", "scanner": "scanner-primary", "fingerprint": "7c451643cbb1bf5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8d8e8170947b297", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/frames.test.ts:178"}, "properties": {"repobilityId": "24ff2c56777bc3f4", "scanner": "scanner-primary", "fingerprint": "e8d8e8170947b297", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-654f052e913c72d3", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events.ts:307"}, "properties": {"repobilityId": "c083c3a731b812ab", "scanner": "scanner-primary", "fingerprint": "654f052e913c72d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcce5748053b3802", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-vercel/src/events-v4.ts:447"}, "properties": {"repobilityId": "fd06cc14914ad8b5", "scanner": "scanner-primary", "fingerprint": "dcce5748053b3802", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c153ff07ab3a81d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.test.ts:187"}, "properties": {"repobilityId": "42d700e41f756667", "scanner": "scanner-primary", "fingerprint": "9c153ff07ab3a81d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86783d1fdf6ab60d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/index.ts:190"}, "properties": {"repobilityId": "73d21d1ff4abc536", "scanner": "scanner-primary", "fingerprint": "86783d1fdf6ab60d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3c8d2b210d0eb1c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-vercel/src/run-id/codec.ts:138"}, "properties": {"repobilityId": "cf353dba44f2a676", "scanner": "scanner-primary", "fingerprint": "d3c8d2b210d0eb1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d46ba796b7be509", "level": "note", "message": {"text": "Legacy-named symbol `expectLegacy` in packages/nitro/src/index.test.ts:272"}, "properties": {"repobilityId": "4197f662d1bcbb8d", "scanner": "scanner-primary", "fingerprint": "0d46ba796b7be509", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b4bed2b35213200a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/nitro/src/index.test.ts:266"}, "properties": {"repobilityId": "365d4d59856dadd6", "scanner": "scanner-primary", "fingerprint": "b4bed2b35213200a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db388409d804c55a", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/nitro/src/index.ts:75"}, "properties": {"repobilityId": "eff5c36f318afa74", "scanner": "scanner-primary", "fingerprint": "db388409d804c55a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-545c7fa6478e8bb7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/web-shared/test/hydration.test.ts:71"}, "properties": {"repobilityId": "450ecab823686256", "scanner": "scanner-primary", "fingerprint": "545c7fa6478e8bb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a74ab32e0323fa98", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/trace-viewer.tsx:135"}, "properties": {"repobilityId": "e3fa7a22f1da4502", "scanner": "scanner-primary", "fingerprint": "a74ab32e0323fa98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01d91b009727b05b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/web-shared/src/components/trace-viewer/components/span-segments.ts:344"}, "properties": {"repobilityId": "f907fc588e4c0372", "scanner": "scanner-primary", "fingerprint": "01d91b009727b05b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56f355845e81ea38", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/web-shared/src/components/trace-viewer/components/node.tsx:259"}, "properties": {"repobilityId": "08772899973d732b", "scanner": "scanner-primary", "fingerprint": "56f355845e81ea38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8987e572cfe08c9", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/web-shared/src/lib/hydration.ts:135"}, "properties": {"repobilityId": "266b3d2efe7f07cc", "scanner": "scanner-primary", "fingerprint": "a8987e572cfe08c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abc6aec6ee0b115d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/builders/src/discover-entries-esbuild-plugin.ts:100"}, "properties": {"repobilityId": "73201093f4ca8008", "scanner": "scanner-primary", "fingerprint": "abc6aec6ee0b115d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e1e22c242ed1b6f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/builders/src/base-builder.ts:350"}, "properties": {"repobilityId": "84045caf7a6dc7cf", "scanner": "scanner-primary", "fingerprint": "0e1e22c242ed1b6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-685f5f3f9319ffa1", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/builders/src/swc-esbuild-plugin.ts:349"}, "properties": {"repobilityId": "2c60e13262f3e58f", "scanner": "scanner-primary", "fingerprint": "685f5f3f9319ffa1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4c97f4bae84183c", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/builders/src/node-module-esbuild-plugin.ts:308"}, "properties": {"repobilityId": "1483509a6229c26e", "scanner": "scanner-primary", "fingerprint": "d4c97f4bae84183c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24abd61ca2772522", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/builders/src/module-specifier.ts:393"}, "properties": {"repobilityId": "19aef081db1a0b5a", "scanner": "scanner-primary", "fingerprint": "24abd61ca2772522", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2627cb364b9341b0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.test.ts:394"}, "properties": {"repobilityId": "8cd75760db075949", "scanner": "scanner-primary", "fingerprint": "2627cb364b9341b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-050e0b2c0e7ee163", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/typescript-plugin/src/diagnostics.ts:258"}, "properties": {"repobilityId": "7e3d953477ba2664", "scanner": "scanner-primary", "fingerprint": "050e0b2c0e7ee163", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa8bc1f22d849fff", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/next/src/builder-deferred.ts:46"}, "properties": {"repobilityId": "e9a88762b46d8f40", "scanner": "scanner-primary", "fingerprint": "aa8bc1f22d849fff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66bd6c110ebb183b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/ai/src/workflow-chat-transport.ts:303"}, "properties": {"repobilityId": "fd602e4812db6794", "scanner": "scanner-primary", "fingerprint": "66bd6c110ebb183b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19d9229aaa710d7b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/ai/src/workflow-chat-transport.ts:216"}, "properties": {"repobilityId": "209444e617020235", "scanner": "scanner-primary", "fingerprint": "19d9229aaa710d7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-698f91b865f427a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/ai/src/agent/do-stream-step.ts:678"}, "properties": {"repobilityId": "4370b7c25b665d75", "scanner": "scanner-primary", "fingerprint": "698f91b865f427a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f02d91a22780bd12", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/ai/src/agent/durable-agent.ts:1676"}, "properties": {"repobilityId": "edff36f21812cc95", "scanner": "scanner-primary", "fingerprint": "f02d91a22780bd12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-922fd9a147cb85aa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/update-check.ts:120"}, "properties": {"repobilityId": "872bd8c5c262789e", "scanner": "scanner-primary", "fingerprint": "922fd9a147cb85aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-29598c2eba319c8c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/cli/src/lib/inspect/output.ts:450"}, "properties": {"repobilityId": "867e442d4ebfc2e1", "scanner": "scanner-primary", "fingerprint": "29598c2eba319c8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fea67f6625505ec6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/cli/src/lib/inspect/env.ts:201"}, "properties": {"repobilityId": "bc42f03872f0a871", "scanner": "scanner-primary", "fingerprint": "fea67f6625505ec6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da8346d43aa90025", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/cli/src/lib/inspect/vercel-api.ts:71"}, "properties": {"repobilityId": "603bde3e2f9d9f18", "scanner": "scanner-primary", "fingerprint": "da8346d43aa90025", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da13c662731fd711", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/cli/src/lib/inspect/vercel-api.ts:22"}, "properties": {"repobilityId": "a7e2d2d96291e0d1", "scanner": "scanner-primary", "fingerprint": "da13c662731fd711", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ca84e39570c77fd", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/utils/src/parse-name.ts:13"}, "properties": {"repobilityId": "0dfe26df01548d6b", "scanner": "scanner-primary", "fingerprint": "9ca84e39570c77fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27b6e0b56d7aa9e7", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/errors/src/index.ts:129"}, "properties": {"repobilityId": "e88a8533bfdd6f5a", "scanner": "scanner-primary", "fingerprint": "27b6e0b56d7aa9e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45c3a853f0eb1ddb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/errors/src/fatal-error.test.ts:10"}, "properties": {"repobilityId": "b8bfd57f98c078ca", "scanner": "scanner-primary", "fingerprint": "45c3a853f0eb1ddb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94271e11faf2ee52", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/errors/src/ansi.ts:1"}, "properties": {"repobilityId": "14b3b468df280838", "scanner": "scanner-primary", "fingerprint": "94271e11faf2ee52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1955e9dd0ee1f084", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/errors/src/ansi.test.ts:3"}, "properties": {"repobilityId": "011ab0b398f3b42e", "scanner": "scanner-primary", "fingerprint": "1955e9dd0ee1f084", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4473fdc038341fa6", "level": "note", "message": {"text": "Legacy-named symbol `hook_event_first_orphan_legacy` in packages/world-local/src/storage.test.ts:2755"}, "properties": {"repobilityId": "fb8dd50fecb3e1ce", "scanner": "scanner-primary", "fingerprint": "4473fdc038341fa6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2bc3398fc77b436d", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/world-local/src/storage.test.ts:2233"}, "properties": {"repobilityId": "ec865360bd929f10", "scanner": "scanner-primary", "fingerprint": "2bc3398fc77b436d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afff1bca3827547b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-local/src/index.ts:101"}, "properties": {"repobilityId": "dedb21e6172f4b16", "scanner": "scanner-primary", "fingerprint": "afff1bca3827547b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1df66f3ca56e9cf2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-local/src/fs.ts:503"}, "properties": {"repobilityId": "858304dd33b810a8", "scanner": "scanner-primary", "fingerprint": "1df66f3ca56e9cf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b4c65cb3519afa1", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/world-local/src/queue.ts:109"}, "properties": {"repobilityId": "f12faaf5527bd44b", "scanner": "scanner-primary", "fingerprint": "4b4c65cb3519afa1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70f02a2386364b80", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/world-local/src/storage/events-storage.ts:74"}, "properties": {"repobilityId": "e14fa54de5b4808b", "scanner": "scanner-primary", "fingerprint": "70f02a2386364b80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-daa7819158a47004", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-local/src/storage/hooks-storage.ts:128"}, "properties": {"repobilityId": "32ceb82c95cfd5f3", "scanner": "scanner-primary", "fingerprint": "daa7819158a47004", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aaccf42c1bf4e139", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/workflow/src/api.ts:1"}, "properties": {"repobilityId": "70d1e68c656d77cb", "scanner": "scanner-primary", "fingerprint": "aaccf42c1bf4e139", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56bd86436b3e40c0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/workflow/src/stdlib.ts:9"}, "properties": {"repobilityId": "38c936f85d93a68e", "scanner": "scanner-primary", "fingerprint": "56bd86436b3e40c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-26b343b2f446a82f", "level": "note", "message": {"text": "Legacy-named symbol `wrun_legacy_v1` in packages/world-postgres/test/storage.test.ts:2678"}, "properties": {"repobilityId": "6de1078285799858", "scanner": "scanner-primary", "fingerprint": "26b343b2f446a82f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-57cccc32529ffac7", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/world-postgres/test/storage.test.ts:1408"}, "properties": {"repobilityId": "2f65a6ee80e36fdb", "scanner": "scanner-primary", "fingerprint": "57cccc32529ffac7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4ab7c75ca0adf25", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/world-postgres/src/storage.ts:154"}, "properties": {"repobilityId": "4ebdd99c127b473a", "scanner": "scanner-primary", "fingerprint": "b4ab7c75ca0adf25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f69b0975c69baa8", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/world-postgres/src/cli.ts:48"}, "properties": {"repobilityId": "35732aa4a0fb1ab1", "scanner": "scanner-primary", "fingerprint": "6f69b0975c69baa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9dfee6d99a08646", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/world-postgres/src/queue.ts:500"}, "properties": {"repobilityId": "8ca4920e54fdbaba", "scanner": "scanner-primary", "fingerprint": "a9dfee6d99a08646", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17974ce858940ca1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/world-postgres/src/queue.ts:255"}, "properties": {"repobilityId": "a7c1dedea3126df2", "scanner": "scanner-primary", "fingerprint": "17974ce858940ca1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-571e47db24168248", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/world-postgres/src/drizzle/schema.ts:144"}, "properties": {"repobilityId": "c8f9303b753f0e2c", "scanner": "scanner-primary", "fingerprint": "571e47db24168248", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff0b37084e151e1d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/web/vite.config.ts:20"}, "properties": {"repobilityId": "7fa2b3f721854e67", "scanner": "scanner-primary", "fingerprint": "ff0b37084e151e1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcb79adf6a290dbb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/web/react-router.config.ts:4"}, "properties": {"repobilityId": "82aef78838324933", "scanner": "scanner-primary", "fingerprint": "fcb79adf6a290dbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-982b8c45d300bab7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/docs-typecheck/src/docs-globals.d.ts:265"}, "properties": {"repobilityId": "38818eab2d7af26f", "scanner": "scanner-primary", "fingerprint": "982b8c45d300bab7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1262957e1e8576e", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/core/src/serialization-format.ts:411"}, "properties": {"repobilityId": "5e5a44db00bbd278", "scanner": "scanner-primary", "fingerprint": "e1262957e1e8576e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fa8dc2090795062", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/step.ts:180"}, "properties": {"repobilityId": "4c7ade8913d114ba", "scanner": "scanner-primary", "fingerprint": "0fa8dc2090795062", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7133f30b0606fb2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/capabilities.ts:83"}, "properties": {"repobilityId": "a29fef304d6f7b80", "scanner": "scanner-primary", "fingerprint": "e7133f30b0606fb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc41ec7e3487b158", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/events-consumer.ts:141"}, "properties": {"repobilityId": "4e9b5889bd302828", "scanner": "scanner-primary", "fingerprint": "bc41ec7e3487b158", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd40937faeaffbce", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/async-deserialization-ordering.test.ts:687"}, "properties": {"repobilityId": "e61f6f24df7c1eab", "scanner": "scanner-primary", "fingerprint": "dd40937faeaffbce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49f7c4999b163804", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/step.test.ts:29"}, "properties": {"repobilityId": "0a23c8d0c291582b", "scanner": "scanner-primary", "fingerprint": "49f7c4999b163804", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce9dad6cba7679f0", "level": "none", "message": {"text": "Commented-code block (14 lines) in packages/core/src/hook-sleep-interaction.test.ts:800"}, "properties": {"repobilityId": "d705df112373d5a8", "scanner": "scanner-primary", "fingerprint": "ce9dad6cba7679f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d453b0e9c8206fe0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/abort-consistency.test.ts:568"}, "properties": {"repobilityId": "51061bab46663f96", "scanner": "scanner-primary", "fingerprint": "d453b0e9c8206fe0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22af5d1450e14c35", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/serialization.ts:21"}, "properties": {"repobilityId": "e3af41f3e652751a", "scanner": "scanner-primary", "fingerprint": "22af5d1450e14c35", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e096d5af169abb3", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/workflow.ts:87"}, "properties": {"repobilityId": "b8e6e97dba79f7b3", "scanner": "scanner-primary", "fingerprint": "5e096d5af169abb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba6a63b9ceeebaa9", "level": "note", "message": {"text": "Legacy-named symbol `execute_v2` in packages/core/src/runtime.ts:407"}, "properties": {"repobilityId": "61b5d1ce874228c6", "scanner": "scanner-primary", "fingerprint": "ba6a63b9ceeebaa9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2b1a6e3344789574", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime.ts:262"}, "properties": {"repobilityId": "9747e50cd2547abd", "scanner": "scanner-primary", "fingerprint": "2b1a6e3344789574", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25140fbd7f502ffd", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/abort-controller.test.ts:346"}, "properties": {"repobilityId": "98c21315d8b23285", "scanner": "scanner-primary", "fingerprint": "25140fbd7f502ffd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-162a641ebf1e74a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/workflow.test.ts:383"}, "properties": {"repobilityId": "0e6893dff64a8194", "scanner": "scanner-primary", "fingerprint": "162a641ebf1e74a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ab2c2b5aab30563", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/context-errors.test.ts:140"}, "properties": {"repobilityId": "b5adc1da8bd94be8", "scanner": "scanner-primary", "fingerprint": "2ab2c2b5aab30563", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c2a528f07698e6f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/flushable-stream.test.ts:366"}, "properties": {"repobilityId": "901f73a5509d4feb", "scanner": "scanner-primary", "fingerprint": "0c2a528f07698e6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cde05128b63bec7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/flushable-stream.ts:269"}, "properties": {"repobilityId": "eb329653ef217965", "scanner": "scanner-primary", "fingerprint": "9cde05128b63bec7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce251d1fe3bebc25", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/encryption.ts:154"}, "properties": {"repobilityId": "1df1e0a066a91ca5", "scanner": "scanner-primary", "fingerprint": "ce251d1fe3bebc25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49d9f0bd98f870cb", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/runtime.test.ts:683"}, "properties": {"repobilityId": "c52c2ff01aa9093c", "scanner": "scanner-primary", "fingerprint": "49d9f0bd98f870cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61c2815ac23ee8db", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/byte-stream-framing.test.ts:483"}, "properties": {"repobilityId": "9d62dc8dd5c18c08", "scanner": "scanner-primary", "fingerprint": "61c2815ac23ee8db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e440dcbff1de3d11", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/core/src/serialization.test.ts:504"}, "properties": {"repobilityId": "05483c8cd1320dd0", "scanner": "scanner-primary", "fingerprint": "e440dcbff1de3d11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4386d3d6e693479", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/logger.ts:86"}, "properties": {"repobilityId": "c5162c6a0df53f44", "scanner": "scanner-primary", "fingerprint": "e4386d3d6e693479", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38eea70e9a13d4d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/encryption.test.ts:96"}, "properties": {"repobilityId": "c2e09947f4817bb1", "scanner": "scanner-primary", "fingerprint": "38eea70e9a13d4d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2542470eb348ec55", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/core/src/workflow/sleep.ts:92"}, "properties": {"repobilityId": "e13f9db6f8a01aea", "scanner": "scanner-primary", "fingerprint": "2542470eb348ec55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-667b2e8ca15a6eb2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/workflow/create-hook.ts:17"}, "properties": {"repobilityId": "ad7407d13b935111", "scanner": "scanner-primary", "fingerprint": "667b2e8ca15a6eb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9019dea37213745a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/workflow/hook.ts:75"}, "properties": {"repobilityId": "fa2720acd1e3d41f", "scanner": "scanner-primary", "fingerprint": "9019dea37213745a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b314e010c0bc348e", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/workflow/abort-controller.ts:173"}, "properties": {"repobilityId": "cb68ee5ab226aafd", "scanner": "scanner-primary", "fingerprint": "b314e010c0bc348e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acbdcd68bdaf5845", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/run.ts:306"}, "properties": {"repobilityId": "65d93dd22ab085db", "scanner": "scanner-primary", "fingerprint": "acbdcd68bdaf5845", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6e908cdd56dcbe8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/step-executor.ts:213"}, "properties": {"repobilityId": "0e21852fd7c83c62", "scanner": "scanner-primary", "fingerprint": "a6e908cdd56dcbe8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3691b221d5efd4de", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/core/src/runtime/helpers.ts:484"}, "properties": {"repobilityId": "074285c57dd72c5a", "scanner": "scanner-primary", "fingerprint": "3691b221d5efd4de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c3701664c6ce1ca", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/core/src/runtime/start.ts:204"}, "properties": {"repobilityId": "72a20bac9e1159b3", "scanner": "scanner-primary", "fingerprint": "8c3701664c6ce1ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-891f964f14f5b8da", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/runtime/suspension-handler.ts:304"}, "properties": {"repobilityId": "9f09f7e04b1787db", "scanner": "scanner-primary", "fingerprint": "891f964f14f5b8da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed134351f77956b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/get-world-lazy.ts:44"}, "properties": {"repobilityId": "d6ffb85e199186bd", "scanner": "scanner-primary", "fingerprint": "ed134351f77956b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e093056daf62820", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/world-init.test.ts:19"}, "properties": {"repobilityId": "ec5e294953cad23e", "scanner": "scanner-primary", "fingerprint": "3e093056daf62820", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ee2148082e4c708", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/runtime/step-handler.ts:101"}, "properties": {"repobilityId": "cd54086a92c3a855", "scanner": "scanner-primary", "fingerprint": "1ee2148082e4c708", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8a2c46d39ae361a", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/runtime/helpers.test.ts:250"}, "properties": {"repobilityId": "2f6c81b4efb9a884", "scanner": "scanner-primary", "fingerprint": "e8a2c46d39ae361a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59345544c1eca056", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/runtime/resume-hook.ts:154"}, "properties": {"repobilityId": "35a60f39d36eb5c0", "scanner": "scanner-primary", "fingerprint": "59345544c1eca056", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d239b551f6c01c3b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/runtime/world.ts:37"}, "properties": {"repobilityId": "540244ec4955322c", "scanner": "scanner-primary", "fingerprint": "d239b551f6c01c3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e41f28cc9eb462c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/step/writable-stream.ts:59"}, "properties": {"repobilityId": "f1a168f71cca31a4", "scanner": "scanner-primary", "fingerprint": "0e41f28cc9eb462c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bb6421071bd15f0", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/step/writable-stream.test.ts:118"}, "properties": {"repobilityId": "cf64f210ff6cf059", "scanner": "scanner-primary", "fingerprint": "5bb6421071bd15f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc576a6c7fdab7d7", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/step.ts:53"}, "properties": {"repobilityId": "9d36c7cde05e8e6b", "scanner": "scanner-primary", "fingerprint": "fc576a6c7fdab7d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97cf36e525338ecf", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/workflow.ts:52"}, "properties": {"repobilityId": "2215e2bf5dda87e9", "scanner": "scanner-primary", "fingerprint": "97cf36e525338ecf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-297adef8d4745dbe", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec.ts:105"}, "properties": {"repobilityId": "894a2d2d9514b023", "scanner": "scanner-primary", "fingerprint": "297adef8d4745dbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2375ee644684d2f2", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/client.ts:53"}, "properties": {"repobilityId": "5a5188a8bb0c2270", "scanner": "scanner-primary", "fingerprint": "2375ee644684d2f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6faf1efa02134886", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/codec-devalue.ts:133"}, "properties": {"repobilityId": "f9ecf7dbf1095690", "scanner": "scanner-primary", "fingerprint": "6faf1efa02134886", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f1bf7c8b0680a940", "level": "note", "message": {"text": "Legacy-named symbol `deserializeLegacy` in packages/core/src/serialization/serialization.test.ts:969"}, "properties": {"repobilityId": "0ab986d8c4623584", "scanner": "scanner-primary", "fingerprint": "f1bf7c8b0680a940", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d4480bb79ff09246", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/src/serialization/serialization.test.ts:867"}, "properties": {"repobilityId": "f7d5c47d0151785c", "scanner": "scanner-primary", "fingerprint": "d4480bb79ff09246", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52a4ef041ac17905", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/src/serialization/reducers/step-function.ts:38"}, "properties": {"repobilityId": "250967af44f8474d", "scanner": "scanner-primary", "fingerprint": "52a4ef041ac17905", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d4b41ff5c1c4b70", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/core/src/serialization/reducers/common.ts:189"}, "properties": {"repobilityId": "79c554f4047bd54a", "scanner": "scanner-primary", "fingerprint": "3d4b41ff5c1c4b70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecaa756273720266", "level": "note", "message": {"text": "Legacy-named symbol `execute_v2` in packages/core/src/telemetry/semantic-conventions.ts:59"}, "properties": {"repobilityId": "a80d1497975bbccd", "scanner": "scanner-primary", "fingerprint": "ecaa756273720266", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-45a06089acdce97c", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/core/e2e/dev.test.ts:44"}, "properties": {"repobilityId": "7ee035a21aa1889f", "scanner": "scanner-primary", "fingerprint": "45a06089acdce97c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29e4fc948c4df4d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/e2e/bench.bench.ts:142"}, "properties": {"repobilityId": "fde2f518cdc8dc4f", "scanner": "scanner-primary", "fingerprint": "29e4fc948c4df4d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d1153cdf8d85007", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/utils.ts:376"}, "properties": {"repobilityId": "d6b9c49904d970c4", "scanner": "scanner-primary", "fingerprint": "5d1153cdf8d85007", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa9bffefa7489a0a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/e2e/e2e.test.ts:235"}, "properties": {"repobilityId": "abfda4c70180a155", "scanner": "scanner-primary", "fingerprint": "aa9bffefa7489a0a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5dcdc63c9ae1677", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/core/e2e/e2e.test.ts:165"}, "properties": {"repobilityId": "ef7ccf5a5f60aa76", "scanner": "scanner-primary", "fingerprint": "d5dcdc63c9ae1677", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-77b1c6d1d3051dcc", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/core/e2e/event-log-race-repro.test.ts:39"}, "properties": {"repobilityId": "06779d617ba95cba", "scanner": "scanner-primary", "fingerprint": "77b1c6d1d3051dcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68737018be944889", "level": "none", "message": {"text": "Commented-code block (15 lines) in packages/nest/src/cjs-rewrite.ts:29"}, "properties": {"repobilityId": "1889240f4406a0f9", "scanner": "scanner-primary", "fingerprint": "68737018be944889", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43188be3822d5a54", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/vitest/src/index.ts:183"}, "properties": {"repobilityId": "f604412911df91ac", "scanner": "scanner-primary", "fingerprint": "43188be3822d5a54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6921a646b96eb1ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output-workflow.js:2"}, "properties": {"repobilityId": "9aedde3b9166a7d3", "scanner": "scanner-primary", "fingerprint": "6921a646b96eb1ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70d7af019059b62f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/output-step.js:2"}, "properties": {"repobilityId": "442599593fa5dd22", "scanner": "scanner-primary", "fingerprint": "70d7af019059b62f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c6a12ba0aa1b857", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-workflow/input.js:1"}, "properties": {"repobilityId": "b46b355faca73adc", "scanner": "scanner-primary", "fingerprint": "4c6a12ba0aa1b857", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-680ecf0cb661c1ad", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/output-workflow.js:5"}, "properties": {"repobilityId": "b4f49be535fe37b3", "scanner": "scanner-primary", "fingerprint": "680ecf0cb661c1ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0500c6c13ae35dea", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/output-step.js:5"}, "properties": {"repobilityId": "bd713083607af263", "scanner": "scanner-primary", "fingerprint": "0500c6c13ae35dea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9273c875d82b6382", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-arrow-step-lexical-this/input.js:5"}, "properties": {"repobilityId": "20ee35a81e6d0389", "scanner": "scanner-primary", "fingerprint": "9273c875d82b6382", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dbd55c73025987f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/output-workflow.js:1"}, "properties": {"repobilityId": "5f94ee9a3bd2fb52", "scanner": "scanner-primary", "fingerprint": "3dbd55c73025987f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ea88e69aadb0af", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/output-step.js:1"}, "properties": {"repobilityId": "e212c8242e071f55", "scanner": "scanner-primary", "fingerprint": "55ea88e69aadb0af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb96062c455a6e70", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/export-default-class-anonymous/input.js:1"}, "properties": {"repobilityId": "1f067748488350cf", "scanner": "scanner-primary", "fingerprint": "fb96062c455a6e70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c4805fc2a1c3f28", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/output-workflow.js:4"}, "properties": {"repobilityId": "d6514e85e00f1338", "scanner": "scanner-primary", "fingerprint": "8c4805fc2a1c3f28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d0a1884f357c53e", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/output-step.js:4"}, "properties": {"repobilityId": "f04cc07ae586eca6", "scanner": "scanner-primary", "fingerprint": "9d0a1884f357c53e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-962cf6faf6aae962", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/swc-plugin-workflow/transform/tests/fixture/lexical-this-detector-edge-cases/input.js:4"}, "properties": {"repobilityId": "69d14277f70fe4e0", "scanner": "scanner-primary", "fingerprint": "962cf6faf6aae962", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76c5201bc7d12d42", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-workflow.js:2"}, "properties": {"repobilityId": "5b53a77b64129435", "scanner": "scanner-primary", "fingerprint": "76c5201bc7d12d42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c511408606ba61ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/output-step.js:2"}, "properties": {"repobilityId": "62e2c17b92eba7fc", "scanner": "scanner-primary", "fingerprint": "c511408606ba61ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-358c0094053eb3e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/swc-plugin-workflow/transform/tests/fixture/using-declaration-step/input.js:1"}, "properties": {"repobilityId": "3bab22c107b908b3", "scanner": "scanner-primary", "fingerprint": "358c0094053eb3e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-700817544e3c0e81", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/output-workflow.js:3"}, "properties": {"repobilityId": "6842a9688f5fc146", "scanner": "scanner-primary", "fingerprint": "700817544e3c0e81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b3604bb7c9ebe08", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/output-step.js:3"}, "properties": {"repobilityId": "feda7c2dec1422f4", "scanner": "scanner-primary", "fingerprint": "5b3604bb7c9ebe08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b487ace7843b57d9", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-references-module-import/input.js:3"}, "properties": {"repobilityId": "f359b28e4e42d0a6", "scanner": "scanner-primary", "fingerprint": "b487ace7843b57d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c711f2063795f9a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-workflow.js:2"}, "properties": {"repobilityId": "5e3608e92d59911b", "scanner": "scanner-primary", "fingerprint": "7c711f2063795f9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d47448418ea2ed2d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/output-step.js:14"}, "properties": {"repobilityId": "af21c7c05e91d71d", "scanner": "scanner-primary", "fingerprint": "d47448418ea2ed2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57cac4436b82d951", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/swc-plugin-workflow/transform/tests/fixture/nested-step-arguments/input.js:1"}, "properties": {"repobilityId": "423c7cfd9f314608", "scanner": "scanner-primary", "fingerprint": "57cac4436b82d951", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2615cd29c1e93aae", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/output-workflow.js:2"}, "properties": {"repobilityId": "9fa8904fbc288980", "scanner": "scanner-primary", "fingerprint": "2615cd29c1e93aae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d4c81659a4530d3", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/output-step.js:32"}, "properties": {"repobilityId": "895eeaedcd28491c", "scanner": "scanner-primary", "fingerprint": "6d4c81659a4530d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b348ebf85201f0e7", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/swc-plugin-workflow/transform/tests/fixture/non-exported-workflow-shapes/input.js:1"}, "properties": {"repobilityId": "1ebd90d2fcb5cc0d", "scanner": "scanner-primary", "fingerprint": "b348ebf85201f0e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46dc80c392bf1a26", "level": "none", "message": {"text": "Commented-code block (5 lines) in .github/scripts/generate-docs-data.js:47"}, "properties": {"repobilityId": "d7f785f9c9431f19", "scanner": "scanner-primary", "fingerprint": "46dc80c392bf1a26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca91699875c45e3d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .github/scripts/fetch-e2e-runtime-logs.mjs:96"}, "properties": {"repobilityId": "65b455085abdf61c", "scanner": "scanner-primary", "fingerprint": "ca91699875c45e3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1b9a8b10003e2f0c", "level": "none", "message": {"text": "Commented-code block (5 lines) in .github/scripts/aggregate-e2e-results.js:150"}, "properties": {"repobilityId": "6cac8edf02205d6b", "scanner": "scanner-primary", "fingerprint": "1b9a8b10003e2f0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8f6771f90172a5a", "level": "none", "message": {"text": "Commented-code block (5 lines) in .github/actions/publish-to-gh-pages/publish.js:1"}, "properties": {"repobilityId": "bce0098e565c5cf1", "scanner": "scanner-primary", "fingerprint": "f8f6771f90172a5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe09627b662a88a2", "level": "error", "message": {"text": "Dangling fetch: GET https://raw.githubusercontent.com/${REPO}/${ghPagesSha}/${FILE_PATH} (docs/app/api/benchmark-history/route.ts:112)"}, "properties": {"repobilityId": "3f7573108ddae982", "scanner": "scanner-primary", "fingerprint": "fe09627b662a88a2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-98e2b1d8f404aa8f", "level": "error", "message": {"text": "Dangling fetch: POST https://api.example-payments.com/validate-method (docs/app/[lang]/(home)/components/use-cases-server.tsx:88)"}, "properties": {"repobilityId": "05803afea0c2c22a", "scanner": "scanner-primary", "fingerprint": "98e2b1d8f404aa8f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-46e84355ac7d63de", "level": "error", "message": {"text": "Dangling fetch: GET /catalog.json (tarballs/src/main.tsx:11)"}, "properties": {"repobilityId": "a51ef62e5f580338", "scanner": "scanner-primary", "fingerprint": "46e84355ac7d63de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-34ef6ee1ae8c7168", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-webpack/app/home-client.tsx:90)"}, "properties": {"repobilityId": "92cd6ba7b0a11ee5", "scanner": "scanner-primary", "fingerprint": "34ef6ee1ae8c7168", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a0acabde09df1059", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-webpack/app/home-client.tsx:150)"}, "properties": {"repobilityId": "66e1289e97e1c73e", "scanner": "scanner-primary", "fingerprint": "a0acabde09df1059", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47c4e48523403398", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-webpack/app/home-client.tsx:238)"}, "properties": {"repobilityId": "6ebf7dc7e9bc0819", "scanner": "scanner-primary", "fingerprint": "47c4e48523403398", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-786a12f71371fcef", "level": "error", "message": {"text": "Dangling fetch: GET https://jsonplaceholder.typicode.com/todos/1 (workbench/example/workflows/99_e2e.ts:416)"}, "properties": {"repobilityId": "b47e3f92df5941be", "scanner": "scanner-primary", "fingerprint": "786a12f71371fcef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9a42827003248e1f", "level": "error", "message": {"text": "Dangling fetch: GET https://example.com (workbench/example/workflows/99_e2e.ts:2607)"}, "properties": {"repobilityId": "21041757926389ba", "scanner": "scanner-primary", "fingerprint": "9a42827003248e1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-81a25e12b450c1b0", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/await (workbench/nextjs-turbopack/app/home-client.tsx:90)"}, "properties": {"repobilityId": "83b63b36fbe461a4", "scanner": "scanner-primary", "fingerprint": "81a25e12b450c1b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-35b71afb222a1b4c", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/stream (workbench/nextjs-turbopack/app/home-client.tsx:150)"}, "properties": {"repobilityId": "622c0cd25db78ce1", "scanner": "scanner-primary", "fingerprint": "35b71afb222a1b4c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-897482df700277bf", "level": "error", "message": {"text": "Dangling fetch: POST /api/workflows/start (workbench/nextjs-turbopack/app/home-client.tsx:238)"}, "properties": {"repobilityId": "da520d5d0c6ecb72", "scanner": "scanner-primary", "fingerprint": "897482df700277bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-63476cc0c7674c7c", "level": "error", "message": {"text": "Dangling fetch: GET https://api.vercel.com/v1/workflow/run-key/${deploymentId}?${params} (packages/world-vercel/src/encryption.ts:123)"}, "properties": {"repobilityId": "8825bfc82cd09490", "scanner": "scanner-primary", "fingerprint": "63476cc0c7674c7c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d0a41a5e82decd2f", "level": "error", "message": {"text": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:394)"}, "properties": {"repobilityId": "cc044f75618fc9b0", "scanner": "scanner-primary", "fingerprint": "d0a41a5e82decd2f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2aacf2f1768cd42d", "level": "error", "message": {"text": "Dangling fetch: GET https://api.example.com (packages/typescript-plugin/src/diagnostics.test.ts:414)"}, "properties": {"repobilityId": "f738a7dcb1ff99bb", "scanner": "scanner-primary", "fingerprint": "2aacf2f1768cd42d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e6131d87d25db313", "level": "error", "message": {"text": "Dangling fetch: GET https://api.vercel.com/v2/teams/${teamId} (packages/cli/src/lib/inspect/vercel-api.ts:22)"}, "properties": {"repobilityId": "96d6aafaa8e27ed0", "scanner": "scanner-primary", "fingerprint": "e6131d87d25db313", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8e10f6062e2f4509", "level": "error", "message": {"text": "Dangling fetch: HEAD http://localhost:${port}${endpoint} (packages/utils/src/get-port.ts:260)"}, "properties": {"repobilityId": "ded2cec6117e319c", "scanner": "scanner-primary", "fingerprint": "8e10f6062e2f4509", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4bd7f44b95c844d", "level": "error", "message": {"text": "Dangling fetch: POST /api/rpc (packages/web/app/lib/rpc-client.ts:29)"}, "properties": {"repobilityId": "d0b95eb391bdf49b", "scanner": "scanner-primary", "fingerprint": "b4bd7f44b95c844d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b59435b3211a9df", "level": "note", "message": {"text": "Unused endpoint: USE /assets"}, "properties": {"repobilityId": "2c6506ab5d615216", "scanner": "scanner-primary", "fingerprint": "3b59435b3211a9df", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5d5f3b3ce3a50032", "level": "note", "message": {"text": "Unused endpoint: POST /api/test-direct-step-call"}, "properties": {"repobilityId": "9a7e4375b4965e30", "scanner": "scanner-primary", "fingerprint": "5d5f3b3ce3a50032", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "75202ff923978bbb", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-684f0e83ba7e1558", "level": "note", "message": {"text": "Unused endpoint: GET "}, "properties": {"repobilityId": "e343e59db727fbb1", "scanner": "scanner-primary", "fingerprint": "684f0e83ba7e1558", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-82deb24f509b3419", "level": "note", "message": {"text": "Unused endpoint: ALL /{*splat}"}, "properties": {"repobilityId": "abf05dc864d7bf51", "scanner": "scanner-primary", "fingerprint": "82deb24f509b3419", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}