{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cc5628475ed4528", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/Dropdown.tsx:136", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/Dropdown.tsx:136"}, "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-dc14f34a2a5e84b8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/sessions/components/Card.tsx:184", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/sessions/components/Card.tsx:184"}, "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-39b4783877928a07", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/AgentStatusCard.tsx:137", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/AgentStatusCard.tsx:137"}, "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-83b8a7779a79dc69", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/DockTab.tsx:215", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/DockTab.tsx:215"}, "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-f7566b9d01c71b3d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/SidebarSettingsFooter.tsx:47", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/SidebarSettingsFooter.tsx:47"}, "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-9c165230501a3552", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/panels/FileExplorer.tsx:316", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/panels/FileExplorer.tsx:316"}, "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-ba8b647e6bb0003b", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/files/components/FileTreeNode.tsx:150", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/files/components/FileTreeNode.tsx:150"}, "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-a5f4bf1dc3fd09af", "name": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/index.tsx:180", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/index.tsx:180"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36184b227fdc25d0", "name": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/Body.tsx:977", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/Body.tsx:977"}, "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-c44497e45ad35273", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Footer.tsx:56", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Footer.tsx:56"}, "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-0be0a2cd0cc359d9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Header.tsx:92", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Header.tsx:92"}, "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-02687383441ed81b", "name": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/hooks/useTerminal.test.ts:98", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/hooks/useTerminal.test.ts:98"}, "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-e0e278aa4fec0a25", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/features/editor/components/MarkdownReadingView.tsx:83", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/features/editor/components/MarkdownReadingView.tsx:83"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b6dd007dd386936f", "name": "Stray `console.log` in TS/JS \u2014 src/features/diff/demo/InlineCommentDemo.tsx:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/features/diff/demo/InlineCommentDemo.tsx:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d0ffa3356b46560", "name": "Stray `console.log` in TS/JS \u2014 src/features/diff/types/index.test.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/features/diff/types/index.test.ts:61"}, "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-2207c634db27b2c1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/ChangedFilesList.tsx:93", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/ChangedFilesList.tsx:93"}, "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-b9a71c98688c0cbc", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/toolbar/FilePill.tsx:82", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/toolbar/FilePill.tsx:82"}, "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-b4fa956bc4ac4159", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/ToolCallSummary.tsx:26", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/ToolCallSummary.tsx:26"}, "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-0f206415409d73a6", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/StatusCard.tsx:106", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/StatusCard.tsx:106"}, "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-0e376c3f64226522", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/TestResults.tsx:214", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/TestResults.tsx:214"}, "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-8bfd3ad3bdd894f5", "name": "TODO/FIXME marker in shipping code \u2014 src/features/agent-status/components/LiquidFill.test.tsx:314", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/agent-status/components/LiquidFill.test.tsx:314"}, "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-a7bb764751aeec0c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/FilesChanged.tsx:103", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/FilesChanged.tsx:103"}, "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-d5cd3a5dc68cb8c0", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/LiveActionCard.tsx:78", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/LiveActionCard.tsx:78"}, "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-b4f9d7bbb3914970", "name": "`truncate` class without `title=` for hover reveal \u2014 src/features/browser/components/BrowserAddressBar.tsx:118", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/browser/components/BrowserAddressBar.tsx:118"}, "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-0d4e1f043cac75a1", "name": "Insecure pattern 'node_child_process' in electron/sidecar.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/sidecar.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-9da2d194dbd62459", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar Update.html:548", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar Update.html:548"}, "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-5ee32dc490f495fa", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar.html:376", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar.html:376"}, "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-403aa07cc07a30a0", "name": "Insecure pattern 'dangerous_innerhtml' in docs/explorations/markdown-reader-editor.html:822", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/explorations/markdown-reader-editor.html:822"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-943969fbad4e9b5f", "name": "Insecure pattern 'node_child_process' in scripts/generate-bindings-if-missing.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/generate-bindings-if-missing.mjs:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96113eddebe8fb7d", "name": "Insecure pattern 'node_child_process' in scripts/package-electron.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/package-electron.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c1508e5082feb2c", "name": "Insecure pattern 'node_child_process' in scripts/qa-runner/run.mjs:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/run.mjs:19"}, "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-44cd2804bdc69ad5", "name": "Insecure pattern 'node_child_process' in scripts/qa-runner/watch.mjs:23", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/watch.mjs:23"}, "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-59deb52ea3025e99", "name": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/worker-instance.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/worker-instance.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f023dc8e2d3b64c9", "name": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-pr-link.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-pr-link.mjs:5"}, "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-777ac2ea7f8d74c8", "name": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-client.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-client.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9988f064dd08ed9c", "name": "Insecure pattern 'local_storage_auth_token' in src/features/sessions/utils/activityPanelCollapsedStore.test.ts:41", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/features/sessions/utils/activityPanelCollapsedStore.test.ts:41"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-88ec5fdc80834f68", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/features/command-palette/hooks/useCommandPalette.test.ts:19", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/features/command-palette/hooks/useCommandPalette.test.ts:19"}, "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-6c78a2ad41ed71ff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65c9bd56493a81d3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a2678aff39d780d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-063997d8d14f8d5c", "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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-645355a25a74cd32", "name": "Very large file: electron/browser-pane.ts (2763 lines)", "shortDescription": {"text": "Very large file: electron/browser-pane.ts (2763 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-ea8f3110d504d0fa", "name": "Very large file: electron/browser-pane.test.ts (2337 lines)", "shortDescription": {"text": "Very large file: electron/browser-pane.test.ts (2337 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-741db0ab034da1fc", "name": "Very large file: crates/backend/src/agent/adapter/base/watcher_runtime.rs (1677 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/agent/adapter/base/watcher_runtime.rs (1677 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-e19bedc3e8e6cc9d", "name": "Very large file: crates/backend/src/agent/adapter/codex/locator.rs (1663 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/agent/adapter/codex/locator.rs (1663 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-6dfb4a4f8ef9b529", "name": "Very large file: crates/backend/src/agent/adapter/codex/transcript.rs (1888 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/agent/adapter/codex/transcript.rs (1888 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-0842189258acd555", "name": "Very large file: crates/backend/src/agent/adapter/claude_code/transcript.rs (1830 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/agent/adapter/claude_code/transcript.rs (1830 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-1442304f9227286f", "name": "Very large file: crates/backend/src/git/watcher.rs (2359 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/git/watcher.rs (2359 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-96ab48259d71833b", "name": "Very large file: crates/backend/src/git/mod.rs (3380 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/git/mod.rs (3380 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-2df78a3ee44fc8aa", "name": "Very large file: crates/backend/src/terminal/commands.rs (3981 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/terminal/commands.rs (3981 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-21d1dfa720372628", "name": "Very large file: crates/backend/src/terminal/workspace_layout.rs (1233 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/terminal/workspace_layout.rs (1233 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-757267ba1655d350", "name": "Very large file: crates/backend/src/runtime/ipc.rs (2395 lines)", "shortDescription": {"text": "Very large file: crates/backend/src/runtime/ipc.rs (2395 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-7956c25626e72e3c", "name": "Very large file: src/features/sessions/hooks/useSessionManager.ts (1986 lines)", "shortDescription": {"text": "Very large file: src/features/sessions/hooks/useSessionManager.ts (1986 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-29aeff4097229fe8", "name": "Very large file: src/features/sessions/hooks/useSessionManager.test.ts (5476 lines)", "shortDescription": {"text": "Very large file: src/features/sessions/hooks/useSessionManager.test.ts (5476 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-6a842f0191b12644", "name": "Very large file: src/features/workspace/WorkspaceView.tsx (2453 lines)", "shortDescription": {"text": "Very large file: src/features/workspace/WorkspaceView.tsx (2453 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-94a48518fa8ac915", "name": "Very large file: src/features/workspace/WorkspaceView.test.tsx (2296 lines)", "shortDescription": {"text": "Very large file: src/features/workspace/WorkspaceView.test.tsx (2296 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-f7dfc4d5d6baefed", "name": "Very large file: src/features/terminal/components/TerminalPane/Body.test.tsx (2326 lines)", "shortDescription": {"text": "Very large file: src/features/terminal/components/TerminalPane/Body.test.tsx (2326 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-404f95404046845b", "name": "Very large file: src/features/diff/components/DiffPanelContent.test.tsx (2506 lines)", "shortDescription": {"text": "Very large file: src/features/diff/components/DiffPanelContent.test.tsx (2506 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-4c0ab5490a28a66d", "name": "Very large file: src/features/diff/components/DiffPanelContent.tsx (1458 lines)", "shortDescription": {"text": "Very large file: src/features/diff/components/DiffPanelContent.tsx (1458 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-ecf0185a7196f8d4", "name": "Very large file: src/features/agent-status/hooks/useAgentStatus.test.ts (2086 lines)", "shortDescription": {"text": "Very large file: src/features/agent-status/hooks/useAgentStatus.test.ts (2086 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 6 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 108 placeholder/mock markers across 44 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ebddb11cde2aac2", "name": "Agent authority lacks a verifier contract: .claude_settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude_settings.json"}, "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-2eb3ee0d2b5580d3", "name": "Agent authority lacks a verifier contract: docs/design/CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/design/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-cc286eb75b901795", "name": "Agent instruction/config may expose a secret: .claude/skills/native-feel-cross-platform-desktop/references/03-webview-su", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/native-feel-cross-platform-desktop/references/03-webview-survival.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb587913cdd3e0a5", "name": "Legacy-named symbol `candidate_old` in vite.config.ts:110", "shortDescription": {"text": "Legacy-named symbol `candidate_old` in vite.config.ts:110"}, "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-ed16e71b72294f61", "name": "Commented-code block (6 lines) in vite.config.ts:638", "shortDescription": {"text": "Commented-code block (6 lines) in vite.config.ts:638"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-832001c5b1b5ee1b", "name": "Commented-code block (7 lines) in tailwind.config.js:40", "shortDescription": {"text": "Commented-code block (7 lines) in tailwind.config.js: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-3538d8153b1a8a47", "name": "Commented-code block (7 lines) in eslint.config.js:34", "shortDescription": {"text": "Commented-code block (7 lines) in eslint.config.js:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-922fd25c8e4c77bb", "name": "Commented-code block (6 lines) in electron/command-palette-shortcut.test.ts:224", "shortDescription": {"text": "Commented-code block (6 lines) in electron/command-palette-shortcut.test.ts:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52b8ee32621f464e", "name": "Commented-code block (7 lines) in electron/browser-pane.ts:1365", "shortDescription": {"text": "Commented-code block (7 lines) in electron/browser-pane.ts:1365"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae2a34bf2952f290", "name": "Commented-code block (7 lines) in electron/navigation-guard.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in electron/navigation-guard.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-492230844150dace", "name": "Commented-code block (8 lines) in electron/workspace-layout-writer.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in electron/workspace-layout-writer.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-8af6f0adbc0156ef", "name": "Commented-code block (7 lines) in electron/main.ts:31", "shortDescription": {"text": "Commented-code block (7 lines) in electron/main.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-f65510dc494b4993", "name": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:155", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:155"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8ac0c99a1313eefd", "name": "Commented-code block (8 lines) in electron/workspace-teardown.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in electron/workspace-teardown.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-bb098591aa5569d9", "name": "Commented-code block (6 lines) in electron/workspace-layout-types.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in electron/workspace-layout-types.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-6f92cfca0bdcdb51", "name": "Commented-code block (7 lines) in electron/csp.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in electron/csp.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-c6ffd648c42e746f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 electron/browser-pane.test.ts:1952", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/browser-pane.test.ts:1952"}, "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-57f85b95127960fd", "name": "Commented-code block (5 lines) in electron/workspace-layout-controller.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in electron/workspace-layout-controller.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-c1ac814ffb1d8ceb", "name": "Commented-code block (6 lines) in tests/e2e/shared/electron-app.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/shared/electron-app.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-b444268e17021204", "name": "Commented-code block (8 lines) in tests/e2e/shared/terminal.ts:74", "shortDescription": {"text": "Commented-code block (8 lines) in tests/e2e/shared/terminal.ts:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8dc0860f98543539", "name": "Commented-code block (6 lines) in tests/e2e/agent/specs/agent-detect-fake.spec.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/agent/specs/agent-detect-fake.spec.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-f90865c78edc65f0", "name": "Commented-code block (5 lines) in tests/e2e/terminal/specs/pty-spawn.spec.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/terminal/specs/pty-spawn.spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-107e50e4e458483b", "name": "Commented-code block (7 lines) in tests/e2e/terminal/specs/multi-tab-isolation.spec.ts:48", "shortDescription": {"text": "Commented-code block (7 lines) in tests/e2e/terminal/specs/multi-tab-isolation.spec.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac249d97d92a01c3", "name": "Commented-code block (6 lines) in tests/e2e/terminal/specs/terminal-resize.spec.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/terminal/specs/terminal-resize.spec.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-ea01ee90d2e7bb34", "name": "Commented-code block (5 lines) in tests/e2e/core/wdio.conf.ts:39", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/core/wdio.conf.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-937675ec8b4f8329", "name": "Commented-code block (5 lines) in tests/e2e/core/specs/ipc-roundtrip.spec.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/core/specs/ipc-roundtrip.spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aac802da72978a1a", "name": "Commented-code block (5 lines) in tests/e2e/core/specs/files-to-editor.spec.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/core/specs/files-to-editor.spec.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de92d22398faeaeb", "name": "Legacy-named symbol `content_copy` in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx:162", "shortDescription": {"text": "Legacy-named symbol `content_copy` in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx:162"}, "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-aaf41bc055a9f527", "name": "Commented-code block (5 lines) in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx: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-1b8d9b69c249fee8", "name": "Commented-code block (6 lines) in docs/design/archive/git-chip/prototype/src/splitview.jsx:917", "shortDescription": {"text": "Commented-code block (6 lines) in docs/design/archive/git-chip/prototype/src/splitview.jsx:917"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c3aff2f32e5f09a", "name": "Commented-code block (5 lines) in scripts/generate-theme-css.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/generate-theme-css.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-4599ac3d625e21ab", "name": "Commented-code block (5 lines) in scripts/qa-runner/run.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/qa-runner/run.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-555a246ba7337973", "name": "Commented-code block (10 lines) in scripts/qa-runner/watch.mjs:4", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/qa-runner/watch.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-40c4a020e4203044", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/qa-runner/lib/linear-client.mjs:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/qa-runner/lib/linear-client.mjs:31"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da5b0c44aa9a7827", "name": "Legacy-named symbol `content_copy` in src/components/Menu.test.tsx:172", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/components/Menu.test.tsx:172"}, "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-4b858cd636c6bfe9", "name": "Commented-code block (5 lines) in src/components/Dropdown.tsx:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/Dropdown.tsx: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-e8ccc8d0f94cefcd", "name": "Commented-code block (5 lines) in src/components/Menu.tsx:126", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/Menu.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-a6f6cebfafca5c69", "name": "Commented-code block (5 lines) in src/components/base/floating/list.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/base/floating/list.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-1dec56f7ffdd98d5", "name": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.test.tsx:84", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.test.tsx:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee1c640dcba37e0e", "name": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.tsx:62", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.tsx:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4e66cefc18c5ddb", "name": "Commented-code block (7 lines) in src/lib/formatShortcut.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/formatShortcut.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-d589dc2154949f7d", "name": "Commented-code block (7 lines) in src/lib/e2e-bridge.ts:58", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/e2e-bridge.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-403599f1e40d7e5f", "name": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.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-31004340e9a76897", "name": "Commented-code block (5 lines) in src/features/sessions/utils/activityPanelCollapsedStore.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/utils/activityPanelCollapsedStore.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-876fbbdbc78c9e29", "name": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.test.ts:298", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.test.ts:298"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f76c4063c8df44e3", "name": "Commented-code block (5 lines) in src/features/sessions/components/Tabs.test.tsx:220", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Tabs.test.tsx:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0dcf51143084245", "name": "Commented-code block (5 lines) in src/features/sessions/components/Group.tsx:54", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Group.tsx:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-359d5698971f3ae3", "name": "Commented-code block (11 lines) in src/features/sessions/components/Tabs.tsx:43", "shortDescription": {"text": "Commented-code block (11 lines) in src/features/sessions/components/Tabs.tsx:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77807be1b0dea017", "name": "Commented-code block (5 lines) in src/features/sessions/components/Group.test.tsx:119", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Group.test.tsx:119"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd10d2ac5d41d329", "name": "Commented-code block (9 lines) in src/features/sessions/components/List.tsx:49", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/sessions/components/List.tsx:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c0e84d372248bd2", "name": "Commented-code block (5 lines) in src/features/sessions/components/Card.tsx:188", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Card.tsx:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ead126fd4438021", "name": "Commented-code block (6 lines) in src/features/sessions/components/Tab.test.tsx:170", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/sessions/components/Tab.test.tsx:170"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-727d4fbdb7a47584", "name": "Commented-code block (5 lines) in src/features/sessions/components/List.test.tsx:267", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/components/List.test.tsx:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84d7573168d93e3b", "name": "Commented-code block (12 lines) in src/features/sessions/hooks/usePushWorkspaceGrouping.ts:1", "shortDescription": {"text": "Commented-code block (12 lines) in src/features/sessions/hooks/usePushWorkspaceGrouping.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-2aaf3d9199fe3419", "name": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionRestore.test.ts:123", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionRestore.test.ts:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf81a13ae93e81fb", "name": "Commented-code block (5 lines) in src/features/sessions/hooks/useSessionRestore.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/sessions/hooks/useSessionRestore.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-5f6a9acb0fdc1672", "name": "Commented-code block (9 lines) in src/features/sessions/hooks/useRenameState.test.ts:194", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/sessions/hooks/useRenameState.test.ts:194"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a15863a1508198a7", "name": "Commented-code block (7 lines) in src/features/sessions/hooks/useActiveSessionController.ts:39", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/sessions/hooks/useActiveSessionController.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92f09665edbd27a5", "name": "Commented-code block (8 lines) in src/features/sessions/hooks/useRenameState.ts:38", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/sessions/hooks/useRenameState.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-4160363c30402555", "name": "Commented-code block (8 lines) in src/features/sessions/hooks/useSessionManager.ts:252", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/sessions/hooks/useSessionManager.ts:252"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8179e3f441ce3b64", "name": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionManager.test.ts:761", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionManager.test.ts:761"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c173d3b4513e7bc", "name": "Commented-code block (11 lines) in src/features/workspace/WorkspaceView.subscription.test.tsx:304", "shortDescription": {"text": "Commented-code block (11 lines) in src/features/workspace/WorkspaceView.subscription.test.tsx:304"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9539c637a80ba1f0", "name": "Commented-code block (5 lines) in src/features/workspace/WorkspaceView.tsx:161", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/workspace/WorkspaceView.tsx:161"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16d6170c07cd9377", "name": "Commented-code block (6 lines) in src/features/workspace/WorkspaceView.test.tsx:1341", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/WorkspaceView.test.tsx:1341"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb9e45859f1de726", "name": "Commented-code block (7 lines) in src/features/workspace/commands/buildWorkspaceCommands.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/workspace/commands/buildWorkspaceCommands.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-356fb17bb5c1e4bb", "name": "Commented-code block (7 lines) in src/features/workspace/utils/parseModelTitle.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/workspace/utils/parseModelTitle.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-7a7591416974b68e", "name": "Commented-code block (6 lines) in src/features/workspace/utils/sidebarCollapsedStore.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/utils/sidebarCollapsedStore.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-ec4faf1f6f8d5f63", "name": "Commented-code block (5 lines) in src/features/workspace/components/DockPanel.tsx:155", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/workspace/components/DockPanel.tsx:155"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb435e21a755e697", "name": "Commented-code block (6 lines) in src/features/workspace/components/AgentStatusCard.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/components/AgentStatusCard.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-51441e61871aa254", "name": "Commented-code block (5 lines) in src/features/workspace/components/SidebarToggle.tsx:27", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/workspace/components/SidebarToggle.tsx: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-9b0958accada14d7", "name": "Commented-code block (8 lines) in src/features/workspace/components/SessionsView.tsx:24", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/workspace/components/SessionsView.tsx:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ee109b7846cf645", "name": "Commented-code block (7 lines) in src/features/workspace/components/TerminalZone.test.tsx:646", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/workspace/components/TerminalZone.test.tsx:646"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09fc084b55300fe2", "name": "Commented-code block (6 lines) in src/features/workspace/components/DockTab.test.tsx:332", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/components/DockTab.test.tsx:332"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a1f26aa1d4fc9d2", "name": "Commented-code block (9 lines) in src/features/workspace/hooks/useSidebarShortcut.ts:17", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/workspace/hooks/useSidebarShortcut.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-5e99687e15c1f573", "name": "Commented-code block (6 lines) in src/features/workspace/hooks/useNewSessionShortcut.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/hooks/useNewSessionShortcut.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-327774724b47a556", "name": "Commented-code block (7 lines) in src/features/workspace/hooks/useDockToggleShortcut.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/workspace/hooks/useDockToggleShortcut.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-87faacd2de1e6d23", "name": "Commented-code block (6 lines) in src/features/workspace/overlays/useNativeSurface.ts:73", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/workspace/overlays/useNativeSurface.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-c75203eb364fb19e", "name": "Legacy-named symbol `content_copy` in src/features/files/types/index.test.ts:188", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/files/types/index.test.ts:188"}, "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-2f8a047071a5f526", "name": "Legacy-named symbol `content_copy` in src/features/files/components/ContextMenu.test.tsx:11", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/files/components/ContextMenu.test.tsx:11"}, "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-c3d1bfbd4082bd7c", "name": "Commented-code block (7 lines) in src/features/files/services/fileSystemService.ts:30", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/files/services/fileSystemService.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-52b53f15e80293f6", "name": "Commented-code block (9 lines) in src/features/terminal/orchestration/usePtyBufferDrain.ts:30", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/terminal/orchestration/usePtyBufferDrain.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-9a585d81f5819697", "name": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.test.tsx:1122", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.test.tsx:1122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7bb1fa30374d3fb0", "name": "Commented-code block (8 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.ts:275", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.ts:275"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ad4c188868c8bd4", "name": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.agent-osc.test.tsx:509", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.agent-osc.test.tsx:509"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4be18b4aa3f431ee", "name": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/index.tsx:91", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/index.tsx:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9fbc1819c215803", "name": "Commented-code block (7 lines) in src/features/terminal/components/TerminalPane/Body.tsx:75", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/terminal/components/TerminalPane/Body.tsx:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abb265ca94b0adcf", "name": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/GitRefChip.test.tsx:65", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/GitRefChip.test.tsx:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d48765ad0e5ab451", "name": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.test.ts:331", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.test.ts:331"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1042bcd142c61a75", "name": "Commented-code block (5 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.test.tsx:34", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.test.tsx:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b73e13b1cb031c86", "name": "Commented-code block (6 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.tsx:35", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.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-19aea3e4b11e55ea", "name": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.test.tsx:727", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.test.tsx:727"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fee27cb8603f6838", "name": "Commented-code block (6 lines) in src/features/terminal/components/SplitView/EmptySlot.tsx:13", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/terminal/components/SplitView/EmptySlot.tsx:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5cff1e5418de18ac", "name": "Commented-code block (7 lines) in src/features/terminal/components/SplitView/layouts.test.ts:20", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/terminal/components/SplitView/layouts.test.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-353fabae61858cdb", "name": "Commented-code block (10 lines) in src/features/terminal/components/SplitView/SplitDividers.tsx:17", "shortDescription": {"text": "Commented-code block (10 lines) in src/features/terminal/components/SplitView/SplitDividers.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-e0999b465cd90775", "name": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.tsx:149", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.tsx:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-029ca178e75c3630", "name": "Commented-code block (12 lines) in src/features/terminal/components/SplitView/SplitDividers.test.tsx:74", "shortDescription": {"text": "Commented-code block (12 lines) in src/features/terminal/components/SplitView/SplitDividers.test.tsx:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2b3454d30390eb73", "name": "Commented-code block (9 lines) in src/features/terminal/hooks/usePaneShortcuts.ts:12", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/terminal/hooks/usePaneShortcuts.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-121dc41ff0d81e38", "name": "Commented-code block (5 lines) in src/features/terminal/hooks/usePaneShortcuts.test.ts:106", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/hooks/usePaneShortcuts.test.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-23006d52b583a40a", "name": "Commented-code block (5 lines) in src/features/terminal/hooks/useBurnerTerminals.ts:224", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/hooks/useBurnerTerminals.ts:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ed41e0a2cdc6994", "name": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.ts:328", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.ts:328"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2bc35e2b3662cfba", "name": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.test.ts:864", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.test.ts:864"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46be24897929165f", "name": "Commented-code block (5 lines) in src/features/terminal/services/desktopTerminalService.test.ts:643", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/terminal/services/desktopTerminalService.test.ts:643"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b3b5c754163d906", "name": "Commented-code block (5 lines) in src/features/command-palette/hooks/useCommandPalette.ts:41", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/command-palette/hooks/useCommandPalette.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-00e5f1ee5a141bde", "name": "Commented-code block (8 lines) in src/features/command-palette/hooks/useCommandPalette.test.ts:542", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/command-palette/hooks/useCommandPalette.test.ts:542"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b13a1ccf89553179", "name": "Commented-code block (5 lines) in src/features/editor/utils/readingStyleStore.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/editor/utils/readingStyleStore.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-a54df637097e1c82", "name": "Legacy-named symbol `content_copy` in src/features/editor/components/ContextMenu.test.tsx:11", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/ContextMenu.test.tsx:11"}, "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-6c07fd4ccd14cffb", "name": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.test.tsx:179", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.test.tsx:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35527ff8e897ba7c", "name": "Legacy-named symbol `content_copy` in src/features/editor/components/MarkdownReadingView.tsx:244", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/MarkdownReadingView.tsx:244"}, "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-8f73a75d7b44eb77", "name": "Commented-code block (7 lines) in src/features/editor/components/MarkdownReadingView.tsx:25", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/editor/components/MarkdownReadingView.tsx: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-e70d036fab9176e1", "name": "Legacy-named symbol `content_copy` in src/features/editor/components/CodeEditor.tsx:165", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/CodeEditor.tsx:165"}, "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-3c850d56f99ca5c6", "name": "Commented-code block (7 lines) in src/features/editor/components/CodeEditor.tsx:62", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/editor/components/CodeEditor.tsx:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7089e7e98907308e", "name": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.tsx:33", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.tsx:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d6cfeee3c1a5601", "name": "Commented-code block (9 lines) in src/features/editor/hooks/useCodeMirror.ts:307", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/editor/hooks/useCodeMirror.ts:307"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd1fbf815ff476ce", "name": "Commented-code block (11 lines) in src/features/editor/hooks/useCodeMirror.test.ts:39", "shortDescription": {"text": "Commented-code block (11 lines) in src/features/editor/hooks/useCodeMirror.test.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3a5c99479d6f1c9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/editor/services/fileService.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/editor/services/fileService.ts:41"}, "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-83a73de0693cad87", "name": "Commented-code block (5 lines) in src/features/editor/services/languageService.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/editor/services/languageService.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89f34c42618ea5db", "name": "Commented-code block (8 lines) in src/features/diff/demo/InlineCommentDemo.tsx:12", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/diff/demo/InlineCommentDemo.tsx:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ebf7e4f310ce94c", "name": "Commented-code block (9 lines) in src/features/diff/components/DiffPanelContent.test.tsx:34", "shortDescription": {"text": "Commented-code block (9 lines) in src/features/diff/components/DiffPanelContent.test.tsx:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ed93610721e1c39", "name": "Commented-code block (7 lines) in src/features/diff/components/DiffPanelContent.tsx:64", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/components/DiffPanelContent.tsx:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44db77c2125a619e", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.test.tsx:95", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.test.tsx:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-caab49bfd16a4d34", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ChangeStepper.tsx:21", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ChangeStepper.tsx:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f3e6760dd31abec", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.test.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.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-05b596a27a7cc59f", "name": "Commented-code block (7 lines) in src/features/diff/components/toolbar/Toggle.tsx:9", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/components/toolbar/Toggle.tsx: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-c4e600b3175a0425", "name": "Commented-code block (7 lines) in src/features/diff/components/toolbar/ViewSettingsDropdown.tsx:48", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/components/toolbar/ViewSettingsDropdown.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-9e539bda7a429339", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.tsx:142", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.tsx:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e3410b28e742891", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ToolWell.tsx:41", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ToolWell.tsx: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-d6fe0aa6251e239f", "name": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.tsx:23", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.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-ca97feca13166e51", "name": "Commented-code block (7 lines) in src/features/diff/hooks/useGitStatus.ts:169", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/hooks/useGitStatus.ts:169"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5bb08e4810e8f58", "name": "Commented-code block (5 lines) in src/features/diff/hooks/useGitBranch.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/hooks/useGitBranch.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ba69d7b098df7de", "name": "Commented-code block (7 lines) in src/features/diff/services/feedbackDispatch.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/services/feedbackDispatch.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-9732eb5304d38ba5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/diff/services/gitService.ts:241", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/diff/services/gitService.ts:241"}, "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-bf27d286b360a3b8", "name": "Commented-code block (7 lines) in src/features/diff/services/gitPatch.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/diff/services/gitPatch.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-1a78f5a62bbcb6a0", "name": "Commented-code block (5 lines) in src/features/diff/services/gitPatch.test.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/services/gitPatch.test.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-a6676453f8c731ef", "name": "Commented-code block (5 lines) in src/features/diff/services/workerPoolWrites.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/diff/services/workerPoolWrites.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-2bdc72f5d50ae67f", "name": "Commented-code block (7 lines) in src/features/agent-status/utils/matchChangedFile.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/agent-status/utils/matchChangedFile.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-5961d7783b676358", "name": "Commented-code block (6 lines) in src/features/agent-status/utils/toolCallsToEvents.ts:33", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/agent-status/utils/toolCallsToEvents.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fff48da3033450fc", "name": "Commented-code block (5 lines) in src/features/agent-status/utils/contextTone.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/agent-status/utils/contextTone.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-120f270282ce0025", "name": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityFeed.tsx:30", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityFeed.tsx: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-ec947ae83ed4fc74", "name": "Commented-code block (7 lines) in src/features/agent-status/components/AgentStatusRail.tsx:20", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/agent-status/components/AgentStatusRail.tsx: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-a3757c291e367e82", "name": "Legacy-named symbol `content_copy` in src/features/agent-status/components/ActivityEvent.tsx:347", "shortDescription": {"text": "Legacy-named symbol `content_copy` in src/features/agent-status/components/ActivityEvent.tsx:347"}, "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-1b8b63ff28e25ae0", "name": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityEvent.tsx:61", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityEvent.tsx: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-2193318bb6305c03", "name": "Commented-code block (5 lines) in src/features/agent-status/components/TestResults.tsx:255", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/TestResults.tsx:255"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f57e21208de467b6", "name": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.test.tsx:294", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.test.tsx:294"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-907fa9317c0192bb", "name": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.tsx:36", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.tsx: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-d0b821f3688dd8c7", "name": "Commented-code block (8 lines) in src/features/agent-status/components/AgentStatusPanel/index.test.tsx:172", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/agent-status/components/AgentStatusPanel/index.test.tsx:172"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d70eeef2789729c6", "name": "Commented-code block (10 lines) in src/features/agent-status/hooks/useAgentStatus.ts:127", "shortDescription": {"text": "Commented-code block (10 lines) in src/features/agent-status/hooks/useAgentStatus.ts:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cae40bb8acc53bae", "name": "Commented-code block (5 lines) in src/features/agent-status/hooks/useWaterCursor.ts:141", "shortDescription": {"text": "Commented-code block (5 lines) in src/features/agent-status/hooks/useWaterCursor.ts:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7989e54e47d5dbe9", "name": "Commented-code block (8 lines) in src/features/agent-status/hooks/useWaterCursor.test.tsx:406", "shortDescription": {"text": "Commented-code block (8 lines) in src/features/agent-status/hooks/useWaterCursor.test.tsx:406"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77894335e9b2c7ef", "name": "Legacy-named symbol `toolu_old` in src/features/agent-status/hooks/useAgentStatus.test.ts:1021", "shortDescription": {"text": "Legacy-named symbol `toolu_old` in src/features/agent-status/hooks/useAgentStatus.test.ts:1021"}, "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-26ba1818104d5101", "name": "Commented-code block (6 lines) in src/features/agent-status/hooks/useAgentStatus.test.ts:120", "shortDescription": {"text": "Commented-code block (6 lines) in src/features/agent-status/hooks/useAgentStatus.test.ts:120"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-563c902e180131f8", "name": "Commented-code block (7 lines) in src/features/browser/components/BrowserPane.tsx:95", "shortDescription": {"text": "Commented-code block (7 lines) in src/features/browser/components/BrowserPane.tsx:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. 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/22796"}, "properties": {"repository": "winoooops/vimeflow", "repoUrl": "https://github.com/winoooops/vimeflow", "branch": "main"}, "results": [{"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9cc5628475ed4528", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/Dropdown.tsx:136"}, "properties": {"repobilityId": "7bfd4bb304674e46", "scanner": "scanner-primary", "fingerprint": "9cc5628475ed4528", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dc14f34a2a5e84b8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/sessions/components/Card.tsx:184"}, "properties": {"repobilityId": "a6026fa101d9c691", "scanner": "scanner-primary", "fingerprint": "dc14f34a2a5e84b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-39b4783877928a07", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/AgentStatusCard.tsx:137"}, "properties": {"repobilityId": "de3f9923a5009205", "scanner": "scanner-primary", "fingerprint": "39b4783877928a07", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-83b8a7779a79dc69", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/DockTab.tsx:215"}, "properties": {"repobilityId": "fb857e090e7d6cb9", "scanner": "scanner-primary", "fingerprint": "83b8a7779a79dc69", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f7566b9d01c71b3d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/SidebarSettingsFooter.tsx:47"}, "properties": {"repobilityId": "102a52ea1aa62921", "scanner": "scanner-primary", "fingerprint": "f7566b9d01c71b3d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9c165230501a3552", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/workspace/components/panels/FileExplorer.tsx:316"}, "properties": {"repobilityId": "b6d56e5f8f82172d", "scanner": "scanner-primary", "fingerprint": "9c165230501a3552", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ba8b647e6bb0003b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/files/components/FileTreeNode.tsx:150"}, "properties": {"repobilityId": "2758a54089cc0b63", "scanner": "scanner-primary", "fingerprint": "ba8b647e6bb0003b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a5f4bf1dc3fd09af", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/index.tsx:180"}, "properties": {"repobilityId": "1dcbd59e5cd13819", "scanner": "scanner-primary", "fingerprint": "a5f4bf1dc3fd09af", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-36184b227fdc25d0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/components/TerminalPane/Body.tsx:977"}, "properties": {"repobilityId": "9414268bb74eba19", "scanner": "scanner-primary", "fingerprint": "36184b227fdc25d0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c44497e45ad35273", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Footer.tsx:56"}, "properties": {"repobilityId": "089c4ad6627b4532", "scanner": "scanner-primary", "fingerprint": "c44497e45ad35273", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0be0a2cd0cc359d9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/terminal/components/TerminalPane/Header.tsx:92"}, "properties": {"repobilityId": "cf398fc9d5f843e4", "scanner": "scanner-primary", "fingerprint": "0be0a2cd0cc359d9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-02687383441ed81b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/terminal/hooks/useTerminal.test.ts:98"}, "properties": {"repobilityId": "f5cb594d354b0a1c", "scanner": "scanner-primary", "fingerprint": "02687383441ed81b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e0e278aa4fec0a25", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/features/editor/components/MarkdownReadingView.tsx:83"}, "properties": {"repobilityId": "5d6a56086dcd62f7", "scanner": "scanner-primary", "fingerprint": "e0e278aa4fec0a25", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b6dd007dd386936f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/features/diff/demo/InlineCommentDemo.tsx:26"}, "properties": {"repobilityId": "f2cff5253064998f", "scanner": "scanner-primary", "fingerprint": "b6dd007dd386936f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d0ffa3356b46560", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/features/diff/types/index.test.ts:61"}, "properties": {"repobilityId": "60cd2481b60def71", "scanner": "scanner-primary", "fingerprint": "6d0ffa3356b46560", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2207c634db27b2c1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/ChangedFilesList.tsx:93"}, "properties": {"repobilityId": "be8e9d2a92837b20", "scanner": "scanner-primary", "fingerprint": "2207c634db27b2c1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b9a71c98688c0cbc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/diff/components/toolbar/FilePill.tsx:82"}, "properties": {"repobilityId": "fd2004f0a1263b42", "scanner": "scanner-primary", "fingerprint": "b9a71c98688c0cbc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b4fa956bc4ac4159", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/ToolCallSummary.tsx:26"}, "properties": {"repobilityId": "921b5b6ee656186f", "scanner": "scanner-primary", "fingerprint": "b4fa956bc4ac4159", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0f206415409d73a6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/StatusCard.tsx:106"}, "properties": {"repobilityId": "c6252fe17551f3b0", "scanner": "scanner-primary", "fingerprint": "0f206415409d73a6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0e376c3f64226522", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/TestResults.tsx:214"}, "properties": {"repobilityId": "dabc5d09d8a8b138", "scanner": "scanner-primary", "fingerprint": "0e376c3f64226522", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8bfd3ad3bdd894f5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/features/agent-status/components/LiquidFill.test.tsx:314"}, "properties": {"repobilityId": "4b93ba8d868fdd12", "scanner": "scanner-primary", "fingerprint": "8bfd3ad3bdd894f5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a7bb764751aeec0c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/FilesChanged.tsx:103"}, "properties": {"repobilityId": "a3851895f0ba489f", "scanner": "scanner-primary", "fingerprint": "a7bb764751aeec0c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d5cd3a5dc68cb8c0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/agent-status/components/LiveActionCard.tsx:78"}, "properties": {"repobilityId": "0763955bfe89c3cd", "scanner": "scanner-primary", "fingerprint": "d5cd3a5dc68cb8c0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b4f9d7bbb3914970", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/features/browser/components/BrowserAddressBar.tsx:118"}, "properties": {"repobilityId": "1c7bd6d19545526c", "scanner": "scanner-primary", "fingerprint": "b4f9d7bbb3914970", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0d4e1f043cac75a1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/sidecar.ts:1"}, "properties": {"repobilityId": "70807927d76769d0", "scanner": "scanner-primary", "fingerprint": "0d4e1f043cac75a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/sidecar.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9da2d194dbd62459", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar Update.html:548"}, "properties": {"repobilityId": "c32ded58660cbe79", "scanner": "scanner-primary", "fingerprint": "9da2d194dbd62459", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/design/archive/Diff Toolbar Update.html"}, "region": {"startLine": 548}}}]}, {"ruleId": "scanner-5ee32dc490f495fa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/design/archive/Diff Toolbar.html:376"}, "properties": {"repobilityId": "cd392a51f2a97f6a", "scanner": "scanner-primary", "fingerprint": "5ee32dc490f495fa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/design/archive/Diff Toolbar.html"}, "region": {"startLine": 376}}}]}, {"ruleId": "scanner-403aa07cc07a30a0", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in docs/explorations/markdown-reader-editor.html:822"}, "properties": {"repobilityId": "81e7ae116300eee6", "scanner": "scanner-primary", "fingerprint": "403aa07cc07a30a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/explorations/markdown-reader-editor.html"}, "region": {"startLine": 822}}}]}, {"ruleId": "scanner-943969fbad4e9b5f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/generate-bindings-if-missing.mjs:2"}, "properties": {"repobilityId": "250991fe12a82c25", "scanner": "scanner-primary", "fingerprint": "943969fbad4e9b5f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate-bindings-if-missing.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-96113eddebe8fb7d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/package-electron.mjs:1"}, "properties": {"repobilityId": "502c6b07ff38e469", "scanner": "scanner-primary", "fingerprint": "96113eddebe8fb7d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/package-electron.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c1508e5082feb2c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/run.mjs:19"}, "properties": {"repobilityId": "de63cc126e3910e8", "scanner": "scanner-primary", "fingerprint": "6c1508e5082feb2c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/qa-runner/run.mjs"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-44cd2804bdc69ad5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/watch.mjs:23"}, "properties": {"repobilityId": "a9035f0b1d88e649", "scanner": "scanner-primary", "fingerprint": "44cd2804bdc69ad5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/qa-runner/watch.mjs"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-59deb52ea3025e99", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/worker-instance.mjs:1"}, "properties": {"repobilityId": "59d7ac02bf779aca", "scanner": "scanner-primary", "fingerprint": "59deb52ea3025e99", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/qa-runner/lib/worker-instance.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f023dc8e2d3b64c9", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-pr-link.mjs:5"}, "properties": {"repobilityId": "420b795651c2eec5", "scanner": "scanner-primary", "fingerprint": "f023dc8e2d3b64c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/qa-runner/lib/linear-pr-link.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-777ac2ea7f8d74c8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/qa-runner/lib/linear-client.mjs:1"}, "properties": {"repobilityId": "3a755dc4aca04bbb", "scanner": "scanner-primary", "fingerprint": "777ac2ea7f8d74c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/qa-runner/lib/linear-client.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9988f064dd08ed9c", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/features/sessions/utils/activityPanelCollapsedStore.test.ts:41"}, "properties": {"repobilityId": "d33718a7bf86238c", "scanner": "scanner-primary", "fingerprint": "9988f064dd08ed9c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/features/sessions/utils/activityPanelCollapsedStore.test.ts"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-88ec5fdc80834f68", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/features/command-palette/hooks/useCommandPalette.test.ts:19"}, "properties": {"repobilityId": "1d3d4e9b8ce62eee", "scanner": "scanner-primary", "fingerprint": "88ec5fdc80834f68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/features/command-palette/hooks/useCommandPalette.test.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9980d12aa246543f", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87c77116b0530409", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9c85808125303baf", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9980d12aa246543f", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87c77116b0530409", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9980d12aa246543f", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "19958ac426cc3af4", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2c186bee6775be5a", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9980d12aa246543f", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87c77116b0530409", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "19958ac426cc3af4", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2c186bee6775be5a", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-6c78a2ad41ed71ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "206eecf44f6faf6c", "scanner": "scanner-primary", "fingerprint": "6c78a2ad41ed71ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-checks.yml"}, "region": {"startLine": 138}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4361d741b1768df", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c9c8d455a9d830b0", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6c1a509e254502af", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "348a2a2ba7979a8b", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e879d8d5d310b9f", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4361d741b1768df", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c9c8d455a9d830b0", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6c1a509e254502af", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "348a2a2ba7979a8b", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b83c776b38a9a185", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e879d8d5d310b9f", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-8a2678aff39d780d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "98f2838c34dff008", "scanner": "scanner-primary", "fingerprint": "8a2678aff39d780d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-review.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-8a2678aff39d780d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1f231dae8005d65", "scanner": "scanner-primary", "fingerprint": "8a2678aff39d780d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-review.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-8a2678aff39d780d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e221f1f800a22e4d", "scanner": "scanner-primary", "fingerprint": "8a2678aff39d780d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-review.yml"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-063997d8d14f8d5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b268301d4ba9d1b9", "scanner": "scanner-primary", "fingerprint": "063997d8d14f8d5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-review.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-645355a25a74cd32", "level": "note", "message": {"text": "Very large file: electron/browser-pane.ts (2763 lines)"}, "properties": {"repobilityId": "9a17c41db1d5a0c5", "scanner": "scanner-primary", "fingerprint": "645355a25a74cd32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea8f3110d504d0fa", "level": "note", "message": {"text": "Very large file: electron/browser-pane.test.ts (2337 lines)"}, "properties": {"repobilityId": "c4a496e9d536b282", "scanner": "scanner-primary", "fingerprint": "ea8f3110d504d0fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-741db0ab034da1fc", "level": "note", "message": {"text": "Very large file: crates/backend/src/agent/adapter/base/watcher_runtime.rs (1677 lines)"}, "properties": {"repobilityId": "009a226991fee936", "scanner": "scanner-primary", "fingerprint": "741db0ab034da1fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e19bedc3e8e6cc9d", "level": "note", "message": {"text": "Very large file: crates/backend/src/agent/adapter/codex/locator.rs (1663 lines)"}, "properties": {"repobilityId": "e2c92cf1e4c87a5d", "scanner": "scanner-primary", "fingerprint": "e19bedc3e8e6cc9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6dfb4a4f8ef9b529", "level": "note", "message": {"text": "Very large file: crates/backend/src/agent/adapter/codex/transcript.rs (1888 lines)"}, "properties": {"repobilityId": "83f90dca023deec1", "scanner": "scanner-primary", "fingerprint": "6dfb4a4f8ef9b529", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0842189258acd555", "level": "note", "message": {"text": "Very large file: crates/backend/src/agent/adapter/claude_code/transcript.rs (1830 lines)"}, "properties": {"repobilityId": "2c87ca5968cf6fb7", "scanner": "scanner-primary", "fingerprint": "0842189258acd555", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1442304f9227286f", "level": "note", "message": {"text": "Very large file: crates/backend/src/git/watcher.rs (2359 lines)"}, "properties": {"repobilityId": "bf078dcd81efa012", "scanner": "scanner-primary", "fingerprint": "1442304f9227286f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-96ab48259d71833b", "level": "note", "message": {"text": "Very large file: crates/backend/src/git/mod.rs (3380 lines)"}, "properties": {"repobilityId": "523ae3c57819de01", "scanner": "scanner-primary", "fingerprint": "96ab48259d71833b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2df78a3ee44fc8aa", "level": "note", "message": {"text": "Very large file: crates/backend/src/terminal/commands.rs (3981 lines)"}, "properties": {"repobilityId": "4f38d5fc7f3af0a5", "scanner": "scanner-primary", "fingerprint": "2df78a3ee44fc8aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21d1dfa720372628", "level": "note", "message": {"text": "Very large file: crates/backend/src/terminal/workspace_layout.rs (1233 lines)"}, "properties": {"repobilityId": "c0633b19c0966d17", "scanner": "scanner-primary", "fingerprint": "21d1dfa720372628", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-757267ba1655d350", "level": "note", "message": {"text": "Very large file: crates/backend/src/runtime/ipc.rs (2395 lines)"}, "properties": {"repobilityId": "f5033f22e025ccfd", "scanner": "scanner-primary", "fingerprint": "757267ba1655d350", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7956c25626e72e3c", "level": "note", "message": {"text": "Very large file: src/features/sessions/hooks/useSessionManager.ts (1986 lines)"}, "properties": {"repobilityId": "0f499ea70add6f52", "scanner": "scanner-primary", "fingerprint": "7956c25626e72e3c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29aeff4097229fe8", "level": "note", "message": {"text": "Very large file: src/features/sessions/hooks/useSessionManager.test.ts (5476 lines)"}, "properties": {"repobilityId": "bfd491c85a2c0672", "scanner": "scanner-primary", "fingerprint": "29aeff4097229fe8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a842f0191b12644", "level": "note", "message": {"text": "Very large file: src/features/workspace/WorkspaceView.tsx (2453 lines)"}, "properties": {"repobilityId": "a9a2fe97b5e9c4ee", "scanner": "scanner-primary", "fingerprint": "6a842f0191b12644", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94a48518fa8ac915", "level": "note", "message": {"text": "Very large file: src/features/workspace/WorkspaceView.test.tsx (2296 lines)"}, "properties": {"repobilityId": "05987440870c1f4b", "scanner": "scanner-primary", "fingerprint": "94a48518fa8ac915", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7dfc4d5d6baefed", "level": "note", "message": {"text": "Very large file: src/features/terminal/components/TerminalPane/Body.test.tsx (2326 lines)"}, "properties": {"repobilityId": "f7222b32b9b87980", "scanner": "scanner-primary", "fingerprint": "f7dfc4d5d6baefed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-404f95404046845b", "level": "note", "message": {"text": "Very large file: src/features/diff/components/DiffPanelContent.test.tsx (2506 lines)"}, "properties": {"repobilityId": "624bd89621760dc6", "scanner": "scanner-primary", "fingerprint": "404f95404046845b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c0ab5490a28a66d", "level": "note", "message": {"text": "Very large file: src/features/diff/components/DiffPanelContent.tsx (1458 lines)"}, "properties": {"repobilityId": "f91a3e14622e6a41", "scanner": "scanner-primary", "fingerprint": "4c0ab5490a28a66d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ecf0185a7196f8d4", "level": "note", "message": {"text": "Very large file: src/features/agent-status/hooks/useAgentStatus.test.ts (2086 lines)"}, "properties": {"repobilityId": "1f09b43b1e9a91e7", "scanner": "scanner-primary", "fingerprint": "ecf0185a7196f8d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "8d55b1f8bcba7153", "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": "b4654d9d4a5868d8", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "48d881c690fb385a", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "50edaced543e84ef", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "fb0a3bc4f1d1ed22", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2ebddb11cde2aac2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude_settings.json"}, "properties": {"repobilityId": "e77f438451635b45", "scanner": "scanner-primary", "fingerprint": "2ebddb11cde2aac2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude_settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2eb3ee0d2b5580d3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/design/CLAUDE.md"}, "properties": {"repobilityId": "2e4c1f3574c14595", "scanner": "scanner-primary", "fingerprint": "2eb3ee0d2b5580d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/design/CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc286eb75b901795", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/native-feel-cross-platform-desktop/references/03-webview-survival.md"}, "properties": {"repobilityId": "723c065fbcbe01e2", "scanner": "scanner-primary", "fingerprint": "cc286eb75b901795", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/native-feel-cross-platform-desktop/references/03-webview-survival.md"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-cb587913cdd3e0a5", "level": "note", "message": {"text": "Legacy-named symbol `candidate_old` in vite.config.ts:110"}, "properties": {"repobilityId": "79bb3689d92a81ff", "scanner": "scanner-primary", "fingerprint": "cb587913cdd3e0a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ed16e71b72294f61", "level": "none", "message": {"text": "Commented-code block (6 lines) in vite.config.ts:638"}, "properties": {"repobilityId": "681bdb75426913da", "scanner": "scanner-primary", "fingerprint": "ed16e71b72294f61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-832001c5b1b5ee1b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tailwind.config.js:40"}, "properties": {"repobilityId": "2d3d9105a1535b4e", "scanner": "scanner-primary", "fingerprint": "832001c5b1b5ee1b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3538d8153b1a8a47", "level": "none", "message": {"text": "Commented-code block (7 lines) in eslint.config.js:34"}, "properties": {"repobilityId": "766133359b8f503d", "scanner": "scanner-primary", "fingerprint": "3538d8153b1a8a47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-922fd25c8e4c77bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/command-palette-shortcut.test.ts:224"}, "properties": {"repobilityId": "b2da99776bb13a8e", "scanner": "scanner-primary", "fingerprint": "922fd25c8e4c77bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52b8ee32621f464e", "level": "none", "message": {"text": "Commented-code block (7 lines) in electron/browser-pane.ts:1365"}, "properties": {"repobilityId": "b68d72e688c961cd", "scanner": "scanner-primary", "fingerprint": "52b8ee32621f464e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae2a34bf2952f290", "level": "none", "message": {"text": "Commented-code block (7 lines) in electron/navigation-guard.ts:10"}, "properties": {"repobilityId": "011d6c7dd414a472", "scanner": "scanner-primary", "fingerprint": "ae2a34bf2952f290", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-492230844150dace", "level": "none", "message": {"text": "Commented-code block (8 lines) in electron/workspace-layout-writer.ts:6"}, "properties": {"repobilityId": "235a02192fd7c9d8", "scanner": "scanner-primary", "fingerprint": "492230844150dace", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8af6f0adbc0156ef", "level": "none", "message": {"text": "Commented-code block (7 lines) in electron/main.ts:31"}, "properties": {"repobilityId": "692e3ab860543fff", "scanner": "scanner-primary", "fingerprint": "8af6f0adbc0156ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f65510dc494b4993", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:155"}, "properties": {"repobilityId": "5010c01ad568a826", "scanner": "scanner-primary", "fingerprint": "f65510dc494b4993", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8ac0c99a1313eefd", "level": "none", "message": {"text": "Commented-code block (8 lines) in electron/workspace-teardown.ts:1"}, "properties": {"repobilityId": "c2ef2c9360ac10fd", "scanner": "scanner-primary", "fingerprint": "8ac0c99a1313eefd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb098591aa5569d9", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/workspace-layout-types.ts:3"}, "properties": {"repobilityId": "b75b61f615cd8878", "scanner": "scanner-primary", "fingerprint": "bb098591aa5569d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f92cfca0bdcdb51", "level": "none", "message": {"text": "Commented-code block (7 lines) in electron/csp.ts:8"}, "properties": {"repobilityId": "89612a3395cfc319", "scanner": "scanner-primary", "fingerprint": "6f92cfca0bdcdb51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6ffd648c42e746f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/browser-pane.test.ts:1952"}, "properties": {"repobilityId": "70fb54a585372480", "scanner": "scanner-primary", "fingerprint": "c6ffd648c42e746f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-57f85b95127960fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/workspace-layout-controller.ts:1"}, "properties": {"repobilityId": "6ad34a41d86a3352", "scanner": "scanner-primary", "fingerprint": "57f85b95127960fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1ac814ffb1d8ceb", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/shared/electron-app.ts:10"}, "properties": {"repobilityId": "7f114bb6239f12e3", "scanner": "scanner-primary", "fingerprint": "c1ac814ffb1d8ceb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b444268e17021204", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/e2e/shared/terminal.ts:74"}, "properties": {"repobilityId": "dea4fb92aa277118", "scanner": "scanner-primary", "fingerprint": "b444268e17021204", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dc0860f98543539", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/agent/specs/agent-detect-fake.spec.ts:14"}, "properties": {"repobilityId": "1c52a5470d07d038", "scanner": "scanner-primary", "fingerprint": "8dc0860f98543539", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f90865c78edc65f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/terminal/specs/pty-spawn.spec.ts:3"}, "properties": {"repobilityId": "78cf49a44c9a8a66", "scanner": "scanner-primary", "fingerprint": "f90865c78edc65f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-107e50e4e458483b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/e2e/terminal/specs/multi-tab-isolation.spec.ts:48"}, "properties": {"repobilityId": "0f547f6feeff572e", "scanner": "scanner-primary", "fingerprint": "107e50e4e458483b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac249d97d92a01c3", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/terminal/specs/terminal-resize.spec.ts:7"}, "properties": {"repobilityId": "707888fa674c4113", "scanner": "scanner-primary", "fingerprint": "ac249d97d92a01c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea01ee90d2e7bb34", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/core/wdio.conf.ts:39"}, "properties": {"repobilityId": "9c956409c39ad009", "scanner": "scanner-primary", "fingerprint": "ea01ee90d2e7bb34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-937675ec8b4f8329", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/core/specs/ipc-roundtrip.spec.ts:3"}, "properties": {"repobilityId": "690eaf6e9f0f5621", "scanner": "scanner-primary", "fingerprint": "937675ec8b4f8329", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aac802da72978a1a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/core/specs/files-to-editor.spec.ts:22"}, "properties": {"repobilityId": "b6d0478962c683cb", "scanner": "scanner-primary", "fingerprint": "aac802da72978a1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de92d22398faeaeb", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx:162"}, "properties": {"repobilityId": "690c47d026f78009", "scanner": "scanner-primary", "fingerprint": "de92d22398faeaeb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aaf41bc055a9f527", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/design/archive/activity-item-tooltip/activity-tooltip.jsx:1"}, "properties": {"repobilityId": "652c0a5302ef9944", "scanner": "scanner-primary", "fingerprint": "aaf41bc055a9f527", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b8d9b69c249fee8", "level": "none", "message": {"text": "Commented-code block (6 lines) in docs/design/archive/git-chip/prototype/src/splitview.jsx:917"}, "properties": {"repobilityId": "f5131ea6115ec75c", "scanner": "scanner-primary", "fingerprint": "1b8d9b69c249fee8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c3aff2f32e5f09a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/generate-theme-css.ts:1"}, "properties": {"repobilityId": "3e96ec1295117e66", "scanner": "scanner-primary", "fingerprint": "5c3aff2f32e5f09a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4599ac3d625e21ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/qa-runner/run.mjs:4"}, "properties": {"repobilityId": "3140e6208bc2d19c", "scanner": "scanner-primary", "fingerprint": "4599ac3d625e21ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-555a246ba7337973", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/qa-runner/watch.mjs:4"}, "properties": {"repobilityId": "29d19dd81a9159c3", "scanner": "scanner-primary", "fingerprint": "555a246ba7337973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40c4a020e4203044", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/qa-runner/lib/linear-client.mjs:31"}, "properties": {"repobilityId": "39491d093cfdcfe7", "scanner": "scanner-primary", "fingerprint": "40c4a020e4203044", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-da5b0c44aa9a7827", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/components/Menu.test.tsx:172"}, "properties": {"repobilityId": "09cdf91989ba4fbb", "scanner": "scanner-primary", "fingerprint": "da5b0c44aa9a7827", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b858cd636c6bfe9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/Dropdown.tsx:36"}, "properties": {"repobilityId": "2c9b167f8878cf1f", "scanner": "scanner-primary", "fingerprint": "4b858cd636c6bfe9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8ccc8d0f94cefcd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/Menu.tsx:126"}, "properties": {"repobilityId": "a7636b349b39e28f", "scanner": "scanner-primary", "fingerprint": "e8ccc8d0f94cefcd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6f6cebfafca5c69", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/base/floating/list.ts:1"}, "properties": {"repobilityId": "d63d9f0bed6bfeb0", "scanner": "scanner-primary", "fingerprint": "a6f6cebfafca5c69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dec56f7ffdd98d5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.test.tsx:84"}, "properties": {"repobilityId": "bff45e8ed9a38b04", "scanner": "scanner-primary", "fingerprint": "1dec56f7ffdd98d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee1c640dcba37e0e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/sidebar/Sidebar.tsx:62"}, "properties": {"repobilityId": "9dafeed32122cd12", "scanner": "scanner-primary", "fingerprint": "ee1c640dcba37e0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4e66cefc18c5ddb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/formatShortcut.ts:5"}, "properties": {"repobilityId": "c201f5b32d92c72d", "scanner": "scanner-primary", "fingerprint": "a4e66cefc18c5ddb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d589dc2154949f7d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/e2e-bridge.ts:58"}, "properties": {"repobilityId": "2ac0c5442959c5dc", "scanner": "scanner-primary", "fingerprint": "d589dc2154949f7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-403599f1e40d7e5f", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.ts:6"}, "properties": {"repobilityId": "20af78ae9705cb66", "scanner": "scanner-primary", "fingerprint": "403599f1e40d7e5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31004340e9a76897", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/utils/activityPanelCollapsedStore.ts:1"}, "properties": {"repobilityId": "6ff47b38cd5fe457", "scanner": "scanner-primary", "fingerprint": "31004340e9a76897", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-876fbbdbc78c9e29", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/sessions/utils/groupSessionsFromInfos.test.ts:298"}, "properties": {"repobilityId": "0f5661af44aa946b", "scanner": "scanner-primary", "fingerprint": "876fbbdbc78c9e29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f76c4063c8df44e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Tabs.test.tsx:220"}, "properties": {"repobilityId": "92b9c222c7e8dcf6", "scanner": "scanner-primary", "fingerprint": "f76c4063c8df44e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0dcf51143084245", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Group.tsx:54"}, "properties": {"repobilityId": "83cc94492c62bfdc", "scanner": "scanner-primary", "fingerprint": "d0dcf51143084245", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-359d5698971f3ae3", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/features/sessions/components/Tabs.tsx:43"}, "properties": {"repobilityId": "e686e9a34f13cd3b", "scanner": "scanner-primary", "fingerprint": "359d5698971f3ae3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77807be1b0dea017", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Group.test.tsx:119"}, "properties": {"repobilityId": "ced3d0883217f6d2", "scanner": "scanner-primary", "fingerprint": "77807be1b0dea017", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd10d2ac5d41d329", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/sessions/components/List.tsx:49"}, "properties": {"repobilityId": "d40ee2775a308bd6", "scanner": "scanner-primary", "fingerprint": "bd10d2ac5d41d329", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c0e84d372248bd2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/components/Card.tsx:188"}, "properties": {"repobilityId": "2ed4d2d1aee8a6c9", "scanner": "scanner-primary", "fingerprint": "5c0e84d372248bd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ead126fd4438021", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/sessions/components/Tab.test.tsx:170"}, "properties": {"repobilityId": "ea6b622cf413ae01", "scanner": "scanner-primary", "fingerprint": "2ead126fd4438021", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-727d4fbdb7a47584", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/components/List.test.tsx:267"}, "properties": {"repobilityId": "d49132ba8670393a", "scanner": "scanner-primary", "fingerprint": "727d4fbdb7a47584", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84d7573168d93e3b", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/features/sessions/hooks/usePushWorkspaceGrouping.ts:1"}, "properties": {"repobilityId": "ab4fcfb7dc4ddc3e", "scanner": "scanner-primary", "fingerprint": "84d7573168d93e3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2aaf3d9199fe3419", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionRestore.test.ts:123"}, "properties": {"repobilityId": "d2a992f68e56aec1", "scanner": "scanner-primary", "fingerprint": "2aaf3d9199fe3419", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf81a13ae93e81fb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/sessions/hooks/useSessionRestore.ts:52"}, "properties": {"repobilityId": "929f080f53379471", "scanner": "scanner-primary", "fingerprint": "cf81a13ae93e81fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f6a9acb0fdc1672", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/sessions/hooks/useRenameState.test.ts:194"}, "properties": {"repobilityId": "da7ff3e6e30464c1", "scanner": "scanner-primary", "fingerprint": "5f6a9acb0fdc1672", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a15863a1508198a7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/sessions/hooks/useActiveSessionController.ts:39"}, "properties": {"repobilityId": "1a7a1a6e5fa987b5", "scanner": "scanner-primary", "fingerprint": "a15863a1508198a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92f09665edbd27a5", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/sessions/hooks/useRenameState.ts:38"}, "properties": {"repobilityId": "cf98d204d0f4ad1c", "scanner": "scanner-primary", "fingerprint": "92f09665edbd27a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4160363c30402555", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/sessions/hooks/useSessionManager.ts:252"}, "properties": {"repobilityId": "b5ebdbc4dfc6e95b", "scanner": "scanner-primary", "fingerprint": "4160363c30402555", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8179e3f441ce3b64", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/sessions/hooks/useSessionManager.test.ts:761"}, "properties": {"repobilityId": "e350c3dd732ebe1d", "scanner": "scanner-primary", "fingerprint": "8179e3f441ce3b64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c173d3b4513e7bc", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/features/workspace/WorkspaceView.subscription.test.tsx:304"}, "properties": {"repobilityId": "0b86c2b9467c0c46", "scanner": "scanner-primary", "fingerprint": "3c173d3b4513e7bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9539c637a80ba1f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/workspace/WorkspaceView.tsx:161"}, "properties": {"repobilityId": "859167966275e309", "scanner": "scanner-primary", "fingerprint": "9539c637a80ba1f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16d6170c07cd9377", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/WorkspaceView.test.tsx:1341"}, "properties": {"repobilityId": "e7b63380dbc68a0b", "scanner": "scanner-primary", "fingerprint": "16d6170c07cd9377", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb9e45859f1de726", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/workspace/commands/buildWorkspaceCommands.ts:8"}, "properties": {"repobilityId": "01c621ec595cd6f4", "scanner": "scanner-primary", "fingerprint": "fb9e45859f1de726", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-356fb17bb5c1e4bb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/workspace/utils/parseModelTitle.ts:8"}, "properties": {"repobilityId": "466a8eb43b381f1a", "scanner": "scanner-primary", "fingerprint": "356fb17bb5c1e4bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a7591416974b68e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/utils/sidebarCollapsedStore.ts:1"}, "properties": {"repobilityId": "f3659d661e871116", "scanner": "scanner-primary", "fingerprint": "7a7591416974b68e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec4faf1f6f8d5f63", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/workspace/components/DockPanel.tsx:155"}, "properties": {"repobilityId": "a29da1e334ffbc0a", "scanner": "scanner-primary", "fingerprint": "ec4faf1f6f8d5f63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb435e21a755e697", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/components/AgentStatusCard.tsx:7"}, "properties": {"repobilityId": "c9be1baf36b06bd4", "scanner": "scanner-primary", "fingerprint": "cb435e21a755e697", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51441e61871aa254", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/workspace/components/SidebarToggle.tsx:27"}, "properties": {"repobilityId": "29d6e9a0964ae1c8", "scanner": "scanner-primary", "fingerprint": "51441e61871aa254", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b0958accada14d7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/workspace/components/SessionsView.tsx:24"}, "properties": {"repobilityId": "8bbaab6c2e111b1f", "scanner": "scanner-primary", "fingerprint": "9b0958accada14d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ee109b7846cf645", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/workspace/components/TerminalZone.test.tsx:646"}, "properties": {"repobilityId": "c5ccba895ce760c3", "scanner": "scanner-primary", "fingerprint": "9ee109b7846cf645", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09fc084b55300fe2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/components/DockTab.test.tsx:332"}, "properties": {"repobilityId": "4e554cb4e1edf05e", "scanner": "scanner-primary", "fingerprint": "09fc084b55300fe2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a1f26aa1d4fc9d2", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/workspace/hooks/useSidebarShortcut.ts:17"}, "properties": {"repobilityId": "7d0411f32ae0f519", "scanner": "scanner-primary", "fingerprint": "7a1f26aa1d4fc9d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e99687e15c1f573", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/hooks/useNewSessionShortcut.ts:11"}, "properties": {"repobilityId": "04a5338e62ae2e52", "scanner": "scanner-primary", "fingerprint": "5e99687e15c1f573", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-327774724b47a556", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/workspace/hooks/useDockToggleShortcut.ts:11"}, "properties": {"repobilityId": "549d2bf741c69b54", "scanner": "scanner-primary", "fingerprint": "327774724b47a556", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87faacd2de1e6d23", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/workspace/overlays/useNativeSurface.ts:73"}, "properties": {"repobilityId": "1652ef1b19fbbe97", "scanner": "scanner-primary", "fingerprint": "87faacd2de1e6d23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c75203eb364fb19e", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/files/types/index.test.ts:188"}, "properties": {"repobilityId": "4a909c46ea1acc9d", "scanner": "scanner-primary", "fingerprint": "c75203eb364fb19e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2f8a047071a5f526", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/files/components/ContextMenu.test.tsx:11"}, "properties": {"repobilityId": "6a309c33fc10e012", "scanner": "scanner-primary", "fingerprint": "2f8a047071a5f526", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c3d1bfbd4082bd7c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/files/services/fileSystemService.ts:30"}, "properties": {"repobilityId": "43746c8e78f52a55", "scanner": "scanner-primary", "fingerprint": "c3d1bfbd4082bd7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52b53f15e80293f6", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/terminal/orchestration/usePtyBufferDrain.ts:30"}, "properties": {"repobilityId": "6a63f4c39655636a", "scanner": "scanner-primary", "fingerprint": "52b53f15e80293f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a585d81f5819697", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.test.tsx:1122"}, "properties": {"repobilityId": "6d2e38e222b9b079", "scanner": "scanner-primary", "fingerprint": "9a585d81f5819697", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bb1fa30374d3fb0", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.ts:275"}, "properties": {"repobilityId": "103a3fe8a53b01b1", "scanner": "scanner-primary", "fingerprint": "7bb1fa30374d3fb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ad4c188868c8bd4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/Body.agent-osc.test.tsx:509"}, "properties": {"repobilityId": "6e675605b5b41d81", "scanner": "scanner-primary", "fingerprint": "3ad4c188868c8bd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4be18b4aa3f431ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/index.tsx:91"}, "properties": {"repobilityId": "0f0a637b43183328", "scanner": "scanner-primary", "fingerprint": "4be18b4aa3f431ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9fbc1819c215803", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/terminal/components/TerminalPane/Body.tsx:75"}, "properties": {"repobilityId": "8a9ee0f9dd347271", "scanner": "scanner-primary", "fingerprint": "f9fbc1819c215803", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abb265ca94b0adcf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/GitRefChip.test.tsx:65"}, "properties": {"repobilityId": "a05c58d2306b85ff", "scanner": "scanner-primary", "fingerprint": "abb265ca94b0adcf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d48765ad0e5ab451", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/TerminalPane/agentCwdHint.test.ts:331"}, "properties": {"repobilityId": "5f99a914b50cb8c1", "scanner": "scanner-primary", "fingerprint": "d48765ad0e5ab451", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1042bcd142c61a75", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.test.tsx:34"}, "properties": {"repobilityId": "ae01b0cb79b49b2a", "scanner": "scanner-primary", "fingerprint": "1042bcd142c61a75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b73e13b1cb031c86", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/terminal/components/LayoutSwitcher/LayoutSwitcher.tsx:35"}, "properties": {"repobilityId": "1e52257330039a0f", "scanner": "scanner-primary", "fingerprint": "b73e13b1cb031c86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19aea3e4b11e55ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.test.tsx:727"}, "properties": {"repobilityId": "5950eac589804606", "scanner": "scanner-primary", "fingerprint": "19aea3e4b11e55ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fee27cb8603f6838", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/terminal/components/SplitView/EmptySlot.tsx:13"}, "properties": {"repobilityId": "cb01ab97542b78de", "scanner": "scanner-primary", "fingerprint": "fee27cb8603f6838", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cff1e5418de18ac", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/terminal/components/SplitView/layouts.test.ts:20"}, "properties": {"repobilityId": "6532b6b5aedf5fa2", "scanner": "scanner-primary", "fingerprint": "5cff1e5418de18ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-353fabae61858cdb", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/features/terminal/components/SplitView/SplitDividers.tsx:17"}, "properties": {"repobilityId": "668d8057ef306643", "scanner": "scanner-primary", "fingerprint": "353fabae61858cdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0999b465cd90775", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/components/SplitView/SplitView.tsx:149"}, "properties": {"repobilityId": "696013f4bf70f2b4", "scanner": "scanner-primary", "fingerprint": "e0999b465cd90775", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-029ca178e75c3630", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/features/terminal/components/SplitView/SplitDividers.test.tsx:74"}, "properties": {"repobilityId": "835a7b8b78436cb9", "scanner": "scanner-primary", "fingerprint": "029ca178e75c3630", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b3454d30390eb73", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/terminal/hooks/usePaneShortcuts.ts:12"}, "properties": {"repobilityId": "62bca6e34606f81f", "scanner": "scanner-primary", "fingerprint": "2b3454d30390eb73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-121dc41ff0d81e38", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/hooks/usePaneShortcuts.test.ts:106"}, "properties": {"repobilityId": "0d49ea1f1454e661", "scanner": "scanner-primary", "fingerprint": "121dc41ff0d81e38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23006d52b583a40a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/hooks/useBurnerTerminals.ts:224"}, "properties": {"repobilityId": "2c245cd32de00ec0", "scanner": "scanner-primary", "fingerprint": "23006d52b583a40a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ed41e0a2cdc6994", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.ts:328"}, "properties": {"repobilityId": "c6b2e64645fa65f5", "scanner": "scanner-primary", "fingerprint": "4ed41e0a2cdc6994", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bc35e2b3662cfba", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/terminal/hooks/useTerminal.test.ts:864"}, "properties": {"repobilityId": "4b13dd7f6282f960", "scanner": "scanner-primary", "fingerprint": "2bc35e2b3662cfba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46be24897929165f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/terminal/services/desktopTerminalService.test.ts:643"}, "properties": {"repobilityId": "04449b2538fd4526", "scanner": "scanner-primary", "fingerprint": "46be24897929165f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b3b5c754163d906", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/command-palette/hooks/useCommandPalette.ts:41"}, "properties": {"repobilityId": "937c6b86f7c7c975", "scanner": "scanner-primary", "fingerprint": "1b3b5c754163d906", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00e5f1ee5a141bde", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/command-palette/hooks/useCommandPalette.test.ts:542"}, "properties": {"repobilityId": "37ef78067a555396", "scanner": "scanner-primary", "fingerprint": "00e5f1ee5a141bde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b13a1ccf89553179", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/editor/utils/readingStyleStore.ts:1"}, "properties": {"repobilityId": "2f1190922b1cda55", "scanner": "scanner-primary", "fingerprint": "b13a1ccf89553179", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a54df637097e1c82", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/ContextMenu.test.tsx:11"}, "properties": {"repobilityId": "5429b781239ffbeb", "scanner": "scanner-primary", "fingerprint": "a54df637097e1c82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6c07fd4ccd14cffb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.test.tsx:179"}, "properties": {"repobilityId": "6a3abef854af91ca", "scanner": "scanner-primary", "fingerprint": "6c07fd4ccd14cffb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35527ff8e897ba7c", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/MarkdownReadingView.tsx:244"}, "properties": {"repobilityId": "251aeed7f77fe99e", "scanner": "scanner-primary", "fingerprint": "35527ff8e897ba7c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8f73a75d7b44eb77", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/editor/components/MarkdownReadingView.tsx:25"}, "properties": {"repobilityId": "c49224b383281344", "scanner": "scanner-primary", "fingerprint": "8f73a75d7b44eb77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e70d036fab9176e1", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/editor/components/CodeEditor.tsx:165"}, "properties": {"repobilityId": "410df2c799084964", "scanner": "scanner-primary", "fingerprint": "e70d036fab9176e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3c850d56f99ca5c6", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/editor/components/CodeEditor.tsx:62"}, "properties": {"repobilityId": "d4374ed3ac1ee7a5", "scanner": "scanner-primary", "fingerprint": "3c850d56f99ca5c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7089e7e98907308e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/editor/components/UnsavedChangesDialog.tsx:33"}, "properties": {"repobilityId": "8874b6731068c43e", "scanner": "scanner-primary", "fingerprint": "7089e7e98907308e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d6cfeee3c1a5601", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/editor/hooks/useCodeMirror.ts:307"}, "properties": {"repobilityId": "eb5f8e9dd88e178e", "scanner": "scanner-primary", "fingerprint": "7d6cfeee3c1a5601", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd1fbf815ff476ce", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/features/editor/hooks/useCodeMirror.test.ts:39"}, "properties": {"repobilityId": "d6c6fe613e0e57ce", "scanner": "scanner-primary", "fingerprint": "fd1fbf815ff476ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3a5c99479d6f1c9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/editor/services/fileService.ts:41"}, "properties": {"repobilityId": "0d8c1d70c0cc4dd6", "scanner": "scanner-primary", "fingerprint": "c3a5c99479d6f1c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83a73de0693cad87", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/editor/services/languageService.ts:34"}, "properties": {"repobilityId": "8bcde373defc0e46", "scanner": "scanner-primary", "fingerprint": "83a73de0693cad87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89f34c42618ea5db", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/diff/demo/InlineCommentDemo.tsx:12"}, "properties": {"repobilityId": "5bf48af505df1814", "scanner": "scanner-primary", "fingerprint": "89f34c42618ea5db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ebf7e4f310ce94c", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/features/diff/components/DiffPanelContent.test.tsx:34"}, "properties": {"repobilityId": "4bb788eaac1dbad4", "scanner": "scanner-primary", "fingerprint": "0ebf7e4f310ce94c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ed93610721e1c39", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/components/DiffPanelContent.tsx:64"}, "properties": {"repobilityId": "82b929a9f690f18d", "scanner": "scanner-primary", "fingerprint": "8ed93610721e1c39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44db77c2125a619e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.test.tsx:95"}, "properties": {"repobilityId": "b795ebe279259e44", "scanner": "scanner-primary", "fingerprint": "44db77c2125a619e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-caab49bfd16a4d34", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ChangeStepper.tsx:21"}, "properties": {"repobilityId": "c74ffeced152f8eb", "scanner": "scanner-primary", "fingerprint": "caab49bfd16a4d34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f3e6760dd31abec", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.test.tsx:6"}, "properties": {"repobilityId": "6279e2259638c220", "scanner": "scanner-primary", "fingerprint": "7f3e6760dd31abec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05b596a27a7cc59f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/components/toolbar/Toggle.tsx:9"}, "properties": {"repobilityId": "9bb62b06d560eee5", "scanner": "scanner-primary", "fingerprint": "05b596a27a7cc59f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4e600b3175a0425", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/components/toolbar/ViewSettingsDropdown.tsx:48"}, "properties": {"repobilityId": "368ddb670b3c16aa", "scanner": "scanner-primary", "fingerprint": "c4e600b3175a0425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e539bda7a429339", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/DiffChipToolbar.tsx:142"}, "properties": {"repobilityId": "b41d423436509cca", "scanner": "scanner-primary", "fingerprint": "9e539bda7a429339", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e3410b28e742891", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/ToolWell.tsx:41"}, "properties": {"repobilityId": "4605361ffdaa4a51", "scanner": "scanner-primary", "fingerprint": "3e3410b28e742891", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6fe0aa6251e239f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/components/toolbar/PriorityPlus.tsx:23"}, "properties": {"repobilityId": "eb54eec3bfc99746", "scanner": "scanner-primary", "fingerprint": "d6fe0aa6251e239f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca97feca13166e51", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/hooks/useGitStatus.ts:169"}, "properties": {"repobilityId": "c18470cd4eb82621", "scanner": "scanner-primary", "fingerprint": "ca97feca13166e51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5bb08e4810e8f58", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/hooks/useGitBranch.ts:70"}, "properties": {"repobilityId": "a2bcf51676bca86e", "scanner": "scanner-primary", "fingerprint": "b5bb08e4810e8f58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ba69d7b098df7de", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/services/feedbackDispatch.ts:7"}, "properties": {"repobilityId": "cf6c211de0ae088e", "scanner": "scanner-primary", "fingerprint": "9ba69d7b098df7de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9732eb5304d38ba5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/features/diff/services/gitService.ts:241"}, "properties": {"repobilityId": "4f2b21f8e07c4ff5", "scanner": "scanner-primary", "fingerprint": "9732eb5304d38ba5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf27d286b360a3b8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/diff/services/gitPatch.ts:7"}, "properties": {"repobilityId": "e19102e528adb87f", "scanner": "scanner-primary", "fingerprint": "bf27d286b360a3b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a78f5a62bbcb6a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/services/gitPatch.test.ts:113"}, "properties": {"repobilityId": "caf3c4e86bf5a110", "scanner": "scanner-primary", "fingerprint": "1a78f5a62bbcb6a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6676453f8c731ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/diff/services/workerPoolWrites.ts:3"}, "properties": {"repobilityId": "c71518d01c50a331", "scanner": "scanner-primary", "fingerprint": "a6676453f8c731ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bdc72f5d50ae67f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/agent-status/utils/matchChangedFile.ts:3"}, "properties": {"repobilityId": "a3a5a8d031c25d1f", "scanner": "scanner-primary", "fingerprint": "2bdc72f5d50ae67f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5961d7783b676358", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/agent-status/utils/toolCallsToEvents.ts:33"}, "properties": {"repobilityId": "e4891b6303931839", "scanner": "scanner-primary", "fingerprint": "5961d7783b676358", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fff48da3033450fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/agent-status/utils/contextTone.ts:9"}, "properties": {"repobilityId": "190d30ac8d9e6806", "scanner": "scanner-primary", "fingerprint": "fff48da3033450fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-120f270282ce0025", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityFeed.tsx:30"}, "properties": {"repobilityId": "5f5c4bed7d1341d3", "scanner": "scanner-primary", "fingerprint": "120f270282ce0025", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec947ae83ed4fc74", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/agent-status/components/AgentStatusRail.tsx:20"}, "properties": {"repobilityId": "53cff52a0fe0e81b", "scanner": "scanner-primary", "fingerprint": "ec947ae83ed4fc74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3757c291e367e82", "level": "note", "message": {"text": "Legacy-named symbol `content_copy` in src/features/agent-status/components/ActivityEvent.tsx:347"}, "properties": {"repobilityId": "85ab7e4affacc801", "scanner": "scanner-primary", "fingerprint": "a3757c291e367e82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b8b63ff28e25ae0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/ActivityEvent.tsx:61"}, "properties": {"repobilityId": "c27a854939bf4039", "scanner": "scanner-primary", "fingerprint": "1b8b63ff28e25ae0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2193318bb6305c03", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/agent-status/components/TestResults.tsx:255"}, "properties": {"repobilityId": "046c5f38d7fbcffe", "scanner": "scanner-primary", "fingerprint": "2193318bb6305c03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f57e21208de467b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.test.tsx:294"}, "properties": {"repobilityId": "8cf168bd9f0cc979", "scanner": "scanner-primary", "fingerprint": "f57e21208de467b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-907fa9317c0192bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/agent-status/components/LiquidFill.tsx:36"}, "properties": {"repobilityId": "14b58eec3d7f57cf", "scanner": "scanner-primary", "fingerprint": "907fa9317c0192bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0b821f3688dd8c7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/agent-status/components/AgentStatusPanel/index.test.tsx:172"}, "properties": {"repobilityId": "621d33407b08e077", "scanner": "scanner-primary", "fingerprint": "d0b821f3688dd8c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d70eeef2789729c6", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/features/agent-status/hooks/useAgentStatus.ts:127"}, "properties": {"repobilityId": "289af1bb517db18d", "scanner": "scanner-primary", "fingerprint": "d70eeef2789729c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cae40bb8acc53bae", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/features/agent-status/hooks/useWaterCursor.ts:141"}, "properties": {"repobilityId": "769af8cf45bc578a", "scanner": "scanner-primary", "fingerprint": "cae40bb8acc53bae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7989e54e47d5dbe9", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/features/agent-status/hooks/useWaterCursor.test.tsx:406"}, "properties": {"repobilityId": "0ee3db17560b1330", "scanner": "scanner-primary", "fingerprint": "7989e54e47d5dbe9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77894335e9b2c7ef", "level": "note", "message": {"text": "Legacy-named symbol `toolu_old` in src/features/agent-status/hooks/useAgentStatus.test.ts:1021"}, "properties": {"repobilityId": "b29d700a2c5c229d", "scanner": "scanner-primary", "fingerprint": "77894335e9b2c7ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-26ba1818104d5101", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/features/agent-status/hooks/useAgentStatus.test.ts:120"}, "properties": {"repobilityId": "d098bdc0c3310f02", "scanner": "scanner-primary", "fingerprint": "26ba1818104d5101", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-563c902e180131f8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/features/browser/components/BrowserPane.tsx:95"}, "properties": {"repobilityId": "0deed79aed000cbc", "scanner": "scanner-primary", "fingerprint": "563c902e180131f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}