{"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-549f719e467ae600", "name": "Stray `console.log` in TS/JS \u2014 studio/vite.config.ts:172", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/vite.config.ts:172"}, "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-c063eafd36934bb1", "name": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/render.ts:136", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/render.ts:136"}, "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-b4e06b15d58cf130", "name": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/wrapPrompt.ts:45", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/wrapPrompt.ts:45"}, "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-cf8506ab1cb76b12", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/src/components/chat/computer/ComputerThinkingRow.tsx:34", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/src/components/chat/computer/ComputerThinkingRow.tsx:34"}, "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-20ef6fd1ddc6b280", "name": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/server.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/server.ts:38"}, "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-0105f473a8461bbc", "name": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/debugSink.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/debugSink.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13ec550bfee7ca6e", "name": "Stray `console.log` in TS/JS \u2014 studio/server/figmaIngest.ts:288", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/figmaIngest.ts:288"}, "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-744c43bb7061506f", "name": "Stray `console.log` in TS/JS \u2014 studio/server/plugins/kitManifestPlugin.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/plugins/kitManifestPlugin.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-6f4380e6223d1d2c", "name": "Stray `console.log` in TS/JS \u2014 studio/server/figma/kitEmitBranch.ts:212", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/figma/kitEmitBranch.ts:212"}, "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-9c0570fdcdeeea1a", "name": "Stray `console.log` in TS/JS \u2014 studio/server/devrev/computerAgent.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/devrev/computerAgent.ts:70"}, "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-ba672c9b01f977bf", "name": "Stray `console.log` in TS/JS \u2014 studio/server/middleware/version.ts:201", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/middleware/version.ts:201"}, "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-774f7b5b76915d3f", "name": "Stray `console.log` in TS/JS \u2014 studio/server/sidecar/bin.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/sidecar/bin.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-da75e1dc344953d0", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatInput.tsx:262", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatInput.tsx:262"}, "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-13b86b79095d062b", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaGroupRail.tsx:87", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaGroupRail.tsx:87"}, "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-793cdfc2565833ff", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatMessages.tsx:369", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatMessages.tsx:369"}, "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-34dea5603ad0f22f", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaRow.tsx:111", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaRow.tsx:111"}, "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-8531d803794b497c", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerHeader.tsx:120", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerHeader.tsx:120"}, "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-f7af17fe2dae7b1b", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/CanvasPanel.tsx:132", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/CanvasPanel.tsx:132"}, "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-b5c411a3856c81df", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/NavSidebar.tsx:144", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/NavSidebar.tsx:144"}, "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-74cb5ead0203bea0", "name": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerSidebar.tsx:310", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerSidebar.tsx:310"}, "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-83f46cd26b0c522e", "name": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/cloudflare/bundler.test.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/cloudflare/bundler.test.ts:16"}, "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-2ccd20703f38cbf6", "name": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/middleware/cloudflare.test.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/middleware/cloudflare.test.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-169f070306a36e9f", "name": "Stray `console.log` in TS/JS \u2014 electron/main.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/main.ts:34"}, "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-ba3c8ac2fe95c2e7", "name": "Stray `console.log` in TS/JS \u2014 electron/telemetry.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/telemetry.ts:84"}, "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-47daa9ca9e83b3cb", "name": "Stray `console.log` in TS/JS \u2014 electron/viteRunner.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/viteRunner.ts:41"}, "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-2c6af894e259956f", "name": "Stray `console.log` in TS/JS \u2014 electron/updater.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/updater.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-24a339cc4a2de3a5", "name": "Insecure pattern 'cors_wildcard' in studio/worker/src/index.ts:415", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in studio/worker/src/index.ts:415"}, "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-7be66a4aafbd9017", "name": "Insecure pattern 'node_child_process' in studio/server/figmaSystemIngest.ts:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/figmaSystemIngest.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-3151f0df34775a2d", "name": "Insecure pattern 'node_child_process' in studio/server/awsPreflight.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/awsPreflight.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-cd449e33e115f19a", "name": "Insecure pattern 'node_child_process' in studio/server/firstRun.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/firstRun.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-37900bfbf7fdb8f3", "name": "Insecure pattern 'node_child_process' in studio/server/figmaCli.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/figmaCli.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-a57942749d61975b", "name": "Insecure pattern 'node_child_process' in studio/server/claudeCode.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/claudeCode.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-d24c00c60e35273d", "name": "Insecure pattern 'direct_innerhtml_assignment' in studio/server/plugins/frameMountPlugin.ts:120", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/server/plugins/frameMountPlugin.ts:120"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09f978ce707f5a8c", "name": "Insecure pattern 'node_child_process' in studio/server/figma/classifyComposites.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/figma/classifyComposites.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-5f1b8ed1a739dc0d", "name": "Insecure pattern 'node_child_process' in studio/server/figma/systemSynth.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/figma/systemSynth.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-11d255384d8f7d64", "name": "Insecure pattern 'node_child_process' in studio/server/relay/tunnel.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/relay/tunnel.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-1a6290c25edae9eb", "name": "Insecure pattern 'node_child_process' in studio/server/middleware/awsLogin.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/server/middleware/awsLogin.ts: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-a9d299d97096cb65", "name": "Insecure pattern 'cors_wildcard' in studio/server/middleware/fonts.ts:36", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in studio/server/middleware/fonts.ts:36"}, "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-457877a03b9176d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/export/serializeFrame.test.ts:10", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/export/serializeFrame.test.ts:10"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de4ab1903c4c59ab", "name": "Insecure pattern 'new_function_used' in studio/__tests__/export/figma/buildExecuteScript.test.ts:163", "shortDescription": {"text": "Insecure pattern 'new_function_used' in studio/__tests__/export/figma/buildExecuteScript.test.ts:163"}, "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-6d40f4667aec8bdf", "name": "Insecure pattern 'node_child_process' in studio/__tests__/server/firstRun.test.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/firstRun.test.ts:4"}, "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-a2c7b5ec431a1514", "name": "Insecure pattern 'node_child_process' in studio/__tests__/server/awsPreflight.test.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/awsPreflight.test.ts:4"}, "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-24bbf566872e1fb5", "name": "Insecure pattern 'node_child_process' in studio/__tests__/server/figmaCli.test.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/figmaCli.test.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ac76aed378dcea0", "name": "Insecure pattern 'node_child_process' in studio/__tests__/server/hooks/validateArcadeImports.test.ts:291", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/hooks/validateArcadeImports.test.ts:291"}, "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-cf0b4ec0a5e953cb", "name": "Insecure pattern 'node_child_process' in studio/__tests__/server/relay/tunnel.test.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/relay/tunnel.test.ts:4"}, "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-def8f560d3dd6d78", "name": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/lib/exportFrameToSlj.test.ts:20", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/lib/exportFrameToSlj.test.ts:20"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8086568aee12d5c", "name": "Insecure pattern 'node_child_process' in electron/viteRunner.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/viteRunner.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-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-8d2ef66f4ea86671", "name": "Very large file: studio/server/figma/kitEmit.ts (1185 lines)", "shortDescription": {"text": "Very large file: studio/server/figma/kitEmit.ts (1185 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2f222e44b41d153", "name": "Node manifest has dependencies but no lockfile: studio/prototype-kit/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: studio/prototype-kit/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 28 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 61 placeholder/mock markers across 25 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, 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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0208e1bcbd872b2f", "name": "Agent authority lacks a verifier contract: SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27f7c97c6dd833b3", "name": "Agent authority lacks a verifier contract: studio/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: studio/CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9db4bb7508279234", "name": "Commented-code block (7 lines) in studio/vite.config.ts:85", "shortDescription": {"text": "Commented-code block (7 lines) in studio/vite.config.ts:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-360f3c97299299f1", "name": "Commented-code block (6 lines) in studio/worker/src/index.ts:57", "shortDescription": {"text": "Commented-code block (6 lines) in studio/worker/src/index.ts:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b789c81009abe6af", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/src/index.ts:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/src/index.ts:48"}, "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-756c55240379a176", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/__tests__/rendezvous.test.ts:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/__tests__/rendezvous.test.ts:64"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-351bd654704e1540", "name": "Commented-code block (5 lines) in studio/src/export/tokenIndex.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/export/tokenIndex.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-fec0a3192172b922", "name": "Commented-code block (6 lines) in studio/src/export/figma/wrapFigmaExportPrompt.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/export/figma/wrapFigmaExportPrompt.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b10fd515b4a1ff30", "name": "Commented-code block (8 lines) in studio/src/export/figma/buildExecuteScript.ts:124", "shortDescription": {"text": "Commented-code block (8 lines) in studio/src/export/figma/buildExecuteScript.ts:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e0d361db8807b3b", "name": "Commented-code block (5 lines) in studio/src/export/figma/iconEntries.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/export/figma/iconEntries.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-9c2a97c380fd9549", "name": "Commented-code block (7 lines) in studio/src/export/figma/componentEntries.ts:189", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/export/figma/componentEntries.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-4f6f246fc0e3014f", "name": "Commented-code block (9 lines) in studio/src/export/figma/disambiguate.ts:4", "shortDescription": {"text": "Commented-code block (9 lines) in studio/src/export/figma/disambiguate.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-14c8753da43d4b11", "name": "Commented-code block (5 lines) in studio/src/lift/metrics.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/metrics.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-273f1ebf601fd02a", "name": "Commented-code block (5 lines) in studio/src/lift/buildManifest.ts:41", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/buildManifest.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd2a9e91d24f2e23", "name": "Commented-code block (5 lines) in studio/src/lift/tokens.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/tokens.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-19a04465e6d43286", "name": "Commented-code block (5 lines) in studio/src/lift/drift.ts:17", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/drift.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-d892a2ab4df85f1c", "name": "Commented-code block (5 lines) in studio/src/lift/renderHarness.ts:162", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/renderHarness.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab4cafa33605bed5", "name": "Commented-code block (5 lines) in studio/src/lift/render.ts:106", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/render.ts:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d1d549b352014ef", "name": "Commented-code block (13 lines) in studio/src/lift/wrapPrompt.ts:8", "shortDescription": {"text": "Commented-code block (13 lines) in studio/src/lift/wrapPrompt.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-0bc9c87f3ddfa7a9", "name": "Commented-code block (5 lines) in studio/src/lift/detectShape.ts:36", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/detectShape.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-48c76de2bffdc299", "name": "Commented-code block (7 lines) in studio/src/lift/icons.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/lift/icons.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2de0eb3b1bcb3596", "name": "Commented-code block (5 lines) in studio/src/lift/conventions.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/conventions.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-43e2c44349155bce", "name": "Commented-code block (11 lines) in studio/src/lift/mappings/rawDs.ts:5", "shortDescription": {"text": "Commented-code block (11 lines) in studio/src/lift/mappings/rawDs.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-7c99e8ab0ed5ea73", "name": "Commented-code block (5 lines) in studio/src/lift/mappings/composites.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lift/mappings/composites.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-b11063650d5ed44d", "name": "Commented-code block (7 lines) in studio/src/lift/mappings/primitives.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/lift/mappings/primitives.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0f14e47c3e2d137", "name": "Commented-code block (5 lines) in studio/src/hooks/useProjectFromMirror.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/hooks/useProjectFromMirror.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-288e82180c97b28c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useFrames.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useFrames.ts:32"}, "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-2ade244dd1459fad", "name": "Commented-code block (6 lines) in studio/src/hooks/useProjectFromHost.ts:58", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/hooks/useProjectFromHost.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ad6c7cdaefa0b7a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useProjectFromHost.ts:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useProjectFromHost.ts:94"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e9c4ef16533ac05", "name": "Commented-code block (8 lines) in studio/src/hooks/useChatStream.ts:173", "shortDescription": {"text": "Commented-code block (8 lines) in studio/src/hooks/useChatStream.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-ab85f42c38b8281c", "name": "Commented-code block (7 lines) in studio/src/components/chat/PromptInput.tsx:299", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/components/chat/PromptInput.tsx:299"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcb7e318e56cfc8b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/chat/PromptInput.tsx:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/chat/PromptInput.tsx:120"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d9f8e2c0bcb9710", "name": "Commented-code block (7 lines) in studio/src/components/chat/MessageList.tsx:243", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/components/chat/MessageList.tsx:243"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-286ab4f86c21351b", "name": "Commented-code block (5 lines) in studio/src/components/chat/MentionPopover.tsx:40", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/components/chat/MentionPopover.tsx:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b6c4aaf5fb44006", "name": "Commented-code block (5 lines) in studio/src/components/feedback/UpdateBanner.tsx:78", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/components/feedback/UpdateBanner.tsx:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-278b0ef174c7bf04", "name": "Commented-code block (5 lines) in studio/src/components/home/HeroPromptInput.tsx:125", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/components/home/HeroPromptInput.tsx:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43bb7a6f46a63805", "name": "Commented-code block (6 lines) in studio/src/components/shell/ShareModal.tsx:160", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/components/shell/ShareModal.tsx:160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c7e79b128e7bbd1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/ShareModal.tsx:104", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/ShareModal.tsx:104"}, "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-70f40048a00340a1", "name": "Commented-code block (6 lines) in studio/src/components/shell/AppSettingsModal.tsx:17", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/components/shell/AppSettingsModal.tsx: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-f21733d46fa5033b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/AppSettingsModal.tsx:170", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/AppSettingsModal.tsx:170"}, "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-ca1bbd1e7d263cc0", "name": "Commented-code block (5 lines) in studio/src/components/viewport/ViewportPreview.tsx:108", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/components/viewport/ViewportPreview.tsx:108"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97628f6d4074b313", "name": "Commented-code block (5 lines) in studio/src/components/viewport/Viewport.tsx:26", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/components/viewport/Viewport.tsx:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6b7ee83c060dc9a6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/viewport/Viewport.tsx:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/viewport/Viewport.tsx:99"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58efb62cc9b7cfc5", "name": "Commented-code block (6 lines) in studio/src/lib/streamJson.ts:427", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/lib/streamJson.ts:427"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2696e40731cc1dbe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/api.ts:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/api.ts:14"}, "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-cde346768c3e3342", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/vercel.ts:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/vercel.ts:2"}, "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-539b382015440bea", "name": "Commented-code block (6 lines) in studio/src/lib/exportFrameToSlj.ts:31", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/lib/exportFrameToSlj.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd815a6521625d1d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/exportFrameToSlj.ts:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/exportFrameToSlj.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-2e2edd4c4d0918c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/devrev.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/devrev.ts:27"}, "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-92666323c39529dd", "name": "Commented-code block (5 lines) in studio/src/lib/pendingPrompt.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/lib/pendingPrompt.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-639f336d23791a53", "name": "Commented-code block (6 lines) in studio/src/lib/telemetry/renderer.ts:58", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/lib/telemetry/renderer.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ad999d0c55f7e31", "name": "Commented-code block (6 lines) in studio/src/frame/FrameErrorBoundary.tsx:35", "shortDescription": {"text": "Commented-code block (6 lines) in studio/src/frame/FrameErrorBoundary.tsx:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-69f9ba54870fa10c", "name": "Commented-code block (5 lines) in studio/src/routes/ProjectDetail.tsx:126", "shortDescription": {"text": "Commented-code block (5 lines) in studio/src/routes/ProjectDetail.tsx:126"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0055922d84718c97", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/routes/ProjectDetail.tsx:297", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/routes/ProjectDetail.tsx:297"}, "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-1ac6df613214acb1", "name": "Commented-code block (7 lines) in studio/src/routes/HomePage.tsx:48", "shortDescription": {"text": "Commented-code block (7 lines) in studio/src/routes/HomePage.tsx: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-9a7ce0a67d0de864", "name": "Commented-code block (6 lines) in studio/server/buildErrorReporter.ts:175", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/buildErrorReporter.ts:175"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-582e7eb81bc72671", "name": "Commented-code block (5 lines) in studio/server/projects.ts:286", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/projects.ts:286"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-522f35fe36c5acc5", "name": "Commented-code block (5 lines) in studio/server/figmaIngest.ts:96", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/figmaIngest.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-afa296f47ea93bbd", "name": "Commented-code block (5 lines) in studio/server/figmaCli.ts:78", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/figmaCli.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-798258024c04b2a3", "name": "Commented-code block (12 lines) in studio/server/claudeCode.ts:11", "shortDescription": {"text": "Commented-code block (12 lines) in studio/server/claudeCode.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d147af3258acbaa0", "name": "Commented-code block (7 lines) in studio/server/plugins/frameMountPlugin.ts:113", "shortDescription": {"text": "Commented-code block (7 lines) in studio/server/plugins/frameMountPlugin.ts:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f3341a5f8909bd03", "name": "Commented-code block (10 lines) in studio/server/plugins/projectWatchPlugin.ts:87", "shortDescription": {"text": "Commented-code block (10 lines) in studio/server/plugins/projectWatchPlugin.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-feef36e859372a53", "name": "Commented-code block (6 lines) in studio/server/figma/classifyComposites.ts:31", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/figma/classifyComposites.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea224154878d8cb5", "name": "Commented-code block (6 lines) in studio/server/figma/compactTree.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/figma/compactTree.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-b99e72a32231c6fb", "name": "Commented-code block (6 lines) in studio/server/figma/kitEmit.ts:288", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/figma/kitEmit.ts:288"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d72cfacd7076f747", "name": "Commented-code block (7 lines) in studio/server/figma/kitMappings.ts:38", "shortDescription": {"text": "Commented-code block (7 lines) in studio/server/figma/kitMappings.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-a087914d1033cc00", "name": "Commented-code block (5 lines) in studio/server/figma/kitEmitBranch.ts:177", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/figma/kitEmitBranch.ts:177"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c2076f54bd0435c", "name": "Commented-code block (11 lines) in studio/server/hooks/validateArcadeImports.mjs:77", "shortDescription": {"text": "Commented-code block (11 lines) in studio/server/hooks/validateArcadeImports.mjs:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7387b3f6e5747129", "name": "Commented-code block (6 lines) in studio/server/hooks/blockImageReshape.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/hooks/blockImageReshape.mjs: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-0964929ef96a36dd", "name": "Commented-code block (6 lines) in studio/server/relay/persistence.ts:41", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/relay/persistence.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f6185291b2c4c08", "name": "Commented-code block (5 lines) in studio/server/relay/tunnel.ts:27", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/relay/tunnel.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b24ba59b25e65272", "name": "Commented-code block (7 lines) in studio/server/figmaBridge/wsServer.ts:17", "shortDescription": {"text": "Commented-code block (7 lines) in studio/server/figmaBridge/wsServer.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-fc3f3cefaf3d6be9", "name": "Commented-code block (5 lines) in studio/server/cloudflare/deploy.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/cloudflare/deploy.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29655771e9ebc6c6", "name": "Commented-code block (7 lines) in studio/server/cloudflare/bundler.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in studio/server/cloudflare/bundler.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-c6a833c185012984", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/cloudflare/bundler.ts:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/cloudflare/bundler.ts: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-e90ce1ad082f445b", "name": "Commented-code block (8 lines) in studio/server/devrev/dm.ts:73", "shortDescription": {"text": "Commented-code block (8 lines) in studio/server/devrev/dm.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9943c32ce666a681", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/dm.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/dm.ts:32"}, "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-0f5fcc6df00fa21d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/devUsers.ts:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/devUsers.ts:55"}, "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-b9dad5005a7de4f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/scaffoldHelper.ts:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/scaffoldHelper.ts:85"}, "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-e1412981ec1618e0", "name": "Commented-code block (5 lines) in studio/server/middleware/multiplayerInvite.ts:90", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/multiplayerInvite.ts:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fffead4a707709de", "name": "Commented-code block (5 lines) in studio/server/middleware/chat.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/chat.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fde863952cb13db", "name": "Commented-code block (5 lines) in studio/server/middleware/uploads.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/uploads.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-516c56052d3e2a00", "name": "Commented-code block (5 lines) in studio/server/middleware/projects.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/projects.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83dcff5eb5f6ecf7", "name": "Commented-code block (5 lines) in studio/server/middleware/cloudflare.ts:93", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/cloudflare.ts:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5e3719577385af2", "name": "Commented-code block (5 lines) in studio/server/middleware/awsLogin.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in studio/server/middleware/awsLogin.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-b69c1cbb943d55e2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/middleware/devrev.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/middleware/devrev.ts:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6d0ecbff2ee6374f", "name": "Commented-code block (6 lines) in studio/server/middleware/version.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in studio/server/middleware/version.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee7fb8cf7252d7d5", "name": "Commented-code block (5 lines) in studio/prototype-kit/arcade-components.tsx:23", "shortDescription": {"text": "Commented-code block (5 lines) in studio/prototype-kit/arcade-components.tsx:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8c9a1f87eeaa2c46", "name": "Commented-code block (6 lines) in studio/__tests__/export/figma/buildExecuteScript.test.ts:89", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/export/figma/buildExecuteScript.test.ts:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab6dcf884382f6a8", "name": "Commented-code block (5 lines) in studio/__tests__/lift/conventions.test.ts:89", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/conventions.test.ts:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e15bde6029eb667", "name": "Commented-code block (6 lines) in studio/__tests__/lift/mappingCoverage.test.ts:71", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/mappingCoverage.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-9d679bc06b117385", "name": "Commented-code block (5 lines) in studio/__tests__/lift/wrapPrompt.test.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/wrapPrompt.test.ts:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e27acf740d98b6b3", "name": "Commented-code block (5 lines) in studio/__tests__/lift/priorArt.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/priorArt.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-ecde1d64a802da53", "name": "Commented-code block (6 lines) in studio/__tests__/lift/propCoverage.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/propCoverage.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-5ed1ea48dc1bb425", "name": "Commented-code block (5 lines) in studio/__tests__/lift/parseImports.test.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/parseImports.test.ts: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-d443a6401cc2d42b", "name": "Commented-code block (8 lines) in studio/__tests__/lift/drift.test.ts:83", "shortDescription": {"text": "Commented-code block (8 lines) in studio/__tests__/lift/drift.test.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-1b91abc15b5179e7", "name": "Commented-code block (6 lines) in studio/__tests__/lift/metrics.test.ts:30", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/metrics.test.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b251cd7377317a85", "name": "Commented-code block (5 lines) in studio/__tests__/lift/tabsOnValueChange.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/tabsOnValueChange.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-f7ed9deea14c2547", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/lift/liftMiddleware.test.ts:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/lift/liftMiddleware.test.ts:46"}, "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-5fc2bcbc9080a3b8", "name": "Commented-code block (5 lines) in studio/__tests__/lift/renderXml.snapshot.test.ts:40", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/renderXml.snapshot.test.ts:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7052a7506f17650f", "name": "Commented-code block (8 lines) in studio/__tests__/lift/tokens.test.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in studio/__tests__/lift/tokens.test.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-95789b5b4fb2db40", "name": "Commented-code block (5 lines) in studio/__tests__/lift/icons.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/icons.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-9b635d8a765d2423", "name": "Commented-code block (6 lines) in studio/__tests__/lift/liftLoop.test.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/liftLoop.test.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-2e13a04d6a24b0de", "name": "Commented-code block (11 lines) in studio/__tests__/hooks/useChatStream-idle-race.test.ts:6", "shortDescription": {"text": "Commented-code block (11 lines) in studio/__tests__/hooks/useChatStream-idle-race.test.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-37fa849fdb9fe668", "name": "Commented-code block (6 lines) in studio/__tests__/templates/claude-md-token-guidance.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/templates/claude-md-token-guidance.test.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-fece2a941980f573", "name": "Commented-code block (6 lines) in studio/__tests__/server/claudeCode.test.ts:63", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/server/claudeCode.test.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3954cd43825a7ea1", "name": "Commented-code block (6 lines) in studio/__tests__/server/buildErrorReporter.test.ts:156", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/server/buildErrorReporter.test.ts:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abb180d79b6e143c", "name": "Commented-code block (8 lines) in studio/__tests__/server/project-watch-full-reload-scope.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in studio/__tests__/server/project-watch-full-reload-scope.test.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-2a19a27604506cb8", "name": "Commented-code block (6 lines) in studio/__tests__/server/figmaCli.test.ts:51", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/server/figmaCli.test.ts:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c17b066b2a3dc039", "name": "Commented-code block (5 lines) in studio/__tests__/server/plugins/frameMountPlugin.test.ts:136", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/plugins/frameMountPlugin.test.ts:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f932670c6ceaf71", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/plugins/frameMountPlugin.test.ts:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/plugins/frameMountPlugin.test.ts:63"}, "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-732511fe8f7c0373", "name": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmit.test.ts:208", "shortDescription": {"text": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmit.test.ts:208"}, "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-0c64e1e77cb3cfe5", "name": "Commented-code block (5 lines) in studio/__tests__/server/figma/kitEmit.test.ts:363", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/figma/kitEmit.test.ts:363"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5ef4d5492c8fa77", "name": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmitBranch.test.ts:122", "shortDescription": {"text": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmitBranch.test.ts:122"}, "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-9d689265c2b12b21", "name": "Commented-code block (5 lines) in studio/__tests__/server/figma/resolveTokens.test.ts:55", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/figma/resolveTokens.test.ts:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0437961e8757a96b", "name": "Commented-code block (8 lines) in studio/__tests__/server/hooks/validateArcadeImports.test.ts:131", "shortDescription": {"text": "Commented-code block (8 lines) in studio/__tests__/server/hooks/validateArcadeImports.test.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da8518ee00d9f7f6", "name": "Commented-code block (9 lines) in studio/__tests__/server/cloudflare/bundler.test.ts:25", "shortDescription": {"text": "Commented-code block (9 lines) in studio/__tests__/server/cloudflare/bundler.test.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae6b6aefb2e6fb6f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/dev.test.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/dev.test.ts:27"}, "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-42770dfa03183976", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma.test.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma.test.ts:32"}, "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-f039b4fe252e8a11", "name": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-no-changes.test.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-no-changes.test.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63fac73b0a6598a6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-no-changes.test.ts:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-no-changes.test.ts:52"}, "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-eaa17a983e348545", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat.test.ts:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat.test.ts:42"}, "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-227af571a9f5012e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/frames.test.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/frames.test.ts:43"}, "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-c3b2d50eb750ce08", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chime-ins-routes.test.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chime-ins-routes.test.ts: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-8e7ad6fc0a8d673c", "name": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-figma-seeder.test.ts:115", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-figma-seeder.test.ts:115"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2f846f92b89029f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/projects.test.ts:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/projects.test.ts:25"}, "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-62e4e3e8f0a08430", "name": "Commented-code block (5 lines) in studio/__tests__/server/middleware/awsStatus.test.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/awsStatus.test.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-3c2aa10683fa5e97", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/awsStatus.test.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/awsStatus.test.ts:24"}, "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-1fd8a93d2259d2d7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-deviations.test.ts:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-deviations.test.ts:44"}, "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-6bddb9996492ad76", "name": "Commented-code block (6 lines) in studio/__tests__/server/middleware/chat-figma-context.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/server/middleware/chat-figma-context.test.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-f3196579220ca333", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-figma-context.test.ts:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-figma-context.test.ts:67"}, "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-3ce18f438282ac85", "name": "Commented-code block (5 lines) in studio/__tests__/server/middleware/projectSharing.test.ts:137", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/projectSharing.test.ts:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43ea7129401ed236", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/preflight.test.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/preflight.test.ts:34"}, "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-9c2d79e58259e8bd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/export.test.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/export.test.ts:37"}, "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-873d832d0664ab5f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/uploads.test.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/uploads.test.ts:38"}, "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-6bc309d7382c8614", "name": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma-ingest.test.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma-ingest.test.ts:33"}, "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-d4a91d12e0716f45", "name": "Commented-code block (6 lines) in studio/__tests__/components/no-frame-changes-banner.test.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in studio/__tests__/components/no-frame-changes-banner.test.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-712493b298082688", "name": "Commented-code block (5 lines) in studio/__tests__/components/messageList-journey.test.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in studio/__tests__/components/messageList-journey.test.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d00bd6a665211c7", "name": "Commented-code block (7 lines) in studio/__tests__/components/chat/chat-pane-hero-handoff.test.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in studio/__tests__/components/chat/chat-pane-hero-handoff.test.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdd2492572313e57", "name": "Commented-code block (8 lines) in studio/__tests__/prototype-kit/arcade-components-shim.test.tsx:6", "shortDescription": {"text": "Commented-code block (8 lines) in studio/__tests__/prototype-kit/arcade-components-shim.test.tsx:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36582ae79562d9ed", "name": "Commented-code block (12 lines) in studio/__tests__/routes/project-detail-hero-handoff.test.tsx:3", "shortDescription": {"text": "Commented-code block (12 lines) in studio/__tests__/routes/project-detail-hero-handoff.test.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1dab2b1f48c89e90", "name": "Commented-code block (5 lines) in electron/viteRunner.ts:28", "shortDescription": {"text": "Commented-code block (5 lines) in electron/viteRunner.ts:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24365"}, "properties": {"repository": "asundiev-devrev/arcade-prototyper", "repoUrl": "https://github.com/asundiev-devrev/arcade-prototyper", "branch": "main"}, "results": [{"ruleId": "scanner-549f719e467ae600", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/vite.config.ts:172"}, "properties": {"repobilityId": "1fe5852235712d5b", "scanner": "scanner-primary", "fingerprint": "549f719e467ae600", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c063eafd36934bb1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/render.ts:136"}, "properties": {"repobilityId": "179bbf8b70d20011", "scanner": "scanner-primary", "fingerprint": "c063eafd36934bb1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b4e06b15d58cf130", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 studio/src/lift/wrapPrompt.ts:45"}, "properties": {"repobilityId": "6ece0f4f23a631d8", "scanner": "scanner-primary", "fingerprint": "b4e06b15d58cf130", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-cf8506ab1cb76b12", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/src/components/chat/computer/ComputerThinkingRow.tsx:34"}, "properties": {"repobilityId": "ed19f68e8722d6bd", "scanner": "scanner-primary", "fingerprint": "cf8506ab1cb76b12", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-20ef6fd1ddc6b280", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/server.ts:38"}, "properties": {"repobilityId": "1208de1c7f4be02b", "scanner": "scanner-primary", "fingerprint": "20ef6fd1ddc6b280", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0105f473a8461bbc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/src/lib/telemetry/debugSink.ts:6"}, "properties": {"repobilityId": "7aa57054e53cd97a", "scanner": "scanner-primary", "fingerprint": "0105f473a8461bbc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13ec550bfee7ca6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/figmaIngest.ts:288"}, "properties": {"repobilityId": "62b5792d95fa71d9", "scanner": "scanner-primary", "fingerprint": "13ec550bfee7ca6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-744c43bb7061506f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/plugins/kitManifestPlugin.ts:35"}, "properties": {"repobilityId": "bc6e467224fa1f6a", "scanner": "scanner-primary", "fingerprint": "744c43bb7061506f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f4380e6223d1d2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/figma/kitEmitBranch.ts:212"}, "properties": {"repobilityId": "cacbdce182fdcb40", "scanner": "scanner-primary", "fingerprint": "6f4380e6223d1d2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c0570fdcdeeea1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/devrev/computerAgent.ts:70"}, "properties": {"repobilityId": "1cde49bd8432b834", "scanner": "scanner-primary", "fingerprint": "9c0570fdcdeeea1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba672c9b01f977bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/middleware/version.ts:201"}, "properties": {"repobilityId": "9f9229f6c8b95190", "scanner": "scanner-primary", "fingerprint": "ba672c9b01f977bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-774f7b5b76915d3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/server/sidecar/bin.ts:9"}, "properties": {"repobilityId": "1d5826c6e95af39e", "scanner": "scanner-primary", "fingerprint": "774f7b5b76915d3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da75e1dc344953d0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatInput.tsx:262"}, "properties": {"repobilityId": "08678a30d67139d1", "scanner": "scanner-primary", "fingerprint": "da75e1dc344953d0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-13b86b79095d062b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaGroupRail.tsx:87"}, "properties": {"repobilityId": "a5df1c7758f22aa5", "scanner": "scanner-primary", "fingerprint": "13b86b79095d062b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-793cdfc2565833ff", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ChatMessages.tsx:369"}, "properties": {"repobilityId": "3d52403a0780134a", "scanner": "scanner-primary", "fingerprint": "793cdfc2565833ff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-34dea5603ad0f22f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/VistaRow.tsx:111"}, "properties": {"repobilityId": "d607b607f17ac26c", "scanner": "scanner-primary", "fingerprint": "34dea5603ad0f22f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8531d803794b497c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerHeader.tsx:120"}, "properties": {"repobilityId": "a80b87fea5dd3950", "scanner": "scanner-primary", "fingerprint": "8531d803794b497c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f7af17fe2dae7b1b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/CanvasPanel.tsx:132"}, "properties": {"repobilityId": "7b3fdc00322db36d", "scanner": "scanner-primary", "fingerprint": "f7af17fe2dae7b1b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b5c411a3856c81df", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/NavSidebar.tsx:144"}, "properties": {"repobilityId": "eacfac6061033126", "scanner": "scanner-primary", "fingerprint": "b5c411a3856c81df", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-74cb5ead0203bea0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 studio/prototype-kit/composites/ComputerSidebar.tsx:310"}, "properties": {"repobilityId": "1953c2b84b738c5a", "scanner": "scanner-primary", "fingerprint": "74cb5ead0203bea0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-83f46cd26b0c522e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/cloudflare/bundler.test.ts:16"}, "properties": {"repobilityId": "360ae1ce4e30b02a", "scanner": "scanner-primary", "fingerprint": "83f46cd26b0c522e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ccd20703f38cbf6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 studio/__tests__/server/middleware/cloudflare.test.ts:10"}, "properties": {"repobilityId": "755f13f289dead05", "scanner": "scanner-primary", "fingerprint": "2ccd20703f38cbf6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-169f070306a36e9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/main.ts:34"}, "properties": {"repobilityId": "2d2efb6cb297cadd", "scanner": "scanner-primary", "fingerprint": "169f070306a36e9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba3c8ac2fe95c2e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/telemetry.ts:84"}, "properties": {"repobilityId": "7b38171202c16aa5", "scanner": "scanner-primary", "fingerprint": "ba3c8ac2fe95c2e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47daa9ca9e83b3cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/viteRunner.ts:41"}, "properties": {"repobilityId": "204da2d5d206f11b", "scanner": "scanner-primary", "fingerprint": "47daa9ca9e83b3cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c6af894e259956f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/updater.ts:29"}, "properties": {"repobilityId": "777b23d3f72468ef", "scanner": "scanner-primary", "fingerprint": "2c6af894e259956f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24a339cc4a2de3a5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in studio/worker/src/index.ts:415"}, "properties": {"repobilityId": "a65e8f05a51002d8", "scanner": "scanner-primary", "fingerprint": "24a339cc4a2de3a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/worker/src/index.ts"}, "region": {"startLine": 415}}}]}, {"ruleId": "scanner-7be66a4aafbd9017", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/figmaSystemIngest.ts:11"}, "properties": {"repobilityId": "910df140af619315", "scanner": "scanner-primary", "fingerprint": "7be66a4aafbd9017", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/figmaSystemIngest.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-3151f0df34775a2d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/awsPreflight.ts:1"}, "properties": {"repobilityId": "d4865fae406cde61", "scanner": "scanner-primary", "fingerprint": "3151f0df34775a2d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/awsPreflight.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd449e33e115f19a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/firstRun.ts:1"}, "properties": {"repobilityId": "d4870ce1cd011f72", "scanner": "scanner-primary", "fingerprint": "cd449e33e115f19a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/firstRun.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37900bfbf7fdb8f3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/figmaCli.ts:1"}, "properties": {"repobilityId": "830b0f1303d849b3", "scanner": "scanner-primary", "fingerprint": "37900bfbf7fdb8f3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/figmaCli.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a57942749d61975b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/claudeCode.ts:1"}, "properties": {"repobilityId": "b72eb50b1667a6c2", "scanner": "scanner-primary", "fingerprint": "a57942749d61975b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/claudeCode.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d24c00c60e35273d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/server/plugins/frameMountPlugin.ts:120"}, "properties": {"repobilityId": "1f96725e676ba9e6", "scanner": "scanner-primary", "fingerprint": "d24c00c60e35273d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/plugins/frameMountPlugin.ts"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-09f978ce707f5a8c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/figma/classifyComposites.ts:1"}, "properties": {"repobilityId": "766567d00161251a", "scanner": "scanner-primary", "fingerprint": "09f978ce707f5a8c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/figma/classifyComposites.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5f1b8ed1a739dc0d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/figma/systemSynth.ts:1"}, "properties": {"repobilityId": "159002af2adc4fab", "scanner": "scanner-primary", "fingerprint": "5f1b8ed1a739dc0d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/figma/systemSynth.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11d255384d8f7d64", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/relay/tunnel.ts:1"}, "properties": {"repobilityId": "40566bd5ae21947d", "scanner": "scanner-primary", "fingerprint": "11d255384d8f7d64", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/relay/tunnel.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a6290c25edae9eb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/server/middleware/awsLogin.ts:2"}, "properties": {"repobilityId": "af67cb420c003006", "scanner": "scanner-primary", "fingerprint": "1a6290c25edae9eb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/middleware/awsLogin.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-a9d299d97096cb65", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in studio/server/middleware/fonts.ts:36"}, "properties": {"repobilityId": "e392c2f74866bfb9", "scanner": "scanner-primary", "fingerprint": "a9d299d97096cb65", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/server/middleware/fonts.ts"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-457877a03b9176d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/export/serializeFrame.test.ts:10"}, "properties": {"repobilityId": "921a00fbc96da689", "scanner": "scanner-primary", "fingerprint": "457877a03b9176d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/export/serializeFrame.test.ts"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-de4ab1903c4c59ab", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in studio/__tests__/export/figma/buildExecuteScript.test.ts:163"}, "properties": {"repobilityId": "e52860132f96a642", "scanner": "scanner-primary", "fingerprint": "de4ab1903c4c59ab", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/export/figma/buildExecuteScript.test.ts"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-6d40f4667aec8bdf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/firstRun.test.ts:4"}, "properties": {"repobilityId": "2c5bf25a80b856a4", "scanner": "scanner-primary", "fingerprint": "6d40f4667aec8bdf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/server/firstRun.test.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-a2c7b5ec431a1514", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/awsPreflight.test.ts:4"}, "properties": {"repobilityId": "95892363ff935c28", "scanner": "scanner-primary", "fingerprint": "a2c7b5ec431a1514", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/server/awsPreflight.test.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-24bbf566872e1fb5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/figmaCli.test.ts:3"}, "properties": {"repobilityId": "d76597aea3860a46", "scanner": "scanner-primary", "fingerprint": "24bbf566872e1fb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/server/figmaCli.test.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-9ac76aed378dcea0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/hooks/validateArcadeImports.test.ts:291"}, "properties": {"repobilityId": "cc0a9122bd9cbff4", "scanner": "scanner-primary", "fingerprint": "9ac76aed378dcea0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/server/hooks/validateArcadeImports.test.ts"}, "region": {"startLine": 291}}}]}, {"ruleId": "scanner-cf0b4ec0a5e953cb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in studio/__tests__/server/relay/tunnel.test.ts:4"}, "properties": {"repobilityId": "e76745eee4cdd38e", "scanner": "scanner-primary", "fingerprint": "cf0b4ec0a5e953cb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/server/relay/tunnel.test.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-def8f560d3dd6d78", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/__tests__/lib/exportFrameToSlj.test.ts:20"}, "properties": {"repobilityId": "c17b92617a36ece7", "scanner": "scanner-primary", "fingerprint": "def8f560d3dd6d78", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/__tests__/lib/exportFrameToSlj.test.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-e8086568aee12d5c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/viteRunner.ts:1"}, "properties": {"repobilityId": "cf73916ea3db48c6", "scanner": "scanner-primary", "fingerprint": "e8086568aee12d5c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/viteRunner.ts"}, "region": {"startLine": 1}}}]}, {"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-8d2ef66f4ea86671", "level": "note", "message": {"text": "Very large file: studio/server/figma/kitEmit.ts (1185 lines)"}, "properties": {"repobilityId": "e810aab7d1d697cb", "scanner": "scanner-primary", "fingerprint": "8d2ef66f4ea86671", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3d307e68245f5878", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-c2f222e44b41d153", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: studio/prototype-kit/package.json"}, "properties": {"repobilityId": "241e6d9cdcbec300", "scanner": "scanner-primary", "fingerprint": "c2f222e44b41d153", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/prototype-kit/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7485b633d93e1393", "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": "6f06d510c42280b3", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "ad065d8eef71b4df", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "25a6e045d60d44e0", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "e634c52a9f296cfa", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "15d06e4061300134", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0208e1bcbd872b2f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: SKILL.md"}, "properties": {"repobilityId": "42134429a68f4dd4", "scanner": "scanner-primary", "fingerprint": "0208e1bcbd872b2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27f7c97c6dd833b3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: studio/CLAUDE.md"}, "properties": {"repobilityId": "64978a738809e751", "scanner": "scanner-primary", "fingerprint": "27f7c97c6dd833b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9db4bb7508279234", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/vite.config.ts:85"}, "properties": {"repobilityId": "833c3258f98aa94b", "scanner": "scanner-primary", "fingerprint": "9db4bb7508279234", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-360f3c97299299f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/worker/src/index.ts:57"}, "properties": {"repobilityId": "1b7a40d5ff9f0035", "scanner": "scanner-primary", "fingerprint": "360f3c97299299f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b789c81009abe6af", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/src/index.ts:48"}, "properties": {"repobilityId": "589954f01ce99132", "scanner": "scanner-primary", "fingerprint": "b789c81009abe6af", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-756c55240379a176", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/worker/__tests__/rendezvous.test.ts:64"}, "properties": {"repobilityId": "3f6a62904e2d21af", "scanner": "scanner-primary", "fingerprint": "756c55240379a176", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-351bd654704e1540", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/export/tokenIndex.ts:1"}, "properties": {"repobilityId": "e94dc1f38a939dcf", "scanner": "scanner-primary", "fingerprint": "351bd654704e1540", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fec0a3192172b922", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/export/figma/wrapFigmaExportPrompt.ts:7"}, "properties": {"repobilityId": "ce531c5e3a3a92d2", "scanner": "scanner-primary", "fingerprint": "fec0a3192172b922", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b10fd515b4a1ff30", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/src/export/figma/buildExecuteScript.ts:124"}, "properties": {"repobilityId": "357d8bd60f0bd616", "scanner": "scanner-primary", "fingerprint": "b10fd515b4a1ff30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e0d361db8807b3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/export/figma/iconEntries.ts:1"}, "properties": {"repobilityId": "2700649da4f7c44c", "scanner": "scanner-primary", "fingerprint": "4e0d361db8807b3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c2a97c380fd9549", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/export/figma/componentEntries.ts:189"}, "properties": {"repobilityId": "05192644e83446fa", "scanner": "scanner-primary", "fingerprint": "9c2a97c380fd9549", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f6f246fc0e3014f", "level": "none", "message": {"text": "Commented-code block (9 lines) in studio/src/export/figma/disambiguate.ts:4"}, "properties": {"repobilityId": "56a0c1f9c0d95f1a", "scanner": "scanner-primary", "fingerprint": "4f6f246fc0e3014f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14c8753da43d4b11", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/metrics.ts:9"}, "properties": {"repobilityId": "2986cf54bf03c3bf", "scanner": "scanner-primary", "fingerprint": "14c8753da43d4b11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-273f1ebf601fd02a", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/buildManifest.ts:41"}, "properties": {"repobilityId": "17fc681d98e0a12e", "scanner": "scanner-primary", "fingerprint": "273f1ebf601fd02a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd2a9e91d24f2e23", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/tokens.ts:5"}, "properties": {"repobilityId": "f9dc0378fb7d343a", "scanner": "scanner-primary", "fingerprint": "fd2a9e91d24f2e23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19a04465e6d43286", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/drift.ts:17"}, "properties": {"repobilityId": "396c92b09085de8d", "scanner": "scanner-primary", "fingerprint": "19a04465e6d43286", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d892a2ab4df85f1c", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/renderHarness.ts:162"}, "properties": {"repobilityId": "3ac3354b8fef878b", "scanner": "scanner-primary", "fingerprint": "d892a2ab4df85f1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab4cafa33605bed5", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/render.ts:106"}, "properties": {"repobilityId": "37d5d83886e59bf3", "scanner": "scanner-primary", "fingerprint": "ab4cafa33605bed5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d1d549b352014ef", "level": "none", "message": {"text": "Commented-code block (13 lines) in studio/src/lift/wrapPrompt.ts:8"}, "properties": {"repobilityId": "3356eeef0671faf9", "scanner": "scanner-primary", "fingerprint": "0d1d549b352014ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bc9c87f3ddfa7a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/detectShape.ts:36"}, "properties": {"repobilityId": "8d1cd882dd5077b2", "scanner": "scanner-primary", "fingerprint": "0bc9c87f3ddfa7a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48c76de2bffdc299", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/lift/icons.ts:7"}, "properties": {"repobilityId": "8dfce502b8dfebd6", "scanner": "scanner-primary", "fingerprint": "48c76de2bffdc299", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2de0eb3b1bcb3596", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/conventions.ts:3"}, "properties": {"repobilityId": "b6b826d86581f68f", "scanner": "scanner-primary", "fingerprint": "2de0eb3b1bcb3596", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43e2c44349155bce", "level": "none", "message": {"text": "Commented-code block (11 lines) in studio/src/lift/mappings/rawDs.ts:5"}, "properties": {"repobilityId": "53bd0d2ef2b592d3", "scanner": "scanner-primary", "fingerprint": "43e2c44349155bce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c99e8ab0ed5ea73", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lift/mappings/composites.ts:10"}, "properties": {"repobilityId": "72a7f96cd9c6f3af", "scanner": "scanner-primary", "fingerprint": "7c99e8ab0ed5ea73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b11063650d5ed44d", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/lift/mappings/primitives.ts:25"}, "properties": {"repobilityId": "0e05e6bbb271655f", "scanner": "scanner-primary", "fingerprint": "b11063650d5ed44d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0f14e47c3e2d137", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/hooks/useProjectFromMirror.ts:18"}, "properties": {"repobilityId": "03c580f96051db7d", "scanner": "scanner-primary", "fingerprint": "c0f14e47c3e2d137", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-288e82180c97b28c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useFrames.ts:32"}, "properties": {"repobilityId": "e298a3c8c90e2abe", "scanner": "scanner-primary", "fingerprint": "288e82180c97b28c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2ade244dd1459fad", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/hooks/useProjectFromHost.ts:58"}, "properties": {"repobilityId": "f5745ab75a9befe0", "scanner": "scanner-primary", "fingerprint": "2ade244dd1459fad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ad6c7cdaefa0b7a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/hooks/useProjectFromHost.ts:94"}, "properties": {"repobilityId": "d0bd8ff5a5963bcd", "scanner": "scanner-primary", "fingerprint": "5ad6c7cdaefa0b7a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5e9c4ef16533ac05", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/src/hooks/useChatStream.ts:173"}, "properties": {"repobilityId": "de356b78a517163d", "scanner": "scanner-primary", "fingerprint": "5e9c4ef16533ac05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab85f42c38b8281c", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/components/chat/PromptInput.tsx:299"}, "properties": {"repobilityId": "be4d06a3c207eef4", "scanner": "scanner-primary", "fingerprint": "ab85f42c38b8281c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcb7e318e56cfc8b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/chat/PromptInput.tsx:120"}, "properties": {"repobilityId": "6950fdf3219c3279", "scanner": "scanner-primary", "fingerprint": "fcb7e318e56cfc8b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d9f8e2c0bcb9710", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/components/chat/MessageList.tsx:243"}, "properties": {"repobilityId": "52f87eb89bb74ea6", "scanner": "scanner-primary", "fingerprint": "9d9f8e2c0bcb9710", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-286ab4f86c21351b", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/components/chat/MentionPopover.tsx:40"}, "properties": {"repobilityId": "af04f51b8f6f2763", "scanner": "scanner-primary", "fingerprint": "286ab4f86c21351b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b6c4aaf5fb44006", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/components/feedback/UpdateBanner.tsx:78"}, "properties": {"repobilityId": "ccd66abb2f281267", "scanner": "scanner-primary", "fingerprint": "7b6c4aaf5fb44006", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-278b0ef174c7bf04", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/components/home/HeroPromptInput.tsx:125"}, "properties": {"repobilityId": "97bc790b0a733396", "scanner": "scanner-primary", "fingerprint": "278b0ef174c7bf04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43bb7a6f46a63805", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/components/shell/ShareModal.tsx:160"}, "properties": {"repobilityId": "ffc162601c33004d", "scanner": "scanner-primary", "fingerprint": "43bb7a6f46a63805", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c7e79b128e7bbd1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/ShareModal.tsx:104"}, "properties": {"repobilityId": "3c1706af665afd86", "scanner": "scanner-primary", "fingerprint": "4c7e79b128e7bbd1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70f40048a00340a1", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/components/shell/AppSettingsModal.tsx:17"}, "properties": {"repobilityId": "4156561aff6b9709", "scanner": "scanner-primary", "fingerprint": "70f40048a00340a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f21733d46fa5033b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/shell/AppSettingsModal.tsx:170"}, "properties": {"repobilityId": "e2b522bf920cadf6", "scanner": "scanner-primary", "fingerprint": "f21733d46fa5033b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ca1bbd1e7d263cc0", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/components/viewport/ViewportPreview.tsx:108"}, "properties": {"repobilityId": "815b946d75acc2a7", "scanner": "scanner-primary", "fingerprint": "ca1bbd1e7d263cc0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97628f6d4074b313", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/components/viewport/Viewport.tsx:26"}, "properties": {"repobilityId": "9d38cc1529665148", "scanner": "scanner-primary", "fingerprint": "97628f6d4074b313", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b7ee83c060dc9a6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/components/viewport/Viewport.tsx:99"}, "properties": {"repobilityId": "d32cc12374d961cc", "scanner": "scanner-primary", "fingerprint": "6b7ee83c060dc9a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-58efb62cc9b7cfc5", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/lib/streamJson.ts:427"}, "properties": {"repobilityId": "5ccc2199d8418f87", "scanner": "scanner-primary", "fingerprint": "58efb62cc9b7cfc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2696e40731cc1dbe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/api.ts:14"}, "properties": {"repobilityId": "8fb161aae940535e", "scanner": "scanner-primary", "fingerprint": "2696e40731cc1dbe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cde346768c3e3342", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/vercel.ts:2"}, "properties": {"repobilityId": "2dfce0094bc2598a", "scanner": "scanner-primary", "fingerprint": "cde346768c3e3342", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-539b382015440bea", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/lib/exportFrameToSlj.ts:31"}, "properties": {"repobilityId": "ef1f8aa1f4a9b675", "scanner": "scanner-primary", "fingerprint": "539b382015440bea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd815a6521625d1d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/exportFrameToSlj.ts:120"}, "properties": {"repobilityId": "e56b56992f799f17", "scanner": "scanner-primary", "fingerprint": "cd815a6521625d1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e2edd4c4d0918c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/lib/devrev.ts:27"}, "properties": {"repobilityId": "99eab975f45868c4", "scanner": "scanner-primary", "fingerprint": "2e2edd4c4d0918c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-92666323c39529dd", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/lib/pendingPrompt.ts:3"}, "properties": {"repobilityId": "8f23be45fff28bd6", "scanner": "scanner-primary", "fingerprint": "92666323c39529dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-639f336d23791a53", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/lib/telemetry/renderer.ts:58"}, "properties": {"repobilityId": "9a7bb33baca23259", "scanner": "scanner-primary", "fingerprint": "639f336d23791a53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ad999d0c55f7e31", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/src/frame/FrameErrorBoundary.tsx:35"}, "properties": {"repobilityId": "5a3ee1a8452b95a4", "scanner": "scanner-primary", "fingerprint": "9ad999d0c55f7e31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69f9ba54870fa10c", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/src/routes/ProjectDetail.tsx:126"}, "properties": {"repobilityId": "5ffbf3a1d95b9a4c", "scanner": "scanner-primary", "fingerprint": "69f9ba54870fa10c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0055922d84718c97", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/src/routes/ProjectDetail.tsx:297"}, "properties": {"repobilityId": "7eee278e1310891a", "scanner": "scanner-primary", "fingerprint": "0055922d84718c97", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ac6df613214acb1", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/src/routes/HomePage.tsx:48"}, "properties": {"repobilityId": "5e50c64b86f78efd", "scanner": "scanner-primary", "fingerprint": "1ac6df613214acb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a7ce0a67d0de864", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/buildErrorReporter.ts:175"}, "properties": {"repobilityId": "a4ecde50d11d7b10", "scanner": "scanner-primary", "fingerprint": "9a7ce0a67d0de864", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-582e7eb81bc72671", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/projects.ts:286"}, "properties": {"repobilityId": "1dabc2a56ef50261", "scanner": "scanner-primary", "fingerprint": "582e7eb81bc72671", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-522f35fe36c5acc5", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/figmaIngest.ts:96"}, "properties": {"repobilityId": "758a15637308da42", "scanner": "scanner-primary", "fingerprint": "522f35fe36c5acc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afa296f47ea93bbd", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/figmaCli.ts:78"}, "properties": {"repobilityId": "514a9e9cfb21a0d6", "scanner": "scanner-primary", "fingerprint": "afa296f47ea93bbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-798258024c04b2a3", "level": "none", "message": {"text": "Commented-code block (12 lines) in studio/server/claudeCode.ts:11"}, "properties": {"repobilityId": "ea5bae599aa28d89", "scanner": "scanner-primary", "fingerprint": "798258024c04b2a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d147af3258acbaa0", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/server/plugins/frameMountPlugin.ts:113"}, "properties": {"repobilityId": "ac0e42b4b1f967a8", "scanner": "scanner-primary", "fingerprint": "d147af3258acbaa0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3341a5f8909bd03", "level": "none", "message": {"text": "Commented-code block (10 lines) in studio/server/plugins/projectWatchPlugin.ts:87"}, "properties": {"repobilityId": "a28eaeafe4179d1f", "scanner": "scanner-primary", "fingerprint": "f3341a5f8909bd03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-feef36e859372a53", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/figma/classifyComposites.ts:31"}, "properties": {"repobilityId": "f25aa0fe17166327", "scanner": "scanner-primary", "fingerprint": "feef36e859372a53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea224154878d8cb5", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/figma/compactTree.ts:8"}, "properties": {"repobilityId": "75c1917f622872ac", "scanner": "scanner-primary", "fingerprint": "ea224154878d8cb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b99e72a32231c6fb", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/figma/kitEmit.ts:288"}, "properties": {"repobilityId": "7af6c5a3ceb1bcc0", "scanner": "scanner-primary", "fingerprint": "b99e72a32231c6fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d72cfacd7076f747", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/server/figma/kitMappings.ts:38"}, "properties": {"repobilityId": "048a018474a8bc60", "scanner": "scanner-primary", "fingerprint": "d72cfacd7076f747", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a087914d1033cc00", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/figma/kitEmitBranch.ts:177"}, "properties": {"repobilityId": "c2eab27426da47cd", "scanner": "scanner-primary", "fingerprint": "a087914d1033cc00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c2076f54bd0435c", "level": "none", "message": {"text": "Commented-code block (11 lines) in studio/server/hooks/validateArcadeImports.mjs:77"}, "properties": {"repobilityId": "106a2b5ce6db7498", "scanner": "scanner-primary", "fingerprint": "0c2076f54bd0435c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7387b3f6e5747129", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/hooks/blockImageReshape.mjs:4"}, "properties": {"repobilityId": "fa227e5396b8ae1d", "scanner": "scanner-primary", "fingerprint": "7387b3f6e5747129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0964929ef96a36dd", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/relay/persistence.ts:41"}, "properties": {"repobilityId": "220f13a7d6aa2e9a", "scanner": "scanner-primary", "fingerprint": "0964929ef96a36dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f6185291b2c4c08", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/relay/tunnel.ts:27"}, "properties": {"repobilityId": "1497543af4c40023", "scanner": "scanner-primary", "fingerprint": "7f6185291b2c4c08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b24ba59b25e65272", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/server/figmaBridge/wsServer.ts:17"}, "properties": {"repobilityId": "6991f2e55ec245ee", "scanner": "scanner-primary", "fingerprint": "b24ba59b25e65272", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc3f3cefaf3d6be9", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/cloudflare/deploy.ts:23"}, "properties": {"repobilityId": "2b898bd529832716", "scanner": "scanner-primary", "fingerprint": "fc3f3cefaf3d6be9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29655771e9ebc6c6", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/server/cloudflare/bundler.ts:10"}, "properties": {"repobilityId": "7757593b5c37d1da", "scanner": "scanner-primary", "fingerprint": "29655771e9ebc6c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6a833c185012984", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/cloudflare/bundler.ts:96"}, "properties": {"repobilityId": "914e7ffeeede00f9", "scanner": "scanner-primary", "fingerprint": "c6a833c185012984", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e90ce1ad082f445b", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/server/devrev/dm.ts:73"}, "properties": {"repobilityId": "90fa99b59de74693", "scanner": "scanner-primary", "fingerprint": "e90ce1ad082f445b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9943c32ce666a681", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/dm.ts:32"}, "properties": {"repobilityId": "11d23de0bba8d778", "scanner": "scanner-primary", "fingerprint": "9943c32ce666a681", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0f5fcc6df00fa21d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/devUsers.ts:55"}, "properties": {"repobilityId": "aab76a0814daa8f3", "scanner": "scanner-primary", "fingerprint": "0f5fcc6df00fa21d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9dad5005a7de4f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/devrev/scaffoldHelper.ts:85"}, "properties": {"repobilityId": "9189e6a8118d8a5f", "scanner": "scanner-primary", "fingerprint": "b9dad5005a7de4f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e1412981ec1618e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/multiplayerInvite.ts:90"}, "properties": {"repobilityId": "0c64d863cddae3a6", "scanner": "scanner-primary", "fingerprint": "e1412981ec1618e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fffead4a707709de", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/chat.ts:52"}, "properties": {"repobilityId": "b3d0ff3c72343457", "scanner": "scanner-primary", "fingerprint": "fffead4a707709de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fde863952cb13db", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/uploads.ts:20"}, "properties": {"repobilityId": "57ee735a5e058c8a", "scanner": "scanner-primary", "fingerprint": "3fde863952cb13db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-516c56052d3e2a00", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/projects.ts:7"}, "properties": {"repobilityId": "131e15b28ba1798f", "scanner": "scanner-primary", "fingerprint": "516c56052d3e2a00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83dcff5eb5f6ecf7", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/cloudflare.ts:93"}, "properties": {"repobilityId": "4428f4576695a753", "scanner": "scanner-primary", "fingerprint": "83dcff5eb5f6ecf7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5e3719577385af2", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/server/middleware/awsLogin.ts:37"}, "properties": {"repobilityId": "02ebaaee96cd7f76", "scanner": "scanner-primary", "fingerprint": "d5e3719577385af2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b69c1cbb943d55e2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/server/middleware/devrev.ts:40"}, "properties": {"repobilityId": "e0a61d2b85788abf", "scanner": "scanner-primary", "fingerprint": "b69c1cbb943d55e2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d0ecbff2ee6374f", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/server/middleware/version.ts:11"}, "properties": {"repobilityId": "645ea06e8207097c", "scanner": "scanner-primary", "fingerprint": "6d0ecbff2ee6374f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee7fb8cf7252d7d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/prototype-kit/arcade-components.tsx:23"}, "properties": {"repobilityId": "115ebf4f8e88f539", "scanner": "scanner-primary", "fingerprint": "ee7fb8cf7252d7d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c9a1f87eeaa2c46", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/export/figma/buildExecuteScript.test.ts:89"}, "properties": {"repobilityId": "632eb07f732a5703", "scanner": "scanner-primary", "fingerprint": "8c9a1f87eeaa2c46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab6dcf884382f6a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/conventions.test.ts:89"}, "properties": {"repobilityId": "0ccc7dac84083340", "scanner": "scanner-primary", "fingerprint": "ab6dcf884382f6a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e15bde6029eb667", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/mappingCoverage.test.ts:71"}, "properties": {"repobilityId": "b110b1cb9e5c6c5d", "scanner": "scanner-primary", "fingerprint": "5e15bde6029eb667", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d679bc06b117385", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/wrapPrompt.test.ts:61"}, "properties": {"repobilityId": "e924887f0bdc5527", "scanner": "scanner-primary", "fingerprint": "9d679bc06b117385", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e27acf740d98b6b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/priorArt.test.ts:3"}, "properties": {"repobilityId": "18af6576b33840f8", "scanner": "scanner-primary", "fingerprint": "e27acf740d98b6b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecde1d64a802da53", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/propCoverage.test.ts:3"}, "properties": {"repobilityId": "3350b1a1c1541896", "scanner": "scanner-primary", "fingerprint": "ecde1d64a802da53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ed1ea48dc1bb425", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/parseImports.test.ts:14"}, "properties": {"repobilityId": "7206930c39b03577", "scanner": "scanner-primary", "fingerprint": "5ed1ea48dc1bb425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d443a6401cc2d42b", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/__tests__/lift/drift.test.ts:83"}, "properties": {"repobilityId": "7b66cb85e73a5c9a", "scanner": "scanner-primary", "fingerprint": "d443a6401cc2d42b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b91abc15b5179e7", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/metrics.test.ts:30"}, "properties": {"repobilityId": "8b2b7d358cc8df4f", "scanner": "scanner-primary", "fingerprint": "1b91abc15b5179e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b251cd7377317a85", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/tabsOnValueChange.test.ts:3"}, "properties": {"repobilityId": "6acd07aa54bd8e7a", "scanner": "scanner-primary", "fingerprint": "b251cd7377317a85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7ed9deea14c2547", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/lift/liftMiddleware.test.ts:46"}, "properties": {"repobilityId": "6ea74440e3a0b977", "scanner": "scanner-primary", "fingerprint": "f7ed9deea14c2547", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5fc2bcbc9080a3b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/renderXml.snapshot.test.ts:40"}, "properties": {"repobilityId": "817e5f544ea1c77c", "scanner": "scanner-primary", "fingerprint": "5fc2bcbc9080a3b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7052a7506f17650f", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/__tests__/lift/tokens.test.ts:5"}, "properties": {"repobilityId": "2cb2d76788ba6022", "scanner": "scanner-primary", "fingerprint": "7052a7506f17650f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95789b5b4fb2db40", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/lift/icons.test.ts:3"}, "properties": {"repobilityId": "16947db30c0161df", "scanner": "scanner-primary", "fingerprint": "95789b5b4fb2db40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b635d8a765d2423", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/lift/liftLoop.test.ts:8"}, "properties": {"repobilityId": "f07a3da3ac54cf5f", "scanner": "scanner-primary", "fingerprint": "9b635d8a765d2423", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e13a04d6a24b0de", "level": "none", "message": {"text": "Commented-code block (11 lines) in studio/__tests__/hooks/useChatStream-idle-race.test.ts:6"}, "properties": {"repobilityId": "22803276d5625930", "scanner": "scanner-primary", "fingerprint": "2e13a04d6a24b0de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37fa849fdb9fe668", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/templates/claude-md-token-guidance.test.ts:6"}, "properties": {"repobilityId": "a87537cad9068dfb", "scanner": "scanner-primary", "fingerprint": "37fa849fdb9fe668", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fece2a941980f573", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/server/claudeCode.test.ts:63"}, "properties": {"repobilityId": "3620eff25037e5ea", "scanner": "scanner-primary", "fingerprint": "fece2a941980f573", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3954cd43825a7ea1", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/server/buildErrorReporter.test.ts:156"}, "properties": {"repobilityId": "9837876652a23dcb", "scanner": "scanner-primary", "fingerprint": "3954cd43825a7ea1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abb180d79b6e143c", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/__tests__/server/project-watch-full-reload-scope.test.ts:1"}, "properties": {"repobilityId": "f922dccd8a005338", "scanner": "scanner-primary", "fingerprint": "abb180d79b6e143c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a19a27604506cb8", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/server/figmaCli.test.ts:51"}, "properties": {"repobilityId": "0b759f535e6ea048", "scanner": "scanner-primary", "fingerprint": "2a19a27604506cb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c17b066b2a3dc039", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/plugins/frameMountPlugin.test.ts:136"}, "properties": {"repobilityId": "d26044680bd7cf47", "scanner": "scanner-primary", "fingerprint": "c17b066b2a3dc039", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f932670c6ceaf71", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/plugins/frameMountPlugin.test.ts:63"}, "properties": {"repobilityId": "1563cd5990716d6a", "scanner": "scanner-primary", "fingerprint": "6f932670c6ceaf71", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-732511fe8f7c0373", "level": "note", "message": {"text": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmit.test.ts:208"}, "properties": {"repobilityId": "458d2b3fc0108781", "scanner": "scanner-primary", "fingerprint": "732511fe8f7c0373", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c64e1e77cb3cfe5", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/figma/kitEmit.test.ts:363"}, "properties": {"repobilityId": "4ffc4e4dedfc6b27", "scanner": "scanner-primary", "fingerprint": "0c64e1e77cb3cfe5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5ef4d5492c8fa77", "level": "note", "message": {"text": "Legacy-named symbol `a_v1` in studio/__tests__/server/figma/kitEmitBranch.test.ts:122"}, "properties": {"repobilityId": "67a585940f9e7475", "scanner": "scanner-primary", "fingerprint": "b5ef4d5492c8fa77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9d689265c2b12b21", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/figma/resolveTokens.test.ts:55"}, "properties": {"repobilityId": "426438b7d960baea", "scanner": "scanner-primary", "fingerprint": "9d689265c2b12b21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0437961e8757a96b", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/__tests__/server/hooks/validateArcadeImports.test.ts:131"}, "properties": {"repobilityId": "f21f92da2f925e6f", "scanner": "scanner-primary", "fingerprint": "0437961e8757a96b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da8518ee00d9f7f6", "level": "none", "message": {"text": "Commented-code block (9 lines) in studio/__tests__/server/cloudflare/bundler.test.ts:25"}, "properties": {"repobilityId": "12659a38dcc302d1", "scanner": "scanner-primary", "fingerprint": "da8518ee00d9f7f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae6b6aefb2e6fb6f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/dev.test.ts:27"}, "properties": {"repobilityId": "be592617f4ee4e93", "scanner": "scanner-primary", "fingerprint": "ae6b6aefb2e6fb6f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42770dfa03183976", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma.test.ts:32"}, "properties": {"repobilityId": "6dc6ecaedc700905", "scanner": "scanner-primary", "fingerprint": "42770dfa03183976", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f039b4fe252e8a11", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-no-changes.test.ts:15"}, "properties": {"repobilityId": "9d79f96700e9cdbb", "scanner": "scanner-primary", "fingerprint": "f039b4fe252e8a11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63fac73b0a6598a6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-no-changes.test.ts:52"}, "properties": {"repobilityId": "39447392e9f1e2a1", "scanner": "scanner-primary", "fingerprint": "63fac73b0a6598a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eaa17a983e348545", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat.test.ts:42"}, "properties": {"repobilityId": "a4b2669c8def8f93", "scanner": "scanner-primary", "fingerprint": "eaa17a983e348545", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-227af571a9f5012e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/frames.test.ts:43"}, "properties": {"repobilityId": "338a3eb2fd5bb648", "scanner": "scanner-primary", "fingerprint": "227af571a9f5012e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3b2d50eb750ce08", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chime-ins-routes.test.ts:26"}, "properties": {"repobilityId": "b9274b7f1b4b5df6", "scanner": "scanner-primary", "fingerprint": "c3b2d50eb750ce08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e7ad6fc0a8d673c", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/chat-figma-seeder.test.ts:115"}, "properties": {"repobilityId": "54f6ac7d1a7f3859", "scanner": "scanner-primary", "fingerprint": "8e7ad6fc0a8d673c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f846f92b89029f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/projects.test.ts:25"}, "properties": {"repobilityId": "a98e42e7d1ec2fd1", "scanner": "scanner-primary", "fingerprint": "2f846f92b89029f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-62e4e3e8f0a08430", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/awsStatus.test.ts:37"}, "properties": {"repobilityId": "aff57508e5271424", "scanner": "scanner-primary", "fingerprint": "62e4e3e8f0a08430", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c2aa10683fa5e97", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/awsStatus.test.ts:24"}, "properties": {"repobilityId": "2195198e95352aea", "scanner": "scanner-primary", "fingerprint": "3c2aa10683fa5e97", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1fd8a93d2259d2d7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-deviations.test.ts:44"}, "properties": {"repobilityId": "5a169dee9aefeec4", "scanner": "scanner-primary", "fingerprint": "1fd8a93d2259d2d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6bddb9996492ad76", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/server/middleware/chat-figma-context.test.ts:5"}, "properties": {"repobilityId": "33ef88417f998c3a", "scanner": "scanner-primary", "fingerprint": "6bddb9996492ad76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3196579220ca333", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/chat-figma-context.test.ts:67"}, "properties": {"repobilityId": "2a058363718efdad", "scanner": "scanner-primary", "fingerprint": "f3196579220ca333", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3ce18f438282ac85", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/server/middleware/projectSharing.test.ts:137"}, "properties": {"repobilityId": "b938da9d879d7129", "scanner": "scanner-primary", "fingerprint": "3ce18f438282ac85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43ea7129401ed236", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/preflight.test.ts:34"}, "properties": {"repobilityId": "560ffdfd33662d7b", "scanner": "scanner-primary", "fingerprint": "43ea7129401ed236", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c2d79e58259e8bd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/export.test.ts:37"}, "properties": {"repobilityId": "436d52a19ca8cb4b", "scanner": "scanner-primary", "fingerprint": "9c2d79e58259e8bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-873d832d0664ab5f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/uploads.test.ts:38"}, "properties": {"repobilityId": "733a7fb28b0f8f8b", "scanner": "scanner-primary", "fingerprint": "873d832d0664ab5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6bc309d7382c8614", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 studio/__tests__/server/middleware/figma-ingest.test.ts:33"}, "properties": {"repobilityId": "e431960405f7b162", "scanner": "scanner-primary", "fingerprint": "6bc309d7382c8614", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d4a91d12e0716f45", "level": "none", "message": {"text": "Commented-code block (6 lines) in studio/__tests__/components/no-frame-changes-banner.test.tsx:3"}, "properties": {"repobilityId": "9e8def758ec31f7b", "scanner": "scanner-primary", "fingerprint": "d4a91d12e0716f45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-712493b298082688", "level": "none", "message": {"text": "Commented-code block (5 lines) in studio/__tests__/components/messageList-journey.test.tsx:3"}, "properties": {"repobilityId": "21151cba48b1698e", "scanner": "scanner-primary", "fingerprint": "712493b298082688", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d00bd6a665211c7", "level": "none", "message": {"text": "Commented-code block (7 lines) in studio/__tests__/components/chat/chat-pane-hero-handoff.test.tsx:3"}, "properties": {"repobilityId": "ba23a444617a2018", "scanner": "scanner-primary", "fingerprint": "3d00bd6a665211c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdd2492572313e57", "level": "none", "message": {"text": "Commented-code block (8 lines) in studio/__tests__/prototype-kit/arcade-components-shim.test.tsx:6"}, "properties": {"repobilityId": "65ec0da5bdaa26d8", "scanner": "scanner-primary", "fingerprint": "fdd2492572313e57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36582ae79562d9ed", "level": "none", "message": {"text": "Commented-code block (12 lines) in studio/__tests__/routes/project-detail-hero-handoff.test.tsx:3"}, "properties": {"repobilityId": "51ce461dde1bbba7", "scanner": "scanner-primary", "fingerprint": "36582ae79562d9ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dab2b1f48c89e90", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/viteRunner.ts:28"}, "properties": {"repobilityId": "0ee1c23de2bbe041", "scanner": "scanner-primary", "fingerprint": "1dab2b1f48c89e90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}