{"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-e3f55d03056661cf", "name": "Stray `console.log` in TS/JS \u2014 list_models.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 list_models.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46aead47768d40d9", "name": "Stray `console.log` in TS/JS \u2014 tmp_inject_button.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tmp_inject_button.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b26450366d7e87dd", "name": "Stray `console.log` in TS/JS \u2014 fix_footer.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 fix_footer.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24e128e11d7bd6ab", "name": "Stray `console.log` in TS/JS \u2014 scripts/build-electron.js:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/build-electron.js:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0dffa82d8521827", "name": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/licenses/page.tsx:146", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/licenses/page.tsx:146"}, "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-bb43e9236e1c0519", "name": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/analytics/page.tsx:122", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/analytics/page.tsx:122"}, "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-20222a1d6b19b789", "name": "`truncate` class without `title=` for hover reveal \u2014 admin/app/invite/[token]/page.tsx:259", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/invite/[token]/page.tsx:259"}, "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-76b135d0d5b007d9", "name": "`truncate` class without `title=` for hover reveal \u2014 admin/components/CanvasViewer.tsx:265", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/components/CanvasViewer.tsx:265"}, "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-16080b512849fff4", "name": "`truncate` class without `title=` for hover reveal \u2014 src/App.tsx:580", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/App.tsx:580"}, "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-c28e090d3ef31aa0", "name": "Stray `console.log` in TS/JS \u2014 src/App.tsx:1602", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/App.tsx:1602"}, "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-494ed7e8c6494611", "name": "`truncate` class without `title=` for hover reveal \u2014 src/evals/EvalRunner.tsx:264", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/evals/EvalRunner.tsx:264"}, "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-7d0771bd3d997e3a", "name": "Stray `console.log` in TS/JS \u2014 src/hooks/useClaudeAgent.ts:118", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/useClaudeAgent.ts:118"}, "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-584d7e76568f51f7", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/PdfPasswordModal.tsx:44", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PdfPasswordModal.tsx:44"}, "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-04c80c91b0dac512", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentSettings.tsx:135", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentSettings.tsx:135"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2fb8d04c451dd06a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/SettingsPanel.tsx:215", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SettingsPanel.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-50be78a7cada9cf8", "name": "\"active\" state uses light bg in a dark theme \u2014 src/components/SettingsPanel.tsx:168", "shortDescription": {"text": "\"active\" state uses light bg in a dark theme \u2014 src/components/SettingsPanel.tsx:168"}, "fullDescription": {"text": "A ternary like `active ? 'bg-white' : '...'` (or bg-gray-100/200) on a dark theme produces jarring white pills. Use a dark-emphasized active state instead \u2014 border + ring or slightly brighter dark bg. Example: `active ? 'bg-gray-800 border-gray-500 ring-1 ring-blue-500/30' : '\u2026'`.\n\nWhy: P-E in CHECKLIST.md \u2014 light bg in a dark theme is a class of regression.\nRule id: fq.active-light-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-267bbbc947848b35", "name": "Icon-only button without accessible name \u2014 src/components/AgentPanel.tsx:83", "shortDescription": {"text": "Icon-only button without accessible name \u2014 src/components/AgentPanel.tsx:83"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c6865ab6a4f34db", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentPanel.tsx:107", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentPanel.tsx:107"}, "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-cd88bf12684a2adb", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/WorkflowPanel.tsx:215", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WorkflowPanel.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-b99a9a9a2574dfda", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/WhatISee.tsx:258", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WhatISee.tsx:258"}, "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-d542aaf1b6749011", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/QuickActionBar.tsx:370", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/QuickActionBar.tsx:370"}, "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-96ab3b38339d4aa6", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/smartRouter.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/smartRouter.ts:39"}, "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-ad754eb6adcf16c2", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/checkpoint.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/checkpoint.ts:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7098b3e31b35100", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/orchestrator.ts:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/orchestrator.ts:145"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73ca5132be10859c", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/modelAllocator.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/modelAllocator.ts:114"}, "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-0bfce91ae71d0dd6", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/planner.ts:619", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/planner.ts:619"}, "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-9a34d194b3dad54e", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/toolCache.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/toolCache.ts:63"}, "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-85f99de02816a4c0", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/claudeAgent.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/claudeAgent.ts:82"}, "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-3e05cecd35a06fcc", "name": "Stray `console.log` in TS/JS \u2014 src/core/agent/adapters/deepseekAdapter.ts:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/adapters/deepseekAdapter.ts:194"}, "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-498d418bea1310f4", "name": "Stray `console.log` in TS/JS \u2014 src/core/engine/intentEngine.ts:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/engine/intentEngine.ts:194"}, "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-9b306de240b483bb", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/KlypixCanvas.tsx:3773", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/KlypixCanvas.tsx:3773"}, "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-c94957249fd9726c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/tabs/TabBar.tsx:106", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/tabs/TabBar.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-cd1581479b46eaa6", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ChatThread.tsx:176", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ChatThread.tsx:176"}, "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-3a7f6ca18d8bc09a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ConnectPicker.tsx:117", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ConnectPicker.tsx:117"}, "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-99d0856e97a4c18d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ContextMenu.tsx:648", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ContextMenu.tsx:648"}, "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-f91ebe256dbf663d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CanvasSettingsPopover.tsx:131", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CanvasSettingsPopover.tsx:131"}, "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-5c6940cc6af16031", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CommentsPanel.tsx:165", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CommentsPanel.tsx:165"}, "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-ce0a5e6c790fa73f", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TextFormatCapsule.tsx:497", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TextFormatCapsule.tsx:497"}, "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-afd1e0e9bed80bde", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TidyBrainPill.tsx:26", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TidyBrainPill.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-d0fc8d9c91ff6772", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/SearchPanel.tsx:151", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/SearchPanel.tsx:151"}, "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-9fd117bf7065ef75", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/TemplatesPanel.tsx:91", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/TemplatesPanel.tsx:91"}, "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-354c28d48c049cd4", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/SmartCollectionsPanel.tsx:230", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/SmartCollectionsPanel.tsx:230"}, "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-6a5a7410984edfd0", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/VersionHistoryPanel.tsx:128", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/VersionHistoryPanel.tsx:128"}, "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-46c87e81be5fbdad", "name": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useCanvasCollab.ts:296", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useCanvasCollab.ts:296"}, "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-1aa9bd90a85dc832", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/collab/CollabPresenceChips.tsx:251", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/collab/CollabPresenceChips.tsx:251"}, "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-314988c88c8b611d", "name": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useOpSync.ts:552", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useOpSync.ts:552"}, "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-07ae46be18a50770", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/FileItem.tsx:317", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/FileItem.tsx:317"}, "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-98fb036485f4b00d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/items/ContainerItem.tsx:1703", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/items/ContainerItem.tsx:1703"}, "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-589370f1f75c0e72", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/CodeItem.tsx:201", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/CodeItem.tsx:201"}, "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-6b86a78020ce92ad", "name": "`truncate` class without `title=` for hover reveal \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:818", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:818"}, "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-ec5b1e281f7b01a8", "name": "Stray `console.log` in TS/JS \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:328", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:328"}, "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-3ee98331fe176da7", "name": "Stray `console.log` in TS/JS \u2014 electron/main.ts:305", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/main.ts:305"}, "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-88e7a463eb213d6f", "name": "Stray `console.log` in TS/JS \u2014 electron/updater.ts:118", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/updater.ts:118"}, "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-541a8a5d704ab1c3", "name": "Stray `console.log` in TS/JS \u2014 electron/mcpClient.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/mcpClient.ts:75"}, "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-c80e1124879f36a7", "name": "Stray `console.log` in TS/JS \u2014 electron/sandbox/sandboxManager.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 electron/sandbox/sandboxManager.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0baacf4a6dcfa108", "name": "Icon-only button without accessible name \u2014 claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:82", "shortDescription": {"text": "Icon-only button without accessible name \u2014 claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:82"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9771ce2b0d4168d", "name": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/intentEngine.ts:193", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/intentEngine.ts:193"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-582861a288735aec", "name": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/aiRouter.patch.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/aiRouter.patch.ts:62"}, "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-6c82a323ab64b1ed", "name": "Possible secret in list_models.ts", "shortDescription": {"text": "Possible secret in list_models.ts"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-fe72ef18c79291c0", "name": "Insecure pattern 'local_storage_auth_token' in src/core/agent/costTracker.ts:127", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/core/agent/costTracker.ts:127"}, "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-0c4c89f09b87f349", "name": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/FileItem.tsx:317", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/FileItem.tsx:317"}, "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-f0ad6ed52ea7c84e", "name": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/CodeItem.tsx:201", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/CodeItem.tsx:201"}, "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-f80c9a4ab00295e2", "name": "Insecure pattern 'node_child_process' in backups/DeepMode_backup_2026-03-04_main.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in backups/DeepMode_backup_2026-03-04_main.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71dd9336dcc6844d", "name": "Insecure pattern 'exec_used' in electron/startApps.ts:80", "shortDescription": {"text": "Insecure pattern 'exec_used' in electron/startApps.ts:80"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4ad3b67fede3422e", "name": "Insecure pattern 'node_child_process' in electron/startApps.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/startApps.ts:9"}, "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-73474874258e2c0c", "name": "Insecure pattern 'exec_used' in electron/main.ts:3304", "shortDescription": {"text": "Insecure pattern 'exec_used' in electron/main.ts:3304"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c66044e5049b06b8", "name": "Insecure pattern 'node_child_process' in electron/main.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/main.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fdd9998968fc869a", "name": "Insecure pattern 'node_child_process' in electron/sandbox/fallbackExecutor.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/fallbackExecutor.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-301385edee23010a", "name": "Insecure pattern 'node_child_process' in electron/sandbox/setupWizard.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/setupWizard.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-50d2207f66fa8ca5", "name": "Insecure pattern 'node_child_process' in electron/sandbox/wslBridge.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/wslBridge.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-e859d7eef3aeb840", "name": "Very large file: packages/klypix-mcp/src/klypix-format.mjs (976 lines)", "shortDescription": {"text": "Very large file: packages/klypix-mcp/src/klypix-format.mjs (976 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-cf777a04d4e7da73", "name": "Very large file: scripts/klypix-format.mjs (977 lines)", "shortDescription": {"text": "Very large file: scripts/klypix-format.mjs (977 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-ce60afcad91d4eae", "name": "Very large file: src/App.tsx (3922 lines)", "shortDescription": {"text": "Very large file: src/App.tsx (3922 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-1333b9952c1052aa", "name": "Very large file: src/components/SettingsPanel.tsx (1286 lines)", "shortDescription": {"text": "Very large file: src/components/SettingsPanel.tsx (1286 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-ba036f26964b070c", "name": "Very large file: src/i18n/strings.ts (1095 lines)", "shortDescription": {"text": "Very large file: src/i18n/strings.ts (1095 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-5ac73b095bb6fb10", "name": "Very large file: src/core/contextIntelligence.ts (1208 lines)", "shortDescription": {"text": "Very large file: src/core/contextIntelligence.ts (1208 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-7f45c6ccaf5a1e5c", "name": "Very large file: src/core/agent/orchestrator.ts (1588 lines)", "shortDescription": {"text": "Very large file: src/core/agent/orchestrator.ts (1588 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-0ea3923926cbb86f", "name": "Very large file: src/core/agent/claudeAgent.ts (1273 lines)", "shortDescription": {"text": "Very large file: src/core/agent/claudeAgent.ts (1273 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-dffe0a1f7c03204c", "name": "Very large file: src/canvas/KlypixCanvas.tsx (4217 lines)", "shortDescription": {"text": "Very large file: src/canvas/KlypixCanvas.tsx (4217 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-8b2b78554c3bcf08", "name": "Very large file: src/canvas/dashboard/CanvasDashboard.tsx (1021 lines)", "shortDescription": {"text": "Very large file: src/canvas/dashboard/CanvasDashboard.tsx (1021 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-f2a15a48301b4215", "name": "Very large file: src/canvas/interaction/Toolbar.tsx (1269 lines)", "shortDescription": {"text": "Very large file: src/canvas/interaction/Toolbar.tsx (1269 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-887c67ec82c2a6df", "name": "Very large file: src/canvas/interaction/useCanvasInteraction.ts (2161 lines)", "shortDescription": {"text": "Very large file: src/canvas/interaction/useCanvasInteraction.ts (2161 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-731ee2e6cb7d0960", "name": "Very large file: src/canvas/agent/canvasToolExecutor.ts (1453 lines)", "shortDescription": {"text": "Very large file: src/canvas/agent/canvasToolExecutor.ts (1453 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-db96e7019a5da877", "name": "Very large file: src/canvas/state/canvasStore.tsx (1852 lines)", "shortDescription": {"text": "Very large file: src/canvas/state/canvasStore.tsx (1852 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-ad644eea45d701b4", "name": "Very large file: src/canvas/items/TextItem.tsx (1433 lines)", "shortDescription": {"text": "Very large file: src/canvas/items/TextItem.tsx (1433 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-1fd649c5ed634304", "name": "Very large file: src/canvas/items/FileItem.tsx (1538 lines)", "shortDescription": {"text": "Very large file: src/canvas/items/FileItem.tsx (1538 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-b068cba94b0c78e5", "name": "Very large file: src/canvas/items/ContainerItem.tsx (1727 lines)", "shortDescription": {"text": "Very large file: src/canvas/items/ContainerItem.tsx (1727 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-0d35fc6b15e5f733", "name": "Very large file: docs/filesV5/contextIntelligence_v5.ts (1013 lines)", "shortDescription": {"text": "Very large file: docs/filesV5/contextIntelligence_v5.ts (1013 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-e79f73929eab41cb", "name": "Very large file: electron/main.ts (6489 lines)", "shortDescription": {"text": "Very large file: electron/main.ts (6489 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "6 test file(s) for 368 source file(s) (ratio 0.02). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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 219 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 170 placeholder/mock markers across 56 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-17d866d91a7c451e", "name": "Agent instruction/config may expose a secret: CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: CLAUDE.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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.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-122f91b7f2906dc4", "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-b5ff8cbda03cd3ec", "name": "Agent instruction contains unpinned remote install: .claude/settings.local.json", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/settings.local.json"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d750434f01b5fa77", "name": "Agent authority lacks a verifier contract: .claude/commands/speckit.checklist.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.checklist.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-abe388630798be6c", "name": "Agent authority lacks a verifier contract: .claude/commands/speckit.clarify.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.clarify.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-2882da8270959730", "name": "Agent authority lacks a verifier contract: .claude/commands/speckit.plan.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.plan.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-6b0fa4b05bfb2b24", "name": "Agent authority lacks a verifier contract: .claude/commands/speckit.taskstoissues.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.taskstoissues.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-5a282cb7f1a8dbff", "name": "Agent authority lacks a verifier contract: .claude/skills/project-brain/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/project-brain/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d96cbbb2f523494", "name": "Agent authority lacks a verifier contract: .claude/skills/write-klypix/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/write-klypix/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-423afabb822b3726", "name": "Commented-code block (6 lines) in vite.config.ts:49", "shortDescription": {"text": "Commented-code block (6 lines) in vite.config.ts: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-4ac440f5e1569c3e", "name": "Commented-code block (5 lines) in packages/klypix-mcp/src/klypix-format.mjs:14", "shortDescription": {"text": "Commented-code block (5 lines) in packages/klypix-mcp/src/klypix-format.mjs: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-fd63be8b80376daa", "name": "Commented-code block (6 lines) in scripts/klypix-mcp-server.mjs:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/klypix-mcp-server.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e1e3476a97c0b30a", "name": "Commented-code block (6 lines) in scripts/brain-eval.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/brain-eval.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-bc255cd951067a57", "name": "Commented-code block (6 lines) in scripts/build-mcpb.mjs:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/build-mcpb.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38eca063e8a61224", "name": "Commented-code block (6 lines) in scripts/write-klypix.mjs:11", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/write-klypix.mjs: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-63863a0d08595a69", "name": "Commented-code block (6 lines) in scripts/build-electron.js:8", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/build-electron.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-691a7850a6350e42", "name": "Commented-code block (6 lines) in scripts/collab-sim.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/collab-sim.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-203c8cd8333b9d1b", "name": "Commented-code block (5 lines) in scripts/brain-capture.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/brain-capture.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-b5e7b44b33586970", "name": "Commented-code block (6 lines) in scripts/global-brain-hook.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/global-brain-hook.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-558f91139fb98d3f", "name": "Commented-code block (6 lines) in scripts/klypix-brain.mjs:10", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/klypix-brain.mjs: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-bfc6d5d784a516d8", "name": "Commented-code block (6 lines) in scripts/append-klypix.mjs:13", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/append-klypix.mjs: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-eb5757c4e4b5ff49", "name": "Commented-code block (5 lines) in scripts/klypix-format.mjs:14", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/klypix-format.mjs: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-a281b8ade52e3c5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 admin/app/dashboard/config/page.tsx:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 admin/app/dashboard/config/page.tsx:29"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c9be7502879addd", "name": "Commented-code block (6 lines) in admin/app/invite/[token]/page.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in admin/app/invite/[token]/page.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-7a9919cd2d7f826a", "name": "Commented-code block (5 lines) in admin/app/c/[token]/page.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in admin/app/c/[token]/page.tsx: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-e0a4bfdccb9d8d14", "name": "Commented-code block (6 lines) in admin/components/CanvasViewer.tsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in admin/components/CanvasViewer.tsx: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-6becf45adb6a81b7", "name": "Commented-code block (8 lines) in src/App.tsx:661", "shortDescription": {"text": "Commented-code block (8 lines) in src/App.tsx:661"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-949388bc196b063a", "name": "Legacy-named symbol `alt_space_memory_v1` in src/api/memoryStore.ts:21", "shortDescription": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/api/memoryStore.ts:21"}, "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-2630a979724be527", "name": "Commented-code block (5 lines) in src/api/memoryStore.ts:25", "shortDescription": {"text": "Commented-code block (5 lines) in src/api/memoryStore.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8416012081225de", "name": "Commented-code block (6 lines) in src/api/gemini.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in src/api/gemini.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-68ee8f29dab0b2c4", "name": "Commented-code block (5 lines) in src/hooks/useChat.ts:321", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/useChat.ts:321"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0309ec6eed7b53c", "name": "Legacy-named symbol `clipboard_copy` in src/hooks/useAgent.ts:465", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in src/hooks/useAgent.ts:465"}, "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-7b3a1ff581067ed0", "name": "Commented-code block (11 lines) in src/hooks/useAttachments.ts:65", "shortDescription": {"text": "Commented-code block (11 lines) in src/hooks/useAttachments.ts: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-83ad2f50e1c52f34", "name": "Commented-code block (5 lines) in src/hooks/usePendingInvitations.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/usePendingInvitations.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-1369cbf8d1a9b6f7", "name": "Commented-code block (7 lines) in src/components/KlypixMascot.tsx:75", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/KlypixMascot.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-0687d77a837c726e", "name": "Commented-code block (7 lines) in src/components/VoiceRecorderPanel.tsx:5", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/VoiceRecorderPanel.tsx: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-404388ce42d43e6f", "name": "Legacy-named symbol `alt_space_memory_v1` in src/components/SettingsPanel.tsx:885", "shortDescription": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/components/SettingsPanel.tsx:885"}, "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-911602241749ca39", "name": "Commented-code block (11 lines) in src/components/SettingsPanel.tsx:8", "shortDescription": {"text": "Commented-code block (11 lines) in src/components/SettingsPanel.tsx: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-e086c73ee8709c24", "name": "Legacy-named symbol `clipboard_copy` in src/components/AgentPanel.tsx:327", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in src/components/AgentPanel.tsx:327"}, "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-bd3821da6f0189f4", "name": "Commented-code block (11 lines) in src/components/QuickActionBar.tsx:6", "shortDescription": {"text": "Commented-code block (11 lines) in src/components/QuickActionBar.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-c832bd4f176a1223", "name": "Commented-code block (7 lines) in src/components/KlypixEyes.tsx:47", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/KlypixEyes.tsx:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7baa0bb1b4b1da3", "name": "Legacy-named symbol `invitation_too_old` in src/i18n/strings.ts:441", "shortDescription": {"text": "Legacy-named symbol `invitation_too_old` in src/i18n/strings.ts:441"}, "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-96abcef8f3ae1a57", "name": "Commented-code block (6 lines) in src/i18n/strings.ts:601", "shortDescription": {"text": "Commented-code block (6 lines) in src/i18n/strings.ts:601"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9dc394df8ca925f6", "name": "Commented-code block (9 lines) in src/core/contextIntelligence.ts:8", "shortDescription": {"text": "Commented-code block (9 lines) in src/core/contextIntelligence.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-4901e1709eb834c8", "name": "Commented-code block (5 lines) in src/core/agent/orchestrator.ts:167", "shortDescription": {"text": "Commented-code block (5 lines) in src/core/agent/orchestrator.ts:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-544f703cf6eede1d", "name": "Legacy-named symbol `runLegacy` in src/core/agent/claudeAgent.ts:136", "shortDescription": {"text": "Legacy-named symbol `runLegacy` in src/core/agent/claudeAgent.ts:136"}, "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-e61f4a82569b32bb", "name": "Commented-code block (8 lines) in src/core/agent/claudeAgent.ts:206", "shortDescription": {"text": "Commented-code block (8 lines) in src/core/agent/claudeAgent.ts:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44ff37d382928221", "name": "Legacy-named symbol `clipboard_copy` in src/core/agent/toolExecutor.ts:134", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in src/core/agent/toolExecutor.ts:134"}, "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-5aa7f4180e7432d4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/openaiAdapter.ts:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/openaiAdapter.ts:53"}, "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-72917c0eac22e273", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/deepseekAdapter.ts:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/deepseekAdapter.ts:94"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b07831be6ad7bd2", "name": "Commented-code block (6 lines) in src/core/agent/adapters/claudeAdapter.ts:42", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/agent/adapters/claudeAdapter.ts:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6e65e475d43177b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/glmAdapter.ts:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/glmAdapter.ts:82"}, "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-4ecf1af376bb7bba", "name": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentEngine.ts:53", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentEngine.ts:53"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf853bd863f53036", "name": "Commented-code block (5 lines) in src/core/engine/intentEngine.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in src/core/engine/intentEngine.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-0b37992b4d18766b", "name": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentTypes.ts:19", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentTypes.ts:19"}, "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-81a2c6aa813b5378", "name": "Commented-code block (6 lines) in src/services/flash/flashEngine.ts:31", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/flash/flashEngine.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-5dad2c585e8b48e5", "name": "Commented-code block (5 lines) in src/services/router/qualityGate.ts:75", "shortDescription": {"text": "Commented-code block (5 lines) in src/services/router/qualityGate.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cef0a9806f67e4be", "name": "Commented-code block (5 lines) in src/canvas/CanvasRenderer.tsx:28", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/CanvasRenderer.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13bf6575ccce58a8", "name": "Commented-code block (5 lines) in src/canvas/KlypixCanvas.tsx:117", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/KlypixCanvas.tsx:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac532a59f13406b8", "name": "Commented-code block (5 lines) in src/canvas/gridSettings.ts:99", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/gridSettings.ts:99"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c7051c6a6dcc3da", "name": "Legacy-named symbol `invitation_too_old` in src/canvas/dashboard/CanvasDashboard.tsx:757", "shortDescription": {"text": "Legacy-named symbol `invitation_too_old` in src/canvas/dashboard/CanvasDashboard.tsx:757"}, "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-d6d555d79f4c49c8", "name": "Commented-code block (8 lines) in src/canvas/dashboard/CanvasDashboard.tsx:205", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/dashboard/CanvasDashboard.tsx:205"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4c7f5c2966f43fe", "name": "Commented-code block (6 lines) in src/canvas/dashboard/pathDisplay.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/dashboard/pathDisplay.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-9ec3fbc0f847c3f6", "name": "Commented-code block (6 lines) in src/canvas/dashboard/closeSnapshotRegistry.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/dashboard/closeSnapshotRegistry.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-cbb1a615ebc65001", "name": "Commented-code block (5 lines) in src/canvas/dashboard/starredCanvasesStore.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/starredCanvasesStore.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-16910da2b0ff04e0", "name": "Commented-code block (5 lines) in src/canvas/dashboard/recentlyClosedStore.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/recentlyClosedStore.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-3ceb4a87b0b50b04", "name": "Commented-code block (5 lines) in src/canvas/dashboard/vaultTagIndex.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/vaultTagIndex.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-d6b9a9fa2b7d66d1", "name": "Commented-code block (5 lines) in src/canvas/sync/openSharedCanvas.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/sync/openSharedCanvas.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-44a85be767755446", "name": "Commented-code block (8 lines) in src/canvas/sync/opTypes.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/sync/opTypes.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-09f5aa26f45d9a0b", "name": "Commented-code block (5 lines) in src/canvas/tabs/TabBar.tsx:12", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/tabs/TabBar.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-903bae2081ae0eb1", "name": "Commented-code block (5 lines) in src/canvas/interaction/AlignmentGrid.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/AlignmentGrid.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61baa9eda9ba158b", "name": "Commented-code block (10 lines) in src/canvas/interaction/useKeyboardShortcuts.ts:11", "shortDescription": {"text": "Commented-code block (10 lines) in src/canvas/interaction/useKeyboardShortcuts.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-476538b93b1e2996", "name": "Commented-code block (7 lines) in src/canvas/interaction/MultiSelectionBox.tsx:196", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/interaction/MultiSelectionBox.tsx:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ed6cc7483b7b7e5", "name": "Commented-code block (6 lines) in src/canvas/interaction/FillPanel.tsx:9", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/FillPanel.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-27fbfd91db829bcb", "name": "Commented-code block (5 lines) in src/canvas/interaction/scaleSelection.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/scaleSelection.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-5c5eb2addedbf5f4", "name": "Commented-code block (7 lines) in src/canvas/interaction/DrawingResizeHandles.tsx:9", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/interaction/DrawingResizeHandles.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-f8d05dd6e6806a8a", "name": "Commented-code block (9 lines) in src/canvas/interaction/ConnectPicker.tsx:6", "shortDescription": {"text": "Commented-code block (9 lines) in src/canvas/interaction/ConnectPicker.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-224257db05ff399e", "name": "Commented-code block (5 lines) in src/canvas/interaction/snapGuides.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/snapGuides.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-fe95c88eaabd7687", "name": "Commented-code block (5 lines) in src/canvas/interaction/ContextMenu.tsx:109", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ContextMenu.tsx:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7d8550bf7751b16", "name": "Commented-code block (6 lines) in src/canvas/interaction/CanvasSettingsPopover.tsx:24", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/CanvasSettingsPopover.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-d57bffe364dcd398", "name": "Commented-code block (6 lines) in src/canvas/interaction/viewAnimate.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/viewAnimate.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-6173d9b59f92babb", "name": "Commented-code block (5 lines) in src/canvas/interaction/audioTranscribe.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/audioTranscribe.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-55ed88439d68bb3d", "name": "Commented-code block (5 lines) in src/canvas/interaction/CanvasEyes.tsx:122", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/CanvasEyes.tsx:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9629ab0dbeb43c26", "name": "Commented-code block (5 lines) in src/canvas/interaction/CommandBar.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/CommandBar.tsx: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-67f7805a509905ff", "name": "Commented-code block (5 lines) in src/canvas/interaction/ContainerRotateHandle.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ContainerRotateHandle.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-a128a3057bb24db7", "name": "Commented-code block (5 lines) in src/canvas/interaction/ResizeHandle.tsx:26", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ResizeHandle.tsx:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d5d307b10a165a5", "name": "Commented-code block (6 lines) in src/canvas/interaction/ItemAlignPanel.tsx:9", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/ItemAlignPanel.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-337f25efe2f6da59", "name": "Commented-code block (6 lines) in src/canvas/interaction/TextFormatCapsule.tsx:15", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/TextFormatCapsule.tsx:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75c71daf3273726c", "name": "Commented-code block (5 lines) in src/canvas/interaction/Toolbar.tsx:50", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/Toolbar.tsx:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6a5eea406ec81f6", "name": "Commented-code block (6 lines) in src/canvas/interaction/TidyBrainPill.tsx:4", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/TidyBrainPill.tsx:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84e2f1cb3332c36d", "name": "Commented-code block (5 lines) in src/canvas/interaction/alignItems.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/alignItems.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-fcfc4b5b102d4f02", "name": "Commented-code block (6 lines) in src/canvas/interaction/AgentRunsTray.tsx:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/interaction/AgentRunsTray.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-c0ee8f7b17cd61cf", "name": "Commented-code block (5 lines) in src/canvas/interaction/RotateHandle.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/RotateHandle.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-f7c16c0257e99736", "name": "Commented-code block (5 lines) in src/canvas/interaction/useCanvasInteraction.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/interaction/useCanvasInteraction.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-471c0d0ee1380cc0", "name": "Commented-code block (7 lines) in src/canvas/drawing/WikilinkEdgesLayer.tsx:15", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/drawing/WikilinkEdgesLayer.tsx:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4adfa4cbdf78009", "name": "Commented-code block (7 lines) in src/canvas/drawing/DrawingLayer.tsx:92", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/drawing/DrawingLayer.tsx:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2826561811cd237b", "name": "Commented-code block (11 lines) in src/canvas/drawing/ConnectionsLayer.tsx:36", "shortDescription": {"text": "Commented-code block (11 lines) in src/canvas/drawing/ConnectionsLayer.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-6389f1af09fb1eb3", "name": "Commented-code block (6 lines) in src/canvas/drawing/DotClusterLayer.tsx:28", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/drawing/DotClusterLayer.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0f6e1d69e0762666", "name": "Commented-code block (8 lines) in src/canvas/file/assetRegistry.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/file/assetRegistry.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-94c6315e45407a97", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/canvas/file/assetRegistry.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/canvas/file/assetRegistry.ts:24"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc61554fd578a875", "name": "Commented-code block (5 lines) in src/canvas/file/klypixBrief.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/klypixBrief.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-05e51a5a70400986", "name": "Commented-code block (5 lines) in src/canvas/file/embedSyncStore.ts:59", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/embedSyncStore.ts:59"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3a6db3d947aaa16", "name": "Commented-code block (7 lines) in src/canvas/file/useAnyFile.ts:88", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/file/useAnyFile.ts:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b85de1ac924782dd", "name": "Commented-code block (6 lines) in src/canvas/file/klypixFormatV4.ts:192", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/file/klypixFormatV4.ts:192"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e862eba0474e1c97", "name": "Commented-code block (10 lines) in src/canvas/file/anyFormat.ts:129", "shortDescription": {"text": "Commented-code block (10 lines) in src/canvas/file/anyFormat.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c3632aaae3bb89a", "name": "Commented-code block (5 lines) in src/canvas/file/folderToZip.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/folderToZip.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-767fab846ba0302a", "name": "Commented-code block (5 lines) in src/canvas/file/builtinTemplates.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/builtinTemplates.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88401fc4b8f2ee55", "name": "Commented-code block (5 lines) in src/canvas/file/dropHandler.ts:76", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/dropHandler.ts:76"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f175ae2d9993d65c", "name": "Commented-code block (7 lines) in src/canvas/file/migrations.ts:14", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/file/migrations.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-691d836c420cf8c3", "name": "Legacy-named symbol `klypix_canvas_templates_v1` in src/canvas/file/templates.ts:10", "shortDescription": {"text": "Legacy-named symbol `klypix_canvas_templates_v1` in src/canvas/file/templates.ts:10"}, "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-0dafd73948762c03", "name": "Commented-code block (5 lines) in src/canvas/file/templates.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/file/templates.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5bc654ab4c358c3e", "name": "Commented-code block (7 lines) in src/canvas/file/captureToCanvas.ts:65", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/file/captureToCanvas.ts: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-c7d9f23200468f87", "name": "Commented-code block (5 lines) in src/canvas/agent/canvasAgent.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/agent/canvasAgent.ts:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd8b01536ce173b4", "name": "Commented-code block (8 lines) in src/canvas/agent/brainGardener.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/agent/brainGardener.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-8dda1d675eac4361", "name": "Commented-code block (5 lines) in src/canvas/agent/useAgentRuns.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/agent/useAgentRuns.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-3ff1a8b988f3f81b", "name": "Commented-code block (7 lines) in src/canvas/agent/mediaTranscriptCache.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/agent/mediaTranscriptCache.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-e7e1b930a9b5b231", "name": "Commented-code block (5 lines) in src/canvas/agent/canvasThread.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/agent/canvasThread.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-c16c1a6938762698", "name": "Commented-code block (6 lines) in src/canvas/agent/canvasToolExecutor.ts:76", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/agent/canvasToolExecutor.ts:76"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10816361ea488420", "name": "Commented-code block (5 lines) in src/canvas/layout/OutlineSidebar.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/layout/OutlineSidebar.tsx: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-e247cdb79d020b54", "name": "Commented-code block (7 lines) in src/canvas/layout/PresentationMode.tsx:18", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/layout/PresentationMode.tsx:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c6b1be200c34420", "name": "Commented-code block (6 lines) in src/canvas/layout/SmartCollectionsPanel.tsx:22", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/layout/SmartCollectionsPanel.tsx: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-43c1e10b0c4876f3", "name": "Commented-code block (5 lines) in src/canvas/collab/useCollaboratorWatcher.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCollaboratorWatcher.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-f98184cd1ebb3118", "name": "Commented-code block (7 lines) in src/canvas/collab/supabaseRealtimeClient.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/collab/supabaseRealtimeClient.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-f840fd1c5a494fc2", "name": "Commented-code block (7 lines) in src/canvas/collab/useAssetSync.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/collab/useAssetSync.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-b148ff7b546a4b03", "name": "Commented-code block (5 lines) in src/canvas/collab/useCanvasCollab.ts:192", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCanvasCollab.ts:192"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7d8ac5e9f367486", "name": "Commented-code block (8 lines) in src/canvas/collab/channelRegistry.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/collab/channelRegistry.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-dcbf03a15b7e3418", "name": "Commented-code block (7 lines) in src/canvas/collab/CollabPresenceChips.tsx:172", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/collab/CollabPresenceChips.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-e657d73fafca8efe", "name": "Commented-code block (5 lines) in src/canvas/collab/useMembershipGuard.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/collab/useMembershipGuard.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-1444391abcd6f47b", "name": "Commented-code block (9 lines) in src/canvas/collab/useOpSync.ts:15", "shortDescription": {"text": "Commented-code block (9 lines) in src/canvas/collab/useOpSync.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c0ed25dcf500740", "name": "Commented-code block (5 lines) in src/canvas/collab/useCollabHealth.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCollabHealth.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-853ab38322916f32", "name": "Commented-code block (6 lines) in src/canvas/collab/shared/opLog.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/collab/shared/opLog.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-ed09baa693284f04", "name": "Commented-code block (7 lines) in src/canvas/state/canvasStore.tsx:55", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/state/canvasStore.tsx:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a14a23b5e704042", "name": "Legacy-named symbol `isLegacy` in src/canvas/items/TextItem.tsx:313", "shortDescription": {"text": "Legacy-named symbol `isLegacy` in src/canvas/items/TextItem.tsx:313"}, "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-d4de3b34c6e9e05b", "name": "Commented-code block (5 lines) in src/canvas/items/TextItem.tsx:15", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/TextItem.tsx:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52cb080845982182", "name": "Commented-code block (7 lines) in src/canvas/items/containerMinTextSize.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/items/containerMinTextSize.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-75177708f874d113", "name": "Commented-code block (5 lines) in src/canvas/items/ImageItem.tsx:23", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/ImageItem.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-48daee2918acd226", "name": "Commented-code block (6 lines) in src/canvas/items/itemOpen.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/items/itemOpen.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-3dc6eb3412217d19", "name": "Commented-code block (8 lines) in src/canvas/items/listOps.ts:9", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/items/listOps.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-bf6c1132897f0155", "name": "Commented-code block (5 lines) in src/canvas/items/wikilinks.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/wikilinks.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-4b2739c4ed7e79a3", "name": "Commented-code block (6 lines) in src/canvas/items/BoxItem.tsx:28", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/items/BoxItem.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a282dad8cd8cfe23", "name": "Commented-code block (5 lines) in src/canvas/items/containerFit.ts:105", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/containerFit.ts:105"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae66e86ef2a830a0", "name": "Commented-code block (8 lines) in src/canvas/items/FileItem.tsx:210", "shortDescription": {"text": "Commented-code block (8 lines) in src/canvas/items/FileItem.tsx:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6292e9e7533a7f5f", "name": "Commented-code block (11 lines) in src/canvas/items/styleRuns.ts:8", "shortDescription": {"text": "Commented-code block (11 lines) in src/canvas/items/styleRuns.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-57093ca646342dc8", "name": "Commented-code block (7 lines) in src/canvas/items/types.ts:20", "shortDescription": {"text": "Commented-code block (7 lines) in src/canvas/items/types.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-1e9530391ae219f4", "name": "Commented-code block (5 lines) in src/canvas/items/useWikilinkAutocomplete.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/useWikilinkAutocomplete.tsx: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-c76fda115f60fe30", "name": "Commented-code block (5 lines) in src/canvas/items/ContainerItem.tsx:27", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/items/ContainerItem.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-4cebda6c0d8744b8", "name": "Commented-code block (6 lines) in src/canvas/cloud/syncClient.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/cloud/syncClient.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-c8fd59d8570444c8", "name": "Commented-code block (5 lines) in src/canvas/cloud/cloudShareStore.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/cloud/cloudShareStore.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-f4b2c7b1ef5f2959", "name": "Commented-code block (6 lines) in src/canvas/cloud/syncBlob.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in src/canvas/cloud/syncBlob.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-f22d7fe10d57fe83", "name": "Commented-code block (11 lines) in src/canvas/cloud/ShareModal.tsx:274", "shortDescription": {"text": "Commented-code block (11 lines) in src/canvas/cloud/ShareModal.tsx:274"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03c508b287a47e4a", "name": "Commented-code block (5 lines) in src/canvas/cloud/shareCurrentCanvas.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/canvas/cloud/shareCurrentCanvas.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-949fc4c5d9abb79c", "name": "Commented-code block (6 lines) in src/palette/paletteStore.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in src/palette/paletteStore.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-0509db9e41a8493b", "name": "Commented-code block (5 lines) in src/palette/useGlobalHotkey.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/useGlobalHotkey.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-69e11c375f6f8ced", "name": "Commented-code block (7 lines) in src/palette/search.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/palette/search.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-7f574e6dd08b6cf9", "name": "Commented-code block (11 lines) in src/palette/CommandPalette.tsx:120", "shortDescription": {"text": "Commented-code block (11 lines) in src/palette/CommandPalette.tsx: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-3a4fed5d7868e23e", "name": "Commented-code block (5 lines) in src/palette/registerProviders.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/registerProviders.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-580ae88552f067a6", "name": "Commented-code block (15 lines) in src/palette/keyboardModel.ts:8", "shortDescription": {"text": "Commented-code block (15 lines) in src/palette/keyboardModel.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-ecc65ffe674a6718", "name": "Commented-code block (6 lines) in src/palette/snippets.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in src/palette/snippets.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-497064d8ac76c9a3", "name": "Commented-code block (5 lines) in src/palette/frecency.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/frecency.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-4eb2af738023faa5", "name": "Commented-code block (6 lines) in src/palette/providers/filesProvider.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/palette/providers/filesProvider.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-2df1284875c05cc0", "name": "Legacy-named symbol `alt_space_memory_v1` in src/palette/providers/klypixSearchProvider.ts:6", "shortDescription": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/palette/providers/klypixSearchProvider.ts:6"}, "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-44cdfadf83bb7a4a", "name": "Commented-code block (5 lines) in src/palette/providers/klypixSearchProvider.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/providers/klypixSearchProvider.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-4b617b632c548d83", "name": "Commented-code block (5 lines) in src/palette/providers/vaultIndexCache.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/providers/vaultIndexCache.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-cee5f5ae512b8fd7", "name": "Legacy-named symbol `rest_v1` in src/palette/providers/webProvider.ts:79", "shortDescription": {"text": "Legacy-named symbol `rest_v1` in src/palette/providers/webProvider.ts:79"}, "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-3d26c0f58f14e1ae", "name": "Commented-code block (10 lines) in src/palette/providers/webProvider.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in src/palette/providers/webProvider.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-efaf90707aa032aa", "name": "Commented-code block (5 lines) in src/palette/providers/aiProvider.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/providers/aiProvider.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-68d4fcffec5574bf", "name": "Commented-code block (12 lines) in src/palette/providers/types.ts:8", "shortDescription": {"text": "Commented-code block (12 lines) in src/palette/providers/types.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-faa9f92fa95d7f51", "name": "Commented-code block (5 lines) in src/palette/providers/appsProvider.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/providers/appsProvider.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-b3e8b9ee4c01b32c", "name": "Commented-code block (5 lines) in src/palette/providers/clipboardProvider.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in src/palette/providers/clipboardProvider.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-0636563d2e19dda7", "name": "Commented-code block (6 lines) in src/palette/providers/canvasProvider.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/palette/providers/canvasProvider.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-bacf94ffe9dc4abc", "name": "Commented-code block (8 lines) in src/palette/providers/calculatorProvider.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in src/palette/providers/calculatorProvider.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-2f00f4fcb945d4a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/palette/providers/calculatorProvider.ts:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/palette/providers/calculatorProvider.ts:99"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-628e043a5ff8c432", "name": "Commented-code block (9 lines) in docs/filesV5/contextIntelligence_v5.ts:8", "shortDescription": {"text": "Commented-code block (9 lines) in docs/filesV5/contextIntelligence_v5.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-aac8304468d1f2e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 backups/DeepMode_backup_2026-03-04_main.ts:450", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 backups/DeepMode_backup_2026-03-04_main.ts:450"}, "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-c220aaee5eef959a", "name": "Commented-code block (5 lines) in electron/preload.ts:55", "shortDescription": {"text": "Commented-code block (5 lines) in electron/preload.ts:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d3e8f9a2db4da0d", "name": "Commented-code block (6 lines) in electron/startApps.ts:27", "shortDescription": {"text": "Commented-code block (6 lines) in electron/startApps.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-48df9716b24e8901", "name": "Legacy-named symbol `clipboard_copy` in electron/main.ts:3442", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in electron/main.ts:3442"}, "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-77ed9a04421fb9e6", "name": "Commented-code block (6 lines) in electron/main.ts:324", "shortDescription": {"text": "Commented-code block (6 lines) in electron/main.ts:324"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8df944d37cafc3c9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:3870", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:3870"}, "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-4a2540918615e638", "name": "Commented-code block (5 lines) in electron/projectBrainInstaller.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in electron/projectBrainInstaller.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-347eab860087d9b6", "name": "Commented-code block (5 lines) in electron/clipboardHistory.ts:133", "shortDescription": {"text": "Commented-code block (5 lines) in electron/clipboardHistory.ts:133"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ff0b6ee035e6c94", "name": "Commented-code block (6 lines) in electron/configMerger.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in electron/configMerger.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-ff150534da916fc4", "name": "Commented-code block (7 lines) in electron/fileSearch.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in electron/fileSearch.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-b47070869be945d7", "name": "Commented-code block (16 lines) in electron/cloudHandlers.ts:8", "shortDescription": {"text": "Commented-code block (16 lines) in electron/cloudHandlers.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-5b47ceec8441e610", "name": "Commented-code block (5 lines) in electron/offline/offlineManager.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in electron/offline/offlineManager.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-95cc949f92bca177", "name": "Commented-code block (5 lines) in electron/offline/offlineCatalog.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in electron/offline/offlineCatalog.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-48c4cdeb5d071e37", "name": "Commented-code block (6 lines) in electron/auth/authGuard.ts:92", "shortDescription": {"text": "Commented-code block (6 lines) in electron/auth/authGuard.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94cb8145c1bf397c", "name": "Commented-code block (8 lines) in electron/generators/pdfGenerator.ts:11", "shortDescription": {"text": "Commented-code block (8 lines) in electron/generators/pdfGenerator.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-0336a30d67146a74", "name": "Commented-code block (6 lines) in electron/canvas/embedWatcher.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in electron/canvas/embedWatcher.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83115cb979713219", "name": "Commented-code block (5 lines) in electron/canvas/anyFileHandler.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in electron/canvas/anyFileHandler.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-501fd934945ab1fc", "name": "Commented-code block (6 lines) in electron/canvas/klypixFileHandler.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in electron/canvas/klypixFileHandler.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-246149294d285d35", "name": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:29", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:29"}, "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-0fc11ad6f745a656", "name": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.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-cb7d63fb4a5f9025", "name": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentEngine.ts:53", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentEngine.ts:53"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1dd514a3fc9afc2e", "name": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/engine/intentEngine.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/engine/intentEngine.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-4196a61e47761918", "name": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentTypes.ts:19", "shortDescription": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentTypes.ts:19"}, "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-9da727d7843e99a4", "name": "Commented-code block (9 lines) in claude/Eye_Phase3_Code/src/engine/aiRouter.patch.ts:6", "shortDescription": {"text": "Commented-code block (9 lines) in claude/Eye_Phase3_Code/src/engine/aiRouter.patch.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}}]}}, "automationDetails": {"id": "repobility/25186"}, "properties": {"repository": "dahshanlabs/KLYPIX", "repoUrl": "https://github.com/dahshanlabs/KLYPIX", "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-e3f55d03056661cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 list_models.ts:8"}, "properties": {"repobilityId": "b8cd818dfe2901d0", "scanner": "scanner-primary", "fingerprint": "e3f55d03056661cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46aead47768d40d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tmp_inject_button.js:27"}, "properties": {"repobilityId": "3b4fb82322803e5a", "scanner": "scanner-primary", "fingerprint": "46aead47768d40d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b26450366d7e87dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 fix_footer.js:31"}, "properties": {"repobilityId": "b8ee2776145b07aa", "scanner": "scanner-primary", "fingerprint": "b26450366d7e87dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24e128e11d7bd6ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/build-electron.js:69"}, "properties": {"repobilityId": "6611043471e6d88e", "scanner": "scanner-primary", "fingerprint": "24e128e11d7bd6ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0dffa82d8521827", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/licenses/page.tsx:146"}, "properties": {"repobilityId": "364b30f26bd183b3", "scanner": "scanner-primary", "fingerprint": "c0dffa82d8521827", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bb43e9236e1c0519", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/dashboard/analytics/page.tsx:122"}, "properties": {"repobilityId": "9709053bcc64b939", "scanner": "scanner-primary", "fingerprint": "bb43e9236e1c0519", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-20222a1d6b19b789", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/app/invite/[token]/page.tsx:259"}, "properties": {"repobilityId": "4bd12412ba36c637", "scanner": "scanner-primary", "fingerprint": "20222a1d6b19b789", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-76b135d0d5b007d9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 admin/components/CanvasViewer.tsx:265"}, "properties": {"repobilityId": "28b0ad091bb97287", "scanner": "scanner-primary", "fingerprint": "76b135d0d5b007d9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-16080b512849fff4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/App.tsx:580"}, "properties": {"repobilityId": "903e15ea3fb71cd0", "scanner": "scanner-primary", "fingerprint": "16080b512849fff4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c28e090d3ef31aa0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/App.tsx:1602"}, "properties": {"repobilityId": "f3d63003b5dbefbd", "scanner": "scanner-primary", "fingerprint": "c28e090d3ef31aa0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-494ed7e8c6494611", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/evals/EvalRunner.tsx:264"}, "properties": {"repobilityId": "9aeb482e91ec283c", "scanner": "scanner-primary", "fingerprint": "494ed7e8c6494611", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7d0771bd3d997e3a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/useClaudeAgent.ts:118"}, "properties": {"repobilityId": "c11df9819cb0a443", "scanner": "scanner-primary", "fingerprint": "7d0771bd3d997e3a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-584d7e76568f51f7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PdfPasswordModal.tsx:44"}, "properties": {"repobilityId": "13ba418663f49e61", "scanner": "scanner-primary", "fingerprint": "584d7e76568f51f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-04c80c91b0dac512", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentSettings.tsx:135"}, "properties": {"repobilityId": "aeeabf1dda13477a", "scanner": "scanner-primary", "fingerprint": "04c80c91b0dac512", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2fb8d04c451dd06a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SettingsPanel.tsx:215"}, "properties": {"repobilityId": "8e28bff067bdfcea", "scanner": "scanner-primary", "fingerprint": "2fb8d04c451dd06a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-50be78a7cada9cf8", "level": "note", "message": {"text": "\"active\" state uses light bg in a dark theme \u2014 src/components/SettingsPanel.tsx:168"}, "properties": {"repobilityId": "f060b1124225d43a", "scanner": "scanner-primary", "fingerprint": "50be78a7cada9cf8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.active-light-bg"]}}, {"ruleId": "scanner-267bbbc947848b35", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 src/components/AgentPanel.tsx:83"}, "properties": {"repobilityId": "c11ab176cc0e0589", "scanner": "scanner-primary", "fingerprint": "267bbbc947848b35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-4c6865ab6a4f34db", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/AgentPanel.tsx:107"}, "properties": {"repobilityId": "a6feeae9bff1ff74", "scanner": "scanner-primary", "fingerprint": "4c6865ab6a4f34db", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cd88bf12684a2adb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WorkflowPanel.tsx:215"}, "properties": {"repobilityId": "8ec4343e02acfcec", "scanner": "scanner-primary", "fingerprint": "cd88bf12684a2adb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b99a9a9a2574dfda", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WhatISee.tsx:258"}, "properties": {"repobilityId": "a8ce0a0054552740", "scanner": "scanner-primary", "fingerprint": "b99a9a9a2574dfda", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d542aaf1b6749011", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/QuickActionBar.tsx:370"}, "properties": {"repobilityId": "4016bad77e36af3e", "scanner": "scanner-primary", "fingerprint": "d542aaf1b6749011", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-96ab3b38339d4aa6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/smartRouter.ts:39"}, "properties": {"repobilityId": "9138f47ac97afeac", "scanner": "scanner-primary", "fingerprint": "96ab3b38339d4aa6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad754eb6adcf16c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/checkpoint.ts:50"}, "properties": {"repobilityId": "e4177e3b4cce0084", "scanner": "scanner-primary", "fingerprint": "ad754eb6adcf16c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7098b3e31b35100", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/orchestrator.ts:145"}, "properties": {"repobilityId": "6675d95cf170068e", "scanner": "scanner-primary", "fingerprint": "e7098b3e31b35100", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73ca5132be10859c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/modelAllocator.ts:114"}, "properties": {"repobilityId": "1e48da9be5d4f9db", "scanner": "scanner-primary", "fingerprint": "73ca5132be10859c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0bfce91ae71d0dd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/planner.ts:619"}, "properties": {"repobilityId": "ea2eb12aa7c5807b", "scanner": "scanner-primary", "fingerprint": "0bfce91ae71d0dd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a34d194b3dad54e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/toolCache.ts:63"}, "properties": {"repobilityId": "8d5371d15b513134", "scanner": "scanner-primary", "fingerprint": "9a34d194b3dad54e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85f99de02816a4c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/claudeAgent.ts:82"}, "properties": {"repobilityId": "245f15e9814efae9", "scanner": "scanner-primary", "fingerprint": "85f99de02816a4c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e05cecd35a06fcc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/agent/adapters/deepseekAdapter.ts:194"}, "properties": {"repobilityId": "bbf3b6f4c28ed61d", "scanner": "scanner-primary", "fingerprint": "3e05cecd35a06fcc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-498d418bea1310f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/engine/intentEngine.ts:194"}, "properties": {"repobilityId": "ce4897e2b4b555de", "scanner": "scanner-primary", "fingerprint": "498d418bea1310f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b306de240b483bb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/KlypixCanvas.tsx:3773"}, "properties": {"repobilityId": "f32ee92885084620", "scanner": "scanner-primary", "fingerprint": "9b306de240b483bb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c94957249fd9726c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/tabs/TabBar.tsx:106"}, "properties": {"repobilityId": "96cccd43836fc6a7", "scanner": "scanner-primary", "fingerprint": "c94957249fd9726c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cd1581479b46eaa6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ChatThread.tsx:176"}, "properties": {"repobilityId": "99f3c2ed2ace9a73", "scanner": "scanner-primary", "fingerprint": "cd1581479b46eaa6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3a7f6ca18d8bc09a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ConnectPicker.tsx:117"}, "properties": {"repobilityId": "28002222169affb6", "scanner": "scanner-primary", "fingerprint": "3a7f6ca18d8bc09a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-99d0856e97a4c18d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/ContextMenu.tsx:648"}, "properties": {"repobilityId": "c6976fe5b1b9849b", "scanner": "scanner-primary", "fingerprint": "99d0856e97a4c18d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f91ebe256dbf663d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CanvasSettingsPopover.tsx:131"}, "properties": {"repobilityId": "f100778245bc3fd8", "scanner": "scanner-primary", "fingerprint": "f91ebe256dbf663d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5c6940cc6af16031", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/CommentsPanel.tsx:165"}, "properties": {"repobilityId": "93ed9865328f7585", "scanner": "scanner-primary", "fingerprint": "5c6940cc6af16031", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ce0a5e6c790fa73f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TextFormatCapsule.tsx:497"}, "properties": {"repobilityId": "c0a5dde493c7924b", "scanner": "scanner-primary", "fingerprint": "ce0a5e6c790fa73f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-afd1e0e9bed80bde", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/TidyBrainPill.tsx:26"}, "properties": {"repobilityId": "54a7666179988751", "scanner": "scanner-primary", "fingerprint": "afd1e0e9bed80bde", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d0fc8d9c91ff6772", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/interaction/SearchPanel.tsx:151"}, "properties": {"repobilityId": "d34f1ea0e48a944a", "scanner": "scanner-primary", "fingerprint": "d0fc8d9c91ff6772", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9fd117bf7065ef75", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/TemplatesPanel.tsx:91"}, "properties": {"repobilityId": "f630353d7ee257d0", "scanner": "scanner-primary", "fingerprint": "9fd117bf7065ef75", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-354c28d48c049cd4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/SmartCollectionsPanel.tsx:230"}, "properties": {"repobilityId": "72bb1cea07ada625", "scanner": "scanner-primary", "fingerprint": "354c28d48c049cd4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6a5a7410984edfd0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/layout/VersionHistoryPanel.tsx:128"}, "properties": {"repobilityId": "fb83b02d26be7048", "scanner": "scanner-primary", "fingerprint": "6a5a7410984edfd0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-46c87e81be5fbdad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useCanvasCollab.ts:296"}, "properties": {"repobilityId": "951d6e4e4b7cf7fa", "scanner": "scanner-primary", "fingerprint": "46c87e81be5fbdad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1aa9bd90a85dc832", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/collab/CollabPresenceChips.tsx:251"}, "properties": {"repobilityId": "8ec164ded77dc4b0", "scanner": "scanner-primary", "fingerprint": "1aa9bd90a85dc832", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-314988c88c8b611d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/canvas/collab/useOpSync.ts:552"}, "properties": {"repobilityId": "76b58bcd9163f10e", "scanner": "scanner-primary", "fingerprint": "314988c88c8b611d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-07ae46be18a50770", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/FileItem.tsx:317"}, "properties": {"repobilityId": "3bddafa9e5e8cf59", "scanner": "scanner-primary", "fingerprint": "07ae46be18a50770", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-98fb036485f4b00d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/canvas/items/ContainerItem.tsx:1703"}, "properties": {"repobilityId": "59fa0415a68b5403", "scanner": "scanner-primary", "fingerprint": "98fb036485f4b00d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-589370f1f75c0e72", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/canvas/items/CodeItem.tsx:201"}, "properties": {"repobilityId": "8b49d210cc490a2a", "scanner": "scanner-primary", "fingerprint": "589370f1f75c0e72", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-6b86a78020ce92ad", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:818"}, "properties": {"repobilityId": "b9fea5376b065779", "scanner": "scanner-primary", "fingerprint": "6b86a78020ce92ad", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ec5b1e281f7b01a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 backups/DeepMode_backup_2026-03-04_App.tsx:328"}, "properties": {"repobilityId": "40924c0d1c64511b", "scanner": "scanner-primary", "fingerprint": "ec5b1e281f7b01a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ee98331fe176da7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/main.ts:305"}, "properties": {"repobilityId": "2d2efb6cb297cadd", "scanner": "scanner-primary", "fingerprint": "3ee98331fe176da7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88e7a463eb213d6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/updater.ts:118"}, "properties": {"repobilityId": "777b23d3f72468ef", "scanner": "scanner-primary", "fingerprint": "88e7a463eb213d6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-541a8a5d704ab1c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/mcpClient.ts:75"}, "properties": {"repobilityId": "0e732a231c443545", "scanner": "scanner-primary", "fingerprint": "541a8a5d704ab1c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c80e1124879f36a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 electron/sandbox/sandboxManager.ts:38"}, "properties": {"repobilityId": "9bea1b1571987f3a", "scanner": "scanner-primary", "fingerprint": "c80e1124879f36a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0baacf4a6dcfa108", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:82"}, "properties": {"repobilityId": "cf38b4fddc52ff72", "scanner": "scanner-primary", "fingerprint": "0baacf4a6dcfa108", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-e9771ce2b0d4168d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/intentEngine.ts:193"}, "properties": {"repobilityId": "26a370e31c4d393c", "scanner": "scanner-primary", "fingerprint": "e9771ce2b0d4168d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-582861a288735aec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 claude/Eye_Phase3_Code/src/engine/aiRouter.patch.ts:62"}, "properties": {"repobilityId": "6d5758f2eaeb2570", "scanner": "scanner-primary", "fingerprint": "582861a288735aec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c82a323ab64b1ed", "level": "error", "message": {"text": "Possible secret in list_models.ts"}, "properties": {"repobilityId": "af603c3e7dfb0f81", "scanner": "scanner-primary", "fingerprint": "6c82a323ab64b1ed", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "list_models.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-fe72ef18c79291c0", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/core/agent/costTracker.ts:127"}, "properties": {"repobilityId": "7abab83d45415d47", "scanner": "scanner-primary", "fingerprint": "fe72ef18c79291c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/core/agent/costTracker.ts"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-0c4c89f09b87f349", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/FileItem.tsx:317"}, "properties": {"repobilityId": "ad7f66767860aa56", "scanner": "scanner-primary", "fingerprint": "0c4c89f09b87f349", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/canvas/items/FileItem.tsx"}, "region": {"startLine": 317}}}]}, {"ruleId": "scanner-f0ad6ed52ea7c84e", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/canvas/items/CodeItem.tsx:201"}, "properties": {"repobilityId": "48baefb8c5e0711d", "scanner": "scanner-primary", "fingerprint": "f0ad6ed52ea7c84e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/canvas/items/CodeItem.tsx"}, "region": {"startLine": 201}}}]}, {"ruleId": "scanner-f80c9a4ab00295e2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in backups/DeepMode_backup_2026-03-04_main.ts:3"}, "properties": {"repobilityId": "11309feb331b58bc", "scanner": "scanner-primary", "fingerprint": "f80c9a4ab00295e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backups/DeepMode_backup_2026-03-04_main.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-71dd9336dcc6844d", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in electron/startApps.ts:80"}, "properties": {"repobilityId": "65b61abb9ed7eb24", "scanner": "scanner-primary", "fingerprint": "71dd9336dcc6844d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/startApps.ts"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-4ad3b67fede3422e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/startApps.ts:9"}, "properties": {"repobilityId": "f07ac4e3e0bd6bff", "scanner": "scanner-primary", "fingerprint": "4ad3b67fede3422e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/startApps.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-73474874258e2c0c", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in electron/main.ts:3304"}, "properties": {"repobilityId": "20231bbdf2976c15", "scanner": "scanner-primary", "fingerprint": "73474874258e2c0c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/main.ts"}, "region": {"startLine": 3304}}}]}, {"ruleId": "scanner-c66044e5049b06b8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/main.ts:3"}, "properties": {"repobilityId": "f70c947555263ce6", "scanner": "scanner-primary", "fingerprint": "c66044e5049b06b8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/main.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-fdd9998968fc869a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/fallbackExecutor.ts:1"}, "properties": {"repobilityId": "59babdedf36cb6f0", "scanner": "scanner-primary", "fingerprint": "fdd9998968fc869a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/sandbox/fallbackExecutor.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-301385edee23010a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/setupWizard.ts:1"}, "properties": {"repobilityId": "5c41f8132852618b", "scanner": "scanner-primary", "fingerprint": "301385edee23010a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/sandbox/setupWizard.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50d2207f66fa8ca5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in electron/sandbox/wslBridge.ts:1"}, "properties": {"repobilityId": "9d8e166e0126543f", "scanner": "scanner-primary", "fingerprint": "50d2207f66fa8ca5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "electron/sandbox/wslBridge.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e859d7eef3aeb840", "level": "note", "message": {"text": "Very large file: packages/klypix-mcp/src/klypix-format.mjs (976 lines)"}, "properties": {"repobilityId": "13a12f4658ba2909", "scanner": "scanner-primary", "fingerprint": "e859d7eef3aeb840", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cf777a04d4e7da73", "level": "note", "message": {"text": "Very large file: scripts/klypix-format.mjs (977 lines)"}, "properties": {"repobilityId": "158741ebc2f35296", "scanner": "scanner-primary", "fingerprint": "cf777a04d4e7da73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ce60afcad91d4eae", "level": "note", "message": {"text": "Very large file: src/App.tsx (3922 lines)"}, "properties": {"repobilityId": "57bfc71b44f5048a", "scanner": "scanner-primary", "fingerprint": "ce60afcad91d4eae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1333b9952c1052aa", "level": "note", "message": {"text": "Very large file: src/components/SettingsPanel.tsx (1286 lines)"}, "properties": {"repobilityId": "e07781e8b3e0670f", "scanner": "scanner-primary", "fingerprint": "1333b9952c1052aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba036f26964b070c", "level": "note", "message": {"text": "Very large file: src/i18n/strings.ts (1095 lines)"}, "properties": {"repobilityId": "4f169017e0df115f", "scanner": "scanner-primary", "fingerprint": "ba036f26964b070c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5ac73b095bb6fb10", "level": "note", "message": {"text": "Very large file: src/core/contextIntelligence.ts (1208 lines)"}, "properties": {"repobilityId": "dfed9b976f7f4803", "scanner": "scanner-primary", "fingerprint": "5ac73b095bb6fb10", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7f45c6ccaf5a1e5c", "level": "note", "message": {"text": "Very large file: src/core/agent/orchestrator.ts (1588 lines)"}, "properties": {"repobilityId": "c0613d7ea10d0413", "scanner": "scanner-primary", "fingerprint": "7f45c6ccaf5a1e5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0ea3923926cbb86f", "level": "note", "message": {"text": "Very large file: src/core/agent/claudeAgent.ts (1273 lines)"}, "properties": {"repobilityId": "8cd9231160160bbc", "scanner": "scanner-primary", "fingerprint": "0ea3923926cbb86f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dffe0a1f7c03204c", "level": "note", "message": {"text": "Very large file: src/canvas/KlypixCanvas.tsx (4217 lines)"}, "properties": {"repobilityId": "19f4c194024b8670", "scanner": "scanner-primary", "fingerprint": "dffe0a1f7c03204c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b2b78554c3bcf08", "level": "note", "message": {"text": "Very large file: src/canvas/dashboard/CanvasDashboard.tsx (1021 lines)"}, "properties": {"repobilityId": "8821ae44433fc184", "scanner": "scanner-primary", "fingerprint": "8b2b78554c3bcf08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2a15a48301b4215", "level": "note", "message": {"text": "Very large file: src/canvas/interaction/Toolbar.tsx (1269 lines)"}, "properties": {"repobilityId": "f48de6755460c8ec", "scanner": "scanner-primary", "fingerprint": "f2a15a48301b4215", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-887c67ec82c2a6df", "level": "note", "message": {"text": "Very large file: src/canvas/interaction/useCanvasInteraction.ts (2161 lines)"}, "properties": {"repobilityId": "b847c8a9c9cf4f4e", "scanner": "scanner-primary", "fingerprint": "887c67ec82c2a6df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-731ee2e6cb7d0960", "level": "note", "message": {"text": "Very large file: src/canvas/agent/canvasToolExecutor.ts (1453 lines)"}, "properties": {"repobilityId": "8fca6011924c301c", "scanner": "scanner-primary", "fingerprint": "731ee2e6cb7d0960", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db96e7019a5da877", "level": "note", "message": {"text": "Very large file: src/canvas/state/canvasStore.tsx (1852 lines)"}, "properties": {"repobilityId": "2f972c6be60d8b11", "scanner": "scanner-primary", "fingerprint": "db96e7019a5da877", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad644eea45d701b4", "level": "note", "message": {"text": "Very large file: src/canvas/items/TextItem.tsx (1433 lines)"}, "properties": {"repobilityId": "f3c57ab52d8810f8", "scanner": "scanner-primary", "fingerprint": "ad644eea45d701b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1fd649c5ed634304", "level": "note", "message": {"text": "Very large file: src/canvas/items/FileItem.tsx (1538 lines)"}, "properties": {"repobilityId": "2caaae8fd255f49c", "scanner": "scanner-primary", "fingerprint": "1fd649c5ed634304", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b068cba94b0c78e5", "level": "note", "message": {"text": "Very large file: src/canvas/items/ContainerItem.tsx (1727 lines)"}, "properties": {"repobilityId": "e40b7593b3632f54", "scanner": "scanner-primary", "fingerprint": "b068cba94b0c78e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d35fc6b15e5f733", "level": "note", "message": {"text": "Very large file: docs/filesV5/contextIntelligence_v5.ts (1013 lines)"}, "properties": {"repobilityId": "1d41de6561927b31", "scanner": "scanner-primary", "fingerprint": "0d35fc6b15e5f733", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e79f73929eab41cb", "level": "note", "message": {"text": "Very large file: electron/main.ts (6489 lines)"}, "properties": {"repobilityId": "0ac3fff01134c6fa", "scanner": "scanner-primary", "fingerprint": "e79f73929eab41cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9134d8e5268384eb", "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": "f63bcded00fd650a", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "da404adc0b1a17a8", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "04f637ea9867b3f3", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "301a5aeda21aa8b8", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-17d866d91a7c451e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "properties": {"repobilityId": "ccce5984e58a48f0", "scanner": "scanner-primary", "fingerprint": "17d866d91a7c451e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 421}}}]}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5ff8cbda03cd3ec", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/settings.local.json"}, "properties": {"repobilityId": "b05139c0c155b49c", "scanner": "scanner-primary", "fingerprint": "b5ff8cbda03cd3ec", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.local.json"}, "region": {"startLine": 259}}}]}, {"ruleId": "scanner-d750434f01b5fa77", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.checklist.md"}, "properties": {"repobilityId": "490b975dd58ca941", "scanner": "scanner-primary", "fingerprint": "d750434f01b5fa77", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/speckit.checklist.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abe388630798be6c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.clarify.md"}, "properties": {"repobilityId": "f2dd5747f05d2b9f", "scanner": "scanner-primary", "fingerprint": "abe388630798be6c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/speckit.clarify.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2882da8270959730", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.plan.md"}, "properties": {"repobilityId": "e3b80b5ed1a4169d", "scanner": "scanner-primary", "fingerprint": "2882da8270959730", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/speckit.plan.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b0fa4b05bfb2b24", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/speckit.taskstoissues.md"}, "properties": {"repobilityId": "25a2f2db8174b383", "scanner": "scanner-primary", "fingerprint": "6b0fa4b05bfb2b24", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/speckit.taskstoissues.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5a282cb7f1a8dbff", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/project-brain/SKILL.md"}, "properties": {"repobilityId": "9bf4bdab086b1158", "scanner": "scanner-primary", "fingerprint": "5a282cb7f1a8dbff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/project-brain/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d96cbbb2f523494", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/write-klypix/SKILL.md"}, "properties": {"repobilityId": "85c12eced9885373", "scanner": "scanner-primary", "fingerprint": "4d96cbbb2f523494", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/write-klypix/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-423afabb822b3726", "level": "none", "message": {"text": "Commented-code block (6 lines) in vite.config.ts:49"}, "properties": {"repobilityId": "406cf8701733e7d7", "scanner": "scanner-primary", "fingerprint": "423afabb822b3726", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ac440f5e1569c3e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/klypix-mcp/src/klypix-format.mjs:14"}, "properties": {"repobilityId": "253e72b91eb70b7e", "scanner": "scanner-primary", "fingerprint": "4ac440f5e1569c3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd63be8b80376daa", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/klypix-mcp-server.mjs:2"}, "properties": {"repobilityId": "7b7060dedda36c85", "scanner": "scanner-primary", "fingerprint": "fd63be8b80376daa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1e3476a97c0b30a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/brain-eval.mjs:4"}, "properties": {"repobilityId": "2cc9910bf528b55e", "scanner": "scanner-primary", "fingerprint": "e1e3476a97c0b30a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc255cd951067a57", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/build-mcpb.mjs:2"}, "properties": {"repobilityId": "4236ea6d6bb86787", "scanner": "scanner-primary", "fingerprint": "bc255cd951067a57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38eca063e8a61224", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/write-klypix.mjs:11"}, "properties": {"repobilityId": "9eff7d6394ae370b", "scanner": "scanner-primary", "fingerprint": "38eca063e8a61224", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63863a0d08595a69", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/build-electron.js:8"}, "properties": {"repobilityId": "af33bebe83374ccd", "scanner": "scanner-primary", "fingerprint": "63863a0d08595a69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-691a7850a6350e42", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/collab-sim.mjs:4"}, "properties": {"repobilityId": "1ae08804dd923ea0", "scanner": "scanner-primary", "fingerprint": "691a7850a6350e42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-203c8cd8333b9d1b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/brain-capture.mjs:4"}, "properties": {"repobilityId": "703805e45999582f", "scanner": "scanner-primary", "fingerprint": "203c8cd8333b9d1b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5e7b44b33586970", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/global-brain-hook.mjs:4"}, "properties": {"repobilityId": "00aded2cb05aa589", "scanner": "scanner-primary", "fingerprint": "b5e7b44b33586970", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-558f91139fb98d3f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/klypix-brain.mjs:10"}, "properties": {"repobilityId": "7f48395de438a4c5", "scanner": "scanner-primary", "fingerprint": "558f91139fb98d3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfc6d5d784a516d8", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/append-klypix.mjs:13"}, "properties": {"repobilityId": "3a840e5a91596b5a", "scanner": "scanner-primary", "fingerprint": "bfc6d5d784a516d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb5757c4e4b5ff49", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/klypix-format.mjs:14"}, "properties": {"repobilityId": "7e6185cde6a2e0d9", "scanner": "scanner-primary", "fingerprint": "eb5757c4e4b5ff49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a281b8ade52e3c5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 admin/app/dashboard/config/page.tsx:29"}, "properties": {"repobilityId": "98433500189819cd", "scanner": "scanner-primary", "fingerprint": "a281b8ade52e3c5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6c9be7502879addd", "level": "none", "message": {"text": "Commented-code block (6 lines) in admin/app/invite/[token]/page.tsx:7"}, "properties": {"repobilityId": "ce373aeee6024ace", "scanner": "scanner-primary", "fingerprint": "6c9be7502879addd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a9919cd2d7f826a", "level": "none", "message": {"text": "Commented-code block (5 lines) in admin/app/c/[token]/page.tsx:11"}, "properties": {"repobilityId": "e740cf95b824705a", "scanner": "scanner-primary", "fingerprint": "7a9919cd2d7f826a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0a4bfdccb9d8d14", "level": "none", "message": {"text": "Commented-code block (6 lines) in admin/components/CanvasViewer.tsx:8"}, "properties": {"repobilityId": "13a8fdb625c61277", "scanner": "scanner-primary", "fingerprint": "e0a4bfdccb9d8d14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6becf45adb6a81b7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/App.tsx:661"}, "properties": {"repobilityId": "3597bce749daae29", "scanner": "scanner-primary", "fingerprint": "6becf45adb6a81b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-949388bc196b063a", "level": "note", "message": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/api/memoryStore.ts:21"}, "properties": {"repobilityId": "3558e4f8cc7613ff", "scanner": "scanner-primary", "fingerprint": "949388bc196b063a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2630a979724be527", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/api/memoryStore.ts:25"}, "properties": {"repobilityId": "21294fa36d232611", "scanner": "scanner-primary", "fingerprint": "2630a979724be527", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8416012081225de", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/api/gemini.ts:9"}, "properties": {"repobilityId": "57a222300b5ae237", "scanner": "scanner-primary", "fingerprint": "b8416012081225de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68ee8f29dab0b2c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/useChat.ts:321"}, "properties": {"repobilityId": "7888f533c38c609b", "scanner": "scanner-primary", "fingerprint": "68ee8f29dab0b2c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0309ec6eed7b53c", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in src/hooks/useAgent.ts:465"}, "properties": {"repobilityId": "7c950155e0560500", "scanner": "scanner-primary", "fingerprint": "e0309ec6eed7b53c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7b3a1ff581067ed0", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/hooks/useAttachments.ts:65"}, "properties": {"repobilityId": "f4469a602797e9cd", "scanner": "scanner-primary", "fingerprint": "7b3a1ff581067ed0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83ad2f50e1c52f34", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/usePendingInvitations.ts:3"}, "properties": {"repobilityId": "57c1ff438d969edc", "scanner": "scanner-primary", "fingerprint": "83ad2f50e1c52f34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1369cbf8d1a9b6f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/KlypixMascot.tsx:75"}, "properties": {"repobilityId": "bd3df0158d33ea5e", "scanner": "scanner-primary", "fingerprint": "1369cbf8d1a9b6f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0687d77a837c726e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/VoiceRecorderPanel.tsx:5"}, "properties": {"repobilityId": "824af0e6794e4d4f", "scanner": "scanner-primary", "fingerprint": "0687d77a837c726e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-404388ce42d43e6f", "level": "note", "message": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/components/SettingsPanel.tsx:885"}, "properties": {"repobilityId": "fddebc91538e8030", "scanner": "scanner-primary", "fingerprint": "404388ce42d43e6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-911602241749ca39", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/components/SettingsPanel.tsx:8"}, "properties": {"repobilityId": "494c16a77bd6d7fe", "scanner": "scanner-primary", "fingerprint": "911602241749ca39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e086c73ee8709c24", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in src/components/AgentPanel.tsx:327"}, "properties": {"repobilityId": "5c72e83ac692493e", "scanner": "scanner-primary", "fingerprint": "e086c73ee8709c24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bd3821da6f0189f4", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/components/QuickActionBar.tsx:6"}, "properties": {"repobilityId": "eb7eb34a3414a4d2", "scanner": "scanner-primary", "fingerprint": "bd3821da6f0189f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c832bd4f176a1223", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/KlypixEyes.tsx:47"}, "properties": {"repobilityId": "b43080208893a11f", "scanner": "scanner-primary", "fingerprint": "c832bd4f176a1223", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7baa0bb1b4b1da3", "level": "note", "message": {"text": "Legacy-named symbol `invitation_too_old` in src/i18n/strings.ts:441"}, "properties": {"repobilityId": "d2f22b7a8fee7606", "scanner": "scanner-primary", "fingerprint": "b7baa0bb1b4b1da3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96abcef8f3ae1a57", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/i18n/strings.ts:601"}, "properties": {"repobilityId": "bdb1f898161e4452", "scanner": "scanner-primary", "fingerprint": "96abcef8f3ae1a57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dc394df8ca925f6", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/core/contextIntelligence.ts:8"}, "properties": {"repobilityId": "175d2090ec8f604b", "scanner": "scanner-primary", "fingerprint": "9dc394df8ca925f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4901e1709eb834c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/core/agent/orchestrator.ts:167"}, "properties": {"repobilityId": "4c5008a59ed97010", "scanner": "scanner-primary", "fingerprint": "4901e1709eb834c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-544f703cf6eede1d", "level": "note", "message": {"text": "Legacy-named symbol `runLegacy` in src/core/agent/claudeAgent.ts:136"}, "properties": {"repobilityId": "f8260a999adefac7", "scanner": "scanner-primary", "fingerprint": "544f703cf6eede1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e61f4a82569b32bb", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/core/agent/claudeAgent.ts:206"}, "properties": {"repobilityId": "4447d502dcf80757", "scanner": "scanner-primary", "fingerprint": "e61f4a82569b32bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44ff37d382928221", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in src/core/agent/toolExecutor.ts:134"}, "properties": {"repobilityId": "0c109d23791881e3", "scanner": "scanner-primary", "fingerprint": "44ff37d382928221", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5aa7f4180e7432d4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/openaiAdapter.ts:53"}, "properties": {"repobilityId": "54a1cd9509d8f145", "scanner": "scanner-primary", "fingerprint": "5aa7f4180e7432d4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-72917c0eac22e273", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/deepseekAdapter.ts:94"}, "properties": {"repobilityId": "6c5b69f1296752ec", "scanner": "scanner-primary", "fingerprint": "72917c0eac22e273", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6b07831be6ad7bd2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/agent/adapters/claudeAdapter.ts:42"}, "properties": {"repobilityId": "676a5c88fa52c97b", "scanner": "scanner-primary", "fingerprint": "6b07831be6ad7bd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6e65e475d43177b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/core/agent/adapters/glmAdapter.ts:82"}, "properties": {"repobilityId": "d8f3648f560b37d0", "scanner": "scanner-primary", "fingerprint": "b6e65e475d43177b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ecf1af376bb7bba", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentEngine.ts:53"}, "properties": {"repobilityId": "ce30f4edf3d4a1c2", "scanner": "scanner-primary", "fingerprint": "4ecf1af376bb7bba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cf853bd863f53036", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/core/engine/intentEngine.ts:11"}, "properties": {"repobilityId": "3f0c6b7a19eb34c9", "scanner": "scanner-primary", "fingerprint": "cf853bd863f53036", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b37992b4d18766b", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in src/core/engine/intentTypes.ts:19"}, "properties": {"repobilityId": "2a974439710cfdd5", "scanner": "scanner-primary", "fingerprint": "0b37992b4d18766b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-81a2c6aa813b5378", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/flash/flashEngine.ts:31"}, "properties": {"repobilityId": "edc0b951c09f8b8c", "scanner": "scanner-primary", "fingerprint": "81a2c6aa813b5378", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5dad2c585e8b48e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/services/router/qualityGate.ts:75"}, "properties": {"repobilityId": "e9099fedd0d8af09", "scanner": "scanner-primary", "fingerprint": "5dad2c585e8b48e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cef0a9806f67e4be", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/CanvasRenderer.tsx:28"}, "properties": {"repobilityId": "050c1f99ff73d6b9", "scanner": "scanner-primary", "fingerprint": "cef0a9806f67e4be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13bf6575ccce58a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/KlypixCanvas.tsx:117"}, "properties": {"repobilityId": "7c026f6a26ccad57", "scanner": "scanner-primary", "fingerprint": "13bf6575ccce58a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac532a59f13406b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/gridSettings.ts:99"}, "properties": {"repobilityId": "ce9c7e5197e5901e", "scanner": "scanner-primary", "fingerprint": "ac532a59f13406b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c7051c6a6dcc3da", "level": "note", "message": {"text": "Legacy-named symbol `invitation_too_old` in src/canvas/dashboard/CanvasDashboard.tsx:757"}, "properties": {"repobilityId": "933e54195b11b4db", "scanner": "scanner-primary", "fingerprint": "1c7051c6a6dcc3da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6d555d79f4c49c8", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/dashboard/CanvasDashboard.tsx:205"}, "properties": {"repobilityId": "c5b0db3ba11785ff", "scanner": "scanner-primary", "fingerprint": "d6d555d79f4c49c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4c7f5c2966f43fe", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/dashboard/pathDisplay.ts:7"}, "properties": {"repobilityId": "1d811b091474f2af", "scanner": "scanner-primary", "fingerprint": "f4c7f5c2966f43fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ec3fbc0f847c3f6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/dashboard/closeSnapshotRegistry.ts:5"}, "properties": {"repobilityId": "b30acb99054ada92", "scanner": "scanner-primary", "fingerprint": "9ec3fbc0f847c3f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbb1a615ebc65001", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/starredCanvasesStore.ts:5"}, "properties": {"repobilityId": "52d5c3657bed7451", "scanner": "scanner-primary", "fingerprint": "cbb1a615ebc65001", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16910da2b0ff04e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/recentlyClosedStore.ts:8"}, "properties": {"repobilityId": "e3bbc0c3c5eece30", "scanner": "scanner-primary", "fingerprint": "16910da2b0ff04e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ceb4a87b0b50b04", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/dashboard/vaultTagIndex.ts:1"}, "properties": {"repobilityId": "a21c75a3abe40362", "scanner": "scanner-primary", "fingerprint": "3ceb4a87b0b50b04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6b9a9fa2b7d66d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/sync/openSharedCanvas.ts:6"}, "properties": {"repobilityId": "8549eb4f52cf890e", "scanner": "scanner-primary", "fingerprint": "d6b9a9fa2b7d66d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44a85be767755446", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/sync/opTypes.ts:7"}, "properties": {"repobilityId": "ff4b817ad97ef444", "scanner": "scanner-primary", "fingerprint": "44a85be767755446", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09f5aa26f45d9a0b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/tabs/TabBar.tsx:12"}, "properties": {"repobilityId": "eecdb0ac69bbff6b", "scanner": "scanner-primary", "fingerprint": "09f5aa26f45d9a0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-903bae2081ae0eb1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/AlignmentGrid.tsx:3"}, "properties": {"repobilityId": "6ffff254526a169c", "scanner": "scanner-primary", "fingerprint": "903bae2081ae0eb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61baa9eda9ba158b", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/canvas/interaction/useKeyboardShortcuts.ts:11"}, "properties": {"repobilityId": "fa5539c04c1fd895", "scanner": "scanner-primary", "fingerprint": "61baa9eda9ba158b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-476538b93b1e2996", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/interaction/MultiSelectionBox.tsx:196"}, "properties": {"repobilityId": "b637365d6ed3e33f", "scanner": "scanner-primary", "fingerprint": "476538b93b1e2996", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ed6cc7483b7b7e5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/FillPanel.tsx:9"}, "properties": {"repobilityId": "615bf0093aa19e78", "scanner": "scanner-primary", "fingerprint": "3ed6cc7483b7b7e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27fbfd91db829bcb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/scaleSelection.ts:3"}, "properties": {"repobilityId": "76d577685ab4f6a0", "scanner": "scanner-primary", "fingerprint": "27fbfd91db829bcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c5eb2addedbf5f4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/interaction/DrawingResizeHandles.tsx:9"}, "properties": {"repobilityId": "e8fa91c6cd2188a8", "scanner": "scanner-primary", "fingerprint": "5c5eb2addedbf5f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8d05dd6e6806a8a", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/canvas/interaction/ConnectPicker.tsx:6"}, "properties": {"repobilityId": "c0a172d9643d875d", "scanner": "scanner-primary", "fingerprint": "f8d05dd6e6806a8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-224257db05ff399e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/snapGuides.ts:3"}, "properties": {"repobilityId": "7bbeb550c9f178fa", "scanner": "scanner-primary", "fingerprint": "224257db05ff399e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe95c88eaabd7687", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ContextMenu.tsx:109"}, "properties": {"repobilityId": "37d30451d9b87b8b", "scanner": "scanner-primary", "fingerprint": "fe95c88eaabd7687", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7d8550bf7751b16", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/CanvasSettingsPopover.tsx:24"}, "properties": {"repobilityId": "91065ce9e357812b", "scanner": "scanner-primary", "fingerprint": "f7d8550bf7751b16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d57bffe364dcd398", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/viewAnimate.ts:3"}, "properties": {"repobilityId": "29fdc10a98edbbce", "scanner": "scanner-primary", "fingerprint": "d57bffe364dcd398", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6173d9b59f92babb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/audioTranscribe.ts:1"}, "properties": {"repobilityId": "8bb82823b7d33ba7", "scanner": "scanner-primary", "fingerprint": "6173d9b59f92babb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ed88439d68bb3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/CanvasEyes.tsx:122"}, "properties": {"repobilityId": "1ff85e64234ee7aa", "scanner": "scanner-primary", "fingerprint": "55ed88439d68bb3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9629ab0dbeb43c26", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/CommandBar.tsx:8"}, "properties": {"repobilityId": "9353b97942281b5d", "scanner": "scanner-primary", "fingerprint": "9629ab0dbeb43c26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67f7805a509905ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ContainerRotateHandle.tsx:7"}, "properties": {"repobilityId": "f71bc30b7830f5e1", "scanner": "scanner-primary", "fingerprint": "67f7805a509905ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a128a3057bb24db7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/ResizeHandle.tsx:26"}, "properties": {"repobilityId": "6c8c296bcbfe9712", "scanner": "scanner-primary", "fingerprint": "a128a3057bb24db7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d5d307b10a165a5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/ItemAlignPanel.tsx:9"}, "properties": {"repobilityId": "c6f3deda6e2cac4a", "scanner": "scanner-primary", "fingerprint": "4d5d307b10a165a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-337f25efe2f6da59", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/TextFormatCapsule.tsx:15"}, "properties": {"repobilityId": "b7a24b3e4c6dd480", "scanner": "scanner-primary", "fingerprint": "337f25efe2f6da59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75c71daf3273726c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/Toolbar.tsx:50"}, "properties": {"repobilityId": "494d0559f46f4882", "scanner": "scanner-primary", "fingerprint": "75c71daf3273726c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6a5eea406ec81f6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/TidyBrainPill.tsx:4"}, "properties": {"repobilityId": "d188fde5b72c0787", "scanner": "scanner-primary", "fingerprint": "f6a5eea406ec81f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84e2f1cb3332c36d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/alignItems.ts:3"}, "properties": {"repobilityId": "0fd2b1cc01d6dfe3", "scanner": "scanner-primary", "fingerprint": "84e2f1cb3332c36d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcfc4b5b102d4f02", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/interaction/AgentRunsTray.tsx:6"}, "properties": {"repobilityId": "9baf7bc0a24fe0b2", "scanner": "scanner-primary", "fingerprint": "fcfc4b5b102d4f02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0ee8f7b17cd61cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/RotateHandle.tsx:6"}, "properties": {"repobilityId": "cd8ca915813fd81e", "scanner": "scanner-primary", "fingerprint": "c0ee8f7b17cd61cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7c16c0257e99736", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/interaction/useCanvasInteraction.ts:52"}, "properties": {"repobilityId": "694b84722a2aaa00", "scanner": "scanner-primary", "fingerprint": "f7c16c0257e99736", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-471c0d0ee1380cc0", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/drawing/WikilinkEdgesLayer.tsx:15"}, "properties": {"repobilityId": "10ae49d72197d304", "scanner": "scanner-primary", "fingerprint": "471c0d0ee1380cc0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4adfa4cbdf78009", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/drawing/DrawingLayer.tsx:92"}, "properties": {"repobilityId": "b57aaad037150bfd", "scanner": "scanner-primary", "fingerprint": "e4adfa4cbdf78009", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2826561811cd237b", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/canvas/drawing/ConnectionsLayer.tsx:36"}, "properties": {"repobilityId": "5f3e429da2919ae9", "scanner": "scanner-primary", "fingerprint": "2826561811cd237b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6389f1af09fb1eb3", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/drawing/DotClusterLayer.tsx:28"}, "properties": {"repobilityId": "c147f999fb75b8fc", "scanner": "scanner-primary", "fingerprint": "6389f1af09fb1eb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f6e1d69e0762666", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/file/assetRegistry.ts:3"}, "properties": {"repobilityId": "76da7464b38c1c3c", "scanner": "scanner-primary", "fingerprint": "0f6e1d69e0762666", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94c6315e45407a97", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/canvas/file/assetRegistry.ts:24"}, "properties": {"repobilityId": "2d3d6d93900e1519", "scanner": "scanner-primary", "fingerprint": "94c6315e45407a97", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc61554fd578a875", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/klypixBrief.ts:1"}, "properties": {"repobilityId": "fe030a25541fe33a", "scanner": "scanner-primary", "fingerprint": "fc61554fd578a875", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05e51a5a70400986", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/embedSyncStore.ts:59"}, "properties": {"repobilityId": "e67ba319a18b1aa2", "scanner": "scanner-primary", "fingerprint": "05e51a5a70400986", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3a6db3d947aaa16", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/file/useAnyFile.ts:88"}, "properties": {"repobilityId": "38d6e7861ce9fdbc", "scanner": "scanner-primary", "fingerprint": "c3a6db3d947aaa16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b85de1ac924782dd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/file/klypixFormatV4.ts:192"}, "properties": {"repobilityId": "cbb02fabbd65d840", "scanner": "scanner-primary", "fingerprint": "b85de1ac924782dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e862eba0474e1c97", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/canvas/file/anyFormat.ts:129"}, "properties": {"repobilityId": "8f98bf180ccc9437", "scanner": "scanner-primary", "fingerprint": "e862eba0474e1c97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c3632aaae3bb89a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/folderToZip.ts:15"}, "properties": {"repobilityId": "133a29ae925f30fb", "scanner": "scanner-primary", "fingerprint": "4c3632aaae3bb89a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-767fab846ba0302a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/builtinTemplates.ts:4"}, "properties": {"repobilityId": "946d35a3fcf96a14", "scanner": "scanner-primary", "fingerprint": "767fab846ba0302a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88401fc4b8f2ee55", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/dropHandler.ts:76"}, "properties": {"repobilityId": "877b613212649d9b", "scanner": "scanner-primary", "fingerprint": "88401fc4b8f2ee55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f175ae2d9993d65c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/file/migrations.ts:14"}, "properties": {"repobilityId": "9fae99853f4fdcfd", "scanner": "scanner-primary", "fingerprint": "f175ae2d9993d65c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-691d836c420cf8c3", "level": "note", "message": {"text": "Legacy-named symbol `klypix_canvas_templates_v1` in src/canvas/file/templates.ts:10"}, "properties": {"repobilityId": "253732a32c65af7e", "scanner": "scanner-primary", "fingerprint": "691d836c420cf8c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0dafd73948762c03", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/file/templates.ts:4"}, "properties": {"repobilityId": "d2bdf3bb0bbad16f", "scanner": "scanner-primary", "fingerprint": "0dafd73948762c03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bc654ab4c358c3e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/file/captureToCanvas.ts:65"}, "properties": {"repobilityId": "c3f29be4b082e31c", "scanner": "scanner-primary", "fingerprint": "5bc654ab4c358c3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7d9f23200468f87", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/agent/canvasAgent.ts:66"}, "properties": {"repobilityId": "566a330d5d389bae", "scanner": "scanner-primary", "fingerprint": "c7d9f23200468f87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd8b01536ce173b4", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/agent/brainGardener.ts:5"}, "properties": {"repobilityId": "27dd7f32e017ad61", "scanner": "scanner-primary", "fingerprint": "fd8b01536ce173b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dda1d675eac4361", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/agent/useAgentRuns.ts:12"}, "properties": {"repobilityId": "e31d7dae151c4b6c", "scanner": "scanner-primary", "fingerprint": "8dda1d675eac4361", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ff1a8b988f3f81b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/agent/mediaTranscriptCache.ts:1"}, "properties": {"repobilityId": "9d731980d7fd32f2", "scanner": "scanner-primary", "fingerprint": "3ff1a8b988f3f81b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7e1b930a9b5b231", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/agent/canvasThread.ts:6"}, "properties": {"repobilityId": "10a47dc9a5dad58d", "scanner": "scanner-primary", "fingerprint": "e7e1b930a9b5b231", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c16c1a6938762698", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/agent/canvasToolExecutor.ts:76"}, "properties": {"repobilityId": "576ac773d2b7a1df", "scanner": "scanner-primary", "fingerprint": "c16c1a6938762698", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10816361ea488420", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/layout/OutlineSidebar.tsx:8"}, "properties": {"repobilityId": "751223f98dd6e9f3", "scanner": "scanner-primary", "fingerprint": "10816361ea488420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e247cdb79d020b54", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/layout/PresentationMode.tsx:18"}, "properties": {"repobilityId": "2af36adbe51a79bf", "scanner": "scanner-primary", "fingerprint": "e247cdb79d020b54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c6b1be200c34420", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/layout/SmartCollectionsPanel.tsx:22"}, "properties": {"repobilityId": "048be9fdd5d0a49d", "scanner": "scanner-primary", "fingerprint": "6c6b1be200c34420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43c1e10b0c4876f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCollaboratorWatcher.ts:8"}, "properties": {"repobilityId": "9dfae498f15bc1bd", "scanner": "scanner-primary", "fingerprint": "43c1e10b0c4876f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f98184cd1ebb3118", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/collab/supabaseRealtimeClient.ts:3"}, "properties": {"repobilityId": "9cee8abf851459ed", "scanner": "scanner-primary", "fingerprint": "f98184cd1ebb3118", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f840fd1c5a494fc2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/collab/useAssetSync.ts:11"}, "properties": {"repobilityId": "4031ce21d7ff9b01", "scanner": "scanner-primary", "fingerprint": "f840fd1c5a494fc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b148ff7b546a4b03", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCanvasCollab.ts:192"}, "properties": {"repobilityId": "99b393362af4fb68", "scanner": "scanner-primary", "fingerprint": "b148ff7b546a4b03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7d8ac5e9f367486", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/collab/channelRegistry.ts:7"}, "properties": {"repobilityId": "b57918c384fb63a2", "scanner": "scanner-primary", "fingerprint": "e7d8ac5e9f367486", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcbf03a15b7e3418", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/collab/CollabPresenceChips.tsx:172"}, "properties": {"repobilityId": "c516b71d1b250fc3", "scanner": "scanner-primary", "fingerprint": "dcbf03a15b7e3418", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e657d73fafca8efe", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/collab/useMembershipGuard.ts:3"}, "properties": {"repobilityId": "62f74f95ca235df2", "scanner": "scanner-primary", "fingerprint": "e657d73fafca8efe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1444391abcd6f47b", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/canvas/collab/useOpSync.ts:15"}, "properties": {"repobilityId": "0316dffedf187233", "scanner": "scanner-primary", "fingerprint": "1444391abcd6f47b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c0ed25dcf500740", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/collab/useCollabHealth.ts:3"}, "properties": {"repobilityId": "78ece9e83cbf5573", "scanner": "scanner-primary", "fingerprint": "1c0ed25dcf500740", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-853ab38322916f32", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/collab/shared/opLog.ts:3"}, "properties": {"repobilityId": "3013857c633c2b93", "scanner": "scanner-primary", "fingerprint": "853ab38322916f32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed09baa693284f04", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/state/canvasStore.tsx:55"}, "properties": {"repobilityId": "64143cc4e1928928", "scanner": "scanner-primary", "fingerprint": "ed09baa693284f04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a14a23b5e704042", "level": "note", "message": {"text": "Legacy-named symbol `isLegacy` in src/canvas/items/TextItem.tsx:313"}, "properties": {"repobilityId": "51322715938da0f7", "scanner": "scanner-primary", "fingerprint": "6a14a23b5e704042", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d4de3b34c6e9e05b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/TextItem.tsx:15"}, "properties": {"repobilityId": "0a553172ecc0819d", "scanner": "scanner-primary", "fingerprint": "d4de3b34c6e9e05b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52cb080845982182", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/items/containerMinTextSize.ts:3"}, "properties": {"repobilityId": "8884791f082d8870", "scanner": "scanner-primary", "fingerprint": "52cb080845982182", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75177708f874d113", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/ImageItem.tsx:23"}, "properties": {"repobilityId": "e19db02f5df5bb37", "scanner": "scanner-primary", "fingerprint": "75177708f874d113", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48daee2918acd226", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/items/itemOpen.ts:17"}, "properties": {"repobilityId": "72a4fd50cbd78892", "scanner": "scanner-primary", "fingerprint": "48daee2918acd226", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dc6eb3412217d19", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/items/listOps.ts:9"}, "properties": {"repobilityId": "6065ff4086e4bc13", "scanner": "scanner-primary", "fingerprint": "3dc6eb3412217d19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf6c1132897f0155", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/wikilinks.ts:22"}, "properties": {"repobilityId": "c00ed16f888d5b9d", "scanner": "scanner-primary", "fingerprint": "bf6c1132897f0155", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b2739c4ed7e79a3", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/items/BoxItem.tsx:28"}, "properties": {"repobilityId": "572a77206855ae07", "scanner": "scanner-primary", "fingerprint": "4b2739c4ed7e79a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a282dad8cd8cfe23", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/containerFit.ts:105"}, "properties": {"repobilityId": "1a2e2935fa7841c4", "scanner": "scanner-primary", "fingerprint": "a282dad8cd8cfe23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae66e86ef2a830a0", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/canvas/items/FileItem.tsx:210"}, "properties": {"repobilityId": "7e97cca0b0174eaf", "scanner": "scanner-primary", "fingerprint": "ae66e86ef2a830a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6292e9e7533a7f5f", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/canvas/items/styleRuns.ts:8"}, "properties": {"repobilityId": "fe60fa4901b5babf", "scanner": "scanner-primary", "fingerprint": "6292e9e7533a7f5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57093ca646342dc8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/canvas/items/types.ts:20"}, "properties": {"repobilityId": "af331cf8f2d5afe6", "scanner": "scanner-primary", "fingerprint": "57093ca646342dc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e9530391ae219f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/useWikilinkAutocomplete.tsx:8"}, "properties": {"repobilityId": "ba64cbe39f7d5a05", "scanner": "scanner-primary", "fingerprint": "1e9530391ae219f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c76fda115f60fe30", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/items/ContainerItem.tsx:27"}, "properties": {"repobilityId": "1b3d41277ac86459", "scanner": "scanner-primary", "fingerprint": "c76fda115f60fe30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cebda6c0d8744b8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/cloud/syncClient.ts:17"}, "properties": {"repobilityId": "156a3c7ce5a53e3f", "scanner": "scanner-primary", "fingerprint": "4cebda6c0d8744b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8fd59d8570444c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/cloud/cloudShareStore.ts:3"}, "properties": {"repobilityId": "46f49cf841f68a9e", "scanner": "scanner-primary", "fingerprint": "c8fd59d8570444c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4b2c7b1ef5f2959", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/canvas/cloud/syncBlob.ts:10"}, "properties": {"repobilityId": "292511b7aa767639", "scanner": "scanner-primary", "fingerprint": "f4b2c7b1ef5f2959", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f22d7fe10d57fe83", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/canvas/cloud/ShareModal.tsx:274"}, "properties": {"repobilityId": "ef2d88b7435fe99a", "scanner": "scanner-primary", "fingerprint": "f22d7fe10d57fe83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03c508b287a47e4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/canvas/cloud/shareCurrentCanvas.ts:6"}, "properties": {"repobilityId": "cf08057db1c6e814", "scanner": "scanner-primary", "fingerprint": "03c508b287a47e4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-949fc4c5d9abb79c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/palette/paletteStore.ts:7"}, "properties": {"repobilityId": "73801bb30fdaaded", "scanner": "scanner-primary", "fingerprint": "949fc4c5d9abb79c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0509db9e41a8493b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/useGlobalHotkey.ts:3"}, "properties": {"repobilityId": "927c7bc476906229", "scanner": "scanner-primary", "fingerprint": "0509db9e41a8493b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69e11c375f6f8ced", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/palette/search.ts:3"}, "properties": {"repobilityId": "a6164318a7c2bbf6", "scanner": "scanner-primary", "fingerprint": "69e11c375f6f8ced", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f574e6dd08b6cf9", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/palette/CommandPalette.tsx:120"}, "properties": {"repobilityId": "b5eff03e3ac091e1", "scanner": "scanner-primary", "fingerprint": "7f574e6dd08b6cf9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a4fed5d7868e23e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/registerProviders.ts:7"}, "properties": {"repobilityId": "ac8b25210f093a5f", "scanner": "scanner-primary", "fingerprint": "3a4fed5d7868e23e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-580ae88552f067a6", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/palette/keyboardModel.ts:8"}, "properties": {"repobilityId": "4c00c8677c4bcc13", "scanner": "scanner-primary", "fingerprint": "580ae88552f067a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecc65ffe674a6718", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/palette/snippets.ts:14"}, "properties": {"repobilityId": "9e899f81d41b67af", "scanner": "scanner-primary", "fingerprint": "ecc65ffe674a6718", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-497064d8ac76c9a3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/frecency.ts:7"}, "properties": {"repobilityId": "636bd71c1e4e90ae", "scanner": "scanner-primary", "fingerprint": "497064d8ac76c9a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4eb2af738023faa5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/palette/providers/filesProvider.ts:8"}, "properties": {"repobilityId": "aca51eade2b78c77", "scanner": "scanner-primary", "fingerprint": "4eb2af738023faa5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2df1284875c05cc0", "level": "note", "message": {"text": "Legacy-named symbol `alt_space_memory_v1` in src/palette/providers/klypixSearchProvider.ts:6"}, "properties": {"repobilityId": "8d43116ed93ba0bc", "scanner": "scanner-primary", "fingerprint": "2df1284875c05cc0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-44cdfadf83bb7a4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/providers/klypixSearchProvider.ts:3"}, "properties": {"repobilityId": "52a1096faea63757", "scanner": "scanner-primary", "fingerprint": "44cdfadf83bb7a4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b617b632c548d83", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/providers/vaultIndexCache.ts:3"}, "properties": {"repobilityId": "9d87992f6aa36cc3", "scanner": "scanner-primary", "fingerprint": "4b617b632c548d83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cee5f5ae512b8fd7", "level": "note", "message": {"text": "Legacy-named symbol `rest_v1` in src/palette/providers/webProvider.ts:79"}, "properties": {"repobilityId": "fec6f020c496c095", "scanner": "scanner-primary", "fingerprint": "cee5f5ae512b8fd7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d26c0f58f14e1ae", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/palette/providers/webProvider.ts:3"}, "properties": {"repobilityId": "99c29c109e3f6985", "scanner": "scanner-primary", "fingerprint": "3d26c0f58f14e1ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efaf90707aa032aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/providers/aiProvider.ts:3"}, "properties": {"repobilityId": "1cd7be20fd3c9c93", "scanner": "scanner-primary", "fingerprint": "efaf90707aa032aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68d4fcffec5574bf", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/palette/providers/types.ts:8"}, "properties": {"repobilityId": "cdb9e15c44705508", "scanner": "scanner-primary", "fingerprint": "68d4fcffec5574bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-faa9f92fa95d7f51", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/providers/appsProvider.ts:3"}, "properties": {"repobilityId": "3cf25e8eb65542a8", "scanner": "scanner-primary", "fingerprint": "faa9f92fa95d7f51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3e8b9ee4c01b32c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/palette/providers/clipboardProvider.ts:10"}, "properties": {"repobilityId": "37bfff7af50793f1", "scanner": "scanner-primary", "fingerprint": "b3e8b9ee4c01b32c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0636563d2e19dda7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/palette/providers/canvasProvider.ts:3"}, "properties": {"repobilityId": "c83cdbda47af09e7", "scanner": "scanner-primary", "fingerprint": "0636563d2e19dda7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bacf94ffe9dc4abc", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/palette/providers/calculatorProvider.ts:3"}, "properties": {"repobilityId": "614b99a614ad734b", "scanner": "scanner-primary", "fingerprint": "bacf94ffe9dc4abc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f00f4fcb945d4a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/palette/providers/calculatorProvider.ts:99"}, "properties": {"repobilityId": "472d85c46bbadb2b", "scanner": "scanner-primary", "fingerprint": "2f00f4fcb945d4a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-628e043a5ff8c432", "level": "none", "message": {"text": "Commented-code block (9 lines) in docs/filesV5/contextIntelligence_v5.ts:8"}, "properties": {"repobilityId": "6e6c1f7394400836", "scanner": "scanner-primary", "fingerprint": "628e043a5ff8c432", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aac8304468d1f2e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 backups/DeepMode_backup_2026-03-04_main.ts:450"}, "properties": {"repobilityId": "8c552258df05f443", "scanner": "scanner-primary", "fingerprint": "aac8304468d1f2e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c220aaee5eef959a", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/preload.ts:55"}, "properties": {"repobilityId": "ec02d0c1b4982495", "scanner": "scanner-primary", "fingerprint": "c220aaee5eef959a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d3e8f9a2db4da0d", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/startApps.ts:27"}, "properties": {"repobilityId": "f5c640ff911b6f3a", "scanner": "scanner-primary", "fingerprint": "1d3e8f9a2db4da0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48df9716b24e8901", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in electron/main.ts:3442"}, "properties": {"repobilityId": "3903f788308bab2a", "scanner": "scanner-primary", "fingerprint": "48df9716b24e8901", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-77ed9a04421fb9e6", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/main.ts:324"}, "properties": {"repobilityId": "9f7d04137035408e", "scanner": "scanner-primary", "fingerprint": "77ed9a04421fb9e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8df944d37cafc3c9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 electron/main.ts:3870"}, "properties": {"repobilityId": "79ce6a7eb5e9296e", "scanner": "scanner-primary", "fingerprint": "8df944d37cafc3c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a2540918615e638", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/projectBrainInstaller.ts:1"}, "properties": {"repobilityId": "03a799501d0991e2", "scanner": "scanner-primary", "fingerprint": "4a2540918615e638", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-347eab860087d9b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/clipboardHistory.ts:133"}, "properties": {"repobilityId": "6f251e919e1580e3", "scanner": "scanner-primary", "fingerprint": "347eab860087d9b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ff0b6ee035e6c94", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/configMerger.ts:1"}, "properties": {"repobilityId": "b1043ce28c38ad2a", "scanner": "scanner-primary", "fingerprint": "8ff0b6ee035e6c94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff150534da916fc4", "level": "none", "message": {"text": "Commented-code block (7 lines) in electron/fileSearch.ts:8"}, "properties": {"repobilityId": "fefec0bc40ab5491", "scanner": "scanner-primary", "fingerprint": "ff150534da916fc4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b47070869be945d7", "level": "none", "message": {"text": "Commented-code block (16 lines) in electron/cloudHandlers.ts:8"}, "properties": {"repobilityId": "991d3795874ed431", "scanner": "scanner-primary", "fingerprint": "b47070869be945d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b47ceec8441e610", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/offline/offlineManager.ts:3"}, "properties": {"repobilityId": "38f03c325b66a950", "scanner": "scanner-primary", "fingerprint": "5b47ceec8441e610", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95cc949f92bca177", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/offline/offlineCatalog.ts:5"}, "properties": {"repobilityId": "e6329454a881e636", "scanner": "scanner-primary", "fingerprint": "95cc949f92bca177", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48c4cdeb5d071e37", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/auth/authGuard.ts:92"}, "properties": {"repobilityId": "807535c2411e10f2", "scanner": "scanner-primary", "fingerprint": "48c4cdeb5d071e37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94cb8145c1bf397c", "level": "none", "message": {"text": "Commented-code block (8 lines) in electron/generators/pdfGenerator.ts:11"}, "properties": {"repobilityId": "b8800b2e5b83c080", "scanner": "scanner-primary", "fingerprint": "94cb8145c1bf397c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0336a30d67146a74", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/canvas/embedWatcher.ts:19"}, "properties": {"repobilityId": "05b04a21e41ee182", "scanner": "scanner-primary", "fingerprint": "0336a30d67146a74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83115cb979713219", "level": "none", "message": {"text": "Commented-code block (5 lines) in electron/canvas/anyFileHandler.ts:7"}, "properties": {"repobilityId": "90dbc86d292ea002", "scanner": "scanner-primary", "fingerprint": "83115cb979713219", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-501fd934945ab1fc", "level": "none", "message": {"text": "Commented-code block (6 lines) in electron/canvas/klypixFileHandler.ts:8"}, "properties": {"repobilityId": "015febceb2f1730a", "scanner": "scanner-primary", "fingerprint": "501fd934945ab1fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-246149294d285d35", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:29"}, "properties": {"repobilityId": "77b0226dc6cd4bc0", "scanner": "scanner-primary", "fingerprint": "246149294d285d35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0fc11ad6f745a656", "level": "none", "message": {"text": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/components/ConfirmationModal.stub.tsx:6"}, "properties": {"repobilityId": "586298cf88e5666b", "scanner": "scanner-primary", "fingerprint": "0fc11ad6f745a656", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb7d63fb4a5f9025", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentEngine.ts:53"}, "properties": {"repobilityId": "727201d59ca5d46e", "scanner": "scanner-primary", "fingerprint": "cb7d63fb4a5f9025", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1dd514a3fc9afc2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in claude/Eye_Phase3_Code/src/engine/intentEngine.ts:11"}, "properties": {"repobilityId": "8afce4fdeb8bf74b", "scanner": "scanner-primary", "fingerprint": "1dd514a3fc9afc2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4196a61e47761918", "level": "note", "message": {"text": "Legacy-named symbol `clipboard_copy` in claude/Eye_Phase3_Code/src/engine/intentTypes.ts:19"}, "properties": {"repobilityId": "73cc7cd28ed23b83", "scanner": "scanner-primary", "fingerprint": "4196a61e47761918", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9da727d7843e99a4", "level": "none", "message": {"text": "Commented-code block (9 lines) in claude/Eye_Phase3_Code/src/engine/aiRouter.patch.ts:6"}, "properties": {"repobilityId": "d53f4c2d57caf6b7", "scanner": "scanner-primary", "fingerprint": "9da727d7843e99a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}